diff --git a/bin/main/edu/.idea/.gitignore b/bin/main/edu/.idea/.gitignore
new file mode 100644
index 000000000..0e40fe8f5
--- /dev/null
+++ b/bin/main/edu/.idea/.gitignore
@@ -0,0 +1,3 @@
+
+# Default ignored files
+/workspace.xml
\ No newline at end of file
diff --git a/bin/main/edu/.idea/.gitignore 2 b/bin/main/edu/.idea/.gitignore 2
new file mode 100644
index 000000000..0e40fe8f5
--- /dev/null
+++ b/bin/main/edu/.idea/.gitignore 2
@@ -0,0 +1,3 @@
+
+# Default ignored files
+/workspace.xml
\ No newline at end of file
diff --git a/bin/main/edu/.idea/edu.iml b/bin/main/edu/.idea/edu.iml
new file mode 100644
index 000000000..d6ebd4805
--- /dev/null
+++ b/bin/main/edu/.idea/edu.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/.idea/misc.xml b/bin/main/edu/.idea/misc.xml
new file mode 100644
index 000000000..28a804d89
--- /dev/null
+++ b/bin/main/edu/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/.idea/modules.xml b/bin/main/edu/.idea/modules.xml
new file mode 100644
index 000000000..51e3d226a
--- /dev/null
+++ b/bin/main/edu/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/.idea/vcs.xml b/bin/main/edu/.idea/vcs.xml
new file mode 100644
index 000000000..4fce1d86b
--- /dev/null
+++ b/bin/main/edu/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/build.gradle b/bin/main/edu/build.gradle
new file mode 100644
index 000000000..c78bb415c
--- /dev/null
+++ b/bin/main/edu/build.gradle
@@ -0,0 +1,62 @@
+version '2.0.0'
+
+apply plugin: 'java'
+apply plugin: 'application'
+
+sourceCompatibility = 1.8
+
+dependencies {
+ compile project(':legup-update')
+ compile 'com.google.firebase:firebase-admin:6.3.0'
+ compile 'org.apache.httpcomponents:httpclient:4.5.1'
+ compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
+ compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'
+
+// compile 'com.google.code.gson:gson:2.8.2'
+// compile 'commons-cli:commons-cli:1.4'
+// compile 'commons-io:commons-io:2.6'
+ compile 'org.apache.commons:commons-lang3:3.7'
+ compile 'org.apache.logging.log4j:log4j-api:2.10.0'
+ compile 'org.apache.logging.log4j:log4j-core:2.10.0'
+
+ testCompile group: 'junit', name: 'junit', version: '4.12'
+ testCompile 'junit:junit:4.+'
+}
+
+task customFatJar(type: Jar) {
+ manifest {
+ attributes('Implementation-Title': 'Legup',
+ 'Implementation-Version': version,
+ 'Main-Class': 'edu.rpi.legup.Legup',
+ 'SplashScreen-Image': 'edu/rpi/legup/images/Legup/LegupSplash.png')
+ }
+ archiveName = 'Legup.jar'
+ from {
+ configurations.compile.collect {
+ it.isDirectory() ? it : zipTree(it)
+ }
+ }
+ with jar
+}
+
+jar {
+ from {
+ configurations.compile.collect {
+ it.isDirectory() ? it : zipTree(it)
+ }
+ configurations.runtime.collect {
+ it.isDirectory() ? it : zipTree(it)
+ }
+ }
+ manifest {
+ attributes('Implementation-Title': 'Legup',
+ 'Implementation-Version': version,
+ 'Main-Class': 'edu.rpi.legup.Legup',
+ 'SplashScreen-Image': 'edu/rpi/legup/images/Legup/LegupSplash.png')
+ }
+ archiveName = 'Legup.jar'
+}
+
+repositories {
+ mavenCentral()
+}
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.lock b/bin/main/edu/rpi/.metadata/.lock
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.lock 2 b/bin/main/edu/rpi/.metadata/.lock 2
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.log b/bin/main/edu/rpi/.metadata/.log
new file mode 100644
index 000000000..6960a6639
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.log
@@ -0,0 +1,91 @@
+!SESSION 2019-10-29 22:18:59.756 -----------------------------------------------
+eclipse.buildId=4.5.2.M20160212-1500
+java.version=1.8.0_131
+java.vendor=Oracle Corporation
+BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -data /Users/James/Documents/RPI/Research/LEGUP/Legup/src/main/java/edu/rpi -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+
+!ENTRY org.eclipse.recommenders.snipmatch.rcp 4 0 2019-10-29 22:19:00.381
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Could not resolve module: org.eclipse.recommenders.snipmatch.rcp [392]
+ Bundle was not resolved because of a uses contraint violation.
+ org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"] because it is exposed to package 'org.eclipse.jgit.dircache' from resources org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"] and org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"] via two dependency chains.
+
+Chain 1:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (osgi.wiring.bundle=org.eclipse.jgit)
+ |
+ provide: osgi.wiring.bundle: org.eclipse.jgit
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"]
+
+Chain 2:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (&(osgi.wiring.bundle=org.eclipse.egit.core)(bundle-version>=3.2.0))
+ |
+ provide: osgi.wiring.bundle; bundle-version:Version="4.0.3.201509231615-r"; osgi.wiring.bundle="org.eclipse.egit.core"; singleton:="true"
+ org.eclipse.egit.core [osgi.identity; osgi.identity="org.eclipse.egit.core"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"; singleton:="true"]
+ import: (&(osgi.wiring.package=org.eclipse.jgit.lib)(&(version>=4.0.3)(!(version>=4.1.0))))
+ |
+ export: osgi.wiring.package: org.eclipse.jgit.lib; uses:=org.eclipse.jgit.dircache
+ export: osgi.wiring.package=org.eclipse.jgit.dircache
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"]
+ at org.eclipse.osgi.container.Module.start(Module.java:434)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.core.net 1 0 2019-10-29 22:19:03.398
+!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
+
+!ENTRY org.eclipse.core.jobs 2 2 2019-10-29 22:19:19.382
+!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.epp.internal.logging.aeri.ui.log.CheckServerAvailabilityJob
+!SESSION 2019-11-06 12:29:45.873 -----------------------------------------------
+eclipse.buildId=4.5.2.M20160212-1500
+java.version=1.8.0_131
+java.vendor=Oracle Corporation
+BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+
+!ENTRY org.eclipse.recommenders.snipmatch.rcp 4 0 2019-11-06 12:29:46.606
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Could not resolve module: org.eclipse.recommenders.snipmatch.rcp [392]
+ Bundle was not resolved because of a uses contraint violation.
+ org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"] because it is exposed to package 'org.eclipse.jgit.dircache' from resources org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"] and org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"] via two dependency chains.
+
+Chain 1:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (osgi.wiring.bundle=org.eclipse.jgit)
+ |
+ provide: osgi.wiring.bundle: org.eclipse.jgit
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"]
+
+Chain 2:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (&(osgi.wiring.bundle=org.eclipse.egit.core)(bundle-version>=3.2.0))
+ |
+ provide: osgi.wiring.bundle; bundle-version:Version="4.0.3.201509231615-r"; osgi.wiring.bundle="org.eclipse.egit.core"; singleton:="true"
+ org.eclipse.egit.core [osgi.identity; osgi.identity="org.eclipse.egit.core"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"; singleton:="true"]
+ import: (&(osgi.wiring.package=org.eclipse.jgit.lib)(&(version>=4.0.3)(!(version>=4.1.0))))
+ |
+ export: osgi.wiring.package: org.eclipse.jgit.lib; uses:=org.eclipse.jgit.dircache
+ export: osgi.wiring.package=org.eclipse.jgit.dircache
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"]
+ at org.eclipse.osgi.container.Module.start(Module.java:434)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.core.net 1 0 2019-11-06 12:29:49.825
+!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
diff --git a/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments 2.gen b/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments 2.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments 2.gen differ
diff --git a/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments.gen b/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments.gen differ
diff --git a/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments_1 b/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments_1
new file mode 100644
index 000000000..7efd8c620
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.mylyn/.taskListIndex/segments_1 differ
diff --git a/bin/main/edu/rpi/.metadata/.mylyn/repositories.xml.zip b/bin/main/edu/rpi/.metadata/.mylyn/repositories.xml.zip
new file mode 100644
index 000000000..4cd0063f8
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.mylyn/repositories.xml.zip differ
diff --git a/bin/main/edu/rpi/.metadata/.mylyn/tasks.xml.zip b/bin/main/edu/rpi/.metadata/.mylyn/tasks.xml.zip
new file mode 100644
index 000000000..8c3e73da3
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.mylyn/tasks.xml.zip differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history 2.version b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history 2.version
new file mode 100644
index 000000000..25cb955ba
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history 2.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
new file mode 100644
index 000000000..25cb955ba
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
new file mode 100644
index 000000000..7ea794608
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
new file mode 100644
index 000000000..6b2aaa764
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree
new file mode 100644
index 000000000..8a1fc9ec5
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core 2.resources b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core 2.resources
new file mode 100644
index 000000000..9f39d0588
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core 2.resources differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
new file mode 100644
index 000000000..9f39d0588
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources 2.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources 2.prefs
new file mode 100644
index 000000000..dffc6b513
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources 2.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+version=1
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..dffc6b513
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+version=1
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..1768a1e88
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,13 @@
+content_assist_proposals_background=255,255,255
+content_assist_proposals_foreground=0,0,0
+eclipse.preferences.version=1
+fontPropagated=true
+org.eclipse.jdt.ui.editor.tab.width=
+org.eclipse.jdt.ui.formatterprofiles.version=12
+org.eclipse.jdt.ui.javadoclocations.migrated=true
+org.eclipse.jface.textfont=1|Monaco|11.0|0|COCOA|1|;
+proposalOrderMigrated=true
+spelling_locale_initialized=true
+tabWidthPropagated=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
new file mode 100644
index 000000000..67b1d96c9
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.m2e.discovery.pref.projects=
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
new file mode 100644
index 000000000..43e97e405
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+mylyn.attention.migrated=true
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
new file mode 100644
index 000000000..8d462a6cf
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 000000000..2b60c21d6
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+migrated.task.repositories.secure.store=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
+org.eclipse.mylyn.tasks.ui.welcome.message=true
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
new file mode 100644
index 000000000..da2be0834
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -0,0 +1,5 @@
+PROBLEMS_FILTERS_MIGRATE=true
+eclipse.preferences.version=1
+platformState=1554955212164
+quickStart=false
+tipsAndTricks=true
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
new file mode 100644
index 000000000..08076f236
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+showIntro=false
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
new file mode 100644
index 000000000..dd774965c
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
@@ -0,0 +1,3 @@
+//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
+PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;
+eclipse.preferences.version=1
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.e4.workbench/workbench 2.xmi b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.e4.workbench/workbench 2.xmi
new file mode 100644
index 000000000..72c587915
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.e4.workbench/workbench 2.xmi
@@ -0,0 +1,2304 @@
+
+
+
+ activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration
+ ModelMigrationProcessor.001
+
+
+
+
+
+
+
+ topLevel
+
+
+
+
+ persp.actionSet:org.eclipse.mylyn.doc.actionSet
+ persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation
+ persp.actionSet:org.eclipse.ui.cheatsheets.actionSet
+ persp.actionSet:org.eclipse.search.searchActionSet
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo
+ persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet
+ persp.actionSet:org.eclipse.ui.actionSet.keyBindings
+ persp.actionSet:org.eclipse.ui.actionSet.openFiles
+ persp.actionSet:org.eclipse.wb.core.ui.actionset
+ persp.actionSet:org.eclipse.debug.ui.launchActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet
+ persp.actionSet:org.eclipse.ui.NavigateActionSet
+ persp.viewSC:org.eclipse.jdt.ui.PackageExplorer
+ persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy
+ persp.viewSC:org.eclipse.jdt.ui.SourceView
+ persp.viewSC:org.eclipse.jdt.ui.JavadocView
+ persp.viewSC:org.eclipse.search.ui.views.SearchView
+ persp.viewSC:org.eclipse.ui.console.ConsoleView
+ persp.viewSC:org.eclipse.ui.views.ContentOutline
+ persp.viewSC:org.eclipse.ui.views.ProblemView
+ persp.viewSC:org.eclipse.ui.views.ResourceNavigator
+ persp.viewSC:org.eclipse.ui.views.TaskList
+ persp.viewSC:org.eclipse.ui.views.ProgressView
+ persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.ui.texteditor.TemplatesView
+ persp.viewSC:org.eclipse.pde.runtime.LogView
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard
+ persp.newWizSC:org.eclipse.ui.wizards.new.folder
+ persp.newWizSC:org.eclipse.ui.wizards.new.file
+ persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard
+ persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective
+ persp.perspSC:org.eclipse.debug.ui.DebugPerspective
+ persp.perspSC:com.android.ide.eclipse.ddms.Perspective
+ persp.viewSC:org.eclipse.ant.ui.views.AntView
+ persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet
+ persp.showIn:org.eclipse.eclemma.ui.CoverageView
+ persp.showIn:org.eclipse.egit.ui.RepositoriesView
+ persp.actionSet:org.eclipse.debug.ui.breakpointActionSet
+ persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet
+ persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard
+ persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet
+ persp.showIn:org.eclipse.jdt.ui.PackageExplorer
+ persp.showIn:org.eclipse.team.ui.GenericHistoryView
+ persp.showIn:org.eclipse.ui.views.ResourceNavigator
+ persp.showIn:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks
+ persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task
+ persp.viewSC:org.eclipse.wb.core.StructureView
+ persp.viewSC:org.eclipse.wb.core.PaletteView
+
+
+
+ org.eclipse.e4.primaryNavigationStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ active
+
+
+
+ org.eclipse.e4.secondaryNavigationStack
+
+
+
+
+
+
+
+ org.eclipse.e4.secondaryDataStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Help
+
+
+
+ org.eclipse.e4.primaryDataStack
+ EditorStack
+
+
+
+
+ View
+ categoryTag:Java
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Java
+
+
+
+ View
+ categoryTag:Mylyn
+ active
+ activeOnClose
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ Draggable
+
+
+ Draggable
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ stretch
+ SHOW_RESTORE_MENU
+
+
+ Draggable
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+
+
+ stretch
+
+
+ Draggable
+
+
+ Draggable
+
+
+
+
+
+ TrimStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Editor
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Oomph
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:XML
+
+
+ View
+ categoryTag:XML
+
+
+
+ glue
+ move_after:PerspectiveSpacer
+ SHOW_RESTORE_MENU
+
+
+ move_after:Spacer Glue
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+ glue
+ move_after:SearchField
+ SHOW_RESTORE_MENU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
new file mode 100644
index 000000000..72c587915
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
@@ -0,0 +1,2304 @@
+
+
+
+ activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration
+ ModelMigrationProcessor.001
+
+
+
+
+
+
+
+ topLevel
+
+
+
+
+ persp.actionSet:org.eclipse.mylyn.doc.actionSet
+ persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation
+ persp.actionSet:org.eclipse.ui.cheatsheets.actionSet
+ persp.actionSet:org.eclipse.search.searchActionSet
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo
+ persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet
+ persp.actionSet:org.eclipse.ui.actionSet.keyBindings
+ persp.actionSet:org.eclipse.ui.actionSet.openFiles
+ persp.actionSet:org.eclipse.wb.core.ui.actionset
+ persp.actionSet:org.eclipse.debug.ui.launchActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet
+ persp.actionSet:org.eclipse.ui.NavigateActionSet
+ persp.viewSC:org.eclipse.jdt.ui.PackageExplorer
+ persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy
+ persp.viewSC:org.eclipse.jdt.ui.SourceView
+ persp.viewSC:org.eclipse.jdt.ui.JavadocView
+ persp.viewSC:org.eclipse.search.ui.views.SearchView
+ persp.viewSC:org.eclipse.ui.console.ConsoleView
+ persp.viewSC:org.eclipse.ui.views.ContentOutline
+ persp.viewSC:org.eclipse.ui.views.ProblemView
+ persp.viewSC:org.eclipse.ui.views.ResourceNavigator
+ persp.viewSC:org.eclipse.ui.views.TaskList
+ persp.viewSC:org.eclipse.ui.views.ProgressView
+ persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.ui.texteditor.TemplatesView
+ persp.viewSC:org.eclipse.pde.runtime.LogView
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard
+ persp.newWizSC:org.eclipse.ui.wizards.new.folder
+ persp.newWizSC:org.eclipse.ui.wizards.new.file
+ persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard
+ persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective
+ persp.perspSC:org.eclipse.debug.ui.DebugPerspective
+ persp.perspSC:com.android.ide.eclipse.ddms.Perspective
+ persp.viewSC:org.eclipse.ant.ui.views.AntView
+ persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet
+ persp.showIn:org.eclipse.eclemma.ui.CoverageView
+ persp.showIn:org.eclipse.egit.ui.RepositoriesView
+ persp.actionSet:org.eclipse.debug.ui.breakpointActionSet
+ persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet
+ persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard
+ persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet
+ persp.showIn:org.eclipse.jdt.ui.PackageExplorer
+ persp.showIn:org.eclipse.team.ui.GenericHistoryView
+ persp.showIn:org.eclipse.ui.views.ResourceNavigator
+ persp.showIn:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks
+ persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task
+ persp.viewSC:org.eclipse.wb.core.StructureView
+ persp.viewSC:org.eclipse.wb.core.PaletteView
+
+
+
+ org.eclipse.e4.primaryNavigationStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ active
+
+
+
+ org.eclipse.e4.secondaryNavigationStack
+
+
+
+
+
+
+
+ org.eclipse.e4.secondaryDataStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Help
+
+
+
+ org.eclipse.e4.primaryDataStack
+ EditorStack
+
+
+
+
+ View
+ categoryTag:Java
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Java
+
+
+
+ View
+ categoryTag:Mylyn
+ active
+ activeOnClose
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ Draggable
+
+
+ Draggable
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ stretch
+ SHOW_RESTORE_MENU
+
+
+ Draggable
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+
+
+ stretch
+
+
+ Draggable
+
+
+ Draggable
+
+
+
+
+
+ TrimStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Editor
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Oomph
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:XML
+
+
+ View
+ categoryTag:XML
+
+
+
+ glue
+ move_after:PerspectiveSpacer
+ SHOW_RESTORE_MENU
+
+
+ move_after:Spacer Glue
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+ glue
+ move_after:SearchField
+ SHOW_RESTORE_MENU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdt b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdt differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdx b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdx
new file mode 100644
index 000000000..b8ee80957
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdx differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fnm b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fnm
new file mode 100644
index 000000000..523c92e25
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.frq b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.frq
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.nrm b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.nrm
new file mode 100644
index 000000000..cf8dc7529
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.nrm
@@ -0,0 +1 @@
+NRMÿ
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tii b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tii
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tii differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tis b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tis
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tis differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx
new file mode 100644
index 000000000..b8ee80957
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm
new file mode 100644
index 000000000..523c92e25
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm
new file mode 100644
index 000000000..cf8dc7529
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm
@@ -0,0 +1 @@
+NRMÿ
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments 2.gen b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments 2.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments 2.gen differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1
new file mode 100644
index 000000000..305fb89e6
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 2 b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 2
new file mode 100644
index 000000000..305fb89e6
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 2 differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0 2.fdt b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0 2.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0 2.fdt differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx
new file mode 100644
index 000000000..b8ee80957
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm
new file mode 100644
index 000000000..523c92e25
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm
new file mode 100644
index 000000000..cf8dc7529
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm
@@ -0,0 +1 @@
+NRMÿ
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1 b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1
new file mode 100644
index 000000000..305fb89e6
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1 differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache 2 b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache 2
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache 2 differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
new file mode 100644
index 000000000..0edae4b20
Binary files /dev/null and b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat differ
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory 2.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory 2.xml
new file mode 100644
index 000000000..a4ee3cbc9
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory 2.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
new file mode 100644
index 000000000..a4ee3cbc9
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
new file mode 100644
index 000000000..9e390f501
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
new file mode 100644
index 000000000..a28d67e95
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
@@ -0,0 +1,10 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0 2.log b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0 2.log
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032 2.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032 2.xml
new file mode 100644
index 000000000..e33758c3a
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032 2.xml
@@ -0,0 +1,43 @@
+
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+ OFF
+
+
+
+
+ ${org.eclipse.m2e.log.dir}/0.log
+
+ ${org.eclipse.m2e.log.dir}/%i.log
+ 1
+ 10
+
+
+ 100MB
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+
+
+
+ WARN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml
new file mode 100644
index 000000000..e33758c3a
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml
@@ -0,0 +1,43 @@
+
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+ OFF
+
+
+
+
+ ${org.eclipse.m2e.log.dir}/0.log
+
+ ${org.eclipse.m2e.log.dir}/%i.log
+ 1
+ 10
+
+
+ 100MB
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+
+
+
+ WARN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.oomph.setup/workspace 2.setup b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.oomph.setup/workspace 2.setup
new file mode 100644
index 000000000..1f73e14c1
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.oomph.setup/workspace 2.setup
@@ -0,0 +1,6 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
new file mode 100644
index 000000000..1f73e14c1
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
@@ -0,0 +1,6 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings 2.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings 2.xml
new file mode 100644
index 000000000..a033ea971
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings 2.xml
@@ -0,0 +1,11 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
new file mode 100644
index 000000000..a033ea971
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
@@ -0,0 +1,11 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings 2.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings 2.xml
new file mode 100644
index 000000000..f118f0213
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings 2.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml
new file mode 100644
index 000000000..f118f0213
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.intro/dialog_settings.xml
@@ -0,0 +1,4 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings 2.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings 2.xml
new file mode 100644
index 000000000..642340857
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings 2.xml
@@ -0,0 +1,15 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
new file mode 100644
index 000000000..642340857
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
@@ -0,0 +1,15 @@
+
+
diff --git a/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
new file mode 100644
index 000000000..364676f03
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/.metadata/version.ini b/bin/main/edu/rpi/.metadata/version.ini
new file mode 100644
index 000000000..a612e14df
--- /dev/null
+++ b/bin/main/edu/rpi/.metadata/version.ini
@@ -0,0 +1,3 @@
+#Wed Nov 06 12:29:47 EST 2019
+org.eclipse.core.runtime=2
+org.eclipse.platform=4.5.2.v20160212-1500
diff --git a/bin/main/edu/rpi/legup/.metadata/.lock b/bin/main/edu/rpi/legup/.metadata/.lock
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.lock 2 b/bin/main/edu/rpi/legup/.metadata/.lock 2
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.log b/bin/main/edu/rpi/legup/.metadata/.log
new file mode 100644
index 000000000..15c0718da
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.log
@@ -0,0 +1,116 @@
+!SESSION 2019-10-23 14:12:58.040 -----------------------------------------------
+eclipse.buildId=4.5.2.M20160212-1500
+java.version=1.8.0_131
+java.vendor=Oracle Corporation
+BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -data /Users/James/Documents/RPI/Research/LEGUP/Legup/src/main/java/edu/rpi/legup -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+
+!ENTRY org.eclipse.recommenders.snipmatch.rcp 4 0 2019-10-23 14:12:58.665
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Could not resolve module: org.eclipse.recommenders.snipmatch.rcp [392]
+ Bundle was not resolved because of a uses contraint violation.
+ org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"] because it is exposed to package 'org.eclipse.jgit.dircache' from resources org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"] and org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"] via two dependency chains.
+
+Chain 1:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (osgi.wiring.bundle=org.eclipse.jgit)
+ |
+ provide: osgi.wiring.bundle: org.eclipse.jgit
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"]
+
+Chain 2:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (&(osgi.wiring.bundle=org.eclipse.egit.core)(bundle-version>=3.2.0))
+ |
+ provide: osgi.wiring.bundle; bundle-version:Version="4.0.3.201509231615-r"; osgi.wiring.bundle="org.eclipse.egit.core"; singleton:="true"
+ org.eclipse.egit.core [osgi.identity; osgi.identity="org.eclipse.egit.core"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"; singleton:="true"]
+ import: (&(osgi.wiring.package=org.eclipse.jgit.lib)(&(version>=4.0.3)(!(version>=4.1.0))))
+ |
+ export: osgi.wiring.package: org.eclipse.jgit.lib; uses:=org.eclipse.jgit.dircache
+ export: osgi.wiring.package=org.eclipse.jgit.dircache
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"]
+ at org.eclipse.osgi.container.Module.start(Module.java:434)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.core.net 1 0 2019-10-23 14:13:01.501
+!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
+!SESSION 2019-10-29 22:17:23.239 -----------------------------------------------
+eclipse.buildId=4.5.2.M20160212-1500
+java.version=1.8.0_131
+java.vendor=Oracle Corporation
+BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
+Framework arguments: -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring /Users/James/.eclipse_keyring -showlocation
+
+!ENTRY org.eclipse.recommenders.snipmatch.rcp 4 0 2019-10-29 22:17:23.914
+!MESSAGE FrameworkEvent ERROR
+!STACK 0
+org.osgi.framework.BundleException: Could not resolve module: org.eclipse.recommenders.snipmatch.rcp [392]
+ Bundle was not resolved because of a uses contraint violation.
+ org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"] because it is exposed to package 'org.eclipse.jgit.dircache' from resources org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"] and org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"] via two dependency chains.
+
+Chain 1:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (osgi.wiring.bundle=org.eclipse.jgit)
+ |
+ provide: osgi.wiring.bundle: org.eclipse.jgit
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="5.2.0.201812061821-r"]
+
+Chain 2:
+ org.eclipse.recommenders.snipmatch.rcp [osgi.identity; osgi.identity="org.eclipse.recommenders.snipmatch.rcp"; type="osgi.bundle"; version:Version="2.2.0.v20150609-1848"; singleton:="true"]
+ require: (&(osgi.wiring.bundle=org.eclipse.egit.core)(bundle-version>=3.2.0))
+ |
+ provide: osgi.wiring.bundle; bundle-version:Version="4.0.3.201509231615-r"; osgi.wiring.bundle="org.eclipse.egit.core"; singleton:="true"
+ org.eclipse.egit.core [osgi.identity; osgi.identity="org.eclipse.egit.core"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"; singleton:="true"]
+ import: (&(osgi.wiring.package=org.eclipse.jgit.lib)(&(version>=4.0.3)(!(version>=4.1.0))))
+ |
+ export: osgi.wiring.package: org.eclipse.jgit.lib; uses:=org.eclipse.jgit.dircache
+ export: osgi.wiring.package=org.eclipse.jgit.dircache
+ org.eclipse.jgit [osgi.identity; osgi.identity="org.eclipse.jgit"; type="osgi.bundle"; version:Version="4.0.3.201509231615-r"]
+ at org.eclipse.osgi.container.Module.start(Module.java:434)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
+ at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
+
+!ENTRY org.eclipse.core.net 1 0 2019-10-29 22:17:27.175
+!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences
+
+!ENTRY org.eclipse.epp.logging.aeri.ui 2 23 2019-10-29 22:18:10.094
+!MESSAGE The server availability check failed Version: 1.0.0.v20150617-0732
+!STACK 0
+java.net.UnknownHostException: dev.eclipse.org: nodename nor servname provided, or not known
+ at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
+ at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
+ at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
+ at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
+ at java.net.InetAddress.getAllByName(InetAddress.java:1192)
+ at java.net.InetAddress.getAllByName(InetAddress.java:1126)
+ at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:44)
+ at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:102)
+ at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:319)
+ at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
+ at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
+ at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
+ at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
+ at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
+ at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
+ at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
+ at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
+ at org.apache.http.client.fluent.Executor.execute(Executor.java:206)
+ at org.eclipse.epp.internal.logging.aeri.ui.log.CheckServerAvailabilityJob.run(CheckServerAvailabilityJob.java:48)
+ at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+
+!ENTRY org.eclipse.core.jobs 2 2 2019-10-29 22:18:59.533
+!MESSAGE Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.epp.internal.logging.aeri.ui.log.ProblemsDatabaseUpdateJob
diff --git a/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments 2.gen b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments 2.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments 2.gen differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments.gen b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments.gen differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments_1 b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments_1
new file mode 100644
index 000000000..adecb0619
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments_1 differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments_1 2 b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments_1 2
new file mode 100644
index 000000000..adecb0619
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.mylyn/.taskListIndex/segments_1 2 differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.mylyn/repositories.xml.zip b/bin/main/edu/rpi/legup/.metadata/.mylyn/repositories.xml.zip
new file mode 100644
index 000000000..41acf514c
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.mylyn/repositories.xml.zip differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.mylyn/tasks.xml.zip b/bin/main/edu/rpi/legup/.metadata/.mylyn/tasks.xml.zip
new file mode 100644
index 000000000..3e10bf2b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.mylyn/tasks.xml.zip differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history 2.version b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history 2.version
new file mode 100644
index 000000000..25cb955ba
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history 2.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
new file mode 100644
index 000000000..25cb955ba
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties 2.index b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties 2.index
new file mode 100644
index 000000000..7ea794608
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties 2.index differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties 2.version b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties 2.version
new file mode 100644
index 000000000..6b2aaa764
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties 2.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
new file mode 100644
index 000000000..7ea794608
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
new file mode 100644
index 000000000..6b2aaa764
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree
new file mode 100644
index 000000000..8a1fc9ec5
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.root/2.tree differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core 2.resources b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core 2.resources
new file mode 100644
index 000000000..f063e7caf
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core 2.resources differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
new file mode 100644
index 000000000..f063e7caf
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources 2.prefs
new file mode 100644
index 000000000..dffc6b513
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources 2.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+version=1
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..dffc6b513
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+version=1
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui 2.prefs
new file mode 100644
index 000000000..1768a1e88
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui 2.prefs
@@ -0,0 +1,13 @@
+content_assist_proposals_background=255,255,255
+content_assist_proposals_foreground=0,0,0
+eclipse.preferences.version=1
+fontPropagated=true
+org.eclipse.jdt.ui.editor.tab.width=
+org.eclipse.jdt.ui.formatterprofiles.version=12
+org.eclipse.jdt.ui.javadoclocations.migrated=true
+org.eclipse.jface.textfont=1|Monaco|11.0|0|COCOA|1|;
+proposalOrderMigrated=true
+spelling_locale_initialized=true
+tabWidthPropagated=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 000000000..1768a1e88
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,13 @@
+content_assist_proposals_background=255,255,255
+content_assist_proposals_foreground=0,0,0
+eclipse.preferences.version=1
+fontPropagated=true
+org.eclipse.jdt.ui.editor.tab.width=
+org.eclipse.jdt.ui.formatterprofiles.version=12
+org.eclipse.jdt.ui.javadoclocations.migrated=true
+org.eclipse.jface.textfont=1|Monaco|11.0|0|COCOA|1|;
+proposalOrderMigrated=true
+spelling_locale_initialized=true
+tabWidthPropagated=true
+useAnnotationsPrefPage=true
+useQuickDiffPrefPage=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery 2.prefs
new file mode 100644
index 000000000..67b1d96c9
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery 2.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.m2e.discovery.pref.projects=
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
new file mode 100644
index 000000000..67b1d96c9
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.m2e.discovery.pref.projects=
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core 2.prefs
new file mode 100644
index 000000000..43e97e405
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core 2.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+mylyn.attention.migrated=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
new file mode 100644
index 000000000..43e97e405
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+mylyn.attention.migrated=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui 2.prefs
new file mode 100644
index 000000000..8d462a6cf
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui 2.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
new file mode 100644
index 000000000..8d462a6cf
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui 2.prefs
new file mode 100644
index 000000000..2b60c21d6
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui 2.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+migrated.task.repositories.secure.store=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
+org.eclipse.mylyn.tasks.ui.welcome.message=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
new file mode 100644
index 000000000..2b60c21d6
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+migrated.task.repositories.secure.store=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching=true
+org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true
+org.eclipse.mylyn.tasks.ui.welcome.message=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui 2.prefs
new file mode 100644
index 000000000..08076f236
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui 2.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+showIntro=false
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide 2.prefs
new file mode 100644
index 000000000..da2be0834
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide 2.prefs
@@ -0,0 +1,5 @@
+PROBLEMS_FILTERS_MIGRATE=true
+eclipse.preferences.version=1
+platformState=1554955212164
+quickStart=false
+tipsAndTricks=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
new file mode 100644
index 000000000..da2be0834
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -0,0 +1,5 @@
+PROBLEMS_FILTERS_MIGRATE=true
+eclipse.preferences.version=1
+platformState=1554955212164
+quickStart=false
+tipsAndTricks=true
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
new file mode 100644
index 000000000..08076f236
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+showIntro=false
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench 2.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench 2.prefs
new file mode 100644
index 000000000..dd774965c
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench 2.prefs
@@ -0,0 +1,3 @@
+//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
+PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;
+eclipse.preferences.version=1
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
new file mode 100644
index 000000000..dd774965c
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
@@ -0,0 +1,3 @@
+//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
+PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;
+eclipse.preferences.version=1
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.e4.workbench/workbench 2.xmi b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.e4.workbench/workbench 2.xmi
new file mode 100644
index 000000000..51f42e4ed
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.e4.workbench/workbench 2.xmi
@@ -0,0 +1,2308 @@
+
+
+
+ activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration
+ ModelMigrationProcessor.001
+
+
+
+
+
+
+
+ topLevel
+
+
+ Minimized
+ MinimizedByZoom
+
+
+ persp.actionSet:org.eclipse.mylyn.doc.actionSet
+ persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation
+ persp.actionSet:org.eclipse.ui.cheatsheets.actionSet
+ persp.actionSet:org.eclipse.search.searchActionSet
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo
+ persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet
+ persp.actionSet:org.eclipse.ui.actionSet.keyBindings
+ persp.actionSet:org.eclipse.ui.actionSet.openFiles
+ persp.actionSet:org.eclipse.wb.core.ui.actionset
+ persp.actionSet:org.eclipse.debug.ui.launchActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet
+ persp.actionSet:org.eclipse.ui.NavigateActionSet
+ persp.viewSC:org.eclipse.jdt.ui.PackageExplorer
+ persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy
+ persp.viewSC:org.eclipse.jdt.ui.SourceView
+ persp.viewSC:org.eclipse.jdt.ui.JavadocView
+ persp.viewSC:org.eclipse.search.ui.views.SearchView
+ persp.viewSC:org.eclipse.ui.console.ConsoleView
+ persp.viewSC:org.eclipse.ui.views.ContentOutline
+ persp.viewSC:org.eclipse.ui.views.ProblemView
+ persp.viewSC:org.eclipse.ui.views.ResourceNavigator
+ persp.viewSC:org.eclipse.ui.views.TaskList
+ persp.viewSC:org.eclipse.ui.views.ProgressView
+ persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.ui.texteditor.TemplatesView
+ persp.viewSC:org.eclipse.pde.runtime.LogView
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard
+ persp.newWizSC:org.eclipse.ui.wizards.new.folder
+ persp.newWizSC:org.eclipse.ui.wizards.new.file
+ persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard
+ persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective
+ persp.perspSC:org.eclipse.debug.ui.DebugPerspective
+ persp.perspSC:com.android.ide.eclipse.ddms.Perspective
+ persp.viewSC:org.eclipse.ant.ui.views.AntView
+ persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet
+ persp.showIn:org.eclipse.eclemma.ui.CoverageView
+ persp.showIn:org.eclipse.egit.ui.RepositoriesView
+ persp.actionSet:org.eclipse.debug.ui.breakpointActionSet
+ persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet
+ persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard
+ persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet
+ persp.showIn:org.eclipse.jdt.ui.PackageExplorer
+ persp.showIn:org.eclipse.team.ui.GenericHistoryView
+ persp.showIn:org.eclipse.ui.views.ResourceNavigator
+ persp.showIn:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks
+ persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task
+ persp.viewSC:org.eclipse.wb.core.StructureView
+ persp.viewSC:org.eclipse.wb.core.PaletteView
+
+
+
+ org.eclipse.e4.primaryNavigationStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.e4.secondaryNavigationStack
+
+
+
+
+
+
+
+ org.eclipse.e4.secondaryDataStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+ active
+ Maximized
+
+
+
+
+
+
+ View
+ categoryTag:Help
+
+
+
+ View
+ categoryTag:General
+ active
+ activeOnClose
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Help
+
+
+
+ org.eclipse.e4.primaryDataStack
+ EditorStack
+
+
+
+
+ View
+ categoryTag:Java
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Java
+
+
+
+ View
+ categoryTag:Mylyn
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ Draggable
+
+
+ Draggable
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ stretch
+ SHOW_RESTORE_MENU
+
+
+ Draggable
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+
+
+ stretch
+
+
+ Draggable
+
+
+ Draggable
+
+
+
+
+
+ TrimStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Editor
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Oomph
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:XML
+
+
+ View
+ categoryTag:XML
+
+
+
+ glue
+ move_after:PerspectiveSpacer
+ SHOW_RESTORE_MENU
+
+
+ move_after:Spacer Glue
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+ glue
+ move_after:SearchField
+ SHOW_RESTORE_MENU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
new file mode 100644
index 000000000..51f42e4ed
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
@@ -0,0 +1,2308 @@
+
+
+
+ activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration
+ ModelMigrationProcessor.001
+
+
+
+
+
+
+
+ topLevel
+
+
+ Minimized
+ MinimizedByZoom
+
+
+ persp.actionSet:org.eclipse.mylyn.doc.actionSet
+ persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation
+ persp.actionSet:org.eclipse.ui.cheatsheets.actionSet
+ persp.actionSet:org.eclipse.search.searchActionSet
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation
+ persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo
+ persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet
+ persp.actionSet:org.eclipse.ui.actionSet.keyBindings
+ persp.actionSet:org.eclipse.ui.actionSet.openFiles
+ persp.actionSet:org.eclipse.wb.core.ui.actionset
+ persp.actionSet:org.eclipse.debug.ui.launchActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaActionSet
+ persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet
+ persp.actionSet:org.eclipse.ui.NavigateActionSet
+ persp.viewSC:org.eclipse.jdt.ui.PackageExplorer
+ persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy
+ persp.viewSC:org.eclipse.jdt.ui.SourceView
+ persp.viewSC:org.eclipse.jdt.ui.JavadocView
+ persp.viewSC:org.eclipse.search.ui.views.SearchView
+ persp.viewSC:org.eclipse.ui.console.ConsoleView
+ persp.viewSC:org.eclipse.ui.views.ContentOutline
+ persp.viewSC:org.eclipse.ui.views.ProblemView
+ persp.viewSC:org.eclipse.ui.views.ResourceNavigator
+ persp.viewSC:org.eclipse.ui.views.TaskList
+ persp.viewSC:org.eclipse.ui.views.ProgressView
+ persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.ui.texteditor.TemplatesView
+ persp.viewSC:org.eclipse.pde.runtime.LogView
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard
+ persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard
+ persp.newWizSC:org.eclipse.ui.wizards.new.folder
+ persp.newWizSC:org.eclipse.ui.wizards.new.file
+ persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard
+ persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective
+ persp.perspSC:org.eclipse.debug.ui.DebugPerspective
+ persp.perspSC:com.android.ide.eclipse.ddms.Perspective
+ persp.viewSC:org.eclipse.ant.ui.views.AntView
+ persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet
+ persp.showIn:org.eclipse.eclemma.ui.CoverageView
+ persp.showIn:org.eclipse.egit.ui.RepositoriesView
+ persp.actionSet:org.eclipse.debug.ui.breakpointActionSet
+ persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet
+ persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard
+ persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet
+ persp.showIn:org.eclipse.jdt.ui.PackageExplorer
+ persp.showIn:org.eclipse.team.ui.GenericHistoryView
+ persp.showIn:org.eclipse.ui.views.ResourceNavigator
+ persp.showIn:org.eclipse.ui.navigator.ProjectExplorer
+ persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks
+ persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task
+ persp.viewSC:org.eclipse.wb.core.StructureView
+ persp.viewSC:org.eclipse.wb.core.PaletteView
+
+
+
+ org.eclipse.e4.primaryNavigationStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.e4.secondaryNavigationStack
+
+
+
+
+
+
+
+ org.eclipse.e4.secondaryDataStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+ active
+ Maximized
+
+
+
+
+
+
+ View
+ categoryTag:Help
+
+
+
+ View
+ categoryTag:General
+ active
+ activeOnClose
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Help
+
+
+
+ org.eclipse.e4.primaryDataStack
+ EditorStack
+
+
+
+
+ View
+ categoryTag:Java
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+
+ View
+ categoryTag:General
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Java
+
+
+
+ View
+ categoryTag:Mylyn
+
+ ViewMenu
+ menuContribution:menu
+
+
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ Draggable
+
+
+ Draggable
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+
+ toolbarSeparator
+
+
+
+ toolbarSeparator
+
+
+
+ Draggable
+
+
+ stretch
+ SHOW_RESTORE_MENU
+
+
+ Draggable
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+
+
+ stretch
+
+
+ Draggable
+
+
+ Draggable
+
+
+
+
+
+ TrimStack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+ platform:cocoa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Editor
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Android
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Tracer for OpenGL ES
+
+
+ View
+ categoryTag:Ant
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:Git
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:Debug
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java Browsing
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Java
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Maven
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Mylyn
+
+
+ View
+ categoryTag:Oomph
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:Code Recommenders
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:Team
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:Help
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:WindowBuilder
+
+
+ View
+ categoryTag:General
+
+
+ View
+ categoryTag:XML
+
+
+ View
+ categoryTag:XML
+
+
+
+ glue
+ move_after:PerspectiveSpacer
+ SHOW_RESTORE_MENU
+
+
+ move_after:Spacer Glue
+ HIDEABLE
+ SHOW_RESTORE_MENU
+
+
+ glue
+ move_after:SearchField
+ SHOW_RESTORE_MENU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdt b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdt differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdx b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdx
new file mode 100644
index 000000000..b8ee80957
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fdx differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fnm b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fnm
new file mode 100644
index 000000000..523c92e25
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.frq b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.frq
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.nrm b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.nrm
new file mode 100644
index 000000000..cf8dc7529
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.nrm
@@ -0,0 +1 @@
+NRMÿ
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tii b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tii
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tii differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tis b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tis
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0 2.tis differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdt differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx
new file mode 100644
index 000000000..b8ee80957
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fdx differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm
new file mode 100644
index 000000000..523c92e25
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.frq
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm
new file mode 100644
index 000000000..cf8dc7529
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.nrm
@@ -0,0 +1 @@
+NRMÿ
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tii differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/_0.tis differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments 2.gen b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments 2.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments 2.gen differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments.gen differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1
new file mode 100644
index 000000000..4f495c834
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 2 b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 2
new file mode 100644
index 000000000..4f495c834
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/history/segments_1 2 differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0 2.fdt b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0 2.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0 2.fdt differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt
new file mode 100644
index 000000000..d5abf41cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdt differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx
new file mode 100644
index 000000000..b8ee80957
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fdx differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm
new file mode 100644
index 000000000..523c92e25
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.fnm
@@ -0,0 +1 @@
+ýÿÿÿversion
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.frq
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm
new file mode 100644
index 000000000..cf8dc7529
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.nrm
@@ -0,0 +1 @@
+NRMÿ
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tii differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis
new file mode 100644
index 000000000..ebd518d6e
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/_0.tis differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen
new file mode 100644
index 000000000..63a7ec9a3
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments.gen differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1 b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1
new file mode 100644
index 000000000..4f495c834
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.epp.logging.aeri.ui/remote-index/segments_1 differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache 2 b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache 2
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache 2 differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
new file mode 100644
index 000000000..593f4708d
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
new file mode 100644
index 000000000..0edae4b20
Binary files /dev/null and b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat differ
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory 2.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory 2.xml
new file mode 100644
index 000000000..a4ee3cbc9
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory 2.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
new file mode 100644
index 000000000..a4ee3cbc9
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
new file mode 100644
index 000000000..9e390f501
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
new file mode 100644
index 000000000..231c2cfed
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
@@ -0,0 +1,10 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0 2.log b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0 2.log
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log
new file mode 100644
index 000000000..e69de29bb
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032 2.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032 2.xml
new file mode 100644
index 000000000..e33758c3a
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032 2.xml
@@ -0,0 +1,43 @@
+
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+ OFF
+
+
+
+
+ ${org.eclipse.m2e.log.dir}/0.log
+
+ ${org.eclipse.m2e.log.dir}/%i.log
+ 1
+ 10
+
+
+ 100MB
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+
+
+
+ WARN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml
new file mode 100644
index 000000000..e33758c3a
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.6.0.20150526-2032.xml
@@ -0,0 +1,43 @@
+
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+ OFF
+
+
+
+
+ ${org.eclipse.m2e.log.dir}/0.log
+
+ ${org.eclipse.m2e.log.dir}/%i.log
+ 1
+ 10
+
+
+ 100MB
+
+
+ %date [%thread] %-5level %logger{35} - %msg%n
+
+
+
+
+
+ WARN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.oomph.setup/workspace 2.setup b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.oomph.setup/workspace 2.setup
new file mode 100644
index 000000000..1f73e14c1
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.oomph.setup/workspace 2.setup
@@ -0,0 +1,6 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
new file mode 100644
index 000000000..1f73e14c1
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
@@ -0,0 +1,6 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings 2.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings 2.xml
new file mode 100644
index 000000000..a033ea971
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings 2.xml
@@ -0,0 +1,11 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
new file mode 100644
index 000000000..a033ea971
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml
@@ -0,0 +1,11 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings 2.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings 2.xml
new file mode 100644
index 000000000..851c296e6
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings 2.xml
@@ -0,0 +1,15 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
new file mode 100644
index 000000000..851c296e6
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
@@ -0,0 +1,15 @@
+
+
diff --git a/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
new file mode 100644
index 000000000..3f804cad8
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/.metadata/version.ini b/bin/main/edu/rpi/legup/.metadata/version.ini
new file mode 100644
index 000000000..026f9536e
--- /dev/null
+++ b/bin/main/edu/rpi/legup/.metadata/version.ini
@@ -0,0 +1,3 @@
+#Tue Oct 29 22:17:24 EDT 2019
+org.eclipse.core.runtime=2
+org.eclipse.platform=4.5.2.v20160212-1500
diff --git a/bin/main/edu/rpi/legup/Legup 2.class b/bin/main/edu/rpi/legup/Legup 2.class
new file mode 100644
index 000000000..661df85e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/Legup 2.class differ
diff --git a/bin/main/edu/rpi/legup/Legup.class b/bin/main/edu/rpi/legup/Legup.class
new file mode 100644
index 000000000..661df85e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/Legup.class differ
diff --git a/bin/main/edu/rpi/legup/VERSION b/bin/main/edu/rpi/legup/VERSION
new file mode 100644
index 000000000..afa2b3515
--- /dev/null
+++ b/bin/main/edu/rpi/legup/VERSION
@@ -0,0 +1 @@
+1.8.0
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/ai/Solver 2.class b/bin/main/edu/rpi/legup/ai/Solver 2.class
new file mode 100644
index 000000000..9605704ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ai/Solver 2.class differ
diff --git a/bin/main/edu/rpi/legup/ai/Solver.class b/bin/main/edu/rpi/legup/ai/Solver.class
new file mode 100644
index 000000000..9605704ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ai/Solver.class differ
diff --git a/bin/main/edu/rpi/legup/app/Config 2.class b/bin/main/edu/rpi/legup/app/Config 2.class
new file mode 100644
index 000000000..22acbc475
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/Config 2.class differ
diff --git a/bin/main/edu/rpi/legup/app/Config.class b/bin/main/edu/rpi/legup/app/Config.class
new file mode 100644
index 000000000..22acbc475
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/Config.class differ
diff --git a/bin/main/edu/rpi/legup/app/GameBoardFacade 2.class b/bin/main/edu/rpi/legup/app/GameBoardFacade 2.class
new file mode 100644
index 000000000..9789bddde
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/GameBoardFacade 2.class differ
diff --git a/bin/main/edu/rpi/legup/app/GameBoardFacade.class b/bin/main/edu/rpi/legup/app/GameBoardFacade.class
new file mode 100644
index 000000000..9789bddde
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/GameBoardFacade.class differ
diff --git a/bin/main/edu/rpi/legup/app/InvalidConfigException 2.class b/bin/main/edu/rpi/legup/app/InvalidConfigException 2.class
new file mode 100644
index 000000000..ad12382a9
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/InvalidConfigException 2.class differ
diff --git a/bin/main/edu/rpi/legup/app/InvalidConfigException.class b/bin/main/edu/rpi/legup/app/InvalidConfigException.class
new file mode 100644
index 000000000..ad12382a9
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/InvalidConfigException.class differ
diff --git a/bin/main/edu/rpi/legup/app/LegupPreferences 2.class b/bin/main/edu/rpi/legup/app/LegupPreferences 2.class
new file mode 100644
index 000000000..b0896c7c2
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/LegupPreferences 2.class differ
diff --git a/bin/main/edu/rpi/legup/app/LegupPreferences.class b/bin/main/edu/rpi/legup/app/LegupPreferences.class
new file mode 100644
index 000000000..b0896c7c2
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/LegupPreferences.class differ
diff --git a/bin/main/edu/rpi/legup/app/PuzzleKeyAccelerator 2.class b/bin/main/edu/rpi/legup/app/PuzzleKeyAccelerator 2.class
new file mode 100644
index 000000000..6dcf3a486
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/PuzzleKeyAccelerator 2.class differ
diff --git a/bin/main/edu/rpi/legup/app/PuzzleKeyAccelerator.class b/bin/main/edu/rpi/legup/app/PuzzleKeyAccelerator.class
new file mode 100644
index 000000000..6dcf3a486
Binary files /dev/null and b/bin/main/edu/rpi/legup/app/PuzzleKeyAccelerator.class differ
diff --git a/bin/main/edu/rpi/legup/controller/BoardController 2.class b/bin/main/edu/rpi/legup/controller/BoardController 2.class
new file mode 100644
index 000000000..a2c19eddf
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/BoardController 2.class differ
diff --git a/bin/main/edu/rpi/legup/controller/BoardController.class b/bin/main/edu/rpi/legup/controller/BoardController.class
new file mode 100644
index 000000000..a2c19eddf
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/BoardController.class differ
diff --git a/bin/main/edu/rpi/legup/controller/Controller 2.class b/bin/main/edu/rpi/legup/controller/Controller 2.class
new file mode 100644
index 000000000..3ee1bc088
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/Controller 2.class differ
diff --git a/bin/main/edu/rpi/legup/controller/Controller.class b/bin/main/edu/rpi/legup/controller/Controller.class
new file mode 100644
index 000000000..3ee1bc088
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/Controller.class differ
diff --git a/bin/main/edu/rpi/legup/controller/ElementController 2.class b/bin/main/edu/rpi/legup/controller/ElementController 2.class
new file mode 100644
index 000000000..8c24aa9e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/ElementController 2.class differ
diff --git a/bin/main/edu/rpi/legup/controller/ElementController.class b/bin/main/edu/rpi/legup/controller/ElementController.class
new file mode 100644
index 000000000..8c24aa9e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/ElementController.class differ
diff --git a/bin/main/edu/rpi/legup/controller/RuleController 2.class b/bin/main/edu/rpi/legup/controller/RuleController 2.class
new file mode 100644
index 000000000..02d4f93ff
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/RuleController 2.class differ
diff --git a/bin/main/edu/rpi/legup/controller/RuleController.class b/bin/main/edu/rpi/legup/controller/RuleController.class
new file mode 100644
index 000000000..02d4f93ff
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/RuleController.class differ
diff --git a/bin/main/edu/rpi/legup/controller/ToolbarController 2.class b/bin/main/edu/rpi/legup/controller/ToolbarController 2.class
new file mode 100644
index 000000000..defe98167
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/ToolbarController 2.class differ
diff --git a/bin/main/edu/rpi/legup/controller/ToolbarController.class b/bin/main/edu/rpi/legup/controller/ToolbarController.class
new file mode 100644
index 000000000..defe98167
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/ToolbarController.class differ
diff --git a/bin/main/edu/rpi/legup/controller/TreeController 2.class b/bin/main/edu/rpi/legup/controller/TreeController 2.class
new file mode 100644
index 000000000..e083f781d
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/TreeController 2.class differ
diff --git a/bin/main/edu/rpi/legup/controller/TreeController.class b/bin/main/edu/rpi/legup/controller/TreeController.class
new file mode 100644
index 000000000..e083f781d
Binary files /dev/null and b/bin/main/edu/rpi/legup/controller/TreeController.class differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/LICENSE 2.txt b/bin/main/edu/rpi/legup/fonts/Roboto/LICENSE 2.txt
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/bin/main/edu/rpi/legup/fonts/Roboto/LICENSE 2.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/LICENSE.txt b/bin/main/edu/rpi/legup/fonts/Roboto/LICENSE.txt
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/bin/main/edu/rpi/legup/fonts/Roboto/LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Black 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Black 2.ttf
new file mode 100644
index 000000000..689fe5cb3
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Black 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Black.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Black.ttf
new file mode 100644
index 000000000..689fe5cb3
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Black.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BlackItalic 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BlackItalic 2.ttf
new file mode 100644
index 000000000..0b4e0ee10
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BlackItalic 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BlackItalic.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BlackItalic.ttf
new file mode 100644
index 000000000..0b4e0ee10
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BlackItalic.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Bold 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Bold 2.ttf
new file mode 100644
index 000000000..d3f01ad24
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Bold 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Bold.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Bold.ttf
new file mode 100644
index 000000000..d3f01ad24
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Bold.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BoldItalic 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BoldItalic 2.ttf
new file mode 100644
index 000000000..41cc1e753
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BoldItalic 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BoldItalic.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BoldItalic.ttf
new file mode 100644
index 000000000..41cc1e753
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-BoldItalic.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Italic 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Italic 2.ttf
new file mode 100644
index 000000000..6a1cee5b2
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Italic 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Italic.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Italic.ttf
new file mode 100644
index 000000000..6a1cee5b2
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Italic.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Light 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Light 2.ttf
new file mode 100644
index 000000000..219063a57
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Light 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Light.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Light.ttf
new file mode 100644
index 000000000..219063a57
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Light.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-LightItalic 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-LightItalic 2.ttf
new file mode 100644
index 000000000..0e81e876f
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-LightItalic 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-LightItalic.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-LightItalic.ttf
new file mode 100644
index 000000000..0e81e876f
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-LightItalic.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Medium 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Medium 2.ttf
new file mode 100644
index 000000000..1a7f3b0bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Medium 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Medium.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Medium.ttf
new file mode 100644
index 000000000..1a7f3b0bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Medium.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-MediumItalic 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-MediumItalic 2.ttf
new file mode 100644
index 000000000..003029527
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-MediumItalic 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-MediumItalic.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-MediumItalic.ttf
new file mode 100644
index 000000000..003029527
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-MediumItalic.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Regular 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Regular 2.ttf
new file mode 100644
index 000000000..2c97eeadf
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Regular 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Regular.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Regular.ttf
new file mode 100644
index 000000000..2c97eeadf
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Regular.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Thin 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Thin 2.ttf
new file mode 100644
index 000000000..b74a4fd1a
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Thin 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Thin.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Thin.ttf
new file mode 100644
index 000000000..b74a4fd1a
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-Thin.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-ThinItalic 2.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-ThinItalic 2.ttf
new file mode 100644
index 000000000..dd0ddb852
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-ThinItalic 2.ttf differ
diff --git a/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-ThinItalic.ttf b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-ThinItalic.ttf
new file mode 100644
index 000000000..dd0ddb852
Binary files /dev/null and b/bin/main/edu/rpi/legup/fonts/Roboto/Roboto-ThinItalic.ttf differ
diff --git a/bin/main/edu/rpi/legup/history/AddTreeElementCommand 2.class b/bin/main/edu/rpi/legup/history/AddTreeElementCommand 2.class
new file mode 100644
index 000000000..0a5b603d8
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/AddTreeElementCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/AddTreeElementCommand.class b/bin/main/edu/rpi/legup/history/AddTreeElementCommand.class
new file mode 100644
index 000000000..0a5b603d8
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/AddTreeElementCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/ApplyDefaultBasicRuleCommand 2.class b/bin/main/edu/rpi/legup/history/ApplyDefaultBasicRuleCommand 2.class
new file mode 100644
index 000000000..8c173846d
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ApplyDefaultBasicRuleCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/ApplyDefaultBasicRuleCommand.class b/bin/main/edu/rpi/legup/history/ApplyDefaultBasicRuleCommand.class
new file mode 100644
index 000000000..8c173846d
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ApplyDefaultBasicRuleCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/AutoCaseRuleCommand 2.class b/bin/main/edu/rpi/legup/history/AutoCaseRuleCommand 2.class
new file mode 100644
index 000000000..7ef37dfab
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/AutoCaseRuleCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/AutoCaseRuleCommand.class b/bin/main/edu/rpi/legup/history/AutoCaseRuleCommand.class
new file mode 100644
index 000000000..7ef37dfab
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/AutoCaseRuleCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/CommandError 2.class b/bin/main/edu/rpi/legup/history/CommandError 2.class
new file mode 100644
index 000000000..53c753bd9
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/CommandError 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/CommandError.class b/bin/main/edu/rpi/legup/history/CommandError.class
new file mode 100644
index 000000000..53c753bd9
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/CommandError.class differ
diff --git a/bin/main/edu/rpi/legup/history/CommandState 2.class b/bin/main/edu/rpi/legup/history/CommandState 2.class
new file mode 100644
index 000000000..f63248d27
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/CommandState 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/CommandState.class b/bin/main/edu/rpi/legup/history/CommandState.class
new file mode 100644
index 000000000..f63248d27
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/CommandState.class differ
diff --git a/bin/main/edu/rpi/legup/history/DeleteTreeElementCommand 2.class b/bin/main/edu/rpi/legup/history/DeleteTreeElementCommand 2.class
new file mode 100644
index 000000000..3111233a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/DeleteTreeElementCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/DeleteTreeElementCommand.class b/bin/main/edu/rpi/legup/history/DeleteTreeElementCommand.class
new file mode 100644
index 000000000..3111233a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/DeleteTreeElementCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/EditDataCommand 2.class b/bin/main/edu/rpi/legup/history/EditDataCommand 2.class
new file mode 100644
index 000000000..9158893b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/EditDataCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/EditDataCommand.class b/bin/main/edu/rpi/legup/history/EditDataCommand.class
new file mode 100644
index 000000000..9158893b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/EditDataCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/History 2.class b/bin/main/edu/rpi/legup/history/History 2.class
new file mode 100644
index 000000000..090d361fb
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/History 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/History.class b/bin/main/edu/rpi/legup/history/History.class
new file mode 100644
index 000000000..090d361fb
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/History.class differ
diff --git a/bin/main/edu/rpi/legup/history/ICommand 2.class b/bin/main/edu/rpi/legup/history/ICommand 2.class
new file mode 100644
index 000000000..4a0ba3bc4
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ICommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/ICommand.class b/bin/main/edu/rpi/legup/history/ICommand.class
new file mode 100644
index 000000000..4a0ba3bc4
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ICommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/IHistoryListener 2.class b/bin/main/edu/rpi/legup/history/IHistoryListener 2.class
new file mode 100644
index 000000000..0859a0c91
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/IHistoryListener 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/IHistoryListener.class b/bin/main/edu/rpi/legup/history/IHistoryListener.class
new file mode 100644
index 000000000..0859a0c91
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/IHistoryListener.class differ
diff --git a/bin/main/edu/rpi/legup/history/IHistorySubject 2.class b/bin/main/edu/rpi/legup/history/IHistorySubject 2.class
new file mode 100644
index 000000000..1c119de4d
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/IHistorySubject 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/IHistorySubject.class b/bin/main/edu/rpi/legup/history/IHistorySubject.class
new file mode 100644
index 000000000..1c119de4d
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/IHistorySubject.class differ
diff --git a/bin/main/edu/rpi/legup/history/InvalidCommandStateTransition 2.class b/bin/main/edu/rpi/legup/history/InvalidCommandStateTransition 2.class
new file mode 100644
index 000000000..87202e16e
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/InvalidCommandStateTransition 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/InvalidCommandStateTransition.class b/bin/main/edu/rpi/legup/history/InvalidCommandStateTransition.class
new file mode 100644
index 000000000..87202e16e
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/InvalidCommandStateTransition.class differ
diff --git a/bin/main/edu/rpi/legup/history/MergeCommand 2.class b/bin/main/edu/rpi/legup/history/MergeCommand 2.class
new file mode 100644
index 000000000..328f51f02
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/MergeCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/MergeCommand.class b/bin/main/edu/rpi/legup/history/MergeCommand.class
new file mode 100644
index 000000000..328f51f02
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/MergeCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/PuzzleCommand 2.class b/bin/main/edu/rpi/legup/history/PuzzleCommand 2.class
new file mode 100644
index 000000000..8166d6c4c
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/PuzzleCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/PuzzleCommand.class b/bin/main/edu/rpi/legup/history/PuzzleCommand.class
new file mode 100644
index 000000000..8166d6c4c
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/PuzzleCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/ValidateBasicRuleCommand 2.class b/bin/main/edu/rpi/legup/history/ValidateBasicRuleCommand 2.class
new file mode 100644
index 000000000..77d8a89dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ValidateBasicRuleCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/ValidateBasicRuleCommand.class b/bin/main/edu/rpi/legup/history/ValidateBasicRuleCommand.class
new file mode 100644
index 000000000..77d8a89dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ValidateBasicRuleCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/ValidateCaseRuleCommand 2.class b/bin/main/edu/rpi/legup/history/ValidateCaseRuleCommand 2.class
new file mode 100644
index 000000000..99fbb5a4a
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ValidateCaseRuleCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/ValidateCaseRuleCommand.class b/bin/main/edu/rpi/legup/history/ValidateCaseRuleCommand.class
new file mode 100644
index 000000000..99fbb5a4a
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ValidateCaseRuleCommand.class differ
diff --git a/bin/main/edu/rpi/legup/history/ValidateContradictionRuleCommand 2.class b/bin/main/edu/rpi/legup/history/ValidateContradictionRuleCommand 2.class
new file mode 100644
index 000000000..ec07223e7
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ValidateContradictionRuleCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/history/ValidateContradictionRuleCommand.class b/bin/main/edu/rpi/legup/history/ValidateContradictionRuleCommand.class
new file mode 100644
index 000000000..ec07223e7
Binary files /dev/null and b/bin/main/edu/rpi/legup/history/ValidateContradictionRuleCommand.class differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/AddChild 2.png b/bin/main/edu/rpi/legup/images/Legup/AddChild 2.png
new file mode 100644
index 000000000..2a411cddd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/AddChild 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/AddChild.png b/bin/main/edu/rpi/legup/images/Legup/AddChild.png
new file mode 100644
index 000000000..2a411cddd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/AddChild.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/AddRegion 2.png b/bin/main/edu/rpi/legup/images/Legup/AddRegion 2.png
new file mode 100644
index 000000000..4daa1aa0c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/AddRegion 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/AddRegion.png b/bin/main/edu/rpi/legup/images/Legup/AddRegion.png
new file mode 100644
index 000000000..4daa1aa0c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/AddRegion.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Annotations 2.png b/bin/main/edu/rpi/legup/images/Legup/Annotations 2.png
new file mode 100644
index 000000000..b9b9a1234
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Annotations 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Annotations.png b/bin/main/edu/rpi/legup/images/Legup/Annotations.png
new file mode 100644
index 000000000..b9b9a1234
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Annotations.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Basic Rules 2.gif b/bin/main/edu/rpi/legup/images/Legup/Basic Rules 2.gif
new file mode 100644
index 000000000..80246a4f2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Basic Rules 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Basic Rules.gif b/bin/main/edu/rpi/legup/images/Legup/Basic Rules.gif
new file mode 100644
index 000000000..80246a4f2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Basic Rules.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Best Fit 2.png b/bin/main/edu/rpi/legup/images/Legup/Best Fit 2.png
new file mode 100644
index 000000000..57b745575
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Best Fit 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Best Fit.png b/bin/main/edu/rpi/legup/images/Legup/Best Fit.png
new file mode 100644
index 000000000..57b745575
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Best Fit.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Case Rules 2.gif b/bin/main/edu/rpi/legup/images/Legup/Case Rules 2.gif
new file mode 100644
index 000000000..14c318b9e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Case Rules 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Case Rules.gif b/bin/main/edu/rpi/legup/images/Legup/Case Rules.gif
new file mode 100644
index 000000000..14c318b9e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Case Rules.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Check 2.png b/bin/main/edu/rpi/legup/images/Legup/Check 2.png
new file mode 100644
index 000000000..a929f796f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Check 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Check All 2.png b/bin/main/edu/rpi/legup/images/Legup/Check All 2.png
new file mode 100644
index 000000000..a929f796f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Check All 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Check All.png b/bin/main/edu/rpi/legup/images/Legup/Check All.png
new file mode 100644
index 000000000..a929f796f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Check All.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Check.png b/bin/main/edu/rpi/legup/images/Legup/Check.png
new file mode 100644
index 000000000..a929f796f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Check.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Collapse 2.png b/bin/main/edu/rpi/legup/images/Legup/Collapse 2.png
new file mode 100644
index 000000000..18207174f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Collapse 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Collapse.png b/bin/main/edu/rpi/legup/images/Legup/Collapse.png
new file mode 100644
index 000000000..18207174f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Collapse.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Console 2.png b/bin/main/edu/rpi/legup/images/Legup/Console 2.png
new file mode 100644
index 000000000..eacfb821e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Console 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Console.png b/bin/main/edu/rpi/legup/images/Legup/Console.png
new file mode 100644
index 000000000..eacfb821e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Console.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Contradictions 2.gif b/bin/main/edu/rpi/legup/images/Legup/Contradictions 2.gif
new file mode 100644
index 000000000..71351890a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Contradictions 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Contradictions.gif b/bin/main/edu/rpi/legup/images/Legup/Contradictions.gif
new file mode 100644
index 000000000..71351890a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Contradictions.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/DelChild 2.png b/bin/main/edu/rpi/legup/images/Legup/DelChild 2.png
new file mode 100644
index 000000000..b130336a0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/DelChild 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/DelChild.png b/bin/main/edu/rpi/legup/images/Legup/DelChild.png
new file mode 100644
index 000000000..b130336a0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/DelChild.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Directions 2.png b/bin/main/edu/rpi/legup/images/Legup/Directions 2.png
new file mode 100644
index 000000000..b9490ae3f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Directions 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Directions.png b/bin/main/edu/rpi/legup/images/Legup/Directions.png
new file mode 100644
index 000000000..b9490ae3f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Directions.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Hint 2.png b/bin/main/edu/rpi/legup/images/Legup/Hint 2.png
new file mode 100644
index 000000000..c521fde0b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Hint 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Hint.png b/bin/main/edu/rpi/legup/images/Legup/Hint.png
new file mode 100644
index 000000000..c521fde0b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Hint.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/LegupSplash 2.png b/bin/main/edu/rpi/legup/images/Legup/LegupSplash 2.png
new file mode 100644
index 000000000..e5e01ae4b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/LegupSplash 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/LegupSplash.png b/bin/main/edu/rpi/legup/images/Legup/LegupSplash.png
new file mode 100644
index 000000000..e5e01ae4b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/LegupSplash.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Merge 2.png b/bin/main/edu/rpi/legup/images/Legup/Merge 2.png
new file mode 100644
index 000000000..35cefcb14
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Merge 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Merge.png b/bin/main/edu/rpi/legup/images/Legup/Merge.png
new file mode 100644
index 000000000..35cefcb14
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Merge.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/MergeRule 2.png b/bin/main/edu/rpi/legup/images/Legup/MergeRule 2.png
new file mode 100644
index 000000000..0b44e577c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/MergeRule 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/MergeRule.png b/bin/main/edu/rpi/legup/images/Legup/MergeRule.png
new file mode 100644
index 000000000..0b44e577c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/MergeRule.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/New 2.png b/bin/main/edu/rpi/legup/images/Legup/New 2.png
new file mode 100644
index 000000000..caff86b67
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/New 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/New.png b/bin/main/edu/rpi/legup/images/Legup/New.png
new file mode 100644
index 000000000..caff86b67
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/New.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Normal Zoom 2.png b/bin/main/edu/rpi/legup/images/Legup/Normal Zoom 2.png
new file mode 100644
index 000000000..8e75a244a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Normal Zoom 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Normal Zoom.png b/bin/main/edu/rpi/legup/images/Legup/Normal Zoom.png
new file mode 100644
index 000000000..8e75a244a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Normal Zoom.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Open 2.png b/bin/main/edu/rpi/legup/images/Legup/Open 2.png
new file mode 100644
index 000000000..df6b7c2db
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Open 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Open Proof 2.png b/bin/main/edu/rpi/legup/images/Legup/Open Proof 2.png
new file mode 100644
index 000000000..df6b7c2db
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Open Proof 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Open Proof.png b/bin/main/edu/rpi/legup/images/Legup/Open Proof.png
new file mode 100644
index 000000000..df6b7c2db
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Open Proof.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Open Puzzle 2.png b/bin/main/edu/rpi/legup/images/Legup/Open Puzzle 2.png
new file mode 100644
index 000000000..caff86b67
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Open Puzzle 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Open Puzzle.png b/bin/main/edu/rpi/legup/images/Legup/Open Puzzle.png
new file mode 100644
index 000000000..caff86b67
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Open Puzzle.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Open.png b/bin/main/edu/rpi/legup/images/Legup/Open.png
new file mode 100644
index 000000000..df6b7c2db
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Open.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Redo 2.png b/bin/main/edu/rpi/legup/images/Legup/Redo 2.png
new file mode 100644
index 000000000..2dc77497d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Redo 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Redo.png b/bin/main/edu/rpi/legup/images/Legup/Redo.png
new file mode 100644
index 000000000..2dc77497d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Redo.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Save 2.png b/bin/main/edu/rpi/legup/images/Legup/Save 2.png
new file mode 100644
index 000000000..bb9095676
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Save 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Save.png b/bin/main/edu/rpi/legup/images/Legup/Save.png
new file mode 100644
index 000000000..bb9095676
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Save.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Submit 2.png b/bin/main/edu/rpi/legup/images/Legup/Submit 2.png
new file mode 100644
index 000000000..835c0ffe1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Submit 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Submit.png b/bin/main/edu/rpi/legup/images/Legup/Submit.png
new file mode 100644
index 000000000..835c0ffe1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Submit.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Undo 2.png b/bin/main/edu/rpi/legup/images/Legup/Undo 2.png
new file mode 100644
index 000000000..b1099e8e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Undo 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Undo.png b/bin/main/edu/rpi/legup/images/Legup/Undo.png
new file mode 100644
index 000000000..b1099e8e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Undo.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Zoom In 2.png b/bin/main/edu/rpi/legup/images/Legup/Zoom In 2.png
new file mode 100644
index 000000000..7436e728a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Zoom In 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Zoom In.png b/bin/main/edu/rpi/legup/images/Legup/Zoom In.png
new file mode 100644
index 000000000..7436e728a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Zoom In.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Zoom Out 2.png b/bin/main/edu/rpi/legup/images/Legup/Zoom Out 2.png
new file mode 100644
index 000000000..2e91296c7
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Zoom Out 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/Zoom Out.png b/bin/main/edu/rpi/legup/images/Legup/Zoom Out.png
new file mode 100644
index 000000000..2e91296c7
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/Zoom Out.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/bar 2.png b/bin/main/edu/rpi/legup/images/Legup/bar 2.png
new file mode 100644
index 000000000..58c9a85a0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/bar 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/bar.png b/bin/main/edu/rpi/legup/images/Legup/bar.png
new file mode 100644
index 000000000..58c9a85a0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/bar.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/blank 2.gif b/bin/main/edu/rpi/legup/images/Legup/blank 2.gif
new file mode 100644
index 000000000..b3c4faa6d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/blank 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/blank.gif b/bin/main/edu/rpi/legup/images/Legup/blank.gif
new file mode 100644
index 000000000..b3c4faa6d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/blank.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/defaultContradiction 2.png b/bin/main/edu/rpi/legup/images/Legup/defaultContradiction 2.png
new file mode 100644
index 000000000..ccd8202d1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/defaultContradiction 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/defaultContradiction.png b/bin/main/edu/rpi/legup/images/Legup/defaultContradiction.png
new file mode 100644
index 000000000..ccd8202d1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/defaultContradiction.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/defaultRule 2.png b/bin/main/edu/rpi/legup/images/Legup/defaultRule 2.png
new file mode 100644
index 000000000..626197143
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/defaultRule 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/defaultRule.png b/bin/main/edu/rpi/legup/images/Legup/defaultRule.png
new file mode 100644
index 000000000..626197143
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/defaultRule.png differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/questionmark 2.gif b/bin/main/edu/rpi/legup/images/Legup/questionmark 2.gif
new file mode 100644
index 000000000..073457fc2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/questionmark 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/questionmark.gif b/bin/main/edu/rpi/legup/images/Legup/questionmark.gif
new file mode 100644
index 000000000..073457fc2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/questionmark.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/unknown 2.gif b/bin/main/edu/rpi/legup/images/Legup/unknown 2.gif
new file mode 100644
index 000000000..c21ee6594
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/unknown 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/Legup/unknown.gif b/bin/main/edu/rpi/legup/images/Legup/unknown.gif
new file mode 100644
index 000000000..c21ee6594
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/Legup/unknown.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/BottomCap 2.png b/bin/main/edu/rpi/legup/images/battleship/BottomCap 2.png
new file mode 100644
index 000000000..89f1bb104
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/BottomCap 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/BottomCap.png b/bin/main/edu/rpi/legup/images/battleship/BottomCap.png
new file mode 100644
index 000000000..89f1bb104
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/BottomCap.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/LeftCap 2.png b/bin/main/edu/rpi/legup/images/battleship/LeftCap 2.png
new file mode 100644
index 000000000..a0d8090b1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/LeftCap 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/LeftCap.png b/bin/main/edu/rpi/legup/images/battleship/LeftCap.png
new file mode 100644
index 000000000..a0d8090b1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/LeftCap.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/Middle 2.png b/bin/main/edu/rpi/legup/images/battleship/Middle 2.png
new file mode 100644
index 000000000..3a3ebcf43
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/Middle 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/Middle.png b/bin/main/edu/rpi/legup/images/battleship/Middle.png
new file mode 100644
index 000000000..3a3ebcf43
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/Middle.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/RightCap 2.png b/bin/main/edu/rpi/legup/images/battleship/RightCap 2.png
new file mode 100644
index 000000000..374e863a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/RightCap 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/RightCap.png b/bin/main/edu/rpi/legup/images/battleship/RightCap.png
new file mode 100644
index 000000000..374e863a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/RightCap.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/TopCap 2.png b/bin/main/edu/rpi/legup/images/battleship/TopCap 2.png
new file mode 100644
index 000000000..b68343e39
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/TopCap 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/TopCap.png b/bin/main/edu/rpi/legup/images/battleship/TopCap.png
new file mode 100644
index 000000000..b68343e39
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/TopCap.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/UnknownSegment 2.png b/bin/main/edu/rpi/legup/images/battleship/UnknownSegment 2.png
new file mode 100644
index 000000000..1cf2a12b8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/UnknownSegment 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/UnknownSegment.png b/bin/main/edu/rpi/legup/images/battleship/UnknownSegment.png
new file mode 100644
index 000000000..1cf2a12b8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/UnknownSegment.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/cases/SegmentType 2.png b/bin/main/edu/rpi/legup/images/battleship/cases/SegmentType 2.png
new file mode 100644
index 000000000..637012fa8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/cases/SegmentType 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/cases/SegmentType.png b/bin/main/edu/rpi/legup/images/battleship/cases/SegmentType.png
new file mode 100644
index 000000000..637012fa8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/cases/SegmentType.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/cases/ShipLocations 2.png b/bin/main/edu/rpi/legup/images/battleship/cases/ShipLocations 2.png
new file mode 100644
index 000000000..b1d043fe9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/cases/ShipLocations 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/cases/ShipLocations.png b/bin/main/edu/rpi/legup/images/battleship/cases/ShipLocations.png
new file mode 100644
index 000000000..b1d043fe9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/cases/ShipLocations.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/cases/ShipOrWater 2.png b/bin/main/edu/rpi/legup/images/battleship/cases/ShipOrWater 2.png
new file mode 100644
index 000000000..44d550bb0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/cases/ShipOrWater 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/cases/ShipOrWater.png b/bin/main/edu/rpi/legup/images/battleship/cases/ShipOrWater.png
new file mode 100644
index 000000000..44d550bb0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/cases/ShipOrWater.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/AdjacentShips 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/AdjacentShips 2.png
new file mode 100644
index 000000000..3aa89cdfe
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/AdjacentShips 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/AdjacentShips.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/AdjacentShips.png
new file mode 100644
index 000000000..3aa89cdfe
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/AdjacentShips.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/IncompleteShip 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/IncompleteShip 2.png
new file mode 100644
index 000000000..4658e0aac
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/IncompleteShip 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/IncompleteShip.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/IncompleteShip.png
new file mode 100644
index 000000000..4658e0aac
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/IncompleteShip.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/MalformedShip 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/MalformedShip 2.png
new file mode 100644
index 000000000..bf34f2e7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/MalformedShip 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/MalformedShip.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/MalformedShip.png
new file mode 100644
index 000000000..bf34f2e7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/MalformedShip.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_in_fleet 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_in_fleet 2.png
new file mode 100644
index 000000000..1e66af4ad
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_in_fleet 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_in_fleet.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_in_fleet.png
new file mode 100644
index 000000000..1e66af4ad
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_in_fleet.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_segments 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_segments 2.png
new file mode 100644
index 000000000..d56f8bc3a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_segments 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_segments.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_segments.png
new file mode 100644
index 000000000..d56f8bc3a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_few_segments.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_in_fleet 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_in_fleet 2.png
new file mode 100644
index 000000000..46c6f31f9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_in_fleet 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_in_fleet.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_in_fleet.png
new file mode 100644
index 000000000..46c6f31f9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_in_fleet.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_segments 2.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_segments 2.png
new file mode 100644
index 000000000..21cb45348
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_segments 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_segments.png b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_segments.png
new file mode 100644
index 000000000..21cb45348
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/contradictions/too_many_segments.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/labelforce 2.png b/bin/main/edu/rpi/legup/images/battleship/labelforce 2.png
new file mode 100644
index 000000000..f28934e2a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/labelforce 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/labelforce.png b/bin/main/edu/rpi/legup/images/battleship/labelforce.png
new file mode 100644
index 000000000..f28934e2a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/labelforce.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/SegmentType 2.png b/bin/main/edu/rpi/legup/images/battleship/old/SegmentType 2.png
new file mode 100644
index 000000000..ad62edda3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/SegmentType 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/SegmentType.png b/bin/main/edu/rpi/legup/images/battleship/old/SegmentType.png
new file mode 100644
index 000000000..ad62edda3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/SegmentType.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/ShipOrWater 2.png b/bin/main/edu/rpi/legup/images/battleship/old/ShipOrWater 2.png
new file mode 100644
index 000000000..c039c0366
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/ShipOrWater 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/ShipOrWater.png b/bin/main/edu/rpi/legup/images/battleship/old/ShipOrWater.png
new file mode 100644
index 000000000..c039c0366
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/ShipOrWater.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[0] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[0] 2.gif
new file mode 100644
index 000000000..fee37b377
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[0] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[0].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[0].gif
new file mode 100644
index 000000000..fee37b377
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[0].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[10] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[10] 2.gif
new file mode 100644
index 000000000..96a30a730
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[10] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[10].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[10].gif
new file mode 100644
index 000000000..96a30a730
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[10].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[11] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[11] 2.gif
new file mode 100644
index 000000000..fd8293b6a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[11] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[11].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[11].gif
new file mode 100644
index 000000000..fd8293b6a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[11].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[12] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[12] 2.gif
new file mode 100644
index 000000000..2a8144397
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[12] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[12].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[12].gif
new file mode 100644
index 000000000..2a8144397
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[12].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[13] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[13] 2.gif
new file mode 100644
index 000000000..15b73e4c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[13] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[13].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[13].gif
new file mode 100644
index 000000000..15b73e4c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[13].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[14] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[14] 2.gif
new file mode 100644
index 000000000..1805a84fc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[14] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[14].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[14].gif
new file mode 100644
index 000000000..1805a84fc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[14].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[15] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[15] 2.gif
new file mode 100644
index 000000000..5fbe6a584
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[15] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[15].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[15].gif
new file mode 100644
index 000000000..5fbe6a584
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[15].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[1] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[1] 2.gif
new file mode 100644
index 000000000..d7e5bcddb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[1] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[1].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[1].gif
new file mode 100644
index 000000000..d7e5bcddb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[1].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[2] 2.gif b/bin/main/edu/rpi/legup/images/battleship/old/image[2] 2.gif
new file mode 100644
index 000000000..45ef2a557
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[2] 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/image[2].gif b/bin/main/edu/rpi/legup/images/battleship/old/image[2].gif
new file mode 100644
index 000000000..45ef2a557
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/image[2].gif differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/screenshot 2.png b/bin/main/edu/rpi/legup/images/battleship/old/screenshot 2.png
new file mode 100644
index 000000000..21fc73906
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/screenshot 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/old/screenshot.png b/bin/main/edu/rpi/legup/images/battleship/old/screenshot.png
new file mode 100644
index 000000000..21fc73906
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/old/screenshot.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/ContinueShip 2.png b/bin/main/edu/rpi/legup/images/battleship/rules/ContinueShip 2.png
new file mode 100644
index 000000000..759b9bf7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/ContinueShip 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/ContinueShip.png b/bin/main/edu/rpi/legup/images/battleship/rules/ContinueShip.png
new file mode 100644
index 000000000..759b9bf7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/ContinueShip.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/SegmentChoice 2.png b/bin/main/edu/rpi/legup/images/battleship/rules/SegmentChoice 2.png
new file mode 100644
index 000000000..ad22c1144
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/SegmentChoice 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/SegmentChoice.png b/bin/main/edu/rpi/legup/images/battleship/rules/SegmentChoice.png
new file mode 100644
index 000000000..ad22c1144
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/SegmentChoice.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/SurroundShip 2.png b/bin/main/edu/rpi/legup/images/battleship/rules/SurroundShip 2.png
new file mode 100644
index 000000000..1c8c61843
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/SurroundShip 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/SurroundShip.png b/bin/main/edu/rpi/legup/images/battleship/rules/SurroundShip.png
new file mode 100644
index 000000000..1c8c61843
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/SurroundShip.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/finishShip 2.png b/bin/main/edu/rpi/legup/images/battleship/rules/finishShip 2.png
new file mode 100644
index 000000000..9cd05afc0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/finishShip 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/finishShip.png b/bin/main/edu/rpi/legup/images/battleship/rules/finishShip.png
new file mode 100644
index 000000000..9cd05afc0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/finishShip.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/finishWater 2.png b/bin/main/edu/rpi/legup/images/battleship/rules/finishWater 2.png
new file mode 100644
index 000000000..9950de39e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/finishWater 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/rules/finishWater.png b/bin/main/edu/rpi/legup/images/battleship/rules/finishWater.png
new file mode 100644
index 000000000..9950de39e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/rules/finishWater.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/submarine 2.png b/bin/main/edu/rpi/legup/images/battleship/submarine 2.png
new file mode 100644
index 000000000..e067fac1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/submarine 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/submarine.png b/bin/main/edu/rpi/legup/images/battleship/submarine.png
new file mode 100644
index 000000000..e067fac1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/submarine.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/too_many_in_fleet 2.psd b/bin/main/edu/rpi/legup/images/battleship/too_many_in_fleet 2.psd
new file mode 100644
index 000000000..a86a28214
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/too_many_in_fleet 2.psd differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/too_many_in_fleet.psd b/bin/main/edu/rpi/legup/images/battleship/too_many_in_fleet.psd
new file mode 100644
index 000000000..a86a28214
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/too_many_in_fleet.psd differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/water 2.png b/bin/main/edu/rpi/legup/images/battleship/water 2.png
new file mode 100644
index 000000000..84ee4105d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/water 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/battleship/water.png b/bin/main/edu/rpi/legup/images/battleship/water.png
new file mode 100644
index 000000000..84ee4105d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/battleship/water.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/cases/BlackOrWhite 2.png b/bin/main/edu/rpi/legup/images/fillapix/cases/BlackOrWhite 2.png
new file mode 100644
index 000000000..ff234c17f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/cases/BlackOrWhite 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/cases/BlackOrWhite.png b/bin/main/edu/rpi/legup/images/fillapix/cases/BlackOrWhite.png
new file mode 100644
index 000000000..ff234c17f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/cases/BlackOrWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooFewBlackCells 2.png b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooFewBlackCells 2.png
new file mode 100644
index 000000000..b017078a2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooFewBlackCells 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooFewBlackCells.png b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooFewBlackCells.png
new file mode 100644
index 000000000..b017078a2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooFewBlackCells.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooManyBlackCells 2.png b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooManyBlackCells 2.png
new file mode 100644
index 000000000..a0b27424d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooManyBlackCells 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooManyBlackCells.png b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooManyBlackCells.png
new file mode 100644
index 000000000..a0b27424d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/contradictions/TooManyBlackCells.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithBlack 2.png b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithBlack 2.png
new file mode 100644
index 000000000..41e540ad1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithBlack 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithBlack.png b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithBlack.png
new file mode 100644
index 000000000..41e540ad1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithWhite 2.png b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithWhite 2.png
new file mode 100644
index 000000000..330f705f1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithWhite 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithWhite.png b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithWhite.png
new file mode 100644
index 000000000..330f705f1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/rules/FinishWithWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/rulesharedcells 2.png b/bin/main/edu/rpi/legup/images/fillapix/rulesharedcells 2.png
new file mode 100644
index 000000000..730a013b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/rulesharedcells 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/fillapix/rulesharedcells.png b/bin/main/edu/rpi/legup/images/fillapix/rulesharedcells.png
new file mode 100644
index 000000000..730a013b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/fillapix/rulesharedcells.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/cases/BlackOrWhite 2.png b/bin/main/edu/rpi/legup/images/heyawake/cases/BlackOrWhite 2.png
new file mode 100644
index 000000000..cb21bd1ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/cases/BlackOrWhite 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/cases/BlackOrWhite.png b/bin/main/edu/rpi/legup/images/heyawake/cases/BlackOrWhite.png
new file mode 100644
index 000000000..cb21bd1ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/cases/BlackOrWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooEmpty 2.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooEmpty 2.png
new file mode 100644
index 000000000..a93406796
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooEmpty 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooEmpty.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooEmpty.png
new file mode 100644
index 000000000..a93406796
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooEmpty.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooFull 2.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooFull 2.png
new file mode 100644
index 000000000..75c557e61
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooFull 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooFull.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooFull.png
new file mode 100644
index 000000000..75c557e61
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/RoomTooFull.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteArea 2.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteArea 2.png
new file mode 100644
index 000000000..4186d8844
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteArea 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteArea.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteArea.png
new file mode 100644
index 000000000..4186d8844
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteArea.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteLine 2.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteLine 2.png
new file mode 100644
index 000000000..60b9f1b7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteLine 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteLine.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteLine.png
new file mode 100644
index 000000000..60b9f1b7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/WhiteLine.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/adjacentBlacks 2.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/adjacentBlacks 2.png
new file mode 100644
index 000000000..b45027498
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/adjacentBlacks 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/contradictions/adjacentBlacks.png b/bin/main/edu/rpi/legup/images/heyawake/contradictions/adjacentBlacks.png
new file mode 100644
index 000000000..b45027498
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/contradictions/adjacentBlacks.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/finishRoom.png b/bin/main/edu/rpi/legup/images/heyawake/finishRoom.png
new file mode 100644
index 000000000..d36ddea8e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/finishRoom.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/-1 2.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/-1 2.gif
new file mode 100644
index 000000000..c21ee6594
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/-1 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/-1.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/-1.gif
new file mode 100644
index 000000000..c21ee6594
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/-1.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/0.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/0.gif
new file mode 100644
index 000000000..6564c802c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/0.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/1.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/1.gif
new file mode 100644
index 000000000..b27e02d1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/1.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/10.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/10.gif
new file mode 100644
index 000000000..dfded388e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/10.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/11.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/11.gif
new file mode 100644
index 000000000..e8c8bcc15
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/11.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/12.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/12.gif
new file mode 100644
index 000000000..f1ae7453a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/12.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/13.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/13.gif
new file mode 100644
index 000000000..6c95c8a18
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/13.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/14.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/14.gif
new file mode 100644
index 000000000..b6e23680f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/14.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/15.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/15.gif
new file mode 100644
index 000000000..19b8c5e08
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/15.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/2.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/2.gif
new file mode 100644
index 000000000..c879a80af
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/3.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/3.gif
new file mode 100644
index 000000000..1aa806df7
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/3.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/4.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/4.gif
new file mode 100644
index 000000000..c010ec7b9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/4.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/5.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/5.gif
new file mode 100644
index 000000000..0da2d483e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/5.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/6.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/6.gif
new file mode 100644
index 000000000..eac0bbf4e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/6.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/7.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/7.gif
new file mode 100644
index 000000000..66448faee
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/7.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/8.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/8.gif
new file mode 100644
index 000000000..9052d7cdb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/8.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/9.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/9.gif
new file mode 100644
index 000000000..eefcf08e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/9.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/-1 2.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/-1 2.gif
new file mode 100644
index 000000000..c21ee6594
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/-1 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/-1.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/-1.gif
new file mode 100644
index 000000000..c21ee6594
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/-1.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/0.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/0.gif
new file mode 100644
index 000000000..399137005
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/0.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/1.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/1.gif
new file mode 100644
index 000000000..8057ead91
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/1.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/10.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/10.gif
new file mode 100644
index 000000000..c55207a11
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/10.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/11.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/11.gif
new file mode 100644
index 000000000..9e766bebe
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/11.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/12.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/12.gif
new file mode 100644
index 000000000..e76377cb2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/12.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/13.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/13.gif
new file mode 100644
index 000000000..793127ace
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/13.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/14.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/14.gif
new file mode 100644
index 000000000..2a8f1cc31
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/14.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/15.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/15.gif
new file mode 100644
index 000000000..19a3a94f0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/15.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/2.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/2.gif
new file mode 100644
index 000000000..c82268765
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/3.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/3.gif
new file mode 100644
index 000000000..5c5f31829
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/3.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/4.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/4.gif
new file mode 100644
index 000000000..efe20e477
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/4.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/5.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/5.gif
new file mode 100644
index 000000000..96a71ddbb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/5.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/6.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/6.gif
new file mode 100644
index 000000000..73ddccbc5
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/6.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/7.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/7.gif
new file mode 100644
index 000000000..647862c11
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/7.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/8.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/8.gif
new file mode 100644
index 000000000..7e98c779b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/8.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/regions/selected/9.gif b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/9.gif
new file mode 100644
index 000000000..566351578
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/regions/selected/9.gif differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomBlack 2.png b/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomBlack 2.png
new file mode 100644
index 000000000..d0f0643c0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomBlack 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomBlack.png b/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomBlack.png
new file mode 100644
index 000000000..d0f0643c0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomWhite.png b/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomWhite.png
new file mode 100644
index 000000000..53538cd9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/rules/FillRoomWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/heyawake/rules/WhiteAroundBlack.png b/bin/main/edu/rpi/legup/images/heyawake/rules/WhiteAroundBlack.png
new file mode 100644
index 000000000..c2dd9828f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/heyawake/rules/WhiteAroundBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/0 2.gif b/bin/main/edu/rpi/legup/images/lightup/0 2.gif
new file mode 100644
index 000000000..eadb58024
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/0 2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/0.gif b/bin/main/edu/rpi/legup/images/lightup/0.gif
new file mode 100644
index 000000000..eadb58024
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/0.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/1.gif b/bin/main/edu/rpi/legup/images/lightup/1.gif
new file mode 100644
index 000000000..73a4365b2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/1.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/2.gif b/bin/main/edu/rpi/legup/images/lightup/2.gif
new file mode 100644
index 000000000..df0b3f340
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/2.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/3.gif b/bin/main/edu/rpi/legup/images/lightup/3.gif
new file mode 100644
index 000000000..b76bebfec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/3.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/4.gif b/bin/main/edu/rpi/legup/images/lightup/4.gif
new file mode 100644
index 000000000..5c20acb30
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/4.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/black.gif b/bin/main/edu/rpi/legup/images/lightup/black.gif
new file mode 100644
index 000000000..13381a717
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/black.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/cases/LightOrEmpty 2.png b/bin/main/edu/rpi/legup/images/lightup/cases/LightOrEmpty 2.png
new file mode 100644
index 000000000..08fe733bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/cases/LightOrEmpty 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/cases/LightOrEmpty.png b/bin/main/edu/rpi/legup/images/lightup/cases/LightOrEmpty.png
new file mode 100644
index 000000000..08fe733bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/cases/LightOrEmpty.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber 2.png b/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber 2.png
new file mode 100644
index 000000000..8544b070b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber.png b/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber.png
new file mode 100644
index 000000000..8544b070b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber2.png b/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber2.png
new file mode 100644
index 000000000..c556e459b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/cases/Old/SatisfyNumber2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/cases/SatisfyNumber.png b/bin/main/edu/rpi/legup/images/lightup/cases/SatisfyNumber.png
new file mode 100644
index 000000000..f09535ca8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/cases/SatisfyNumber.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/BulbsInPath 2.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/BulbsInPath 2.png
new file mode 100644
index 000000000..4e118cf11
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/BulbsInPath 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/BulbsInPath.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/BulbsInPath.png
new file mode 100644
index 000000000..4e118cf11
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/BulbsInPath.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/CannotLightACell.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/CannotLightACell.png
new file mode 100644
index 000000000..39ffa112f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/CannotLightACell.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/BulbsInPath 2.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/BulbsInPath 2.png
new file mode 100644
index 000000000..6df4853dc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/BulbsInPath 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/BulbsInPath.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/BulbsInPath.png
new file mode 100644
index 000000000..6df4853dc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/BulbsInPath.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/NoLight.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/NoLight.png
new file mode 100644
index 000000000..d6c10324b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/NoLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooFewBulbs.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooFewBulbs.png
new file mode 100644
index 000000000..5cb2b5fee
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooFewBulbs.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooFewBulbs2.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooFewBulbs2.png
new file mode 100644
index 000000000..4d2f06f10
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooFewBulbs2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooManyBulbs.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooManyBulbs.png
new file mode 100644
index 000000000..47f6e8cee
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooManyBulbs.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooManyBulbs2.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooManyBulbs2.png
new file mode 100644
index 000000000..efdc6f3c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/Old/TooManyBulbs2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/TooFewBulbs.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/TooFewBulbs.png
new file mode 100644
index 000000000..ae5eb9712
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/TooFewBulbs.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/contradictions/TooManyBulbs.png b/bin/main/edu/rpi/legup/images/lightup/contradictions/TooManyBulbs.png
new file mode 100644
index 000000000..ca6070a55
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/contradictions/TooManyBulbs.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/empty.gif b/bin/main/edu/rpi/legup/images/lightup/empty.gif
new file mode 100644
index 000000000..38b91d0a2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/empty.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/light.gif b/bin/main/edu/rpi/legup/images/lightup/light.gif
new file mode 100644
index 000000000..e30ed624e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/light.gif differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/light.png b/bin/main/edu/rpi/legup/images/lightup/light.png
new file mode 100644
index 000000000..af4172a8d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/light.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/AddLight 2.png b/bin/main/edu/rpi/legup/images/lightup/rules/AddLight 2.png
new file mode 100644
index 000000000..bea9232dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/AddLight 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/AddLight.png b/bin/main/edu/rpi/legup/images/lightup/rules/AddLight.png
new file mode 100644
index 000000000..bea9232dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/AddLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/BulbsOutsideDiagonal.png b/bin/main/edu/rpi/legup/images/lightup/rules/BulbsOutsideDiagonal.png
new file mode 100644
index 000000000..1068bfd79
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/BulbsOutsideDiagonal.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/EmptyCellInLight.png b/bin/main/edu/rpi/legup/images/lightup/rules/EmptyCellInLight.png
new file mode 100644
index 000000000..a33141a96
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/EmptyCellInLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/EmptyCorners.png b/bin/main/edu/rpi/legup/images/lightup/rules/EmptyCorners.png
new file mode 100644
index 000000000..b93b2781f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/EmptyCorners.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/FinishWithBulbs.png b/bin/main/edu/rpi/legup/images/lightup/rules/FinishWithBulbs.png
new file mode 100644
index 000000000..1215dd626
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/FinishWithBulbs.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/FinishWithEmpty.png b/bin/main/edu/rpi/legup/images/lightup/rules/FinishWithEmpty.png
new file mode 100644
index 000000000..9cafb1d52
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/FinishWithEmpty.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/MustLight.png b/bin/main/edu/rpi/legup/images/lightup/rules/MustLight.png
new file mode 100644
index 000000000..6968106c9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/MustLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/AddLight 2.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/AddLight 2.png
new file mode 100644
index 000000000..dd4b696a9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/AddLight 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/AddLight.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/AddLight.png
new file mode 100644
index 000000000..dd4b696a9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/AddLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/MustLight.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/MustLight.png
new file mode 100644
index 000000000..a9c3d9b94
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/MustLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundBulbs.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundBulbs.png
new file mode 100644
index 000000000..12acb9b2f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundBulbs.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundBulbs2.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundBulbs2.png
new file mode 100644
index 000000000..49cf2ede8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundBulbs2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundWhite.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundWhite.png
new file mode 100644
index 000000000..78f99b684
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundWhite2.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundWhite2.png
new file mode 100644
index 000000000..daec1bc7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/SurroundWhite2.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/WhiteCorners.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/WhiteCorners.png
new file mode 100644
index 000000000..ec6694fa5
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/WhiteCorners.png differ
diff --git a/bin/main/edu/rpi/legup/images/lightup/rules/Old/WhiteInLight.png b/bin/main/edu/rpi/legup/images/lightup/rules/Old/WhiteInLight.png
new file mode 100644
index 000000000..95e36cf2c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/lightup/rules/Old/WhiteInLight.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/CaseBlackSplit 2.png b/bin/main/edu/rpi/legup/images/masyu/CaseBlackSplit 2.png
new file mode 100644
index 000000000..1a4d480de
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/CaseBlackSplit 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/CaseBlackSplit.png b/bin/main/edu/rpi/legup/images/masyu/CaseBlackSplit.png
new file mode 100644
index 000000000..1a4d480de
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/CaseBlackSplit.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/CaseNormalSplit.png b/bin/main/edu/rpi/legup/images/masyu/CaseNormalSplit.png
new file mode 100644
index 000000000..d8db0f724
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/CaseNormalSplit.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/CaseWhiteSplit.png b/bin/main/edu/rpi/legup/images/masyu/CaseWhiteSplit.png
new file mode 100644
index 000000000..9024c0f0f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/CaseWhiteSplit.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/ContradictionBadLooping.png b/bin/main/edu/rpi/legup/images/masyu/ContradictionBadLooping.png
new file mode 100644
index 000000000..22d0f3d9d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/ContradictionBadLooping.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/ContradictionBlack.png b/bin/main/edu/rpi/legup/images/masyu/ContradictionBlack.png
new file mode 100644
index 000000000..1d60c830f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/ContradictionBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/ContradictionNoOptions.png b/bin/main/edu/rpi/legup/images/masyu/ContradictionNoOptions.png
new file mode 100644
index 000000000..17eb350e7
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/ContradictionNoOptions.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/ContradictionOnly2.png b/bin/main/edu/rpi/legup/images/masyu/ContradictionOnly2.png
new file mode 100644
index 000000000..c648961cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/ContradictionOnly2.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/ContradictionWhite.png b/bin/main/edu/rpi/legup/images/masyu/ContradictionWhite.png
new file mode 100644
index 000000000..b65a55a30
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/ContradictionWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleBlackEdge.png b/bin/main/edu/rpi/legup/images/masyu/RuleBlackEdge.png
new file mode 100644
index 000000000..8c4266a42
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleBlackEdge.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleBlockedBlack.gif b/bin/main/edu/rpi/legup/images/masyu/RuleBlockedBlack.gif
new file mode 100644
index 000000000..64b306b23
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleBlockedBlack.gif differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleConnectedCells.gif b/bin/main/edu/rpi/legup/images/masyu/RuleConnectedCells.gif
new file mode 100644
index 000000000..022674165
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleConnectedCells.gif differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleFinishPath.png b/bin/main/edu/rpi/legup/images/masyu/RuleFinishPath.png
new file mode 100644
index 000000000..ce4e91cc1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleFinishPath.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleNearWhite.png b/bin/main/edu/rpi/legup/images/masyu/RuleNearWhite.png
new file mode 100644
index 000000000..41e777aa6
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleNearWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleOnlyOneChoice.png b/bin/main/edu/rpi/legup/images/masyu/RuleOnlyOneChoice.png
new file mode 100644
index 000000000..0fc9d63a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleOnlyOneChoice.png differ
diff --git a/bin/main/edu/rpi/legup/images/masyu/RuleWhiteEdge.png b/bin/main/edu/rpi/legup/images/masyu/RuleWhiteEdge.png
new file mode 100644
index 000000000..1a33eb244
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/masyu/RuleWhiteEdge.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/cases/BlackOrWhite 2.png b/bin/main/edu/rpi/legup/images/nurikabe/cases/BlackOrWhite 2.png
new file mode 100644
index 000000000..cb21bd1ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/cases/BlackOrWhite 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/cases/BlackOrWhite.png b/bin/main/edu/rpi/legup/images/nurikabe/cases/BlackOrWhite.png
new file mode 100644
index 000000000..cb21bd1ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/cases/BlackOrWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackArea 2.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackArea 2.png
new file mode 100644
index 000000000..3b97f2584
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackArea 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackArea.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackArea.png
new file mode 100644
index 000000000..3b97f2584
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackArea.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackSquare.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackSquare.png
new file mode 100644
index 000000000..4980ab2ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/BlackSquare.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/CantReach.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/CantReach.png
new file mode 100644
index 000000000..b5deb9e92
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/CantReach.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/MultipleNumbers.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/MultipleNumbers.png
new file mode 100644
index 000000000..c11e34e84
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/MultipleNumbers.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/NoNumber.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/NoNumber.png
new file mode 100644
index 000000000..55219fca2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/NoNumber.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/TooFewSpaces.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/TooFewSpaces.png
new file mode 100644
index 000000000..63553080b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/TooFewSpaces.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/contradictions/TooManySpaces.png b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/TooManySpaces.png
new file mode 100644
index 000000000..dc4e571e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/contradictions/TooManySpaces.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/nurikabe_icon_template.psd b/bin/main/edu/rpi/legup/images/nurikabe/nurikabe_icon_template.psd
new file mode 100644
index 000000000..f8829f7ff
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/nurikabe_icon_template.psd differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/BetweenRegions 2.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/BetweenRegions 2.png
new file mode 100644
index 000000000..e6468703c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/BetweenRegions 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/BetweenRegions.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/BetweenRegions.png
new file mode 100644
index 000000000..e6468703c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/BetweenRegions.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/CornerBlack.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/CornerBlack.png
new file mode 100644
index 000000000..e19626032
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/CornerBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/FillInBlack.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/FillInBlack.png
new file mode 100644
index 000000000..bdf7dd58f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/FillInBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/FillInWhite.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/FillInWhite.png
new file mode 100644
index 000000000..d3cad90f0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/FillInWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/NoBlackSquare.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/NoBlackSquare.png
new file mode 100644
index 000000000..fbd1ffc5d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/NoBlackSquare.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownBlack.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownBlack.png
new file mode 100644
index 000000000..e31134e40
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownRegion.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownRegion.png
new file mode 100644
index 000000000..b57e98352
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownRegion.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownWhite.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownWhite.png
new file mode 100644
index 000000000..04bab1ad2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/OneUnknownWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/RuleWhite.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/RuleWhite.png
new file mode 100644
index 000000000..b57e98352
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/RuleWhite.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/SurroundBlack.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/SurroundBlack.png
new file mode 100644
index 000000000..d55162e84
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/SurroundBlack.png differ
diff --git a/bin/main/edu/rpi/legup/images/nurikabe/rules/Unreachable.png b/bin/main/edu/rpi/legup/images/nurikabe/rules/Unreachable.png
new file mode 100644
index 000000000..c0fb4c842
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/nurikabe/rules/Unreachable.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/Atomic 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/Atomic 2.png
new file mode 100644
index 000000000..cb12cb1bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/Atomic 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/Atomic.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/Atomic.png
new file mode 100644
index 000000000..cb12cb1bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/Atomic.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/And 2.png
new file mode 100644
index 000000000..2fa2bf7e0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/And.png
new file mode 100644
index 000000000..2fa2bf7e0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Biconditional.png
new file mode 100644
index 000000000..dad2f3cbe
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Conditional 2.png
new file mode 100644
index 000000000..c5dc8d26d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Conditional.png
new file mode 100644
index 000000000..c5dc8d26d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Not 2.png
new file mode 100644
index 000000000..cad397291
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Not.png
new file mode 100644
index 000000000..cad397291
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Or 2.png
new file mode 100644
index 000000000..b2cd82c7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Or.png
new file mode 100644
index 000000000..b2cd82c7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/elimination/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/And 2.png
new file mode 100644
index 000000000..a728f6a6f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/And.png
new file mode 100644
index 000000000..a728f6a6f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Biconditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Biconditional 2.png
new file mode 100644
index 000000000..172e097bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Biconditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Biconditional.png
new file mode 100644
index 000000000..172e097bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Conditional 2.png
new file mode 100644
index 000000000..93c87a576
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Conditional.png
new file mode 100644
index 000000000..93c87a576
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Not 2.png
new file mode 100644
index 000000000..1a1d36e8e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Not.png
new file mode 100644
index 000000000..1a1d36e8e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Or 2.png
new file mode 100644
index 000000000..ebffc5220
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Or.png
new file mode 100644
index 000000000..ebffc5220
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/basic/introduction/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/And 2.png
new file mode 100644
index 000000000..0b9b75ce4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/And.png
new file mode 100644
index 000000000..0b9b75ce4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Atomic 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Atomic 2.png
new file mode 100644
index 000000000..f5cbdeb5f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Atomic 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Atomic.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Atomic.png
new file mode 100644
index 000000000..f5cbdeb5f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Atomic.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Biconditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Biconditional 2.png
new file mode 100644
index 000000000..6f119cbdd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Biconditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Biconditional.png
new file mode 100644
index 000000000..6f119cbdd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Conditional 2.png
new file mode 100644
index 000000000..4e15dabb4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Conditional.png
new file mode 100644
index 000000000..4e15dabb4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Not 2.png
new file mode 100644
index 000000000..0c0ec191f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Not.png
new file mode 100644
index 000000000..0c0ec191f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Or 2.png
new file mode 100644
index 000000000..7cdcc9817
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Or.png
new file mode 100644
index 000000000..7cdcc9817
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/case/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/And 2.png
new file mode 100644
index 000000000..5302beeaa
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/And.png
new file mode 100644
index 000000000..5302beeaa
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Atomic 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Atomic 2.png
new file mode 100644
index 000000000..964ebb7b3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Atomic 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Atomic.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Atomic.png
new file mode 100644
index 000000000..964ebb7b3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Atomic.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Biconditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Biconditional 2.png
new file mode 100644
index 000000000..4415aa4c0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Biconditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Biconditional.png
new file mode 100644
index 000000000..4415aa4c0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Conditional 2.png
new file mode 100644
index 000000000..ff5cf7e7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Conditional.png
new file mode 100644
index 000000000..ff5cf7e7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Not 2.png
new file mode 100644
index 000000000..76060d8f0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Not.png
new file mode 100644
index 000000000..76060d8f0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Or 2.png
new file mode 100644
index 000000000..5957a37db
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Or.png
new file mode 100644
index 000000000..5957a37db
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages/contradiction/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/Atomic 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/Atomic 2.png
new file mode 100644
index 000000000..e4e495109
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/Atomic 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/Atomic.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/Atomic.png
new file mode 100644
index 000000000..e4e495109
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/Atomic.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/And 2.png
new file mode 100644
index 000000000..9964c2b04
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/And.png
new file mode 100644
index 000000000..9964c2b04
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Biconditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Biconditional 2.png
new file mode 100644
index 000000000..8c209e3be
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Biconditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Biconditional.png
new file mode 100644
index 000000000..8c209e3be
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Conditional 2.png
new file mode 100644
index 000000000..5187733e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Conditional.png
new file mode 100644
index 000000000..5187733e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Not 2.png
new file mode 100644
index 000000000..5f569fb49
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Not.png
new file mode 100644
index 000000000..5f569fb49
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Or 2.png
new file mode 100644
index 000000000..80330bfa9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Or.png
new file mode 100644
index 000000000..80330bfa9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/elimination/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/And 2.png
new file mode 100644
index 000000000..6c51d528a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/And.png
new file mode 100644
index 000000000..6c51d528a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Biconditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Biconditional 2.png
new file mode 100644
index 000000000..9c9aafc78
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Biconditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Biconditional.png
new file mode 100644
index 000000000..9c9aafc78
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Conditional 2.png
new file mode 100644
index 000000000..ac433c0d0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Conditional.png
new file mode 100644
index 000000000..ac433c0d0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Not 2.png
new file mode 100644
index 000000000..98267cf25
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Not.png
new file mode 100644
index 000000000..98267cf25
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Or 2.png
new file mode 100644
index 000000000..bdc92d8f2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Or.png
new file mode 100644
index 000000000..bdc92d8f2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/basic/introduction/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/And 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/And 2.png
new file mode 100644
index 000000000..943d6da74
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/And 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/And.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/And.png
new file mode 100644
index 000000000..943d6da74
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/And.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Atomic 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Atomic 2.png
new file mode 100644
index 000000000..f4069a56a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Atomic 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Atomic.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Atomic.png
new file mode 100644
index 000000000..f4069a56a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Atomic.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Biconditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Biconditional 2.png
new file mode 100644
index 000000000..06ed6b263
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Biconditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Biconditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Biconditional.png
new file mode 100644
index 000000000..06ed6b263
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Biconditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Conditional 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Conditional 2.png
new file mode 100644
index 000000000..573c7a95d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Conditional 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Conditional.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Conditional.png
new file mode 100644
index 000000000..573c7a95d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Conditional.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Not 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Not 2.png
new file mode 100644
index 000000000..489728a55
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Not 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Not.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Not.png
new file mode 100644
index 000000000..489728a55
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Not.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Or 2.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Or 2.png
new file mode 100644
index 000000000..d2464e804
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Or 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Or.png b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Or.png
new file mode 100644
index 000000000..d2464e804
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/shorttruthtable/ruleimages_old/contradiction/Or.png differ
diff --git a/bin/main/edu/rpi/legup/images/skyscraper/DuplicateNumber 2.png b/bin/main/edu/rpi/legup/images/skyscraper/DuplicateNumber 2.png
new file mode 100644
index 000000000..64fb4fc86
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/skyscraper/DuplicateNumber 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/skyscraper/DuplicateNumber.png b/bin/main/edu/rpi/legup/images/skyscraper/DuplicateNumber.png
new file mode 100644
index 000000000..64fb4fc86
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/skyscraper/DuplicateNumber.png differ
diff --git a/bin/main/edu/rpi/legup/images/skyscraper/LastNumber 2.png b/bin/main/edu/rpi/legup/images/skyscraper/LastNumber 2.png
new file mode 100644
index 000000000..1c219e328
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/skyscraper/LastNumber 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/skyscraper/LastNumber.png b/bin/main/edu/rpi/legup/images/skyscraper/LastNumber.png
new file mode 100644
index 000000000..1c219e328
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/skyscraper/LastNumber.png differ
diff --git a/bin/main/edu/rpi/legup/images/skyscraper/PossibleContents 2.png b/bin/main/edu/rpi/legup/images/skyscraper/PossibleContents 2.png
new file mode 100644
index 000000000..7eaee5d06
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/skyscraper/PossibleContents 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/skyscraper/PossibleContents.png b/bin/main/edu/rpi/legup/images/skyscraper/PossibleContents.png
new file mode 100644
index 000000000..7eaee5d06
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/skyscraper/PossibleContents.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/AdvancedDeduction 2.png b/bin/main/edu/rpi/legup/images/sudoku/AdvancedDeduction 2.png
new file mode 100644
index 000000000..d51538baf
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/AdvancedDeduction 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/AdvancedDeduction.png b/bin/main/edu/rpi/legup/images/sudoku/AdvancedDeduction.png
new file mode 100644
index 000000000..d51538baf
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/AdvancedDeduction.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/NoSolution 2.png b/bin/main/edu/rpi/legup/images/sudoku/NoSolution 2.png
new file mode 100644
index 000000000..8b99c3316
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/NoSolution 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/NoSolution.png b/bin/main/edu/rpi/legup/images/sudoku/NoSolution.png
new file mode 100644
index 000000000..8b99c3316
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/NoSolution.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/PossibleValues 2.png b/bin/main/edu/rpi/legup/images/sudoku/PossibleValues 2.png
new file mode 100644
index 000000000..30198ec07
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/PossibleValues 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/PossibleValues.png b/bin/main/edu/rpi/legup/images/sudoku/PossibleValues.png
new file mode 100644
index 000000000..30198ec07
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/PossibleValues.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/RepeatedNumber 2.png b/bin/main/edu/rpi/legup/images/sudoku/RepeatedNumber 2.png
new file mode 100644
index 000000000..b49873ff9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/RepeatedNumber 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/RepeatedNumber.png b/bin/main/edu/rpi/legup/images/sudoku/RepeatedNumber.png
new file mode 100644
index 000000000..b49873ff9
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/RepeatedNumber.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/forcedByDeduction 2.png b/bin/main/edu/rpi/legup/images/sudoku/forcedByDeduction 2.png
new file mode 100644
index 000000000..67788813e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/forcedByDeduction 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/forcedByDeduction.png b/bin/main/edu/rpi/legup/images/sudoku/forcedByDeduction.png
new file mode 100644
index 000000000..67788813e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/forcedByDeduction.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/forcedByElimination 2.png b/bin/main/edu/rpi/legup/images/sudoku/forcedByElimination 2.png
new file mode 100644
index 000000000..b7fe8cc6f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/forcedByElimination 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/forcedByElimination.png b/bin/main/edu/rpi/legup/images/sudoku/forcedByElimination.png
new file mode 100644
index 000000000..b7fe8cc6f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/forcedByElimination.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/possible_cells_number 2.png b/bin/main/edu/rpi/legup/images/sudoku/possible_cells_number 2.png
new file mode 100644
index 000000000..8d4da1031
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/possible_cells_number 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/possible_cells_number.png b/bin/main/edu/rpi/legup/images/sudoku/possible_cells_number.png
new file mode 100644
index 000000000..8d4da1031
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/possible_cells_number.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/tem 2.png b/bin/main/edu/rpi/legup/images/sudoku/tem 2.png
new file mode 100644
index 000000000..5e56bb7dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/tem 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/sudoku/tem.png b/bin/main/edu/rpi/legup/images/sudoku/tem.png
new file mode 100644
index 000000000..5e56bb7dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/sudoku/tem.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/cont_bad 2.png b/bin/main/edu/rpi/legup/images/tree/classic/cont_bad 2.png
new file mode 100644
index 000000000..48dd4e1b1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/cont_bad 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/cont_bad.png b/bin/main/edu/rpi/legup/images/tree/classic/cont_bad.png
new file mode 100644
index 000000000..48dd4e1b1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/cont_bad.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/cont_good 2.png b/bin/main/edu/rpi/legup/images/tree/classic/cont_good 2.png
new file mode 100644
index 000000000..47a2383bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/cont_good 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/cont_good.png b/bin/main/edu/rpi/legup/images/tree/classic/cont_good.png
new file mode 100644
index 000000000..47a2383bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/cont_good.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/leads_to_cont 2.png b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_cont 2.png
new file mode 100644
index 000000000..2c50bd36a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_cont 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/leads_to_cont.png b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_cont.png
new file mode 100644
index 000000000..2c50bd36a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_cont.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/leads_to_soln 2.png b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_soln 2.png
new file mode 100644
index 000000000..c1d15f3ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_soln 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/leads_to_soln.png b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_soln.png
new file mode 100644
index 000000000..c1d15f3ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/leads_to_soln.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/rule_bad 2.png b/bin/main/edu/rpi/legup/images/tree/classic/rule_bad 2.png
new file mode 100644
index 000000000..62ac67f91
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/rule_bad 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/rule_bad.png b/bin/main/edu/rpi/legup/images/tree/classic/rule_bad.png
new file mode 100644
index 000000000..62ac67f91
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/rule_bad.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/soln 2.png b/bin/main/edu/rpi/legup/images/tree/classic/soln 2.png
new file mode 100644
index 000000000..c1d15f3ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/soln 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/classic/soln.png b/bin/main/edu/rpi/legup/images/tree/classic/soln.png
new file mode 100644
index 000000000..c1d15f3ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/classic/soln.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/cont_bad 2.png b/bin/main/edu/rpi/legup/images/tree/smiley/cont_bad 2.png
new file mode 100644
index 000000000..ee466da06
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/cont_bad 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/cont_bad.png b/bin/main/edu/rpi/legup/images/tree/smiley/cont_bad.png
new file mode 100644
index 000000000..ee466da06
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/cont_bad.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/cont_good 2.png b/bin/main/edu/rpi/legup/images/tree/smiley/cont_good 2.png
new file mode 100644
index 000000000..bfb38dd07
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/cont_good 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/cont_good.png b/bin/main/edu/rpi/legup/images/tree/smiley/cont_good.png
new file mode 100644
index 000000000..bfb38dd07
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/cont_good.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_cont 2.png b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_cont 2.png
new file mode 100644
index 000000000..4b2cb0dbc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_cont 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_cont.png b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_cont.png
new file mode 100644
index 000000000..4b2cb0dbc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_cont.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_soln 2.png b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_soln 2.png
new file mode 100644
index 000000000..3cdd09359
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_soln 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_soln.png b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_soln.png
new file mode 100644
index 000000000..3cdd09359
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/leads_to_soln.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/prototype 2.png b/bin/main/edu/rpi/legup/images/tree/smiley/prototype 2.png
new file mode 100644
index 000000000..b28b6af5d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/prototype 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/prototype.png b/bin/main/edu/rpi/legup/images/tree/smiley/prototype.png
new file mode 100644
index 000000000..b28b6af5d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/prototype.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/soln 2.png b/bin/main/edu/rpi/legup/images/tree/smiley/soln 2.png
new file mode 100644
index 000000000..0456fe29c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/soln 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/tree/smiley/soln.png b/bin/main/edu/rpi/legup/images/tree/smiley/soln.png
new file mode 100644
index 000000000..0456fe29c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/tree/smiley/soln.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/NewTentLink 2.png b/bin/main/edu/rpi/legup/images/treetent/NewTentLink 2.png
new file mode 100644
index 000000000..89d653982
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/NewTentLink 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/NewTentLink.png b/bin/main/edu/rpi/legup/images/treetent/NewTentLink.png
new file mode 100644
index 000000000..89d653982
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/NewTentLink.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/NewTreeLink 2.png b/bin/main/edu/rpi/legup/images/treetent/NewTreeLink 2.png
new file mode 100644
index 000000000..2c7e7eff0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/NewTreeLink 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/NewTreeLink.png b/bin/main/edu/rpi/legup/images/treetent/NewTreeLink.png
new file mode 100644
index 000000000..2c7e7eff0
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/NewTreeLink.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/annotate_grass 2.png b/bin/main/edu/rpi/legup/images/treetent/annotate_grass 2.png
new file mode 100644
index 000000000..8742da43b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/annotate_grass 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/annotate_grass.png b/bin/main/edu/rpi/legup/images/treetent/annotate_grass.png
new file mode 100644
index 000000000..8742da43b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/annotate_grass.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/annotate_tent 2.png b/bin/main/edu/rpi/legup/images/treetent/annotate_tent 2.png
new file mode 100644
index 000000000..f7fdc4f2d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/annotate_tent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/annotate_tent.png b/bin/main/edu/rpi/legup/images/treetent/annotate_tent.png
new file mode 100644
index 000000000..f7fdc4f2d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/annotate_tent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/aroundTent 2.png b/bin/main/edu/rpi/legup/images/treetent/aroundTent 2.png
new file mode 100644
index 000000000..f57d4d103
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/aroundTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/aroundTent.png b/bin/main/edu/rpi/legup/images/treetent/aroundTent.png
new file mode 100644
index 000000000..f57d4d103
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/aroundTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseLinkTent 2.png b/bin/main/edu/rpi/legup/images/treetent/caseLinkTent 2.png
new file mode 100644
index 000000000..278c14d1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseLinkTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseLinkTent.png b/bin/main/edu/rpi/legup/images/treetent/caseLinkTent.png
new file mode 100644
index 000000000..278c14d1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseLinkTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseLinkTree 2.png b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree 2.png
new file mode 100644
index 000000000..819f507d6
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseLinkTree.png b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree.png
new file mode 100644
index 000000000..819f507d6
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseLinkTree_full 2.png b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree_full 2.png
new file mode 100644
index 000000000..687da3847
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree_full 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseLinkTree_full.png b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree_full.png
new file mode 100644
index 000000000..687da3847
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseLinkTree_full.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseTentOrGrass 2.png b/bin/main/edu/rpi/legup/images/treetent/caseTentOrGrass 2.png
new file mode 100644
index 000000000..e7c190287
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseTentOrGrass 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/caseTentOrGrass.png b/bin/main/edu/rpi/legup/images/treetent/caseTentOrGrass.png
new file mode 100644
index 000000000..e7c190287
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/caseTentOrGrass.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/case_colcount 2.png b/bin/main/edu/rpi/legup/images/treetent/case_colcount 2.png
new file mode 100644
index 000000000..1f0bfd0cf
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/case_colcount 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/case_colcount.png b/bin/main/edu/rpi/legup/images/treetent/case_colcount.png
new file mode 100644
index 000000000..1f0bfd0cf
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/case_colcount.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/case_rowcount 2.png b/bin/main/edu/rpi/legup/images/treetent/case_rowcount 2.png
new file mode 100644
index 000000000..5e0dcd00f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/case_rowcount 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/case_rowcount.png b/bin/main/edu/rpi/legup/images/treetent/case_rowcount.png
new file mode 100644
index 000000000..5e0dcd00f
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/case_rowcount.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_NoTentForTree 2.png b/bin/main/edu/rpi/legup/images/treetent/contra_NoTentForTree 2.png
new file mode 100644
index 000000000..d8e6f4917
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_NoTentForTree 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_NoTentForTree.png b/bin/main/edu/rpi/legup/images/treetent/contra_NoTentForTree.png
new file mode 100644
index 000000000..d8e6f4917
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_NoTentForTree.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_NoTreeForTent 2.png b/bin/main/edu/rpi/legup/images/treetent/contra_NoTreeForTent 2.png
new file mode 100644
index 000000000..e9d8e1293
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_NoTreeForTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_NoTreeForTent.png b/bin/main/edu/rpi/legup/images/treetent/contra_NoTreeForTent.png
new file mode 100644
index 000000000..e9d8e1293
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_NoTreeForTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_adjacentTents 2.png b/bin/main/edu/rpi/legup/images/treetent/contra_adjacentTents 2.png
new file mode 100644
index 000000000..94a6c6950
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_adjacentTents 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_adjacentTents.png b/bin/main/edu/rpi/legup/images/treetent/contra_adjacentTents.png
new file mode 100644
index 000000000..94a6c6950
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_adjacentTents.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_miscount 2.png b/bin/main/edu/rpi/legup/images/treetent/contra_miscount 2.png
new file mode 100644
index 000000000..c648d1014
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_miscount 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/contra_miscount.png b/bin/main/edu/rpi/legup/images/treetent/contra_miscount.png
new file mode 100644
index 000000000..c648d1014
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/contra_miscount.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/finishGrass 2.png b/bin/main/edu/rpi/legup/images/treetent/finishGrass 2.png
new file mode 100644
index 000000000..9c1508159
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/finishGrass 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/finishGrass.png b/bin/main/edu/rpi/legup/images/treetent/finishGrass.png
new file mode 100644
index 000000000..9c1508159
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/finishGrass.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/finishTent 2.png b/bin/main/edu/rpi/legup/images/treetent/finishTent 2.png
new file mode 100644
index 000000000..67831e02b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/finishTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/finishTent.png b/bin/main/edu/rpi/legup/images/treetent/finishTent.png
new file mode 100644
index 000000000..67831e02b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/finishTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/grass 2.png b/bin/main/edu/rpi/legup/images/treetent/grass 2.png
new file mode 100644
index 000000000..5f220597c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/grass 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/grass.png b/bin/main/edu/rpi/legup/images/treetent/grass.png
new file mode 100644
index 000000000..5f220597c
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/grass.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/noTreesAround 2.png b/bin/main/edu/rpi/legup/images/treetent/noTreesAround 2.png
new file mode 100644
index 000000000..acf9b337d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/noTreesAround 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/noTreesAround.png b/bin/main/edu/rpi/legup/images/treetent/noTreesAround.png
new file mode 100644
index 000000000..acf9b337d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/noTreesAround.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink 2.png
new file mode 100644
index 000000000..526b0dd36
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink.png
new file mode 100644
index 000000000..526b0dd36
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink1 2.png
new file mode 100644
index 000000000..85e76e1b1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink1.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink1.png
new file mode 100644
index 000000000..85e76e1b1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink2 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink2 2.png
new file mode 100644
index 000000000..f5566921b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink2 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink2.png
new file mode 100644
index 000000000..f5566921b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink3 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink3 2.png
new file mode 100644
index 000000000..08596cdcf
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink3 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink3.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink3.png
new file mode 100644
index 000000000..08596cdcf
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTentLink3.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink 2.png
new file mode 100644
index 000000000..d0f3922f4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink.png
new file mode 100644
index 000000000..d0f3922f4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink1 2.png
new file mode 100644
index 000000000..cf099fa2d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink1.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink1.png
new file mode 100644
index 000000000..cf099fa2d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink2 2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink2 2.png
new file mode 100644
index 000000000..d84e9411b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink2 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink2.png b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink2.png
new file mode 100644
index 000000000..d84e9411b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/NewTreeLink2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/aroundTent 2.png b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent 2.png
new file mode 100644
index 000000000..d017c4f9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/aroundTent.png b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent.png
new file mode 100644
index 000000000..d017c4f9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/aroundTent1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent1 2.png
new file mode 100644
index 000000000..190b1641b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/aroundTent1.png b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent1.png
new file mode 100644
index 000000000..190b1641b
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/aroundTent1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent 2.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent 2.png
new file mode 100644
index 000000000..cc270abb8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent.png
new file mode 100644
index 000000000..cc270abb8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent1 2.png
new file mode 100644
index 000000000..19405e7a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent1.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent1.png
new file mode 100644
index 000000000..19405e7a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTent1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree 2.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree 2.png
new file mode 100644
index 000000000..ba5bb5f54
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree.png
new file mode 100644
index 000000000..ba5bb5f54
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree1 2.png
new file mode 100644
index 000000000..808bb8325
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree1.png b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree1.png
new file mode 100644
index 000000000..808bb8325
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/caseLinkTree1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_colcount 2.png b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount 2.png
new file mode 100644
index 000000000..260be0b52
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_colcount.png b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount.png
new file mode 100644
index 000000000..260be0b52
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_colcount1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount1 2.png
new file mode 100644
index 000000000..42ce84e22
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_colcount1.png b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount1.png
new file mode 100644
index 000000000..42ce84e22
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_colcount1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount 2.png b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount 2.png
new file mode 100644
index 000000000..192142f6d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount.png b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount.png
new file mode 100644
index 000000000..192142f6d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount1 2.png
new file mode 100644
index 000000000..27117a8ab
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount1.png b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount1.png
new file mode 100644
index 000000000..27117a8ab
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/case_rowcount1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_NoTreeForTent 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_NoTreeForTent 2.png
new file mode 100644
index 000000000..cc21f716a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_NoTreeForTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_NoTreeForTent.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_NoTreeForTent.png
new file mode 100644
index 000000000..cc21f716a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_NoTreeForTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents 2.png
new file mode 100644
index 000000000..a10f394d8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents.png
new file mode 100644
index 000000000..a10f394d8
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents1 2.png
new file mode 100644
index 000000000..867b36945
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents1.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents1.png
new file mode 100644
index 000000000..867b36945
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_adjacentTents1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_miscount 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_miscount 2.png
new file mode 100644
index 000000000..07598b2bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_miscount 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_miscount.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_miscount.png
new file mode 100644
index 000000000..07598b2bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_miscount.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors 2.png
new file mode 100644
index 000000000..a1366b98d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors.png
new file mode 100644
index 000000000..a1366b98d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors1 2.png
new file mode 100644
index 000000000..a3178ad29
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors1.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors1.png
new file mode 100644
index 000000000..a3178ad29
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_noNeighbors1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_notree 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree 2.png
new file mode 100644
index 000000000..3311ffebc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_notree.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree.png
new file mode 100644
index 000000000..3311ffebc
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_notree2 2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree2 2.png
new file mode 100644
index 000000000..9f146415a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree2 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/contra_notree2.png b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree2.png
new file mode 100644
index 000000000..9f146415a
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/contra_notree2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/finishGrass 2.png b/bin/main/edu/rpi/legup/images/treetent/old/finishGrass 2.png
new file mode 100644
index 000000000..53b22e61d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/finishGrass 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/finishGrass.png b/bin/main/edu/rpi/legup/images/treetent/old/finishGrass.png
new file mode 100644
index 000000000..53b22e61d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/finishGrass.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/finishTent 2.png b/bin/main/edu/rpi/legup/images/treetent/old/finishTent 2.png
new file mode 100644
index 000000000..a359bc23d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/finishTent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/finishTent.png b/bin/main/edu/rpi/legup/images/treetent/old/finishTent.png
new file mode 100644
index 000000000..a359bc23d
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/finishTent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround 2.png b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround 2.png
new file mode 100644
index 000000000..5bf3151e2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround.png b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround.png
new file mode 100644
index 000000000..5bf3151e2
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround1 2.png
new file mode 100644
index 000000000..df64010d3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround1.png b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround1.png
new file mode 100644
index 000000000..df64010d3
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/noTreesAround1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition 2.png b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition 2.png
new file mode 100644
index 000000000..62ffc9e85
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition.png b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition.png
new file mode 100644
index 000000000..62ffc9e85
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition1 2.png b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition1 2.png
new file mode 100644
index 000000000..f8e78a807
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition1 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition1.png b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition1.png
new file mode 100644
index 000000000..f8e78a807
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/old/oneTentPosition1.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/oneTentPosition 2.png b/bin/main/edu/rpi/legup/images/treetent/oneTentPosition 2.png
new file mode 100644
index 000000000..dcfeebacd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/oneTentPosition 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/oneTentPosition.png b/bin/main/edu/rpi/legup/images/treetent/oneTentPosition.png
new file mode 100644
index 000000000..dcfeebacd
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/oneTentPosition.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/tent 2.png b/bin/main/edu/rpi/legup/images/treetent/tent 2.png
new file mode 100644
index 000000000..2263e0290
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/tent 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/tent.png b/bin/main/edu/rpi/legup/images/treetent/tent.png
new file mode 100644
index 000000000..2263e0290
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/tent.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/too_few_tents 2.png b/bin/main/edu/rpi/legup/images/treetent/too_few_tents 2.png
new file mode 100644
index 000000000..c648d1014
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/too_few_tents 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/too_few_tents.png b/bin/main/edu/rpi/legup/images/treetent/too_few_tents.png
new file mode 100644
index 000000000..c648d1014
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/too_few_tents.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/too_many_tents 2.png b/bin/main/edu/rpi/legup/images/treetent/too_many_tents 2.png
new file mode 100644
index 000000000..80356d7b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/too_many_tents 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/too_many_tents.png b/bin/main/edu/rpi/legup/images/treetent/too_many_tents.png
new file mode 100644
index 000000000..80356d7b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/too_many_tents.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/tree 2.png b/bin/main/edu/rpi/legup/images/treetent/tree 2.png
new file mode 100644
index 000000000..38fc9e728
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/tree 2.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/tree.png b/bin/main/edu/rpi/legup/images/treetent/tree.png
new file mode 100644
index 000000000..38fc9e728
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/tree.png differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/update_template_wip 2.psd b/bin/main/edu/rpi/legup/images/treetent/update_template_wip 2.psd
new file mode 100644
index 000000000..c04771d1e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/update_template_wip 2.psd differ
diff --git a/bin/main/edu/rpi/legup/images/treetent/update_template_wip.psd b/bin/main/edu/rpi/legup/images/treetent/update_template_wip.psd
new file mode 100644
index 000000000..c04771d1e
Binary files /dev/null and b/bin/main/edu/rpi/legup/images/treetent/update_template_wip.psd differ
diff --git a/bin/main/edu/rpi/legup/imgs/add 2.png b/bin/main/edu/rpi/legup/imgs/add 2.png
new file mode 100644
index 000000000..3e7036325
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/add 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/add.png b/bin/main/edu/rpi/legup/imgs/add.png
new file mode 100644
index 000000000..3e7036325
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/add.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/back_arrow 2.png b/bin/main/edu/rpi/legup/imgs/back_arrow 2.png
new file mode 100644
index 000000000..4a04f650b
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/back_arrow 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/back_arrow.png b/bin/main/edu/rpi/legup/imgs/back_arrow.png
new file mode 100644
index 000000000..4a04f650b
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/back_arrow.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/computer 2.png b/bin/main/edu/rpi/legup/imgs/computer 2.png
new file mode 100644
index 000000000..c44e19581
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/computer 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/computer.png b/bin/main/edu/rpi/legup/imgs/computer.png
new file mode 100644
index 000000000..c44e19581
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/computer.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/details 2.png b/bin/main/edu/rpi/legup/imgs/details 2.png
new file mode 100644
index 000000000..04902e52d
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/details 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/details.png b/bin/main/edu/rpi/legup/imgs/details.png
new file mode 100644
index 000000000..04902e52d
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/details.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/down_arrow 2.png b/bin/main/edu/rpi/legup/imgs/down_arrow 2.png
new file mode 100644
index 000000000..bb97d6e39
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/down_arrow 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/down_arrow.png b/bin/main/edu/rpi/legup/imgs/down_arrow.png
new file mode 100644
index 000000000..bb97d6e39
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/down_arrow.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/file 2.png b/bin/main/edu/rpi/legup/imgs/file 2.png
new file mode 100644
index 000000000..144463984
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/file 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/file.png b/bin/main/edu/rpi/legup/imgs/file.png
new file mode 100644
index 000000000..144463984
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/file.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/floppy_drive 2.png b/bin/main/edu/rpi/legup/imgs/floppy_drive 2.png
new file mode 100644
index 000000000..0c878999c
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/floppy_drive 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/floppy_drive.png b/bin/main/edu/rpi/legup/imgs/floppy_drive.png
new file mode 100644
index 000000000..0c878999c
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/floppy_drive.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/folder 2.png b/bin/main/edu/rpi/legup/imgs/folder 2.png
new file mode 100644
index 000000000..887082840
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/folder 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/folder.png b/bin/main/edu/rpi/legup/imgs/folder.png
new file mode 100644
index 000000000..887082840
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/folder.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/hard_drive 2.png b/bin/main/edu/rpi/legup/imgs/hard_drive 2.png
new file mode 100644
index 000000000..cf1ef42fe
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/hard_drive 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/hard_drive.png b/bin/main/edu/rpi/legup/imgs/hard_drive.png
new file mode 100644
index 000000000..cf1ef42fe
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/hard_drive.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/home 2.png b/bin/main/edu/rpi/legup/imgs/home 2.png
new file mode 100644
index 000000000..aa43ddae0
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/home 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/home.png b/bin/main/edu/rpi/legup/imgs/home.png
new file mode 100644
index 000000000..aa43ddae0
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/home.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/list 2.png b/bin/main/edu/rpi/legup/imgs/list 2.png
new file mode 100644
index 000000000..adf5bd9ee
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/list 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/list.png b/bin/main/edu/rpi/legup/imgs/list.png
new file mode 100644
index 000000000..adf5bd9ee
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/list.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/new_folder 2.png b/bin/main/edu/rpi/legup/imgs/new_folder 2.png
new file mode 100644
index 000000000..d7ac4fc2c
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/new_folder 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/new_folder.png b/bin/main/edu/rpi/legup/imgs/new_folder.png
new file mode 100644
index 000000000..d7ac4fc2c
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/new_folder.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/outlined_checked_box 2.png b/bin/main/edu/rpi/legup/imgs/outlined_checked_box 2.png
new file mode 100644
index 000000000..cf5a347c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/outlined_checked_box 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/outlined_checked_box.png b/bin/main/edu/rpi/legup/imgs/outlined_checked_box.png
new file mode 100644
index 000000000..cf5a347c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/outlined_checked_box.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/painted_checked_box 2.png b/bin/main/edu/rpi/legup/imgs/painted_checked_box 2.png
new file mode 100644
index 000000000..bf1ee13ae
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/painted_checked_box 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/painted_checked_box.png b/bin/main/edu/rpi/legup/imgs/painted_checked_box.png
new file mode 100644
index 000000000..bf1ee13ae
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/painted_checked_box.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/radio_button_off 2.png b/bin/main/edu/rpi/legup/imgs/radio_button_off 2.png
new file mode 100644
index 000000000..2c6901b7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/radio_button_off 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/radio_button_off.png b/bin/main/edu/rpi/legup/imgs/radio_button_off.png
new file mode 100644
index 000000000..2c6901b7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/radio_button_off.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/radio_button_on 2.png b/bin/main/edu/rpi/legup/imgs/radio_button_on 2.png
new file mode 100644
index 000000000..8c54bf6bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/radio_button_on 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/radio_button_on.png b/bin/main/edu/rpi/legup/imgs/radio_button_on.png
new file mode 100644
index 000000000..8c54bf6bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/radio_button_on.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/remove 2.png b/bin/main/edu/rpi/legup/imgs/remove 2.png
new file mode 100644
index 000000000..14dc28383
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/remove 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/remove.png b/bin/main/edu/rpi/legup/imgs/remove.png
new file mode 100644
index 000000000..14dc28383
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/remove.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/right_arrow 2.png b/bin/main/edu/rpi/legup/imgs/right_arrow 2.png
new file mode 100644
index 000000000..39fd3248e
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/right_arrow 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/right_arrow.png b/bin/main/edu/rpi/legup/imgs/right_arrow.png
new file mode 100644
index 000000000..39fd3248e
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/right_arrow.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/toggle_off 2.png b/bin/main/edu/rpi/legup/imgs/toggle_off 2.png
new file mode 100644
index 000000000..b35035ea9
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/toggle_off 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/toggle_off.png b/bin/main/edu/rpi/legup/imgs/toggle_off.png
new file mode 100644
index 000000000..b35035ea9
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/toggle_off.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/toggle_on 2.png b/bin/main/edu/rpi/legup/imgs/toggle_on 2.png
new file mode 100644
index 000000000..12329eab1
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/toggle_on 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/toggle_on.png b/bin/main/edu/rpi/legup/imgs/toggle_on.png
new file mode 100644
index 000000000..12329eab1
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/toggle_on.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/unchecked_box 2.png b/bin/main/edu/rpi/legup/imgs/unchecked_box 2.png
new file mode 100644
index 000000000..6864dd299
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/unchecked_box 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/unchecked_box.png b/bin/main/edu/rpi/legup/imgs/unchecked_box.png
new file mode 100644
index 000000000..6864dd299
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/unchecked_box.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/up_arrow 2.png b/bin/main/edu/rpi/legup/imgs/up_arrow 2.png
new file mode 100644
index 000000000..90c7ba731
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/up_arrow 2.png differ
diff --git a/bin/main/edu/rpi/legup/imgs/up_arrow.png b/bin/main/edu/rpi/legup/imgs/up_arrow.png
new file mode 100644
index 000000000..90c7ba731
Binary files /dev/null and b/bin/main/edu/rpi/legup/imgs/up_arrow.png differ
diff --git a/bin/main/edu/rpi/legup/legup/config b/bin/main/edu/rpi/legup/legup/config
new file mode 100644
index 000000000..3937fbc3b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/legup/config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/legup/config 2 b/bin/main/edu/rpi/legup/legup/config 2
new file mode 100644
index 000000000..3937fbc3b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/legup/config 2
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/legup/main_window 2.fxml b/bin/main/edu/rpi/legup/legup/main_window 2.fxml
new file mode 100644
index 000000000..73a531160
--- /dev/null
+++ b/bin/main/edu/rpi/legup/legup/main_window 2.fxml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/legup/main_window.fxml b/bin/main/edu/rpi/legup/legup/main_window.fxml
new file mode 100644
index 000000000..73a531160
--- /dev/null
+++ b/bin/main/edu/rpi/legup/legup/main_window.fxml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/log4j2.properties b/bin/main/edu/rpi/legup/log4j2.properties
new file mode 100644
index 000000000..4a2ab408f
--- /dev/null
+++ b/bin/main/edu/rpi/legup/log4j2.properties
@@ -0,0 +1,17 @@
+# Logging level
+# Root logger option
+log4j.rootLogger=DEBUG, stdout, file
+
+# Redirect log messages to console
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
+
+# Redirect log messages to a log file, support file rolling.
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.File=Legup.log
+log4j.appender.file.MaxFileSize=5MB
+log4j.appender.file.MaxBackupIndex=10
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/model/Puzzle 2.class b/bin/main/edu/rpi/legup/model/Puzzle 2.class
new file mode 100644
index 000000000..48490ca6f
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/Puzzle 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/Puzzle.class b/bin/main/edu/rpi/legup/model/Puzzle.class
new file mode 100644
index 000000000..48490ca6f
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/Puzzle.class differ
diff --git a/bin/main/edu/rpi/legup/model/PuzzleExporter 2.class b/bin/main/edu/rpi/legup/model/PuzzleExporter 2.class
new file mode 100644
index 000000000..58d9556b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/PuzzleExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/PuzzleExporter.class b/bin/main/edu/rpi/legup/model/PuzzleExporter.class
new file mode 100644
index 000000000..58d9556b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/PuzzleExporter.class differ
diff --git a/bin/main/edu/rpi/legup/model/PuzzleImporter 2.class b/bin/main/edu/rpi/legup/model/PuzzleImporter 2.class
new file mode 100644
index 000000000..d2bd99f04
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/PuzzleImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/PuzzleImporter.class b/bin/main/edu/rpi/legup/model/PuzzleImporter.class
new file mode 100644
index 000000000..d2bd99f04
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/PuzzleImporter.class differ
diff --git a/bin/main/edu/rpi/legup/model/RegisterPuzzle 2.class b/bin/main/edu/rpi/legup/model/RegisterPuzzle 2.class
new file mode 100644
index 000000000..7c32e92eb
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/RegisterPuzzle 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/RegisterPuzzle.class b/bin/main/edu/rpi/legup/model/RegisterPuzzle.class
new file mode 100644
index 000000000..7c32e92eb
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/RegisterPuzzle.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/Board 2.class b/bin/main/edu/rpi/legup/model/gameboard/Board 2.class
new file mode 100644
index 000000000..5a9ca09bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/Board 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/Board.class b/bin/main/edu/rpi/legup/model/gameboard/Board.class
new file mode 100644
index 000000000..5a9ca09bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/Board.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/CaseBoard 2.class b/bin/main/edu/rpi/legup/model/gameboard/CaseBoard 2.class
new file mode 100644
index 000000000..97e02d95d
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/CaseBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/CaseBoard.class b/bin/main/edu/rpi/legup/model/gameboard/CaseBoard.class
new file mode 100644
index 000000000..97e02d95d
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/CaseBoard.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/ElementFactory 2.class b/bin/main/edu/rpi/legup/model/gameboard/ElementFactory 2.class
new file mode 100644
index 000000000..78bceeaeb
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/ElementFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/ElementFactory.class b/bin/main/edu/rpi/legup/model/gameboard/ElementFactory.class
new file mode 100644
index 000000000..78bceeaeb
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/ElementFactory.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/GridBoard 2.class b/bin/main/edu/rpi/legup/model/gameboard/GridBoard 2.class
new file mode 100644
index 000000000..71e48dec0
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/GridBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/GridBoard.class b/bin/main/edu/rpi/legup/model/gameboard/GridBoard.class
new file mode 100644
index 000000000..71e48dec0
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/GridBoard.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/GridCell 2.class b/bin/main/edu/rpi/legup/model/gameboard/GridCell 2.class
new file mode 100644
index 000000000..2a325b1ba
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/GridCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/GridCell.class b/bin/main/edu/rpi/legup/model/gameboard/GridCell.class
new file mode 100644
index 000000000..2a325b1ba
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/GridCell.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/PuzzleElement 2.class b/bin/main/edu/rpi/legup/model/gameboard/PuzzleElement 2.class
new file mode 100644
index 000000000..4f58bc7e8
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/PuzzleElement 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/gameboard/PuzzleElement.class b/bin/main/edu/rpi/legup/model/gameboard/PuzzleElement.class
new file mode 100644
index 000000000..4f58bc7e8
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/gameboard/PuzzleElement.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/IBoardListener 2.class b/bin/main/edu/rpi/legup/model/observer/IBoardListener 2.class
new file mode 100644
index 000000000..f963c91b8
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/IBoardListener 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/IBoardListener.class b/bin/main/edu/rpi/legup/model/observer/IBoardListener.class
new file mode 100644
index 000000000..f963c91b8
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/IBoardListener.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/IBoardSubject 2.class b/bin/main/edu/rpi/legup/model/observer/IBoardSubject 2.class
new file mode 100644
index 000000000..758d04a55
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/IBoardSubject 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/IBoardSubject.class b/bin/main/edu/rpi/legup/model/observer/IBoardSubject.class
new file mode 100644
index 000000000..758d04a55
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/IBoardSubject.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/ITreeListener 2.class b/bin/main/edu/rpi/legup/model/observer/ITreeListener 2.class
new file mode 100644
index 000000000..529b715bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/ITreeListener 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/ITreeListener.class b/bin/main/edu/rpi/legup/model/observer/ITreeListener.class
new file mode 100644
index 000000000..529b715bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/ITreeListener.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/ITreeSubject 2.class b/bin/main/edu/rpi/legup/model/observer/ITreeSubject 2.class
new file mode 100644
index 000000000..8bce7fd7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/ITreeSubject 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/observer/ITreeSubject.class b/bin/main/edu/rpi/legup/model/observer/ITreeSubject.class
new file mode 100644
index 000000000..8bce7fd7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/observer/ITreeSubject.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/BasicRule 2.class b/bin/main/edu/rpi/legup/model/rules/BasicRule 2.class
new file mode 100644
index 000000000..e61b01255
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/BasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/BasicRule.class b/bin/main/edu/rpi/legup/model/rules/BasicRule.class
new file mode 100644
index 000000000..e61b01255
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/BasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/CaseRule 2.class b/bin/main/edu/rpi/legup/model/rules/CaseRule 2.class
new file mode 100644
index 000000000..a319fdd98
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/CaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/CaseRule.class b/bin/main/edu/rpi/legup/model/rules/CaseRule.class
new file mode 100644
index 000000000..a319fdd98
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/CaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/ContradictionRule 2.class b/bin/main/edu/rpi/legup/model/rules/ContradictionRule 2.class
new file mode 100644
index 000000000..1e43a93d3
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/ContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/ContradictionRule.class b/bin/main/edu/rpi/legup/model/rules/ContradictionRule.class
new file mode 100644
index 000000000..1e43a93d3
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/ContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/MergeRule 2.class b/bin/main/edu/rpi/legup/model/rules/MergeRule 2.class
new file mode 100644
index 000000000..9a45dc9b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/MergeRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/MergeRule.class b/bin/main/edu/rpi/legup/model/rules/MergeRule.class
new file mode 100644
index 000000000..9a45dc9b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/MergeRule.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/RegisterRule 2.class b/bin/main/edu/rpi/legup/model/rules/RegisterRule 2.class
new file mode 100644
index 000000000..cb6c110e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/RegisterRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/RegisterRule.class b/bin/main/edu/rpi/legup/model/rules/RegisterRule.class
new file mode 100644
index 000000000..cb6c110e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/RegisterRule.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/Rule 2.class b/bin/main/edu/rpi/legup/model/rules/Rule 2.class
new file mode 100644
index 000000000..b3cbc9bbe
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/Rule 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/Rule.class b/bin/main/edu/rpi/legup/model/rules/Rule.class
new file mode 100644
index 000000000..b3cbc9bbe
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/Rule.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/RuleType 2.class b/bin/main/edu/rpi/legup/model/rules/RuleType 2.class
new file mode 100644
index 000000000..56780f3e5
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/RuleType 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/rules/RuleType.class b/bin/main/edu/rpi/legup/model/rules/RuleType.class
new file mode 100644
index 000000000..56780f3e5
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/rules/RuleType.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/Tree 2.class b/bin/main/edu/rpi/legup/model/tree/Tree 2.class
new file mode 100644
index 000000000..8ed05a0bf
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/Tree 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/Tree.class b/bin/main/edu/rpi/legup/model/tree/Tree.class
new file mode 100644
index 000000000..8ed05a0bf
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/Tree.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeElement 2.class b/bin/main/edu/rpi/legup/model/tree/TreeElement 2.class
new file mode 100644
index 000000000..f6c276063
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeElement 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeElement.class b/bin/main/edu/rpi/legup/model/tree/TreeElement.class
new file mode 100644
index 000000000..f6c276063
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeElement.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeElementType 2.class b/bin/main/edu/rpi/legup/model/tree/TreeElementType 2.class
new file mode 100644
index 000000000..009f1e8a5
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeElementType 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeElementType.class b/bin/main/edu/rpi/legup/model/tree/TreeElementType.class
new file mode 100644
index 000000000..009f1e8a5
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeElementType.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeNode 2.class b/bin/main/edu/rpi/legup/model/tree/TreeNode 2.class
new file mode 100644
index 000000000..63e2ecb08
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeNode 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeNode.class b/bin/main/edu/rpi/legup/model/tree/TreeNode.class
new file mode 100644
index 000000000..63e2ecb08
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeNode.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeTransition 2.class b/bin/main/edu/rpi/legup/model/tree/TreeTransition 2.class
new file mode 100644
index 000000000..a7d90f293
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeTransition 2.class differ
diff --git a/bin/main/edu/rpi/legup/model/tree/TreeTransition.class b/bin/main/edu/rpi/legup/model/tree/TreeTransition.class
new file mode 100644
index 000000000..a7d90f293
Binary files /dev/null and b/bin/main/edu/rpi/legup/model/tree/TreeTransition.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShip 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShip 2.class
new file mode 100644
index 000000000..dace52b9f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShip 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShip.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShip.class
new file mode 100644
index 000000000..dace52b9f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShip.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipBoard 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipBoard 2.class
new file mode 100644
index 000000000..372e95bc7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipBoard.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipBoard.class
new file mode 100644
index 000000000..372e95bc7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCell 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCell 2.class
new file mode 100644
index 000000000..583eb58ae
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCell.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCell.class
new file mode 100644
index 000000000..583eb58ae
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellController 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellController 2.class
new file mode 100644
index 000000000..4327a8a94
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellController.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellController.class
new file mode 100644
index 000000000..4327a8a94
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellFactory 2.class
new file mode 100644
index 000000000..2f96aed88
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellFactory.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellFactory.class
new file mode 100644
index 000000000..2f96aed88
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellType 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellType 2.class
new file mode 100644
index 000000000..447b0ca6a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellType.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellType.class
new file mode 100644
index 000000000..447b0ca6a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipCellType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClue 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClue 2.class
new file mode 100644
index 000000000..691edd300
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClue 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClue.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClue.class
new file mode 100644
index 000000000..691edd300
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClue.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClueView 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClueView 2.class
new file mode 100644
index 000000000..469be9cb8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClueView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClueView.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClueView.class
new file mode 100644
index 000000000..469be9cb8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipClueView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipElementView 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipElementView 2.class
new file mode 100644
index 000000000..edf88c58d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipElementView.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipElementView.class
new file mode 100644
index 000000000..edf88c58d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipExporter 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipExporter 2.class
new file mode 100644
index 000000000..b1fb78527
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipExporter.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipExporter.class
new file mode 100644
index 000000000..b1fb78527
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipImporter 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipImporter 2.class
new file mode 100644
index 000000000..923800b90
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipImporter.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipImporter.class
new file mode 100644
index 000000000..923800b90
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipView 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipView 2.class
new file mode 100644
index 000000000..74d49495a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipView.class b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipView.class
new file mode 100644
index 000000000..74d49495a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/BattleShipView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/AdjacentShipsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/AdjacentShipsContradictionRule 2.class
new file mode 100644
index 000000000..f4a08df86
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/AdjacentShipsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/AdjacentShipsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/AdjacentShipsContradictionRule.class
new file mode 100644
index 000000000..f4a08df86
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/AdjacentShipsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/ContinueShipBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ContinueShipBasicRule 2.class
new file mode 100644
index 000000000..1c7b51624
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ContinueShipBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/ContinueShipBasicRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ContinueShipBasicRule.class
new file mode 100644
index 000000000..1c7b51624
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ContinueShipBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishWithWaterBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishWithWaterBasicRule 2.class
new file mode 100644
index 000000000..c3b0c5dd5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishWithWaterBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishWithWaterBasicRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishWithWaterBasicRule.class
new file mode 100644
index 000000000..c3b0c5dd5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishWithWaterBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishedWithShipsBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishedWithShipsBasicRule 2.class
new file mode 100644
index 000000000..8b60ac664
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishedWithShipsBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishedWithShipsBasicRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishedWithShipsBasicRule.class
new file mode 100644
index 000000000..8b60ac664
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/FinishedWithShipsBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/IncompleteShipContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/IncompleteShipContradictionRule 2.class
new file mode 100644
index 000000000..26efed61b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/IncompleteShipContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/IncompleteShipContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/IncompleteShipContradictionRule.class
new file mode 100644
index 000000000..26efed61b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/IncompleteShipContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeBasicRule 2.class
new file mode 100644
index 000000000..0d1cf5117
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeBasicRule.class
new file mode 100644
index 000000000..0d1cf5117
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeCaseRule 2.class
new file mode 100644
index 000000000..4c86e6632
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeCaseRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeCaseRule.class
new file mode 100644
index 000000000..4c86e6632
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SegmentTypeCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipLocationCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipLocationCaseRule 2.class
new file mode 100644
index 000000000..db2755d38
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipLocationCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipLocationCaseRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipLocationCaseRule.class
new file mode 100644
index 000000000..db2755d38
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipLocationCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipOrWaterCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipOrWaterCaseRule 2.class
new file mode 100644
index 000000000..ae664fc02
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipOrWaterCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipOrWaterCaseRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipOrWaterCaseRule.class
new file mode 100644
index 000000000..ae664fc02
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/ShipOrWaterCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/SurroundShipBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SurroundShipBasicRule 2.class
new file mode 100644
index 000000000..a7ddc016c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SurroundShipBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/SurroundShipBasicRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SurroundShipBasicRule.class
new file mode 100644
index 000000000..a7ddc016c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/SurroundShipBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewInFleetContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewInFleetContradictionRule 2.class
new file mode 100644
index 000000000..44863801f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewInFleetContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewInFleetContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewInFleetContradictionRule.class
new file mode 100644
index 000000000..44863801f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewInFleetContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewRowColContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewRowColContradictionRule 2.class
new file mode 100644
index 000000000..89ce84a39
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewRowColContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewRowColContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewRowColContradictionRule.class
new file mode 100644
index 000000000..89ce84a39
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooFewRowColContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyInFleetContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyInFleetContradictionRule 2.class
new file mode 100644
index 000000000..4bc5c17df
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyInFleetContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyInFleetContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyInFleetContradictionRule.class
new file mode 100644
index 000000000..4bc5c17df
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyInFleetContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyRowColContradiction 2.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyRowColContradiction 2.class
new file mode 100644
index 000000000..9de95f52e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyRowColContradiction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyRowColContradiction.class b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyRowColContradiction.class
new file mode 100644
index 000000000..9de95f52e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/battleship/rules/TooManyRowColContradiction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/Fillapix 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/Fillapix 2.class
new file mode 100644
index 000000000..cacd1b5a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/Fillapix 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/Fillapix.class b/bin/main/edu/rpi/legup/puzzle/fillapix/Fillapix.class
new file mode 100644
index 000000000..cacd1b5a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/Fillapix.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixBoard 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixBoard 2.class
new file mode 100644
index 000000000..2e3185d9f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixBoard.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixBoard.class
new file mode 100644
index 000000000..2e3185d9f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCell 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCell 2.class
new file mode 100644
index 000000000..20a3a6ca0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCell.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCell.class
new file mode 100644
index 000000000..20a3a6ca0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellController 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellController 2.class
new file mode 100644
index 000000000..6944a6a15
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellController.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellController.class
new file mode 100644
index 000000000..6944a6a15
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellFactory 2.class
new file mode 100644
index 000000000..c9d49f79a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellFactory.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellFactory.class
new file mode 100644
index 000000000..c9d49f79a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellType 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellType 2.class
new file mode 100644
index 000000000..dc977db11
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellType.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellType.class
new file mode 100644
index 000000000..dc977db11
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixCellType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixElementView 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixElementView 2.class
new file mode 100644
index 000000000..9841fb432
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixElementView.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixElementView.class
new file mode 100644
index 000000000..9841fb432
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixExporter 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixExporter 2.class
new file mode 100644
index 000000000..82f114b5d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixExporter.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixExporter.class
new file mode 100644
index 000000000..82f114b5d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixImporter 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixImporter 2.class
new file mode 100644
index 000000000..054a15e0d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixImporter.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixImporter.class
new file mode 100644
index 000000000..054a15e0d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixUtilities 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixUtilities 2.class
new file mode 100644
index 000000000..7b2d2c158
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixUtilities 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixUtilities.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixUtilities.class
new file mode 100644
index 000000000..7b2d2c158
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixUtilities.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixView 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixView 2.class
new file mode 100644
index 000000000..938b3f3d5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixView.class b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixView.class
new file mode 100644
index 000000000..938b3f3d5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/FillapixView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule 2.class
new file mode 100644
index 000000000..5dfa6357f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.class
new file mode 100644
index 000000000..5dfa6357f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule 2.class
new file mode 100644
index 000000000..dbc5d7d70
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.class
new file mode 100644
index 000000000..dbc5d7d70
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule 2.class
new file mode 100644
index 000000000..4f12b4f06
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.class
new file mode 100644
index 000000000..4f12b4f06
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule 2.class
new file mode 100644
index 000000000..cd4f38edf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.class
new file mode 100644
index 000000000..cd4f38edf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule 2.class
new file mode 100644
index 000000000..8eb10772c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.class
new file mode 100644
index 000000000..8eb10772c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/Heyawake 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/Heyawake 2.class
new file mode 100644
index 000000000..6b5df84cb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/Heyawake 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/Heyawake.class b/bin/main/edu/rpi/legup/puzzle/heyawake/Heyawake.class
new file mode 100644
index 000000000..6b5df84cb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/Heyawake.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeBoard 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeBoard 2.class
new file mode 100644
index 000000000..7a08c2e90
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeBoard.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeBoard.class
new file mode 100644
index 000000000..7a08c2e90
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeCell 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeCell 2.class
new file mode 100644
index 000000000..875cdd768
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeCell.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeCell.class
new file mode 100644
index 000000000..875cdd768
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeController 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeController 2.class
new file mode 100644
index 000000000..fb87335e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeController.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeController.class
new file mode 100644
index 000000000..fb87335e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeElementView 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeElementView 2.class
new file mode 100644
index 000000000..71987f700
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeElementView.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeElementView.class
new file mode 100644
index 000000000..71987f700
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeExporter 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeExporter 2.class
new file mode 100644
index 000000000..fd1a02eb4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeExporter.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeExporter.class
new file mode 100644
index 000000000..fd1a02eb4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeFactory 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeFactory 2.class
new file mode 100644
index 000000000..8c76f66cf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeFactory.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeFactory.class
new file mode 100644
index 000000000..8c76f66cf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeImporter 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeImporter 2.class
new file mode 100644
index 000000000..5483b44c8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeImporter.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeImporter.class
new file mode 100644
index 000000000..5483b44c8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeView 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeView 2.class
new file mode 100644
index 000000000..fd6924b47
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeView.class b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeView.class
new file mode 100644
index 000000000..fd6924b47
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/HeyawakeView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/AdjacentBlacksContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/AdjacentBlacksContradictionRule 2.class
new file mode 100644
index 000000000..c3ce9f524
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/AdjacentBlacksContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/AdjacentBlacksContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/AdjacentBlacksContradictionRule.class
new file mode 100644
index 000000000..c3ce9f524
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/AdjacentBlacksContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackOrWhiteCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackOrWhiteCaseRule 2.class
new file mode 100644
index 000000000..b2d89e774
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackOrWhiteCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackOrWhiteCaseRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackOrWhiteCaseRule.class
new file mode 100644
index 000000000..b2d89e774
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackOrWhiteCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackPathBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackPathBasicRule 2.class
new file mode 100644
index 000000000..d9c37e593
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackPathBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackPathBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackPathBasicRule.class
new file mode 100644
index 000000000..d9c37e593
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BlackPathBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BottleNeckBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BottleNeckBasicRule 2.class
new file mode 100644
index 000000000..5f1b1b81b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BottleNeckBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BottleNeckBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BottleNeckBasicRule.class
new file mode 100644
index 000000000..5f1b1b81b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/BottleNeckBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomBlackBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomBlackBasicRule 2.class
new file mode 100644
index 000000000..5473add52
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomBlackBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomBlackBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomBlackBasicRule.class
new file mode 100644
index 000000000..5473add52
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomBlackBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomWhiteBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomWhiteBasicRule 2.class
new file mode 100644
index 000000000..4f613b370
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomWhiteBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomWhiteBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomWhiteBasicRule.class
new file mode 100644
index 000000000..4f613b370
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/FillRoomWhiteBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/OneRowBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/OneRowBasicRule 2.class
new file mode 100644
index 000000000..b1b97f4c2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/OneRowBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/OneRowBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/OneRowBasicRule.class
new file mode 100644
index 000000000..b1b97f4c2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/OneRowBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/PreventWhiteLineBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/PreventWhiteLineBasicRule 2.class
new file mode 100644
index 000000000..72720cb53
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/PreventWhiteLineBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/PreventWhiteLineBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/PreventWhiteLineBasicRule.class
new file mode 100644
index 000000000..72720cb53
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/PreventWhiteLineBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooEmptyContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooEmptyContradictionRule 2.class
new file mode 100644
index 000000000..dc1192f00
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooEmptyContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooEmptyContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooEmptyContradictionRule.class
new file mode 100644
index 000000000..dc1192f00
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooEmptyContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooFullContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooFullContradictionRule 2.class
new file mode 100644
index 000000000..8f116c50b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooFullContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooFullContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooFullContradictionRule.class
new file mode 100644
index 000000000..8f116c50b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/RoomTooFullContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ThreeByThreeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ThreeByThreeBasicRule 2.class
new file mode 100644
index 000000000..2f9e91647
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ThreeByThreeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ThreeByThreeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ThreeByThreeBasicRule.class
new file mode 100644
index 000000000..2f9e91647
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ThreeByThreeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/TwoInCornerBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/TwoInCornerBasicRule 2.class
new file mode 100644
index 000000000..f2feaacea
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/TwoInCornerBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/TwoInCornerBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/TwoInCornerBasicRule.class
new file mode 100644
index 000000000..f2feaacea
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/TwoInCornerBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAreaContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAreaContradictionRule 2.class
new file mode 100644
index 000000000..05d587638
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAreaContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAreaContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAreaContradictionRule.class
new file mode 100644
index 000000000..05d587638
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAreaContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAroundBlackBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAroundBlackBasicRule 2.class
new file mode 100644
index 000000000..87d63d205
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAroundBlackBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAroundBlackBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAroundBlackBasicRule.class
new file mode 100644
index 000000000..87d63d205
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteAroundBlackBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteEscapeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteEscapeBasicRule 2.class
new file mode 100644
index 000000000..07e04f013
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteEscapeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteEscapeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteEscapeBasicRule.class
new file mode 100644
index 000000000..07e04f013
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteEscapeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteLineContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteLineContradictionRule 2.class
new file mode 100644
index 000000000..95e631458
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteLineContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteLineContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteLineContradictionRule.class
new file mode 100644
index 000000000..95e631458
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/WhiteLineContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagCaseRule 2.class
new file mode 100644
index 000000000..d8a3a6c5c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagCaseRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagCaseRule.class
new file mode 100644
index 000000000..d8a3a6c5c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagWhiteBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagWhiteBasicRule 2.class
new file mode 100644
index 000000000..7a04e4b43
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagWhiteBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagWhiteBasicRule.class b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagWhiteBasicRule.class
new file mode 100644
index 000000000..7a04e4b43
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/heyawake/rules/ZigZagWhiteBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUp 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUp 2.class
new file mode 100644
index 000000000..133d91485
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUp 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUp.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUp.class
new file mode 100644
index 000000000..133d91485
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUp.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpBoard 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpBoard 2.class
new file mode 100644
index 000000000..eee5f7805
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpBoard.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpBoard.class
new file mode 100644
index 000000000..eee5f7805
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCell 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCell 2.class
new file mode 100644
index 000000000..a1b3745bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCell.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCell.class
new file mode 100644
index 000000000..a1b3745bb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellController 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellController 2.class
new file mode 100644
index 000000000..fa24602d9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellController.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellController.class
new file mode 100644
index 000000000..fa24602d9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellFactory 2.class
new file mode 100644
index 000000000..9ba6a7db1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellFactory.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellFactory.class
new file mode 100644
index 000000000..9ba6a7db1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellType 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellType 2.class
new file mode 100644
index 000000000..d049f133c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellType.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellType.class
new file mode 100644
index 000000000..d049f133c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpCellType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpElementView 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpElementView 2.class
new file mode 100644
index 000000000..358cb2e30
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpElementView.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpElementView.class
new file mode 100644
index 000000000..358cb2e30
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpExporter 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpExporter 2.class
new file mode 100644
index 000000000..c25b20e5b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpExporter.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpExporter.class
new file mode 100644
index 000000000..c25b20e5b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpImporter 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpImporter 2.class
new file mode 100644
index 000000000..8168e36aa
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpImporter.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpImporter.class
new file mode 100644
index 000000000..8168e36aa
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpView 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpView 2.class
new file mode 100644
index 000000000..d2f6cf14a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/LightUpView.class b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpView.class
new file mode 100644
index 000000000..d2f6cf14a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/LightUpView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule 2.class
new file mode 100644
index 000000000..cf8a364de
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.class
new file mode 100644
index 000000000..cf8a364de
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsOutsideDiagonalBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsOutsideDiagonalBasicRule 2.class
new file mode 100644
index 000000000..bbfb4cba4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsOutsideDiagonalBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsOutsideDiagonalBasicRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsOutsideDiagonalBasicRule.class
new file mode 100644
index 000000000..bbfb4cba4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/BulbsOutsideDiagonalBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule 2.class
new file mode 100644
index 000000000..5d25b862a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.class
new file mode 100644
index 000000000..5d25b862a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule 2.class
new file mode 100644
index 000000000..29339df58
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.class
new file mode 100644
index 000000000..29339df58
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule 2.class
new file mode 100644
index 000000000..26474fa55
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.class
new file mode 100644
index 000000000..26474fa55
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule 2.class
new file mode 100644
index 000000000..8fd4f59c8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.class
new file mode 100644
index 000000000..8fd4f59c8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule 2.class
new file mode 100644
index 000000000..18de52688
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.class
new file mode 100644
index 000000000..18de52688
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule 2.class
new file mode 100644
index 000000000..003d7f29a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.class
new file mode 100644
index 000000000..003d7f29a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule 2.class
new file mode 100644
index 000000000..49b56eff1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.class
new file mode 100644
index 000000000..49b56eff1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule 2.class
new file mode 100644
index 000000000..76cd3ffb6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.class
new file mode 100644
index 000000000..76cd3ffb6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule 2.class
new file mode 100644
index 000000000..3a2b2f6a5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.class
new file mode 100644
index 000000000..3a2b2f6a5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule 2.class
new file mode 100644
index 000000000..50babb62a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.class
new file mode 100644
index 000000000..50babb62a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/EditLineCommand 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/EditLineCommand 2.class
new file mode 100644
index 000000000..13e6b86b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/EditLineCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/EditLineCommand.class b/bin/main/edu/rpi/legup/puzzle/masyu/EditLineCommand.class
new file mode 100644
index 000000000..13e6b86b6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/EditLineCommand.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/Masyu 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/Masyu 2.class
new file mode 100644
index 000000000..3e5870652
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/Masyu 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/Masyu.class b/bin/main/edu/rpi/legup/puzzle/masyu/Masyu.class
new file mode 100644
index 000000000..3e5870652
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/Masyu.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuBoard 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuBoard 2.class
new file mode 100644
index 000000000..8c8f1cebb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuBoard.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuBoard.class
new file mode 100644
index 000000000..8c8f1cebb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCell 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCell 2.class
new file mode 100644
index 000000000..411e71196
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCell.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCell.class
new file mode 100644
index 000000000..411e71196
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCellFactory 2.class
new file mode 100644
index 000000000..199f90c7f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCellFactory.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCellFactory.class
new file mode 100644
index 000000000..199f90c7f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuController 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuController 2.class
new file mode 100644
index 000000000..34ffafdee
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuController.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuController.class
new file mode 100644
index 000000000..34ffafdee
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuElementView 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuElementView 2.class
new file mode 100644
index 000000000..3505d88bf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuElementView.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuElementView.class
new file mode 100644
index 000000000..3505d88bf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuExporter 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuExporter 2.class
new file mode 100644
index 000000000..49669f08d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuExporter.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuExporter.class
new file mode 100644
index 000000000..49669f08d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuImporter 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuImporter 2.class
new file mode 100644
index 000000000..3ad308b20
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuImporter.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuImporter.class
new file mode 100644
index 000000000..3ad308b20
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLine 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLine 2.class
new file mode 100644
index 000000000..c86276590
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLine 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLine.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLine.class
new file mode 100644
index 000000000..c86276590
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLine.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLineView 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLineView 2.class
new file mode 100644
index 000000000..9b3a24ab7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLineView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLineView.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLineView.class
new file mode 100644
index 000000000..9b3a24ab7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuLineView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuType 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuType 2.class
new file mode 100644
index 000000000..455ca5f91
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuType.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuType.class
new file mode 100644
index 000000000..455ca5f91
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuView 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuView 2.class
new file mode 100644
index 000000000..672c5083b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/MasyuView.class b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuView.class
new file mode 100644
index 000000000..672c5083b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/MasyuView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BadLoopingContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BadLoopingContradictionRule 2.class
new file mode 100644
index 000000000..bda6744c3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BadLoopingContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BadLoopingContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BadLoopingContradictionRule.class
new file mode 100644
index 000000000..bda6744c3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BadLoopingContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackContradictionRule 2.class
new file mode 100644
index 000000000..89a66fed8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackContradictionRule.class
new file mode 100644
index 000000000..89a66fed8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackEdgeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackEdgeBasicRule 2.class
new file mode 100644
index 000000000..04007a23c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackEdgeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackEdgeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackEdgeBasicRule.class
new file mode 100644
index 000000000..04007a23c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackEdgeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackSplitCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackSplitCaseRule 2.class
new file mode 100644
index 000000000..672f62130
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackSplitCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackSplitCaseRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackSplitCaseRule.class
new file mode 100644
index 000000000..672f62130
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlackSplitCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlockedBlackBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlockedBlackBasicRule 2.class
new file mode 100644
index 000000000..e23a3da07
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlockedBlackBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlockedBlackBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlockedBlackBasicRule.class
new file mode 100644
index 000000000..e23a3da07
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/BlockedBlackBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/ConnectedCellsBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/ConnectedCellsBasicRule 2.class
new file mode 100644
index 000000000..54ab86755
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/ConnectedCellsBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/ConnectedCellsBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/ConnectedCellsBasicRule.class
new file mode 100644
index 000000000..54ab86755
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/ConnectedCellsBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/FinishPathBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/FinishPathBasicRule 2.class
new file mode 100644
index 000000000..d3ab4ae7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/FinishPathBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/FinishPathBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/FinishPathBasicRule.class
new file mode 100644
index 000000000..d3ab4ae7a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/FinishPathBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/NearWhiteBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NearWhiteBasicRule 2.class
new file mode 100644
index 000000000..149441b5e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NearWhiteBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/NearWhiteBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NearWhiteBasicRule.class
new file mode 100644
index 000000000..149441b5e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NearWhiteBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/NoOptionsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NoOptionsContradictionRule 2.class
new file mode 100644
index 000000000..1833ecb9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NoOptionsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/NoOptionsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NoOptionsContradictionRule.class
new file mode 100644
index 000000000..1833ecb9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NoOptionsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/NormalSplitCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NormalSplitCaseRule 2.class
new file mode 100644
index 000000000..95b9df8fd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NormalSplitCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/NormalSplitCaseRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NormalSplitCaseRule.class
new file mode 100644
index 000000000..95b9df8fd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/NormalSplitCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyOneChoiceBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyOneChoiceBasicRule 2.class
new file mode 100644
index 000000000..77362c4e5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyOneChoiceBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyOneChoiceBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyOneChoiceBasicRule.class
new file mode 100644
index 000000000..77362c4e5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyOneChoiceBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyTwoContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyTwoContradictionRule 2.class
new file mode 100644
index 000000000..1aa51af7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyTwoContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyTwoContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyTwoContradictionRule.class
new file mode 100644
index 000000000..1aa51af7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/OnlyTwoContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteContradictionRule 2.class
new file mode 100644
index 000000000..6949c8adc
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteContradictionRule.class
new file mode 100644
index 000000000..6949c8adc
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteEdgeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteEdgeBasicRule 2.class
new file mode 100644
index 000000000..517b127ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteEdgeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteEdgeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteEdgeBasicRule.class
new file mode 100644
index 000000000..517b127ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteEdgeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteSplitCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteSplitCaseRule 2.class
new file mode 100644
index 000000000..c797c43b9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteSplitCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteSplitCaseRule.class b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteSplitCaseRule.class
new file mode 100644
index 000000000..c797c43b9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/masyu/rules/WhiteSplitCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/Nurikabe 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/Nurikabe 2.class
new file mode 100644
index 000000000..860d09588
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/Nurikabe 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/Nurikabe.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/Nurikabe.class
new file mode 100644
index 000000000..860d09588
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/Nurikabe.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeBoard 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeBoard 2.class
new file mode 100644
index 000000000..7e19c2ba1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeBoard.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeBoard.class
new file mode 100644
index 000000000..7e19c2ba1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCell 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCell 2.class
new file mode 100644
index 000000000..44a5d1e56
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCell.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCell.class
new file mode 100644
index 000000000..44a5d1e56
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCellFactory 2.class
new file mode 100644
index 000000000..2815832b2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCellFactory.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCellFactory.class
new file mode 100644
index 000000000..2815832b2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeController 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeController 2.class
new file mode 100644
index 000000000..6cc96178b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeController.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeController.class
new file mode 100644
index 000000000..6cc96178b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeElementView 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeElementView 2.class
new file mode 100644
index 000000000..24c593798
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeElementView.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeElementView.class
new file mode 100644
index 000000000..24c593798
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeExporter 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeExporter 2.class
new file mode 100644
index 000000000..6725e4463
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeExporter.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeExporter.class
new file mode 100644
index 000000000..6725e4463
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeImporter 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeImporter 2.class
new file mode 100644
index 000000000..69514ca2b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeImporter.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeImporter.class
new file mode 100644
index 000000000..69514ca2b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeType 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeType 2.class
new file mode 100644
index 000000000..dc32285f0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeType.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeType.class
new file mode 100644
index 000000000..dc32285f0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeUtilities 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeUtilities 2.class
new file mode 100644
index 000000000..e0c55fd26
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeUtilities 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeUtilities.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeUtilities.class
new file mode 100644
index 000000000..e0c55fd26
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeUtilities.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeView 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeView 2.class
new file mode 100644
index 000000000..c16baf442
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeView.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeView.class
new file mode 100644
index 000000000..c16baf442
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/NurikabeView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule 2.class
new file mode 100644
index 000000000..2c9684704
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.class
new file mode 100644
index 000000000..2c9684704
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule 2.class
new file mode 100644
index 000000000..7ddcd8fc5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.class
new file mode 100644
index 000000000..7ddcd8fc5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule 2.class
new file mode 100644
index 000000000..92c1bbeaf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.class
new file mode 100644
index 000000000..92c1bbeaf
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule 2.class
new file mode 100644
index 000000000..7036b2f11
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.class
new file mode 100644
index 000000000..7036b2f11
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule 2.class
new file mode 100644
index 000000000..7a68b7428
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.class
new file mode 100644
index 000000000..7a68b7428
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CornerBlackBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CornerBlackBasicRule 2.class
new file mode 100644
index 000000000..264a73297
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CornerBlackBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CornerBlackBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CornerBlackBasicRule.class
new file mode 100644
index 000000000..264a73297
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/CornerBlackBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinBlackBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinBlackBasicRule 2.class
new file mode 100644
index 000000000..0af0e50e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinBlackBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinBlackBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinBlackBasicRule.class
new file mode 100644
index 000000000..0af0e50e9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinBlackBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinWhiteBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinWhiteBasicRule 2.class
new file mode 100644
index 000000000..275b66e82
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinWhiteBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinWhiteBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinWhiteBasicRule.class
new file mode 100644
index 000000000..275b66e82
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/FillinWhiteBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule 2.class
new file mode 100644
index 000000000..74ee564ed
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.class
new file mode 100644
index 000000000..74ee564ed
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule 2.class
new file mode 100644
index 000000000..f2d0922da
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.class
new file mode 100644
index 000000000..f2d0922da
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule 2.class
new file mode 100644
index 000000000..65f826e6a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.class
new file mode 100644
index 000000000..65f826e6a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/PreventBlackSquareBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/PreventBlackSquareBasicRule 2.class
new file mode 100644
index 000000000..fa6a47d7c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/PreventBlackSquareBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/PreventBlackSquareBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/PreventBlackSquareBasicRule.class
new file mode 100644
index 000000000..fa6a47d7c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/PreventBlackSquareBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/SurroundRegionBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/SurroundRegionBasicRule 2.class
new file mode 100644
index 000000000..b1aab5fb9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/SurroundRegionBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/SurroundRegionBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/SurroundRegionBasicRule.class
new file mode 100644
index 000000000..b1aab5fb9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/SurroundRegionBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule 2.class
new file mode 100644
index 000000000..a6649c25e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.class
new file mode 100644
index 000000000..a6649c25e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule 2.class
new file mode 100644
index 000000000..3d6481f5e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.class
new file mode 100644
index 000000000..3d6481f5e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule 2.class
new file mode 100644
index 000000000..51edba5b5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.class
new file mode 100644
index 000000000..51edba5b5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/WhiteBottleNeckBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/WhiteBottleNeckBasicRule 2.class
new file mode 100644
index 000000000..c3a9f367c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/WhiteBottleNeckBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/WhiteBottleNeckBasicRule.class b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/WhiteBottleNeckBasicRule.class
new file mode 100644
index 000000000..c3a9f367c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/nurikabe/rules/WhiteBottleNeckBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTable 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTable 2.class
new file mode 100644
index 000000000..04a6198ef
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTable 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTable.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTable.class
new file mode 100644
index 000000000..04a6198ef
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTable.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableBoard 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableBoard 2.class
new file mode 100644
index 000000000..aecb440cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableBoard.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableBoard.class
new file mode 100644
index 000000000..aecb440cc
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCell 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCell 2.class
new file mode 100644
index 000000000..047b2bc67
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCell.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCell.class
new file mode 100644
index 000000000..047b2bc67
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellFactory 2.class
new file mode 100644
index 000000000..bc23a4673
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellFactory.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellFactory.class
new file mode 100644
index 000000000..bc23a4673
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellType 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellType 2.class
new file mode 100644
index 000000000..6cc8c03eb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellType.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellType.class
new file mode 100644
index 000000000..6cc8c03eb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableCellType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableController 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableController 2.class
new file mode 100644
index 000000000..a697b1e8e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableController.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableController.class
new file mode 100644
index 000000000..a697b1e8e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableElementView 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableElementView 2.class
new file mode 100644
index 000000000..7f3fe4a61
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableElementView.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableElementView.class
new file mode 100644
index 000000000..7f3fe4a61
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableExporter 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableExporter 2.class
new file mode 100644
index 000000000..dfe16534e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableExporter.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableExporter.class
new file mode 100644
index 000000000..dfe16534e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableImporter 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableImporter 2.class
new file mode 100644
index 000000000..6e135662d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableImporter.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableImporter.class
new file mode 100644
index 000000000..6e135662d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableOperation 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableOperation 2.class
new file mode 100644
index 000000000..88d762940
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableOperation 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableOperation.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableOperation.class
new file mode 100644
index 000000000..88d762940
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableOperation.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableStatement 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableStatement 2.class
new file mode 100644
index 000000000..006fa20eb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableStatement 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableStatement.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableStatement.class
new file mode 100644
index 000000000..006fa20eb
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableStatement.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableView 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableView 2.class
new file mode 100644
index 000000000..695c7082a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableView.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableView.class
new file mode 100644
index 000000000..695c7082a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/ShortTruthTableView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRuleAtomic 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRuleAtomic 2.class
new file mode 100644
index 000000000..b10e57765
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRuleAtomic 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRuleAtomic.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRuleAtomic.class
new file mode 100644
index 000000000..b10e57765
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRuleAtomic.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic 2.class
new file mode 100644
index 000000000..1fc676cc0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.class
new file mode 100644
index 000000000..1fc676cc0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleAndElimination 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleAndElimination 2.class
new file mode 100644
index 000000000..9f89c1fd3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleAndElimination 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleAndElimination.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleAndElimination.class
new file mode 100644
index 000000000..9f89c1fd3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleAndElimination.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleBiconditionalElimination 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleBiconditionalElimination 2.class
new file mode 100644
index 000000000..f099801f8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleBiconditionalElimination 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleBiconditionalElimination.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleBiconditionalElimination.class
new file mode 100644
index 000000000..f099801f8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleBiconditionalElimination.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleConditionalElimination 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleConditionalElimination 2.class
new file mode 100644
index 000000000..acfe293e0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleConditionalElimination 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleConditionalElimination.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleConditionalElimination.class
new file mode 100644
index 000000000..acfe293e0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleConditionalElimination.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleNotElimination 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleNotElimination 2.class
new file mode 100644
index 000000000..b9705919b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleNotElimination 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleNotElimination.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleNotElimination.class
new file mode 100644
index 000000000..b9705919b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleNotElimination.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleOrElimination 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleOrElimination 2.class
new file mode 100644
index 000000000..349c5c22c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleOrElimination 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleOrElimination.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleOrElimination.class
new file mode 100644
index 000000000..349c5c22c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRuleOrElimination.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRule_GenericElimination 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRule_GenericElimination 2.class
new file mode 100644
index 000000000..74845c50e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRule_GenericElimination 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRule_GenericElimination.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRule_GenericElimination.class
new file mode 100644
index 000000000..74845c50e
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/elimination/BasicRule_GenericElimination.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleAndIntroduction 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleAndIntroduction 2.class
new file mode 100644
index 000000000..7886c0aa2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleAndIntroduction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleAndIntroduction.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleAndIntroduction.class
new file mode 100644
index 000000000..7886c0aa2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleAndIntroduction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleBiconditionalIntroduction 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleBiconditionalIntroduction 2.class
new file mode 100644
index 000000000..c4e4a6e46
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleBiconditionalIntroduction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleBiconditionalIntroduction.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleBiconditionalIntroduction.class
new file mode 100644
index 000000000..c4e4a6e46
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleBiconditionalIntroduction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleConditionalIntroduction 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleConditionalIntroduction 2.class
new file mode 100644
index 000000000..13859db3b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleConditionalIntroduction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleConditionalIntroduction.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleConditionalIntroduction.class
new file mode 100644
index 000000000..13859db3b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleConditionalIntroduction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleNotIntroduction 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleNotIntroduction 2.class
new file mode 100644
index 000000000..43d4f37fd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleNotIntroduction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleNotIntroduction.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleNotIntroduction.class
new file mode 100644
index 000000000..43d4f37fd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleNotIntroduction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleOrIntroduction 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleOrIntroduction 2.class
new file mode 100644
index 000000000..f70f2041f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleOrIntroduction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleOrIntroduction.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleOrIntroduction.class
new file mode 100644
index 000000000..f70f2041f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRuleOrIntroduction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRule_GenericIntroduction 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRule_GenericIntroduction 2.class
new file mode 100644
index 000000000..b7e2ab50d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRule_GenericIntroduction 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRule_GenericIntroduction.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRule_GenericIntroduction.class
new file mode 100644
index 000000000..b7e2ab50d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/introduction/BasicRule_GenericIntroduction.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAnd 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAnd 2.class
new file mode 100644
index 000000000..358395e94
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAnd 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAnd.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAnd.class
new file mode 100644
index 000000000..358395e94
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAnd.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic 2.class
new file mode 100644
index 000000000..5205ae41a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.class
new file mode 100644
index 000000000..5205ae41a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleBiconditional 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleBiconditional 2.class
new file mode 100644
index 000000000..df5c79d92
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleBiconditional 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleBiconditional.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleBiconditional.class
new file mode 100644
index 000000000..df5c79d92
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleBiconditional.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleConditional 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleConditional 2.class
new file mode 100644
index 000000000..dfa4eeaa5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleConditional 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleConditional.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleConditional.class
new file mode 100644
index 000000000..dfa4eeaa5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleConditional.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleOr 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleOr 2.class
new file mode 100644
index 000000000..26f5700e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleOr 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleOr.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleOr.class
new file mode 100644
index 000000000..26f5700e3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleOr.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic 2.class
new file mode 100644
index 000000000..c79e5fdf3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.class
new file mode 100644
index 000000000..c79e5fdf3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement 2.class
new file mode 100644
index 000000000..2450b70d6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.class
new file mode 100644
index 000000000..2450b70d6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAnd 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAnd 2.class
new file mode 100644
index 000000000..71bd15ac8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAnd 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAnd.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAnd.class
new file mode 100644
index 000000000..71bd15ac8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAnd.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAtomic 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAtomic 2.class
new file mode 100644
index 000000000..117970b41
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAtomic 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAtomic.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAtomic.class
new file mode 100644
index 000000000..117970b41
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleAtomic.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleBiconditional 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleBiconditional 2.class
new file mode 100644
index 000000000..8c4da7e35
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleBiconditional 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleBiconditional.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleBiconditional.class
new file mode 100644
index 000000000..8c4da7e35
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleBiconditional.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleConditional 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleConditional 2.class
new file mode 100644
index 000000000..053611023
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleConditional 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleConditional.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleConditional.class
new file mode 100644
index 000000000..053611023
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleConditional.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleNot 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleNot 2.class
new file mode 100644
index 000000000..3c55c5118
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleNot 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleNot.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleNot.class
new file mode 100644
index 000000000..3c55c5118
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleNot.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleOr 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleOr 2.class
new file mode 100644
index 000000000..047f82e47
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleOr 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleOr.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleOr.class
new file mode 100644
index 000000000..047f82e47
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRuleOr.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement 2.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement 2.class
new file mode 100644
index 000000000..16cc94e57
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.class b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.class
new file mode 100644
index 000000000..16cc94e57
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/ClueCommand 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/ClueCommand 2.class
new file mode 100644
index 000000000..b04addd1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/ClueCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/ClueCommand.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/ClueCommand.class
new file mode 100644
index 000000000..b04addd1f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/ClueCommand.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/Skyscrapers 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/Skyscrapers 2.class
new file mode 100644
index 000000000..bd2154bbe
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/Skyscrapers 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/Skyscrapers.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/Skyscrapers.class
new file mode 100644
index 000000000..bd2154bbe
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/Skyscrapers.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersBoard 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersBoard 2.class
new file mode 100644
index 000000000..84cdf5f2f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersBoard.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersBoard.class
new file mode 100644
index 000000000..84cdf5f2f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCell 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCell 2.class
new file mode 100644
index 000000000..179125f7c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCell.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCell.class
new file mode 100644
index 000000000..179125f7c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCellFactory 2.class
new file mode 100644
index 000000000..cd6f9424f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCellFactory.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCellFactory.class
new file mode 100644
index 000000000..cd6f9424f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClue 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClue 2.class
new file mode 100644
index 000000000..b87a85cc9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClue 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClue.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClue.class
new file mode 100644
index 000000000..b87a85cc9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClue.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClueView 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClueView 2.class
new file mode 100644
index 000000000..8d8a0012f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClueView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClueView.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClueView.class
new file mode 100644
index 000000000..8d8a0012f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersClueView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersController 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersController 2.class
new file mode 100644
index 000000000..f6da6bbe5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersController.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersController.class
new file mode 100644
index 000000000..f6da6bbe5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersElementView 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersElementView 2.class
new file mode 100644
index 000000000..5e97e332a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersElementView.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersElementView.class
new file mode 100644
index 000000000..5e97e332a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersExporter 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersExporter 2.class
new file mode 100644
index 000000000..b28087b72
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersExporter.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersExporter.class
new file mode 100644
index 000000000..b28087b72
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersImporter 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersImporter 2.class
new file mode 100644
index 000000000..32a5a9346
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersImporter.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersImporter.class
new file mode 100644
index 000000000..32a5a9346
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLine 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLine 2.class
new file mode 100644
index 000000000..a82dba875
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLine 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLine.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLine.class
new file mode 100644
index 000000000..a82dba875
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLine.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLineView 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLineView 2.class
new file mode 100644
index 000000000..7dae2e734
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLineView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLineView.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLineView.class
new file mode 100644
index 000000000..7dae2e734
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersLineView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersType 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersType 2.class
new file mode 100644
index 000000000..1a8445772
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersType.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersType.class
new file mode 100644
index 000000000..1a8445772
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersView 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersView 2.class
new file mode 100644
index 000000000..173f640bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersView.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersView.class
new file mode 100644
index 000000000..173f640bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/SkyscrapersView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/TODO 2.md b/bin/main/edu/rpi/legup/puzzle/skyscrapers/TODO 2.md
new file mode 100644
index 000000000..dc21403ef
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle/skyscrapers/TODO 2.md
@@ -0,0 +1,10 @@
+## TODO
+- Implement board class (`SkyscrapersBoard.java`)
+- Implement clues class (`SkyscrapersClue.java`)
+- Implement cell generation (`SkyscrapersCellFactory.java`)
+- Implement puzzle exporter (`SkyscrapersExporter.java`)
+- Add way to interact with puzzle (`SkyscrapersCellController.java`)
+- Add vision (`SkyscrapersVision.java`, `SkyscrapersVisionView.java`)
+- Puzzle GUI (`SkyscrapersView.java`, `SkyscrapersElementView.java`, `SkyscrapersClueView.java`)
+- Determine if puzzle is solved
+- Add rules (see Sudoku and the powerpoint)
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/TODO.md b/bin/main/edu/rpi/legup/puzzle/skyscrapers/TODO.md
new file mode 100644
index 000000000..dc21403ef
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle/skyscrapers/TODO.md
@@ -0,0 +1,10 @@
+## TODO
+- Implement board class (`SkyscrapersBoard.java`)
+- Implement clues class (`SkyscrapersClue.java`)
+- Implement cell generation (`SkyscrapersCellFactory.java`)
+- Implement puzzle exporter (`SkyscrapersExporter.java`)
+- Add way to interact with puzzle (`SkyscrapersCellController.java`)
+- Add vision (`SkyscrapersVision.java`, `SkyscrapersVisionView.java`)
+- Puzzle GUI (`SkyscrapersView.java`, `SkyscrapersElementView.java`, `SkyscrapersClueView.java`)
+- Determine if puzzle is solved
+- Add rules (see Sudoku and the powerpoint)
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule 2.class
new file mode 100644
index 000000000..df06b3f9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.class
new file mode 100644
index 000000000..df06b3f9a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule 2.class
new file mode 100644
index 000000000..a57675c58
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.class
new file mode 100644
index 000000000..a57675c58
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule 2.class
new file mode 100644
index 000000000..f0016e05f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.class
new file mode 100644
index 000000000..f0016e05f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule 2.class
new file mode 100644
index 000000000..3cb6aa4c1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.class
new file mode 100644
index 000000000..3cb6aa4c1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule 2.class
new file mode 100644
index 000000000..c6e2f2e71
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.class
new file mode 100644
index 000000000..c6e2f2e71
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule 2.class
new file mode 100644
index 000000000..281ac055c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.class
new file mode 100644
index 000000000..281ac055c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule 2.class
new file mode 100644
index 000000000..85fad1f9d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.class
new file mode 100644
index 000000000..85fad1f9d
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule 2.class
new file mode 100644
index 000000000..c5da174e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.class
new file mode 100644
index 000000000..c5da174e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule 2.class
new file mode 100644
index 000000000..85a77d6a9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.class
new file mode 100644
index 000000000..85a77d6a9
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/TODO 2.md b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/TODO 2.md
new file mode 100644
index 000000000..d2c6e4bd1
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/TODO 2.md
@@ -0,0 +1,16 @@
+## TODO
+
+ 1. Basic Rules:
+ - Last Cell
+ - Last Number
+ - 1-Edge
+ - N-Edge
+ - Fixed Max
+ 2. Contradiction Rules:
+ - Duplicate Number
+ - Unresolved Cell
+ - Exceeding Visibility
+ - Insufficient Visibility
+ 3. Case Rules:
+ - Possible Contents
+ - Possible Places
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/TODO.md b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/TODO.md
new file mode 100644
index 000000000..d2c6e4bd1
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/TODO.md
@@ -0,0 +1,16 @@
+## TODO
+
+ 1. Basic Rules:
+ - Last Cell
+ - Last Number
+ - 1-Edge
+ - N-Edge
+ - Fixed Max
+ 2. Contradiction Rules:
+ - Duplicate Number
+ - Unresolved Cell
+ - Exceeding Visibility
+ - Insufficient Visibility
+ 3. Case Rules:
+ - Possible Contents
+ - Possible Places
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule 2.class
new file mode 100644
index 000000000..fcad8d869
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.class
new file mode 100644
index 000000000..fcad8d869
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/GroupType 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/GroupType 2.class
new file mode 100644
index 000000000..917b4fff2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/GroupType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/GroupType.class b/bin/main/edu/rpi/legup/puzzle/sudoku/GroupType.class
new file mode 100644
index 000000000..917b4fff2
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/GroupType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/PossibleNumberCaseBoard 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/PossibleNumberCaseBoard 2.class
new file mode 100644
index 000000000..6a46d383c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/PossibleNumberCaseBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/PossibleNumberCaseBoard.class b/bin/main/edu/rpi/legup/puzzle/sudoku/PossibleNumberCaseBoard.class
new file mode 100644
index 000000000..6a46d383c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/PossibleNumberCaseBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/Sudoku 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/Sudoku 2.class
new file mode 100644
index 000000000..c383d2565
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/Sudoku 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/Sudoku.class b/bin/main/edu/rpi/legup/puzzle/sudoku/Sudoku.class
new file mode 100644
index 000000000..c383d2565
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/Sudoku.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuBoard 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuBoard 2.class
new file mode 100644
index 000000000..65440a674
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuBoard.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuBoard.class
new file mode 100644
index 000000000..65440a674
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCell 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCell 2.class
new file mode 100644
index 000000000..5ae7819be
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCell.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCell.class
new file mode 100644
index 000000000..5ae7819be
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellController 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellController 2.class
new file mode 100644
index 000000000..a50da8ea3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellController.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellController.class
new file mode 100644
index 000000000..a50da8ea3
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellFactory 2.class
new file mode 100644
index 000000000..a06973b62
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellFactory.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellFactory.class
new file mode 100644
index 000000000..a06973b62
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuElementView 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuElementView 2.class
new file mode 100644
index 000000000..42b9c65db
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuElementView.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuElementView.class
new file mode 100644
index 000000000..42b9c65db
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuExporter 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuExporter 2.class
new file mode 100644
index 000000000..bed8f752a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuExporter.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuExporter.class
new file mode 100644
index 000000000..bed8f752a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuImporter 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuImporter 2.class
new file mode 100644
index 000000000..7f42874f7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuImporter.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuImporter.class
new file mode 100644
index 000000000..7f42874f7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuView 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuView 2.class
new file mode 100644
index 000000000..a0ca556ca
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuView.class b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuView.class
new file mode 100644
index 000000000..a0ca556ca
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/SudokuView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule 2.class
new file mode 100644
index 000000000..672cce236
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.class
new file mode 100644
index 000000000..672cce236
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule 2.class
new file mode 100644
index 000000000..6fc3874dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.class
new file mode 100644
index 000000000..6fc3874dd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule 2.class
new file mode 100644
index 000000000..5f35cc613
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.class
new file mode 100644
index 000000000..5f35cc613
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule 2.class
new file mode 100644
index 000000000..69b03cfba
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.class
new file mode 100644
index 000000000..69b03cfba
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleCellCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleCellCaseRule 2.class
new file mode 100644
index 000000000..821ce4fb8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleCellCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleCellCaseRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleCellCaseRule.class
new file mode 100644
index 000000000..821ce4fb8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleCellCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleNumberCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleNumberCaseRule 2.class
new file mode 100644
index 000000000..b69493972
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleNumberCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleNumberCaseRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleNumberCaseRule.class
new file mode 100644
index 000000000..b69493972
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/PossibleNumberCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule 2.class
new file mode 100644
index 000000000..cc88bdf67
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.class
new file mode 100644
index 000000000..cc88bdf67
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/ClueCommand 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/ClueCommand 2.class
new file mode 100644
index 000000000..4717b150b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/ClueCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/ClueCommand.class b/bin/main/edu/rpi/legup/puzzle/treetent/ClueCommand.class
new file mode 100644
index 000000000..4717b150b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/ClueCommand.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/EditLineCommand 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/EditLineCommand 2.class
new file mode 100644
index 000000000..e505c6eef
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/EditLineCommand 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/EditLineCommand.class b/bin/main/edu/rpi/legup/puzzle/treetent/EditLineCommand.class
new file mode 100644
index 000000000..e505c6eef
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/EditLineCommand.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTent 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTent 2.class
new file mode 100644
index 000000000..44dfdfab7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTent 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTent.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTent.class
new file mode 100644
index 000000000..44dfdfab7
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTent.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentBoard 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentBoard 2.class
new file mode 100644
index 000000000..675e73582
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentBoard.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentBoard.class
new file mode 100644
index 000000000..675e73582
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentBoard.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCell 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCell 2.class
new file mode 100644
index 000000000..1885d38e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCell 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCell.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCell.class
new file mode 100644
index 000000000..1885d38e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCell.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCellFactory 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCellFactory 2.class
new file mode 100644
index 000000000..3dcd833c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCellFactory 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCellFactory.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCellFactory.class
new file mode 100644
index 000000000..3dcd833c5
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentCellFactory.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClue 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClue 2.class
new file mode 100644
index 000000000..1b3f6bbd1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClue 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClue.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClue.class
new file mode 100644
index 000000000..1b3f6bbd1
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClue.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClueView 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClueView 2.class
new file mode 100644
index 000000000..1a0d414e8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClueView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClueView.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClueView.class
new file mode 100644
index 000000000..1a0d414e8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentClueView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentController 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentController 2.class
new file mode 100644
index 000000000..4a2df41ef
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentController 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentController.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentController.class
new file mode 100644
index 000000000..4a2df41ef
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentController.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentElementView 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentElementView 2.class
new file mode 100644
index 000000000..2863cce77
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentElementView.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentElementView.class
new file mode 100644
index 000000000..2863cce77
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentElementView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentExporter 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentExporter 2.class
new file mode 100644
index 000000000..9efceb9ea
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentExporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentExporter.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentExporter.class
new file mode 100644
index 000000000..9efceb9ea
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentExporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentImporter 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentImporter 2.class
new file mode 100644
index 000000000..06e6f3dbd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentImporter 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentImporter.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentImporter.class
new file mode 100644
index 000000000..06e6f3dbd
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentImporter.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLine 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLine 2.class
new file mode 100644
index 000000000..8e3383630
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLine 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLine.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLine.class
new file mode 100644
index 000000000..8e3383630
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLine.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLineView 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLineView 2.class
new file mode 100644
index 000000000..db502361b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLineView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLineView.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLineView.class
new file mode 100644
index 000000000..db502361b
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentLineView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentType 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentType 2.class
new file mode 100644
index 000000000..1afa9057f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentType 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentType.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentType.class
new file mode 100644
index 000000000..1afa9057f
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentType.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentView 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentView 2.class
new file mode 100644
index 000000000..8386523ae
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentView 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentView.class b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentView.class
new file mode 100644
index 000000000..8386523ae
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/TreeTentView.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule 2.class
new file mode 100644
index 000000000..d03eac73a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.class
new file mode 100644
index 000000000..d03eac73a
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/FillinRowCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FillinRowCaseRule 2.class
new file mode 100644
index 000000000..78693d096
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FillinRowCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/FillinRowCaseRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FillinRowCaseRule.class
new file mode 100644
index 000000000..78693d096
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FillinRowCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule 2.class
new file mode 100644
index 000000000..5165c94f8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.class
new file mode 100644
index 000000000..5165c94f8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule 2.class
new file mode 100644
index 000000000..c2f2a8b8c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.class
new file mode 100644
index 000000000..c2f2a8b8c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule 2.class
new file mode 100644
index 000000000..96d9d5237
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.class
new file mode 100644
index 000000000..96d9d5237
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTentCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTentCaseRule 2.class
new file mode 100644
index 000000000..40c6254a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTentCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTentCaseRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTentCaseRule.class
new file mode 100644
index 000000000..40c6254a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTentCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule 2.class
new file mode 100644
index 000000000..ab35b60aa
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.class
new file mode 100644
index 000000000..ab35b60aa
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule 2.class
new file mode 100644
index 000000000..06feb77b8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.class
new file mode 100644
index 000000000..06feb77b8
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule 2.class
new file mode 100644
index 000000000..240e08c63
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.class
new file mode 100644
index 000000000..240e08c63
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule 2.class
new file mode 100644
index 000000000..53043b05c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.class
new file mode 100644
index 000000000..53043b05c
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule 2.class
new file mode 100644
index 000000000..c116b65a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.class
new file mode 100644
index 000000000..c116b65a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule 2.class
new file mode 100644
index 000000000..ca6ab5dc0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.class
new file mode 100644
index 000000000..ca6ab5dc0
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule 2.class
new file mode 100644
index 000000000..bbf991f45
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.class
new file mode 100644
index 000000000..bbf991f45
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule 2.class
new file mode 100644
index 000000000..45ca33834
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.class
new file mode 100644
index 000000000..45ca33834
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule 2.class
new file mode 100644
index 000000000..c4d7d46d4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.class
new file mode 100644
index 000000000..c4d7d46d4
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TreeForTentBasicRule 2.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TreeForTentBasicRule 2.class
new file mode 100644
index 000000000..78d7cfa79
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TreeForTentBasicRule 2.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle/treetent/rules/TreeForTentBasicRule.class b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TreeForTentBasicRule.class
new file mode 100644
index 000000000..78d7cfa79
Binary files /dev/null and b/bin/main/edu/rpi/legup/puzzle/treetent/rules/TreeForTentBasicRule.class differ
diff --git a/bin/main/edu/rpi/legup/puzzle_gen_script/makefile b/bin/main/edu/rpi/legup/puzzle_gen_script/makefile
new file mode 100644
index 000000000..85902842a
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle_gen_script/makefile
@@ -0,0 +1,2 @@
+filegenerate: *.cpp
+ g++ -o gen.exe *.cpp
diff --git a/bin/main/edu/rpi/legup/puzzle_gen_script/makefile 2 b/bin/main/edu/rpi/legup/puzzle_gen_script/makefile 2
new file mode 100644
index 000000000..85902842a
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle_gen_script/makefile 2
@@ -0,0 +1,2 @@
+filegenerate: *.cpp
+ g++ -o gen.exe *.cpp
diff --git a/bin/main/edu/rpi/legup/puzzle_gen_script/puzzle_maker 2.cpp b/bin/main/edu/rpi/legup/puzzle_gen_script/puzzle_maker 2.cpp
new file mode 100644
index 000000000..956f71195
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle_gen_script/puzzle_maker 2.cpp
@@ -0,0 +1,141 @@
+//
+// puzzle_maker.cpp
+//
+//
+// Created by Chris Vanderloo on 4/15/18.
+//
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+void ansi_setup() {
+ //-- SET UP INTERFACE
+ struct winsize w;
+ int i;
+ ioctl(STDOUT_FILENO,TIOCGWINSZ,&w);
+
+ for (i=0; i puzzles;
+ while (fgets(path, PATH_MAX, fp) != NULL) {
+ std::string str = path;
+ str.erase(remove_if(str.begin(), str.end(), isspace), str.end());
+ puzzles.push_back(str);
+ printf("|-- %s", path);
+ }
+ printf("\n\n");
+ std::string name;
+ std::string res;
+ while (true) {
+ printf("\e[KPuzzle Qualified Class Name (with correct capitaliztion): ");
+ name = "";
+ std::cin >> name;
+ res = name;
+ std::transform(name.begin(), name.end(), name.begin(), ::tolower);
+ if (std::find(puzzles.begin(), puzzles.end(), name) != puzzles.end()) break;
+ else printf("\e[A\e[K\e[A\e[K\e[1mInvalid Selection. \e[0mTry again.\n" );
+ }
+ ansi_setup();
+
+ int n=1;
+ printf("\e[3;H\e[1m%s\e[0m\n\n", res.c_str());
+ while (fileExists(res+"Board"+std::to_string(n))){
+ n++;
+ }
+ std::ofstream puzzle(res+"Board"+std::to_string(n));
+ if (puzzle) std::cout << "CREATED FILE - /"+res+"Board"+std::to_string(n)+"\n\n";
+ else {
+ std::cout << "FAILED TO OPEN FILE.\n\n";
+ return 0;
+ }
+ printf("Board Width: ");
+ int width,height;
+ scanf("%d", &width);
+ printf("\e[A\e[KBoard Height: ");
+ scanf("%d", &height);
+
+ std::string output = "";
+ output = output +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n";
+ std::cout << "\e[A\e[K\e[36m" << output << "\e[0m";
+ puzzle << output;
+
+ while (true) {
+ int x,y,val;
+ std::cout << "\e[1mADD CELL (type -1 at any point to finish)\nX: \e[0m";
+ std::cin >> x;
+ if(x==-1) {
+ printf("\e[K\e[A\e[K");
+ break;
+ }
+ std::cout << "\e[1mY: \e[0m";
+ std::cin >> y;
+ if(y==-1) {
+ printf("\e[K\e[A\e[K\e[A\e[K");
+ break;
+ }
+ std::cout << "\e[1mVal: \e[0m";
+ std::cin >> val;
+ if(val==-1) {
+ printf("\e[K\e[A\e[K\e[A\e[K\e[A\e[K");
+ break;
+ }
+ std::cout << "\e[A\e[K\e[A\e[K\e[A\e[K\e[A\e[K\n";
+ output = " | \n";
+ std::cout << "\e[A\e[K\e[36m" << output << "\e[0m";
+ puzzle << output;
+ }
+ output = " \n \n \n";
+ std::cout << "\e[A\e[K\e[36m" << output << "\e[0m";
+ puzzle << output;
+
+
+
+ puzzle.close();
+}
diff --git a/bin/main/edu/rpi/legup/puzzle_gen_script/puzzle_maker.cpp b/bin/main/edu/rpi/legup/puzzle_gen_script/puzzle_maker.cpp
new file mode 100644
index 000000000..956f71195
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzle_gen_script/puzzle_maker.cpp
@@ -0,0 +1,141 @@
+//
+// puzzle_maker.cpp
+//
+//
+// Created by Chris Vanderloo on 4/15/18.
+//
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+void ansi_setup() {
+ //-- SET UP INTERFACE
+ struct winsize w;
+ int i;
+ ioctl(STDOUT_FILENO,TIOCGWINSZ,&w);
+
+ for (i=0; i puzzles;
+ while (fgets(path, PATH_MAX, fp) != NULL) {
+ std::string str = path;
+ str.erase(remove_if(str.begin(), str.end(), isspace), str.end());
+ puzzles.push_back(str);
+ printf("|-- %s", path);
+ }
+ printf("\n\n");
+ std::string name;
+ std::string res;
+ while (true) {
+ printf("\e[KPuzzle Qualified Class Name (with correct capitaliztion): ");
+ name = "";
+ std::cin >> name;
+ res = name;
+ std::transform(name.begin(), name.end(), name.begin(), ::tolower);
+ if (std::find(puzzles.begin(), puzzles.end(), name) != puzzles.end()) break;
+ else printf("\e[A\e[K\e[A\e[K\e[1mInvalid Selection. \e[0mTry again.\n" );
+ }
+ ansi_setup();
+
+ int n=1;
+ printf("\e[3;H\e[1m%s\e[0m\n\n", res.c_str());
+ while (fileExists(res+"Board"+std::to_string(n))){
+ n++;
+ }
+ std::ofstream puzzle(res+"Board"+std::to_string(n));
+ if (puzzle) std::cout << "CREATED FILE - /"+res+"Board"+std::to_string(n)+"\n\n";
+ else {
+ std::cout << "FAILED TO OPEN FILE.\n\n";
+ return 0;
+ }
+ printf("Board Width: ");
+ int width,height;
+ scanf("%d", &width);
+ printf("\e[A\e[KBoard Height: ");
+ scanf("%d", &height);
+
+ std::string output = "";
+ output = output +
+ "\n" +
+ " \n" +
+ " \n" +
+ " \n";
+ std::cout << "\e[A\e[K\e[36m" << output << "\e[0m";
+ puzzle << output;
+
+ while (true) {
+ int x,y,val;
+ std::cout << "\e[1mADD CELL (type -1 at any point to finish)\nX: \e[0m";
+ std::cin >> x;
+ if(x==-1) {
+ printf("\e[K\e[A\e[K");
+ break;
+ }
+ std::cout << "\e[1mY: \e[0m";
+ std::cin >> y;
+ if(y==-1) {
+ printf("\e[K\e[A\e[K\e[A\e[K");
+ break;
+ }
+ std::cout << "\e[1mVal: \e[0m";
+ std::cin >> val;
+ if(val==-1) {
+ printf("\e[K\e[A\e[K\e[A\e[K\e[A\e[K");
+ break;
+ }
+ std::cout << "\e[A\e[K\e[A\e[K\e[A\e[K\e[A\e[K\n";
+ output = " | \n";
+ std::cout << "\e[A\e[K\e[36m" << output << "\e[0m";
+ puzzle << output;
+ }
+ output = " \n \n \n";
+ std::cout << "\e[A\e[K\e[36m" << output << "\e[0m";
+ puzzle << output;
+
+
+
+ puzzle.close();
+}
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/LightUpNEWProofFormat b/bin/main/edu/rpi/legup/puzzlefiles/LightUpNEWProofFormat
new file mode 100644
index 000000000..34a90c7fa
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/LightUpNEWProofFormat
@@ -0,0 +1,59 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/LightUpNEWProofFormat 2 b/bin/main/edu/rpi/legup/puzzlefiles/LightUpNEWProofFormat 2
new file mode 100644
index 000000000..34a90c7fa
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/LightUpNEWProofFormat 2
@@ -0,0 +1,59 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/battleship/BattleShipTest b/bin/main/edu/rpi/legup/puzzlefiles/battleship/BattleShipTest
new file mode 100644
index 000000000..749506a1b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/battleship/BattleShipTest
@@ -0,0 +1,37 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/battleship/BattleShipTest 2 b/bin/main/edu/rpi/legup/puzzlefiles/battleship/BattleShipTest 2
new file mode 100644
index 000000000..749506a1b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/battleship/BattleShipTest 2
@@ -0,0 +1,37 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/fillapix/FillapixBoard1 b/bin/main/edu/rpi/legup/puzzlefiles/fillapix/FillapixBoard1
new file mode 100644
index 000000000..e61199e73
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/fillapix/FillapixBoard1
@@ -0,0 +1,44 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/fillapix/FillapixBoard1 2 b/bin/main/edu/rpi/legup/puzzlefiles/fillapix/FillapixBoard1 2
new file mode 100644
index 000000000..e61199e73
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/fillapix/FillapixBoard1 2
@@ -0,0 +1,44 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard1 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard1
new file mode 100644
index 000000000..864ae4e45
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard1
@@ -0,0 +1,28 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard1 2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard1 2
new file mode 100644
index 000000000..864ae4e45
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard1 2
@@ -0,0 +1,28 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard2
new file mode 100644
index 000000000..3ade1c6ea
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard2
@@ -0,0 +1,186 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard2 2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard2 2
new file mode 100644
index 000000000..3ade1c6ea
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard2 2
@@ -0,0 +1,186 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard3 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard3
new file mode 100644
index 000000000..1665c288b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard3
@@ -0,0 +1,195 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard3 2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard3 2
new file mode 100644
index 000000000..1665c288b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard3 2
@@ -0,0 +1,195 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard4 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard4
new file mode 100644
index 000000000..1a8632752
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard4
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard4 2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard4 2
new file mode 100644
index 000000000..1a8632752
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpBoard4 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof2
new file mode 100644
index 000000000..435191eaa
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof2
@@ -0,0 +1,206 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof2 2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof2 2
new file mode 100644
index 000000000..435191eaa
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof2 2
@@ -0,0 +1,206 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof3 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof3
new file mode 100644
index 000000000..2fb35a854
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof3
@@ -0,0 +1,1087 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+
+ |
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof3 2 b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof3 2
new file mode 100644
index 000000000..2fb35a854
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/lightup/LightUpProof3 2
@@ -0,0 +1,1087 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+ |
+
+
+ |
+ |
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+
+ |
+
+
+ |
+ |
+ |
+
+
+ |
+
+
+
+ |
+
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/masyu/MasyuBoard1 b/bin/main/edu/rpi/legup/puzzlefiles/masyu/MasyuBoard1
new file mode 100644
index 000000000..001c5661a
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/masyu/MasyuBoard1
@@ -0,0 +1,29 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/masyu/MasyuBoard1 2 b/bin/main/edu/rpi/legup/puzzlefiles/masyu/MasyuBoard1 2
new file mode 100644
index 000000000..001c5661a
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/masyu/MasyuBoard1 2
@@ -0,0 +1,29 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoard1 b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoard1
new file mode 100644
index 000000000..e72be317f
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoard1
@@ -0,0 +1,18 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoard1 2 b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoard1 2
new file mode 100644
index 000000000..e72be317f
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoard1 2
@@ -0,0 +1,18 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoardExample b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoardExample
new file mode 100644
index 000000000..694a7a24f
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoardExample
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoardExample 2 b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoardExample 2
new file mode 100644
index 000000000..694a7a24f
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/nurikabe/NurikabeBoardExample 2
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard1 b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard1
new file mode 100644
index 000000000..70331942d
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard1
@@ -0,0 +1,43 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard1 2 b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard1 2
new file mode 100644
index 000000000..70331942d
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard1 2
@@ -0,0 +1,43 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard16x16 b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard16x16
new file mode 100644
index 000000000..60114da60
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard16x16
@@ -0,0 +1,43 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard16x16 2 b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard16x16 2
new file mode 100644
index 000000000..60114da60
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuBoard16x16 2
@@ -0,0 +1,43 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuProof1 b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuProof1
new file mode 100644
index 000000000..5ffb4daed
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuProof1
@@ -0,0 +1,61 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuProof1 2 b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuProof1 2
new file mode 100644
index 000000000..5ffb4daed
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/sudoku/SudokuProof1 2
@@ -0,0 +1,61 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTentBoard1 b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTentBoard1
new file mode 100644
index 000000000..f2330582c
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTentBoard1
@@ -0,0 +1,50 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTentBoard1 2 b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTentBoard1 2
new file mode 100644
index 000000000..f2330582c
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTentBoard1 2
@@ -0,0 +1,50 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTenttest b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTenttest
new file mode 100644
index 000000000..0bd63151b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTenttest
@@ -0,0 +1,1534 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTenttest 2 b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTenttest 2
new file mode 100644
index 000000000..0bd63151b
--- /dev/null
+++ b/bin/main/edu/rpi/legup/puzzlefiles/treetent/TreeTenttest 2
@@ -0,0 +1,1534 @@
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
diff --git a/bin/main/edu/rpi/legup/save/ExportFileException 2.class b/bin/main/edu/rpi/legup/save/ExportFileException 2.class
new file mode 100644
index 000000000..3de2e9375
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/ExportFileException 2.class differ
diff --git a/bin/main/edu/rpi/legup/save/ExportFileException.class b/bin/main/edu/rpi/legup/save/ExportFileException.class
new file mode 100644
index 000000000..3de2e9375
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/ExportFileException.class differ
diff --git a/bin/main/edu/rpi/legup/save/InvalidFileFormatException 2.class b/bin/main/edu/rpi/legup/save/InvalidFileFormatException 2.class
new file mode 100644
index 000000000..a7d71d70d
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/InvalidFileFormatException 2.class differ
diff --git a/bin/main/edu/rpi/legup/save/InvalidFileFormatException.class b/bin/main/edu/rpi/legup/save/InvalidFileFormatException.class
new file mode 100644
index 000000000..a7d71d70d
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/InvalidFileFormatException.class differ
diff --git a/bin/main/edu/rpi/legup/save/SavableBoard 2.class b/bin/main/edu/rpi/legup/save/SavableBoard 2.class
new file mode 100644
index 000000000..d22e5e845
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/SavableBoard 2.class differ
diff --git a/bin/main/edu/rpi/legup/save/SavableBoard.class b/bin/main/edu/rpi/legup/save/SavableBoard.class
new file mode 100644
index 000000000..d22e5e845
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/SavableBoard.class differ
diff --git a/bin/main/edu/rpi/legup/save/SavableProof 2.class b/bin/main/edu/rpi/legup/save/SavableProof 2.class
new file mode 100644
index 000000000..6128800aa
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/SavableProof 2.class differ
diff --git a/bin/main/edu/rpi/legup/save/SavableProof.class b/bin/main/edu/rpi/legup/save/SavableProof.class
new file mode 100644
index 000000000..6128800aa
Binary files /dev/null and b/bin/main/edu/rpi/legup/save/SavableProof.class differ
diff --git a/bin/main/edu/rpi/legup/ui/DynamicView 2.class b/bin/main/edu/rpi/legup/ui/DynamicView 2.class
new file mode 100644
index 000000000..456629643
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/DynamicView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/DynamicView.class b/bin/main/edu/rpi/legup/ui/DynamicView.class
new file mode 100644
index 000000000..456629643
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/DynamicView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/LegupUI 2.class b/bin/main/edu/rpi/legup/ui/LegupUI 2.class
new file mode 100644
index 000000000..ece99b565
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/LegupUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/LegupUI$1 2.class b/bin/main/edu/rpi/legup/ui/LegupUI$1 2.class
new file mode 100644
index 000000000..73a716a19
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/LegupUI$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/LegupUI$1.class b/bin/main/edu/rpi/legup/ui/LegupUI$1.class
new file mode 100644
index 000000000..7c08437ac
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/LegupUI$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/LegupUI$2 2.class b/bin/main/edu/rpi/legup/ui/LegupUI$2 2.class
new file mode 100644
index 000000000..be8f6e73d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/LegupUI$2 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/LegupUI$2.class b/bin/main/edu/rpi/legup/ui/LegupUI$2.class
new file mode 100644
index 000000000..4df4d766f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/LegupUI$2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/LegupUI.class b/bin/main/edu/rpi/legup/ui/LegupUI.class
new file mode 100644
index 000000000..2a61b86d4
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/LegupUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ManualPuzzleCreatorDialog 2.class b/bin/main/edu/rpi/legup/ui/ManualPuzzleCreatorDialog 2.class
new file mode 100644
index 000000000..6bab64759
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ManualPuzzleCreatorDialog 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ManualPuzzleCreatorDialog.class b/bin/main/edu/rpi/legup/ui/ManualPuzzleCreatorDialog.class
new file mode 100644
index 000000000..6bab64759
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ManualPuzzleCreatorDialog.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PickGameDialog 2.class b/bin/main/edu/rpi/legup/ui/PickGameDialog 2.class
new file mode 100644
index 000000000..b646342ad
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PickGameDialog 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PickGameDialog.class b/bin/main/edu/rpi/legup/ui/PickGameDialog.class
new file mode 100644
index 000000000..b646342ad
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PickGameDialog.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PreferencesDialog 2.class b/bin/main/edu/rpi/legup/ui/PreferencesDialog 2.class
new file mode 100644
index 000000000..7395356fd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PreferencesDialog 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PreferencesDialog$1 2.class b/bin/main/edu/rpi/legup/ui/PreferencesDialog$1 2.class
new file mode 100644
index 000000000..691c6d546
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PreferencesDialog$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PreferencesDialog$1.class b/bin/main/edu/rpi/legup/ui/PreferencesDialog$1.class
new file mode 100644
index 000000000..691c6d546
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PreferencesDialog$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PreferencesDialog$2 2.class b/bin/main/edu/rpi/legup/ui/PreferencesDialog$2 2.class
new file mode 100644
index 000000000..3672a84a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PreferencesDialog$2 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PreferencesDialog$2.class b/bin/main/edu/rpi/legup/ui/PreferencesDialog$2.class
new file mode 100644
index 000000000..3672a84a1
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PreferencesDialog$2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PreferencesDialog.class b/bin/main/edu/rpi/legup/ui/PreferencesDialog.class
new file mode 100644
index 000000000..7395356fd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PreferencesDialog.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PuzzleCreatorView 2.class b/bin/main/edu/rpi/legup/ui/PuzzleCreatorView 2.class
new file mode 100644
index 000000000..2eb0d0fbb
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PuzzleCreatorView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/PuzzleCreatorView.class b/bin/main/edu/rpi/legup/ui/PuzzleCreatorView.class
new file mode 100644
index 000000000..2eb0d0fbb
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/PuzzleCreatorView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ScrollView 2.class b/bin/main/edu/rpi/legup/ui/ScrollView 2.class
new file mode 100644
index 000000000..702786bec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ScrollView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ScrollView$1 2.class b/bin/main/edu/rpi/legup/ui/ScrollView$1 2.class
new file mode 100644
index 000000000..3f3464aa2
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ScrollView$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ScrollView$1$1 2.class b/bin/main/edu/rpi/legup/ui/ScrollView$1$1 2.class
new file mode 100644
index 000000000..9fd8cef71
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ScrollView$1$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ScrollView$1$1.class b/bin/main/edu/rpi/legup/ui/ScrollView$1$1.class
new file mode 100644
index 000000000..9fd8cef71
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ScrollView$1$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ScrollView$1.class b/bin/main/edu/rpi/legup/ui/ScrollView$1.class
new file mode 100644
index 000000000..3f3464aa2
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ScrollView$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ScrollView.class b/bin/main/edu/rpi/legup/ui/ScrollView.class
new file mode 100644
index 000000000..702786bec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ScrollView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ToolbarName 2.class b/bin/main/edu/rpi/legup/ui/ToolbarName 2.class
new file mode 100644
index 000000000..92640597b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ToolbarName 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ToolbarName.class b/bin/main/edu/rpi/legup/ui/ToolbarName.class
new file mode 100644
index 000000000..92640597b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ToolbarName.class differ
diff --git a/bin/main/edu/rpi/legup/ui/WrapLayout 2.class b/bin/main/edu/rpi/legup/ui/WrapLayout 2.class
new file mode 100644
index 000000000..0ffa05e19
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/WrapLayout 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/WrapLayout.class b/bin/main/edu/rpi/legup/ui/WrapLayout.class
new file mode 100644
index 000000000..0ffa05e19
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/WrapLayout.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomWidget 2.class b/bin/main/edu/rpi/legup/ui/ZoomWidget 2.class
new file mode 100644
index 000000000..0a1feb8ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomWidget 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomWidget$1 2.class b/bin/main/edu/rpi/legup/ui/ZoomWidget$1 2.class
new file mode 100644
index 000000000..8ab3fc126
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomWidget$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomWidget$1.class b/bin/main/edu/rpi/legup/ui/ZoomWidget$1.class
new file mode 100644
index 000000000..8ab3fc126
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomWidget$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomWidget$PopupSlider 2.class b/bin/main/edu/rpi/legup/ui/ZoomWidget$PopupSlider 2.class
new file mode 100644
index 000000000..8b8873232
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomWidget$PopupSlider 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomWidget$PopupSlider.class b/bin/main/edu/rpi/legup/ui/ZoomWidget$PopupSlider.class
new file mode 100644
index 000000000..8b8873232
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomWidget$PopupSlider.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomWidget.class b/bin/main/edu/rpi/legup/ui/ZoomWidget.class
new file mode 100644
index 000000000..0a1feb8ec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomWidget.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomablePane 2.class b/bin/main/edu/rpi/legup/ui/ZoomablePane 2.class
new file mode 100644
index 000000000..510a9edc7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomablePane 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/ZoomablePane.class b/bin/main/edu/rpi/legup/ui/ZoomablePane.class
new file mode 100644
index 000000000..510a9edc7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/ZoomablePane.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/BoardView 2.class b/bin/main/edu/rpi/legup/ui/boardview/BoardView 2.class
new file mode 100644
index 000000000..9322e3e2b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/BoardView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/BoardView.class b/bin/main/edu/rpi/legup/ui/boardview/BoardView.class
new file mode 100644
index 000000000..9322e3e2b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/BoardView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/DataSelectionView 2.class b/bin/main/edu/rpi/legup/ui/boardview/DataSelectionView 2.class
new file mode 100644
index 000000000..44ab72ad2
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/DataSelectionView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/DataSelectionView.class b/bin/main/edu/rpi/legup/ui/boardview/DataSelectionView.class
new file mode 100644
index 000000000..44ab72ad2
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/DataSelectionView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/ElementSelection 2.class b/bin/main/edu/rpi/legup/ui/boardview/ElementSelection 2.class
new file mode 100644
index 000000000..e85095aec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/ElementSelection 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/ElementSelection.class b/bin/main/edu/rpi/legup/ui/boardview/ElementSelection.class
new file mode 100644
index 000000000..e85095aec
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/ElementSelection.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/ElementView 2.class b/bin/main/edu/rpi/legup/ui/boardview/ElementView 2.class
new file mode 100644
index 000000000..4c3bc7ea0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/ElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/ElementView.class b/bin/main/edu/rpi/legup/ui/boardview/ElementView.class
new file mode 100644
index 000000000..4c3bc7ea0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/ElementView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/GridBoardView 2.class b/bin/main/edu/rpi/legup/ui/boardview/GridBoardView 2.class
new file mode 100644
index 000000000..4d5434d83
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/GridBoardView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/GridBoardView.class b/bin/main/edu/rpi/legup/ui/boardview/GridBoardView.class
new file mode 100644
index 000000000..4d5434d83
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/GridBoardView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/GridElementView 2.class b/bin/main/edu/rpi/legup/ui/boardview/GridElementView 2.class
new file mode 100644
index 000000000..b21cdc368
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/GridElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/GridElementView.class b/bin/main/edu/rpi/legup/ui/boardview/GridElementView.class
new file mode 100644
index 000000000..b21cdc368
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/GridElementView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/SelectionItemView 2.class b/bin/main/edu/rpi/legup/ui/boardview/SelectionItemView 2.class
new file mode 100644
index 000000000..1c67bfa4c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/SelectionItemView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/boardview/SelectionItemView.class b/bin/main/edu/rpi/legup/ui/boardview/SelectionItemView.class
new file mode 100644
index 000000000..1c67bfa4c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/boardview/SelectionItemView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/LegupLookAndFeel 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/LegupLookAndFeel 2.class
new file mode 100644
index 000000000..25f43a359
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/LegupLookAndFeel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/LegupLookAndFeel.class b/bin/main/edu/rpi/legup/ui/lookandfeel/LegupLookAndFeel.class
new file mode 100644
index 000000000..25f43a359
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/LegupLookAndFeel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUIMovement 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUIMovement 2.class
new file mode 100644
index 000000000..ff242c39b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUIMovement 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUIMovement.class b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUIMovement.class
new file mode 100644
index 000000000..ff242c39b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUIMovement.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUITimer 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUITimer 2.class
new file mode 100644
index 000000000..a5dfb858d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUITimer 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUITimer.class b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUITimer.class
new file mode 100644
index 000000000..a5dfb858d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/animation/MaterialUITimer.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialButtonUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialButtonUI 2.class
new file mode 100644
index 000000000..b9dcf7092
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialButtonUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialButtonUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialButtonUI.class
new file mode 100644
index 000000000..b9dcf7092
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialButtonUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxMenuItemUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxMenuItemUI 2.class
new file mode 100644
index 000000000..1e581d1f6
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxMenuItemUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxMenuItemUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxMenuItemUI.class
new file mode 100644
index 000000000..1e581d1f6
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxMenuItemUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxUI 2.class
new file mode 100644
index 000000000..cf94cb592
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxUI.class
new file mode 100644
index 000000000..cf94cb592
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialCheckBoxUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxRenderer 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxRenderer 2.class
new file mode 100644
index 000000000..1fcfaf5d7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxRenderer 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxRenderer.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxRenderer.class
new file mode 100644
index 000000000..1fcfaf5d7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxRenderer.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxUI 2.class
new file mode 100644
index 000000000..c6be4093c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxUI.class
new file mode 100644
index 000000000..c6be4093c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialComboBoxUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialEditorPaneUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialEditorPaneUI 2.class
new file mode 100644
index 000000000..1cc6af025
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialEditorPaneUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialEditorPaneUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialEditorPaneUI.class
new file mode 100644
index 000000000..1cc6af025
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialEditorPaneUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialFileChooserUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialFileChooserUI 2.class
new file mode 100644
index 000000000..4d83424a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialFileChooserUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialFileChooserUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialFileChooserUI.class
new file mode 100644
index 000000000..4d83424a4
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialFileChooserUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialLabelUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialLabelUI 2.class
new file mode 100644
index 000000000..0b27f9147
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialLabelUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialLabelUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialLabelUI.class
new file mode 100644
index 000000000..0b27f9147
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialLabelUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuBarUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuBarUI 2.class
new file mode 100644
index 000000000..e89d12f3a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuBarUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuBarUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuBarUI.class
new file mode 100644
index 000000000..e89d12f3a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuBarUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuItemUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuItemUI 2.class
new file mode 100644
index 000000000..606d11122
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuItemUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuItemUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuItemUI.class
new file mode 100644
index 000000000..606d11122
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuItemUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuUI 2.class
new file mode 100644
index 000000000..5cdcac6d9
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuUI.class
new file mode 100644
index 000000000..5cdcac6d9
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialMenuUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPanelUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPanelUI 2.class
new file mode 100644
index 000000000..709bd4352
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPanelUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPanelUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPanelUI.class
new file mode 100644
index 000000000..709bd4352
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPanelUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI 2.class
new file mode 100644
index 000000000..fe7152bf2
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$1 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$1 2.class
new file mode 100644
index 000000000..750352d60
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$1.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$1.class
new file mode 100644
index 000000000..750352d60
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$2 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$2 2.class
new file mode 100644
index 000000000..3ae334c67
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$2 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$2.class
new file mode 100644
index 000000000..3ae334c67
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$3 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$3 2.class
new file mode 100644
index 000000000..c9c877212
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$3 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$3.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$3.class
new file mode 100644
index 000000000..c9c877212
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$3.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$4 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$4 2.class
new file mode 100644
index 000000000..97ebd66fb
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$4 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$4.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$4.class
new file mode 100644
index 000000000..97ebd66fb
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$4.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$MaterialPasswordView 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$MaterialPasswordView 2.class
new file mode 100644
index 000000000..b92565165
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$MaterialPasswordView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$MaterialPasswordView.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$MaterialPasswordView.class
new file mode 100644
index 000000000..b92565165
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI$MaterialPasswordView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI.class
new file mode 100644
index 000000000..fe7152bf2
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPasswordFieldUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPopupMenuUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPopupMenuUI 2.class
new file mode 100644
index 000000000..ead3ef23c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPopupMenuUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPopupMenuUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPopupMenuUI.class
new file mode 100644
index 000000000..ead3ef23c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialPopupMenuUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialProgressBarUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialProgressBarUI 2.class
new file mode 100644
index 000000000..2eac15337
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialProgressBarUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialProgressBarUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialProgressBarUI.class
new file mode 100644
index 000000000..2eac15337
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialProgressBarUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonMenuItemUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonMenuItemUI 2.class
new file mode 100644
index 000000000..d10e31dcd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonMenuItemUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonMenuItemUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonMenuItemUI.class
new file mode 100644
index 000000000..d10e31dcd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonMenuItemUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonUI 2.class
new file mode 100644
index 000000000..ff11ce35c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonUI.class
new file mode 100644
index 000000000..ff11ce35c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialRadioButtonUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialScrollBarUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialScrollBarUI 2.class
new file mode 100644
index 000000000..3e3b1806c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialScrollBarUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialScrollBarUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialScrollBarUI.class
new file mode 100644
index 000000000..3e3b1806c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialScrollBarUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSeparatorUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSeparatorUI 2.class
new file mode 100644
index 000000000..8e13f3bfe
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSeparatorUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSeparatorUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSeparatorUI.class
new file mode 100644
index 000000000..8e13f3bfe
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSeparatorUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI 2.class
new file mode 100644
index 000000000..2cead5858
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI$Line 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI$Line 2.class
new file mode 100644
index 000000000..309ac8790
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI$Line 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI$Line.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI$Line.class
new file mode 100644
index 000000000..309ac8790
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI$Line.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI.class
new file mode 100644
index 000000000..2cead5858
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSliderUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSpinnerUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSpinnerUI 2.class
new file mode 100644
index 000000000..61fe82230
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSpinnerUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSpinnerUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSpinnerUI.class
new file mode 100644
index 000000000..61fe82230
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSpinnerUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneDivider 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneDivider 2.class
new file mode 100644
index 000000000..f5cded50f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneDivider 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneDivider.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneDivider.class
new file mode 100644
index 000000000..f5cded50f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneDivider.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneUI 2.class
new file mode 100644
index 000000000..8610aaedd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneUI.class
new file mode 100644
index 000000000..8610aaedd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialSplitPaneUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTabbedPaneUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTabbedPaneUI 2.class
new file mode 100644
index 000000000..8d5e56762
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTabbedPaneUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTabbedPaneUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTabbedPaneUI.class
new file mode 100644
index 000000000..8d5e56762
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTabbedPaneUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellEditor 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellEditor 2.class
new file mode 100644
index 000000000..0e0ada981
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellEditor 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellEditor.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellEditor.class
new file mode 100644
index 000000000..0e0ada981
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellEditor.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellRenderer 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellRenderer 2.class
new file mode 100644
index 000000000..feade7c2f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellRenderer 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellRenderer.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellRenderer.class
new file mode 100644
index 000000000..feade7c2f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableCellRenderer.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderCellRenderer 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderCellRenderer 2.class
new file mode 100644
index 000000000..d5cd77b15
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderCellRenderer 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderCellRenderer.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderCellRenderer.class
new file mode 100644
index 000000000..d5cd77b15
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderCellRenderer.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderUI 2.class
new file mode 100644
index 000000000..6897a4b7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderUI.class
new file mode 100644
index 000000000..6897a4b7d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableHeaderUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableUI 2.class
new file mode 100644
index 000000000..9f05a8cfe
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableUI.class
new file mode 100644
index 000000000..9f05a8cfe
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTableUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI 2.class
new file mode 100644
index 000000000..6a0411b8c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$1 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$1 2.class
new file mode 100644
index 000000000..4710c13cf
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$1.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$1.class
new file mode 100644
index 000000000..4710c13cf
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$2 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$2 2.class
new file mode 100644
index 000000000..948f0c9b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$2 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$2.class
new file mode 100644
index 000000000..948f0c9b4
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$3 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$3 2.class
new file mode 100644
index 000000000..a7821f2e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$3 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$3.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$3.class
new file mode 100644
index 000000000..a7821f2e6
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$3.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$4 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$4 2.class
new file mode 100644
index 000000000..111e5777a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$4 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$4.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$4.class
new file mode 100644
index 000000000..111e5777a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$4.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$5 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$5 2.class
new file mode 100644
index 000000000..3a197d63f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$5 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$5.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$5.class
new file mode 100644
index 000000000..3a197d63f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI$5.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI.class
new file mode 100644
index 000000000..6a0411b8c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextFieldUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextPaneUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextPaneUI 2.class
new file mode 100644
index 000000000..7a16fe953
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextPaneUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextPaneUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextPaneUI.class
new file mode 100644
index 000000000..7a16fe953
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTextPaneUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToggleButtonUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToggleButtonUI 2.class
new file mode 100644
index 000000000..526a82a8a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToggleButtonUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToggleButtonUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToggleButtonUI.class
new file mode 100644
index 000000000..526a82a8a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToggleButtonUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolBarUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolBarUI 2.class
new file mode 100644
index 000000000..642abfd69
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolBarUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolBarUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolBarUI.class
new file mode 100644
index 000000000..642abfd69
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolBarUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolTipUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolTipUI 2.class
new file mode 100644
index 000000000..ea4983bd5
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolTipUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolTipUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolTipUI.class
new file mode 100644
index 000000000..ea4983bd5
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialToolTipUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor 2.class
new file mode 100644
index 000000000..57fc056c0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor$1 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor$1 2.class
new file mode 100644
index 000000000..0e2cd04d6
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor$1.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor$1.class
new file mode 100644
index 000000000..0e2cd04d6
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor.class
new file mode 100644
index 000000000..57fc056c0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellEditor.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellRenderer 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellRenderer 2.class
new file mode 100644
index 000000000..de23cd90c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellRenderer 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellRenderer.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellRenderer.class
new file mode 100644
index 000000000..de23cd90c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeCellRenderer.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeUI 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeUI 2.class
new file mode 100644
index 000000000..8ecd9b994
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeUI 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeUI.class b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeUI.class
new file mode 100644
index 000000000..8ecd9b994
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/components/MaterialTreeUI.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder 2.class
new file mode 100644
index 000000000..96c85e2bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder$Position 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder$Position 2.class
new file mode 100644
index 000000000..55f5a3bd7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder$Position 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder$Position.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder$Position.class
new file mode 100644
index 000000000..55f5a3bd7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder$Position.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder.class
new file mode 100644
index 000000000..96c85e2bc
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/DropShadowBorder.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialBorders 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialBorders 2.class
new file mode 100644
index 000000000..1d7546709
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialBorders 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialBorders.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialBorders.class
new file mode 100644
index 000000000..1d7546709
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialBorders.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialColors 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialColors 2.class
new file mode 100644
index 000000000..41e97d42b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialColors 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialColors.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialColors.class
new file mode 100644
index 000000000..41e97d42b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialColors.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialDrawingUtils 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialDrawingUtils 2.class
new file mode 100644
index 000000000..870c2e8db
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialDrawingUtils 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialDrawingUtils.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialDrawingUtils.class
new file mode 100644
index 000000000..870c2e8db
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialDrawingUtils.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialFonts 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialFonts 2.class
new file mode 100644
index 000000000..00e5ca6bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialFonts 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialFonts.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialFonts.class
new file mode 100644
index 000000000..00e5ca6bd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialFonts.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialImages 2.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialImages 2.class
new file mode 100644
index 000000000..47e322185
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialImages 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialImages.class b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialImages.class
new file mode 100644
index 000000000..47e322185
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/lookandfeel/materialdesign/MaterialImages.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/BasicRulePanel 2.class b/bin/main/edu/rpi/legup/ui/rulesview/BasicRulePanel 2.class
new file mode 100644
index 000000000..b114e5463
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/BasicRulePanel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/BasicRulePanel.class b/bin/main/edu/rpi/legup/ui/rulesview/BasicRulePanel.class
new file mode 100644
index 000000000..b114e5463
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/BasicRulePanel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/CaseRulePanel 2.class b/bin/main/edu/rpi/legup/ui/rulesview/CaseRulePanel 2.class
new file mode 100644
index 000000000..63281527d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/CaseRulePanel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/CaseRulePanel.class b/bin/main/edu/rpi/legup/ui/rulesview/CaseRulePanel.class
new file mode 100644
index 000000000..63281527d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/CaseRulePanel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/CaseRuleSelectionView 2.class b/bin/main/edu/rpi/legup/ui/rulesview/CaseRuleSelectionView 2.class
new file mode 100644
index 000000000..6aa3525d0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/CaseRuleSelectionView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/CaseRuleSelectionView.class b/bin/main/edu/rpi/legup/ui/rulesview/CaseRuleSelectionView.class
new file mode 100644
index 000000000..6aa3525d0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/CaseRuleSelectionView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/ContradictionRulePanel 2.class b/bin/main/edu/rpi/legup/ui/rulesview/ContradictionRulePanel 2.class
new file mode 100644
index 000000000..9a0fc2629
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/ContradictionRulePanel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/ContradictionRulePanel.class b/bin/main/edu/rpi/legup/ui/rulesview/ContradictionRulePanel.class
new file mode 100644
index 000000000..9a0fc2629
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/ContradictionRulePanel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/RuleButton 2.class b/bin/main/edu/rpi/legup/ui/rulesview/RuleButton 2.class
new file mode 100644
index 000000000..95ab41b25
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/RuleButton 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/RuleButton.class b/bin/main/edu/rpi/legup/ui/rulesview/RuleButton.class
new file mode 100644
index 000000000..95ab41b25
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/RuleButton.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/RuleFrame 2.class b/bin/main/edu/rpi/legup/ui/rulesview/RuleFrame 2.class
new file mode 100644
index 000000000..4e805241f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/RuleFrame 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/RuleFrame.class b/bin/main/edu/rpi/legup/ui/rulesview/RuleFrame.class
new file mode 100644
index 000000000..4e805241f
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/RuleFrame.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/RulePanel 2.class b/bin/main/edu/rpi/legup/ui/rulesview/RulePanel 2.class
new file mode 100644
index 000000000..46996536c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/RulePanel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/rulesview/RulePanel.class b/bin/main/edu/rpi/legup/ui/rulesview/RulePanel.class
new file mode 100644
index 000000000..46996536c
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/rulesview/RulePanel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeElementView 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeElementView 2.class
new file mode 100644
index 000000000..d451b96e7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeElementView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeElementView.class b/bin/main/edu/rpi/legup/ui/treeview/TreeElementView.class
new file mode 100644
index 000000000..d451b96e7
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeElementView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeNodeView 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeNodeView 2.class
new file mode 100644
index 000000000..59e84c5e0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeNodeView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeNodeView.class b/bin/main/edu/rpi/legup/ui/treeview/TreeNodeView.class
new file mode 100644
index 000000000..59e84c5e0
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeNodeView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreePanel 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreePanel 2.class
new file mode 100644
index 000000000..0232babcd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreePanel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreePanel.class b/bin/main/edu/rpi/legup/ui/treeview/TreePanel.class
new file mode 100644
index 000000000..0232babcd
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreePanel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarButton 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarButton 2.class
new file mode 100644
index 000000000..042be7b0d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarButton 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarButton.class b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarButton.class
new file mode 100644
index 000000000..042be7b0d
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarButton.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarName 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarName 2.class
new file mode 100644
index 000000000..f41328e19
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarName 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarName.class b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarName.class
new file mode 100644
index 000000000..f41328e19
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeToolBarName.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeToolbarPanel 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeToolbarPanel 2.class
new file mode 100644
index 000000000..47ed5eb84
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeToolbarPanel 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeToolbarPanel.class b/bin/main/edu/rpi/legup/ui/treeview/TreeToolbarPanel.class
new file mode 100644
index 000000000..47ed5eb84
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeToolbarPanel.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeTransitionView 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeTransitionView 2.class
new file mode 100644
index 000000000..18574f8fa
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeTransitionView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeTransitionView.class b/bin/main/edu/rpi/legup/ui/treeview/TreeTransitionView.class
new file mode 100644
index 000000000..18574f8fa
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeTransitionView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeView 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeView 2.class
new file mode 100644
index 000000000..57e81236b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeView 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeView$1 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1 2.class
new file mode 100644
index 000000000..8cb593dcf
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeView$1$1 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1$1 2.class
new file mode 100644
index 000000000..333f58149
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1$1 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeView$1$1.class b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1$1.class
new file mode 100644
index 000000000..333f58149
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeView$1.class b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1.class
new file mode 100644
index 000000000..8cb593dcf
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeView$1.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeView.class b/bin/main/edu/rpi/legup/ui/treeview/TreeView.class
new file mode 100644
index 000000000..57e81236b
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeView.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeViewSelection 2.class b/bin/main/edu/rpi/legup/ui/treeview/TreeViewSelection 2.class
new file mode 100644
index 000000000..5cf25572a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeViewSelection 2.class differ
diff --git a/bin/main/edu/rpi/legup/ui/treeview/TreeViewSelection.class b/bin/main/edu/rpi/legup/ui/treeview/TreeViewSelection.class
new file mode 100644
index 000000000..5cf25572a
Binary files /dev/null and b/bin/main/edu/rpi/legup/ui/treeview/TreeViewSelection.class differ
diff --git a/bin/main/edu/rpi/legup/user/Submission 2.class b/bin/main/edu/rpi/legup/user/Submission 2.class
new file mode 100644
index 000000000..87e975af2
Binary files /dev/null and b/bin/main/edu/rpi/legup/user/Submission 2.class differ
diff --git a/bin/main/edu/rpi/legup/user/Submission.class b/bin/main/edu/rpi/legup/user/Submission.class
new file mode 100644
index 000000000..87e975af2
Binary files /dev/null and b/bin/main/edu/rpi/legup/user/Submission.class differ
diff --git a/bin/main/edu/rpi/legup/user/UsageStatistics 2.class b/bin/main/edu/rpi/legup/user/UsageStatistics 2.class
new file mode 100644
index 000000000..6c16c5728
Binary files /dev/null and b/bin/main/edu/rpi/legup/user/UsageStatistics 2.class differ
diff --git a/bin/main/edu/rpi/legup/user/UsageStatistics.class b/bin/main/edu/rpi/legup/user/UsageStatistics.class
new file mode 100644
index 000000000..6c16c5728
Binary files /dev/null and b/bin/main/edu/rpi/legup/user/UsageStatistics.class differ
diff --git a/bin/main/edu/rpi/legup/user/User 2.class b/bin/main/edu/rpi/legup/user/User 2.class
new file mode 100644
index 000000000..87cb8f20a
Binary files /dev/null and b/bin/main/edu/rpi/legup/user/User 2.class differ
diff --git a/bin/main/edu/rpi/legup/user/User.class b/bin/main/edu/rpi/legup/user/User.class
new file mode 100644
index 000000000..87cb8f20a
Binary files /dev/null and b/bin/main/edu/rpi/legup/user/User.class differ
diff --git a/bin/main/edu/rpi/legup/utility/ConnectedRegions 2.class b/bin/main/edu/rpi/legup/utility/ConnectedRegions 2.class
new file mode 100644
index 000000000..678cef698
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/ConnectedRegions 2.class differ
diff --git a/bin/main/edu/rpi/legup/utility/ConnectedRegions.class b/bin/main/edu/rpi/legup/utility/ConnectedRegions.class
new file mode 100644
index 000000000..678cef698
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/ConnectedRegions.class differ
diff --git a/bin/main/edu/rpi/legup/utility/DisjointSets 2.class b/bin/main/edu/rpi/legup/utility/DisjointSets 2.class
new file mode 100644
index 000000000..7fc454393
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/DisjointSets 2.class differ
diff --git a/bin/main/edu/rpi/legup/utility/DisjointSets.class b/bin/main/edu/rpi/legup/utility/DisjointSets.class
new file mode 100644
index 000000000..7fc454393
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/DisjointSets.class differ
diff --git a/bin/main/edu/rpi/legup/utility/Entry 2.class b/bin/main/edu/rpi/legup/utility/Entry 2.class
new file mode 100644
index 000000000..fcb131ee4
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/Entry 2.class differ
diff --git a/bin/main/edu/rpi/legup/utility/Entry.class b/bin/main/edu/rpi/legup/utility/Entry.class
new file mode 100644
index 000000000..fcb131ee4
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/Entry.class differ
diff --git a/bin/main/edu/rpi/legup/utility/LegupUtils 2.class b/bin/main/edu/rpi/legup/utility/LegupUtils 2.class
new file mode 100644
index 000000000..11d6f06fa
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/LegupUtils 2.class differ
diff --git a/bin/main/edu/rpi/legup/utility/LegupUtils.class b/bin/main/edu/rpi/legup/utility/LegupUtils.class
new file mode 100644
index 000000000..11d6f06fa
Binary files /dev/null and b/bin/main/edu/rpi/legup/utility/LegupUtils.class differ
diff --git a/bin/main/log4j2.xml b/bin/main/log4j2.xml
new file mode 100644
index 000000000..bbdd403e2
--- /dev/null
+++ b/bin/main/log4j2.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/legup/MockGameBoardFacade 2.class b/bin/test/legup/MockGameBoardFacade 2.class
new file mode 100644
index 000000000..b17311bfb
Binary files /dev/null and b/bin/test/legup/MockGameBoardFacade 2.class differ
diff --git a/bin/test/legup/MockGameBoardFacade.class b/bin/test/legup/MockGameBoardFacade.class
new file mode 100644
index 000000000..b17311bfb
Binary files /dev/null and b/bin/test/legup/MockGameBoardFacade.class differ
diff --git a/bin/test/legup/TestUtilities 2.class b/bin/test/legup/TestUtilities 2.class
new file mode 100644
index 000000000..fd65d07e6
Binary files /dev/null and b/bin/test/legup/TestUtilities 2.class differ
diff --git a/bin/test/legup/TestUtilities.class b/bin/test/legup/TestUtilities.class
new file mode 100644
index 000000000..fd65d07e6
Binary files /dev/null and b/bin/test/legup/TestUtilities.class differ
diff --git a/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInHorizontalPath b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInHorizontalPath
new file mode 100644
index 000000000..1b4926106
--- /dev/null
+++ b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInHorizontalPath
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInHorizontalPath 2 b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInHorizontalPath 2
new file mode 100644
index 000000000..1b4926106
--- /dev/null
+++ b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInHorizontalPath 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInVerticalPath b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInVerticalPath
new file mode 100644
index 000000000..48aa7010c
--- /dev/null
+++ b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInVerticalPath
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInVerticalPath 2 b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInVerticalPath 2
new file mode 100644
index 000000000..48aa7010c
--- /dev/null
+++ b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRule/LightInVerticalPath 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRuleTest 2.class b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRuleTest 2.class
new file mode 100644
index 000000000..6acfcf99c
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRuleTest.class b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRuleTest.class
new file mode 100644
index 000000000..6acfcf99c
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/BulbsInPathContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/BulbsOutsideDiagonalBasicRuleTest 2.class b/bin/test/puzzles/lightup/rules/BulbsOutsideDiagonalBasicRuleTest 2.class
new file mode 100644
index 000000000..976b9737b
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/BulbsOutsideDiagonalBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/BulbsOutsideDiagonalBasicRuleTest.class b/bin/test/puzzles/lightup/rules/BulbsOutsideDiagonalBasicRuleTest.class
new file mode 100644
index 000000000..976b9737b
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/BulbsOutsideDiagonalBasicRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/CannotLightACellContradictionRuleTest 2.class b/bin/test/puzzles/lightup/rules/CannotLightACellContradictionRuleTest 2.class
new file mode 100644
index 000000000..0b71673f1
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/CannotLightACellContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/CannotLightACellContradictionRuleTest.class b/bin/test/puzzles/lightup/rules/CannotLightACellContradictionRuleTest.class
new file mode 100644
index 000000000..0b71673f1
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/CannotLightACellContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/EmptyCellinLightBasicRuleTest 2.class b/bin/test/puzzles/lightup/rules/EmptyCellinLightBasicRuleTest 2.class
new file mode 100644
index 000000000..031189e21
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/EmptyCellinLightBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/EmptyCellinLightBasicRuleTest.class b/bin/test/puzzles/lightup/rules/EmptyCellinLightBasicRuleTest.class
new file mode 100644
index 000000000..031189e21
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/EmptyCellinLightBasicRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/EmptyCornersBasicRuleTest 2.class b/bin/test/puzzles/lightup/rules/EmptyCornersBasicRuleTest 2.class
new file mode 100644
index 000000000..273524c21
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/EmptyCornersBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/EmptyCornersBasicRuleTest.class b/bin/test/puzzles/lightup/rules/EmptyCornersBasicRuleTest.class
new file mode 100644
index 000000000..273524c21
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/EmptyCornersBasicRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/FinishWithBulbsBasicRuleTest 2.class b/bin/test/puzzles/lightup/rules/FinishWithBulbsBasicRuleTest 2.class
new file mode 100644
index 000000000..e360eae9a
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/FinishWithBulbsBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/FinishWithBulbsBasicRuleTest.class b/bin/test/puzzles/lightup/rules/FinishWithBulbsBasicRuleTest.class
new file mode 100644
index 000000000..e360eae9a
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/FinishWithBulbsBasicRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/FinishWithEmptyBasicRuleTest 2.class b/bin/test/puzzles/lightup/rules/FinishWithEmptyBasicRuleTest 2.class
new file mode 100644
index 000000000..242ce795b
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/FinishWithEmptyBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/FinishWithEmptyBasicRuleTest.class b/bin/test/puzzles/lightup/rules/FinishWithEmptyBasicRuleTest.class
new file mode 100644
index 000000000..242ce795b
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/FinishWithEmptyBasicRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/LightOrEmptyCaseRuleTest 2.class b/bin/test/puzzles/lightup/rules/LightOrEmptyCaseRuleTest 2.class
new file mode 100644
index 000000000..cbe89e59b
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/LightOrEmptyCaseRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/LightOrEmptyCaseRuleTest.class b/bin/test/puzzles/lightup/rules/LightOrEmptyCaseRuleTest.class
new file mode 100644
index 000000000..cbe89e59b
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/LightOrEmptyCaseRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/MustLightBasicRuleTest 2.class b/bin/test/puzzles/lightup/rules/MustLightBasicRuleTest 2.class
new file mode 100644
index 000000000..c94d8929d
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/MustLightBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/MustLightBasicRuleTest.class b/bin/test/puzzles/lightup/rules/MustLightBasicRuleTest.class
new file mode 100644
index 000000000..c94d8929d
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/MustLightBasicRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/SatisfyNumberCaseRuleTest 2.class b/bin/test/puzzles/lightup/rules/SatisfyNumberCaseRuleTest 2.class
new file mode 100644
index 000000000..ff9c8ef49
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/SatisfyNumberCaseRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/SatisfyNumberCaseRuleTest.class b/bin/test/puzzles/lightup/rules/SatisfyNumberCaseRuleTest.class
new file mode 100644
index 000000000..ff9c8ef49
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/SatisfyNumberCaseRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/TooFewBulbsContradictionRuleTest 2.class b/bin/test/puzzles/lightup/rules/TooFewBulbsContradictionRuleTest 2.class
new file mode 100644
index 000000000..b68e99a66
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/TooFewBulbsContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/TooFewBulbsContradictionRuleTest.class b/bin/test/puzzles/lightup/rules/TooFewBulbsContradictionRuleTest.class
new file mode 100644
index 000000000..b68e99a66
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/TooFewBulbsContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/lightup/rules/TooManyBulbsContradictionRuleTest 2.class b/bin/test/puzzles/lightup/rules/TooManyBulbsContradictionRuleTest 2.class
new file mode 100644
index 000000000..bd8fb943e
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/TooManyBulbsContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/lightup/rules/TooManyBulbsContradictionRuleTest.class b/bin/test/puzzles/lightup/rules/TooManyBulbsContradictionRuleTest.class
new file mode 100644
index 000000000..bd8fb943e
Binary files /dev/null and b/bin/test/puzzles/lightup/rules/TooManyBulbsContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions1 b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions1
new file mode 100644
index 000000000..2fde3107a
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions1
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions1 2 b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions1 2
new file mode 100644
index 000000000..2fde3107a
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions1 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions2 b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions2
new file mode 100644
index 000000000..bf7335f39
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions2 2 b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions2 2
new file mode 100644
index 000000000..bf7335f39
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/DiagonalBlackBetweenRegions2 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/HorizontalBlackBetweenRegions b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/HorizontalBlackBetweenRegions
new file mode 100644
index 000000000..2b5913924
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/HorizontalBlackBetweenRegions
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/HorizontalBlackBetweenRegions 2 b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/HorizontalBlackBetweenRegions 2
new file mode 100644
index 000000000..2b5913924
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/HorizontalBlackBetweenRegions 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/VerticalBlackBetweenRegions b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/VerticalBlackBetweenRegions
new file mode 100644
index 000000000..59b545c82
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/VerticalBlackBetweenRegions
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/VerticalBlackBetweenRegions 2 b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/VerticalBlackBetweenRegions 2
new file mode 100644
index 000000000..59b545c82
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRule/VerticalBlackBetweenRegions 2
@@ -0,0 +1,10 @@
+
+
+
+
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRuleTest 2.class
new file mode 100644
index 000000000..5bafe037d
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRuleTest.class
new file mode 100644
index 000000000..5bafe037d
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackBetweenRegionsBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRule/SimpleBlackBottleNeck b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRule/SimpleBlackBottleNeck
new file mode 100644
index 000000000..5501725fe
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRule/SimpleBlackBottleNeck
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRule/SimpleBlackBottleNeck 2 b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRule/SimpleBlackBottleNeck 2
new file mode 100644
index 000000000..5501725fe
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRule/SimpleBlackBottleNeck 2
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRuleTest 2.class
new file mode 100644
index 000000000..eeca3432c
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRuleTest.class
new file mode 100644
index 000000000..eeca3432c
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackBottleNeckBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackOrWhiteCaseRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/BlackOrWhiteCaseRuleTest 2.class
new file mode 100644
index 000000000..709efdf10
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackOrWhiteCaseRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackOrWhiteCaseRuleTest.class b/bin/test/puzzles/nurikabe/rules/BlackOrWhiteCaseRuleTest.class
new file mode 100644
index 000000000..709efdf10
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackOrWhiteCaseRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRule/SimpleBlackSquare b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRule/SimpleBlackSquare
new file mode 100644
index 000000000..79ca3416c
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRule/SimpleBlackSquare
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRule/SimpleBlackSquare 2 b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRule/SimpleBlackSquare 2
new file mode 100644
index 000000000..79ca3416c
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRule/SimpleBlackSquare 2
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRuleTest 2.class
new file mode 100644
index 000000000..c9bdf62e0
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRuleTest.class b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRuleTest.class
new file mode 100644
index 000000000..c9bdf62e0
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/BlackSquareContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRule/SimpleCornerBlack b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRule/SimpleCornerBlack
new file mode 100644
index 000000000..104ab7639
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRule/SimpleCornerBlack
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRule/SimpleCornerBlack 2 b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRule/SimpleCornerBlack 2
new file mode 100644
index 000000000..104ab7639
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRule/SimpleCornerBlack 2
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRuleTest 2.class
new file mode 100644
index 000000000..adfdeee95
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRuleTest.class
new file mode 100644
index 000000000..adfdeee95
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/CornerBlackBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRule/UnknownSurroundBlack b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRule/UnknownSurroundBlack
new file mode 100644
index 000000000..cdeb115cb
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRule/UnknownSurroundBlack
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRule/UnknownSurroundBlack 2 b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRule/UnknownSurroundBlack 2
new file mode 100644
index 000000000..cdeb115cb
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRule/UnknownSurroundBlack 2
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRuleTest 2.class
new file mode 100644
index 000000000..562d40591
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRuleTest.class
new file mode 100644
index 000000000..562d40591
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/FillinBlackBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRule/UnknownSurroundWhite b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRule/UnknownSurroundWhite
new file mode 100644
index 000000000..200f518cb
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRule/UnknownSurroundWhite
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRule/UnknownSurroundWhite 2 b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRule/UnknownSurroundWhite 2
new file mode 100644
index 000000000..200f518cb
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRule/UnknownSurroundWhite 2
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRuleTest 2.class
new file mode 100644
index 000000000..7d901975a
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRuleTest.class
new file mode 100644
index 000000000..7d901975a
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/FillinWhiteBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRule/SimpleIsolateBlack b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRule/SimpleIsolateBlack
new file mode 100644
index 000000000..e6e7bceb6
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRule/SimpleIsolateBlack
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRule/SimpleIsolateBlack 2 b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRule/SimpleIsolateBlack 2
new file mode 100644
index 000000000..e6e7bceb6
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRule/SimpleIsolateBlack 2
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRuleTest 2.class
new file mode 100644
index 000000000..627a2ca4d
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRuleTest.class b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRuleTest.class
new file mode 100644
index 000000000..627a2ca4d
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/IsolateBlackContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRule/MultipleNumbers b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRule/MultipleNumbers
new file mode 100644
index 000000000..7dd58c299
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRule/MultipleNumbers
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRule/MultipleNumbers 2 b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRule/MultipleNumbers 2
new file mode 100644
index 000000000..7dd58c299
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRule/MultipleNumbers 2
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRuleTest 2.class
new file mode 100644
index 000000000..9914dc8f6
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRuleTest.class b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRuleTest.class
new file mode 100644
index 000000000..9914dc8f6
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/MultipleNumbersContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/NoNumberContradictionRule/NoNumberSurroundBlack b/bin/test/puzzles/nurikabe/rules/NoNumberContradictionRule/NoNumberSurroundBlack
new file mode 100644
index 000000000..e405779f3
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/NoNumberContradictionRule/NoNumberSurroundBlack
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/NoNumberContradictionRule/NoNumberSurroundBlack 2 b/bin/test/puzzles/nurikabe/rules/NoNumberContradictionRule/NoNumberSurroundBlack 2
new file mode 100644
index 000000000..e405779f3
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/NoNumberContradictionRule/NoNumberSurroundBlack 2
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/NoNumbersContradictionRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/NoNumbersContradictionRuleTest 2.class
new file mode 100644
index 000000000..4289ab77e
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/NoNumbersContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/NoNumbersContradictionRuleTest.class b/bin/test/puzzles/nurikabe/rules/NoNumbersContradictionRuleTest.class
new file mode 100644
index 000000000..4289ab77e
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/NoNumbersContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomLeftWhiteBlackSquare b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomLeftWhiteBlackSquare
new file mode 100644
index 000000000..fd18df3ce
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomLeftWhiteBlackSquare
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomLeftWhiteBlackSquare 2 b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomLeftWhiteBlackSquare 2
new file mode 100644
index 000000000..fd18df3ce
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomLeftWhiteBlackSquare 2
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomRightWhiteBlackSquare b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomRightWhiteBlackSquare
new file mode 100644
index 000000000..dc6216284
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomRightWhiteBlackSquare
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomRightWhiteBlackSquare 2 b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomRightWhiteBlackSquare 2
new file mode 100644
index 000000000..dc6216284
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/BottomRightWhiteBlackSquare 2
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopLeftWhiteBlackSquare b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopLeftWhiteBlackSquare
new file mode 100644
index 000000000..8b9a54826
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopLeftWhiteBlackSquare
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopLeftWhiteBlackSquare 2 b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopLeftWhiteBlackSquare 2
new file mode 100644
index 000000000..8b9a54826
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopLeftWhiteBlackSquare 2
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopRightWhiteBlackSquare b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopRightWhiteBlackSquare
new file mode 100644
index 000000000..42680711d
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopRightWhiteBlackSquare
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopRightWhiteBlackSquare 2 b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopRightWhiteBlackSquare 2
new file mode 100644
index 000000000..42680711d
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRule/TopRightWhiteBlackSquare 2
@@ -0,0 +1,11 @@
+
+
+
+
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRuleTest 2.class
new file mode 100644
index 000000000..c370091b6
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRuleTest.class
new file mode 100644
index 000000000..c370091b6
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/PreventBlackSquareBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlack b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlack
new file mode 100644
index 000000000..3b04c2b89
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlack
@@ -0,0 +1,9 @@
+
+
+
+
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlack 2 b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlack 2
new file mode 100644
index 000000000..3b04c2b89
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlack 2
@@ -0,0 +1,9 @@
+
+
+
+
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlackInCorner b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlackInCorner
new file mode 100644
index 000000000..3924d7cf8
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlackInCorner
@@ -0,0 +1,9 @@
+
+
+
+
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlackInCorner 2 b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlackInCorner 2
new file mode 100644
index 000000000..3924d7cf8
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRule/SurroundRegionBlackInCorner 2
@@ -0,0 +1,9 @@
+
+
+
+
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRuleTest 2.class
new file mode 100644
index 000000000..7b1be37e1
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRuleTest.class
new file mode 100644
index 000000000..7b1be37e1
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/SurroundRegionBasicRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRule/TwoSurroundBlack b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRule/TwoSurroundBlack
new file mode 100644
index 000000000..b30f64b75
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRule/TwoSurroundBlack
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRule/TwoSurroundBlack 2 b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRule/TwoSurroundBlack 2
new file mode 100644
index 000000000..b30f64b75
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRule/TwoSurroundBlack 2
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRuleTest 2.class
new file mode 100644
index 000000000..ae6466da1
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRuleTest.class b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRuleTest.class
new file mode 100644
index 000000000..ae6466da1
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/TooFewSpacesContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRule/TwoSurroundWhite b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRule/TwoSurroundWhite
new file mode 100644
index 000000000..5905f4b06
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRule/TwoSurroundWhite
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRule/TwoSurroundWhite 2 b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRule/TwoSurroundWhite 2
new file mode 100644
index 000000000..5905f4b06
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRule/TwoSurroundWhite 2
@@ -0,0 +1,13 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRuleTest 2.class
new file mode 100644
index 000000000..8bb75f028
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRuleTest.class b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRuleTest.class
new file mode 100644
index 000000000..8bb75f028
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/TooManySpacesContradictionRuleTest.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/NurikabeBoard1 b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/NurikabeBoard1
new file mode 100644
index 000000000..79e841616
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/NurikabeBoard1
@@ -0,0 +1,18 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/NurikabeBoard1 2 b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/NurikabeBoard1 2
new file mode 100644
index 000000000..79e841616
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/NurikabeBoard1 2
@@ -0,0 +1,18 @@
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/SimpleWhiteBottleNeck b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/SimpleWhiteBottleNeck
new file mode 100644
index 000000000..b81b84b0e
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/SimpleWhiteBottleNeck
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/SimpleWhiteBottleNeck 2 b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/SimpleWhiteBottleNeck 2
new file mode 100644
index 000000000..b81b84b0e
--- /dev/null
+++ b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRule/SimpleWhiteBottleNeck 2
@@ -0,0 +1,12 @@
+
+
+
+
+ |
+ |
+ |
+ |
+
+
+
+
\ No newline at end of file
diff --git a/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRuleTest 2.class b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRuleTest 2.class
new file mode 100644
index 000000000..61bb89949
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRuleTest 2.class differ
diff --git a/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRuleTest.class b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRuleTest.class
new file mode 100644
index 000000000..61bb89949
Binary files /dev/null and b/bin/test/puzzles/nurikabe/rules/WhiteBottleNeckBasicRuleTest.class differ
diff --git a/bin/test/puzzles/shorttruthtable/rules/BasicRuleAtomicTest 2.class b/bin/test/puzzles/shorttruthtable/rules/BasicRuleAtomicTest 2.class
new file mode 100644
index 000000000..44b735c84
Binary files /dev/null and b/bin/test/puzzles/shorttruthtable/rules/BasicRuleAtomicTest 2.class differ
diff --git a/bin/test/puzzles/shorttruthtable/rules/BasicRuleAtomicTest.class b/bin/test/puzzles/shorttruthtable/rules/BasicRuleAtomicTest.class
new file mode 100644
index 000000000..44b735c84
Binary files /dev/null and b/bin/test/puzzles/shorttruthtable/rules/BasicRuleAtomicTest.class differ
diff --git a/legup-update/bin/main/edu.rpi.legupupdate/VERSION b/legup-update/bin/main/edu.rpi.legupupdate/VERSION
new file mode 100644
index 000000000..227cea215
--- /dev/null
+++ b/legup-update/bin/main/edu.rpi.legupupdate/VERSION
@@ -0,0 +1 @@
+2.0.0
diff --git a/legup-update/bin/main/edu/rpi/legupupdate/NetUtil.class b/legup-update/bin/main/edu/rpi/legupupdate/NetUtil.class
new file mode 100644
index 000000000..75eeeafda
Binary files /dev/null and b/legup-update/bin/main/edu/rpi/legupupdate/NetUtil.class differ
diff --git a/legup-update/bin/main/edu/rpi/legupupdate/Update 2.class b/legup-update/bin/main/edu/rpi/legupupdate/Update 2.class
new file mode 100644
index 000000000..82e514086
Binary files /dev/null and b/legup-update/bin/main/edu/rpi/legupupdate/Update 2.class differ
diff --git a/legup-update/bin/main/edu/rpi/legupupdate/Update$Stream.class b/legup-update/bin/main/edu/rpi/legupupdate/Update$Stream.class
new file mode 100644
index 000000000..88712bd75
Binary files /dev/null and b/legup-update/bin/main/edu/rpi/legupupdate/Update$Stream.class differ
diff --git a/legup-update/bin/main/edu/rpi/legupupdate/Update.class b/legup-update/bin/main/edu/rpi/legupupdate/Update.class
new file mode 100644
index 000000000..82e514086
Binary files /dev/null and b/legup-update/bin/main/edu/rpi/legupupdate/Update.class differ
diff --git a/legup-update/bin/main/edu/rpi/legupupdate/UpdateProgress.class b/legup-update/bin/main/edu/rpi/legupupdate/UpdateProgress.class
new file mode 100644
index 000000000..412cf81ce
Binary files /dev/null and b/legup-update/bin/main/edu/rpi/legupupdate/UpdateProgress.class differ
diff --git a/legup-update/build/libs/legup-update-2.0.jar b/legup-update/build/libs/legup-update-2.0.jar
index 9094be7c9..5c336a3d0 100644
Binary files a/legup-update/build/libs/legup-update-2.0.jar and b/legup-update/build/libs/legup-update-2.0.jar differ
diff --git a/src/main/java/edu/rpi/legup/model/rules/CaseRule.java b/src/main/java/edu/rpi/legup/model/rules/CaseRule.java
index 1390997ca..5575952c6 100644
--- a/src/main/java/edu/rpi/legup/model/rules/CaseRule.java
+++ b/src/main/java/edu/rpi/legup/model/rules/CaseRule.java
@@ -14,6 +14,9 @@
import static edu.rpi.legup.model.rules.RuleType.CASE;
public abstract class CaseRule extends Rule {
+
+ private final String INVALID_USE_MESSAGE;
+
/**
* CaseRule Constructor creates a new case rule.
*
@@ -24,6 +27,7 @@ public abstract class CaseRule extends Rule {
public CaseRule(String ruleName, String description, String imageName) {
super(ruleName, description, imageName);
this.ruleType = CASE;
+ this.INVALID_USE_MESSAGE = "Invalid use of the case rule " + this.ruleName;
}
/**
@@ -71,7 +75,7 @@ public String checkRule(TreeTransition transition) {
String check = checkRuleRaw(transition);
- boolean isCorrect = check == null;
+ boolean isCorrect = (check == null);
for (TreeTransition childTrans : parentNodes.get(0).getChildren()) {
childTrans.setCorrect(isCorrect);
for (PuzzleElement element : childTrans.getBoard().getModifiedData()) {
@@ -103,7 +107,7 @@ public String checkRule(TreeTransition transition) {
*/
@Override
public String checkRuleAt(TreeTransition transition, PuzzleElement puzzleElement) {
- return null;
+ return this.INVALID_USE_MESSAGE;
}
/**
diff --git a/src/main/java/edu/rpi/legup/model/rules/ContradictionRule.java b/src/main/java/edu/rpi/legup/model/rules/ContradictionRule.java
index 4ec5b9a57..d56cd37db 100644
--- a/src/main/java/edu/rpi/legup/model/rules/ContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/model/rules/ContradictionRule.java
@@ -7,6 +7,9 @@
import static edu.rpi.legup.model.rules.RuleType.CONTRADICTION;
public abstract class ContradictionRule extends Rule {
+
+ private final String NO_CONTRADICTION_MESSAGE = "No instance of the contradiction " + this.ruleName + " here";
+
/**
* ContradictionRule Constructor creates a new contradiction rule
*
@@ -84,7 +87,12 @@ public String checkContradiction(Board board) {
return checkStr;
}
}
- return "Does not contain a contradiction";
+ return this.NO_CONTRADICTION_MESSAGE;
+ }
+
+ public String getNoContradictionMessage()
+ {
+ return this.NO_CONTRADICTION_MESSAGE;
}
/**
@@ -96,4 +104,5 @@ public String checkContradiction(Board board) {
* otherwise error message
*/
public abstract String checkContradictionAt(Board board, PuzzleElement puzzleElement);
+
}
diff --git a/src/main/java/edu/rpi/legup/model/rules/Rule.java b/src/main/java/edu/rpi/legup/model/rules/Rule.java
index bcec08dba..bd8eb13d3 100644
--- a/src/main/java/edu/rpi/legup/model/rules/Rule.java
+++ b/src/main/java/edu/rpi/legup/model/rules/Rule.java
@@ -19,6 +19,8 @@ public abstract class Rule {
protected ImageIcon image;
protected RuleType ruleType;
+ private final String INVALID_USE_MESSAGE;
+
/**
* Rule Constructor creates a new rule
*
@@ -30,6 +32,7 @@ public Rule(String ruleName, String description, String imageName) {
this.imageName = imageName;
this.ruleName = ruleName;
this.description = description;
+ this.INVALID_USE_MESSAGE = "Invalid use of the rule " + this.ruleName;
loadImage();
}
@@ -140,4 +143,9 @@ public ImageIcon getImageIcon() {
public RuleType getRuleType() {
return ruleType;
}
+
+ public String getInvalidUseOfRuleMessage()
+ {
+ return this.INVALID_USE_MESSAGE;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.java
index 7d37a3c76..4d4715b39 100644
--- a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/BlackOrWhiteCaseRule.java
@@ -56,25 +56,25 @@ public ArrayList getCases(Board board, PuzzleElement puzzleElement) {
public String checkRuleRaw(TreeTransition transition) {
List childTransitions = transition.getParents().get(0).getChildren();
if (childTransitions.size() != 2) {
- return "This case rule must have 2 children.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 2 children.";
}
TreeTransition case1 = childTransitions.get(0);
TreeTransition case2 = childTransitions.get(1);
if (case1.getBoard().getModifiedData().size() != 1 ||
case2.getBoard().getModifiedData().size() != 1) {
- return "This case rule must have 1 modified cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 1 modified cell for each case.";
}
FillapixCell mod1 = (FillapixCell) case1.getBoard().getModifiedData().iterator().next();
FillapixCell mod2 = (FillapixCell) case2.getBoard().getModifiedData().iterator().next();
if (!mod1.getLocation().equals(mod2.getLocation())) {
- return "This case rule must modify the same cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must modify the same cell for each case.";
}
if (!((mod1.getType() == FillapixCellType.BLACK && mod2.getType() == FillapixCellType.WHITE)
|| (mod2.getType() == FillapixCellType.BLACK && mod1.getType() == FillapixCellType.WHITE))) {
- return "This case rule must an empty cell and a lite cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must an empty cell and a lit cell.";
}
return null;
diff --git a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.java
index e39fbd9ca..4fde78a81 100644
--- a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithBlackBasicRule.java
@@ -24,13 +24,13 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
FillapixCell parentCell = (FillapixCell) parentBoard.getPuzzleElement(puzzleElement);
if (!(parentCell.getType() == FillapixCellType.UNKNOWN && cell.getType() == FillapixCellType.BLACK)) {
- return "This cell must be black to be applicable with this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be black to be applicable with this rule.";
}
if (isForcedBlack(parentBoard, cell)) {
return null;
} else {
- return "This cell is not forced to be black";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be black";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.java
index 0fbc3826f..5cc015b31 100644
--- a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/FinishWithWhiteBasicRule.java
@@ -24,13 +24,13 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
FillapixCell parentCell = (FillapixCell) parentBoard.getPuzzleElement(puzzleElement);
if (!(parentCell.getType() == FillapixCellType.UNKNOWN && cell.getType() == FillapixCellType.WHITE)) {
- return "This cell must be white to be applicable with this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be white to be applicable with this rule";
}
if (isForcedWhite(parentBoard, cell)) {
return null;
} else {
- return "This cell is not forced to be white";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be white";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.java
index 0a3b68e2b..5cc280984 100644
--- a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooFewBlackCellsContradictionRule.java
@@ -46,6 +46,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
}
}
- return "Board does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.java
index b4cd2c31b..4ee1a96d3 100644
--- a/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/fillapix/rules/TooManyBlackCellsContradictionRule.java
@@ -45,6 +45,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
}
}
- return "Board does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.java
index 93e7ff03e..3b05552ea 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/BulbsInPathContradictionRule.java
@@ -30,7 +30,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
LightUpBoard lightUpBoard = (LightUpBoard) board;
LightUpCell cell = (LightUpCell) lightUpBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != LightUpCellType.BULB) {
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
Point location = cell.getLocation();
@@ -66,6 +66,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
return null;
}
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.java
index 88d2f8788..ef8f000f4 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/CannotLightACellContradictionRule.java
@@ -33,7 +33,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
return "This cell does not contain a contradiction";
}*/
if (cell.getType() != LightUpCellType.EMPTY || cell.isLite()) {
- return "This cell does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
Point location = cell.getLocation();
int ver_count = 0;
@@ -74,6 +74,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
if(hor_count == 0 && ver_count == 0) {
return null;
}
- return "This cell does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
}
\ No newline at end of file
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.java
index b488b224b..268f8d9ab 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCellinLightBasicRule.java
@@ -35,7 +35,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (finalCell.getType() == LightUpCellType.EMPTY && initCell.getType() == LightUpCellType.UNKNOWN && initCell.isLite()) {
return null;
}
- return "Cell is not forced to be empty";
+ return super.getInvalidUseOfRuleMessage() + ": Cell is not forced to be empty";
}
/**
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.java
index 9aa3cb19b..0cc02cf86 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/EmptyCornersBasicRule.java
@@ -38,7 +38,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
LightUpCell finalCell = (LightUpCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(cell.getType() == LightUpCellType.UNKNOWN && finalCell.getType() == LightUpCellType.EMPTY)) {
- return "This cell must be an empty cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be an empty cell";
}
Point loc = finalCell.getLocation();
@@ -60,7 +60,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
numberedCells.add(lowerLeft);
}
if (numberedCells.isEmpty()) {
- return "This cell must diagonal to a numbered cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must diagonal to a numbered cell";
}
TooFewBulbsContradictionRule tooFew = new TooFewBulbsContradictionRule();
@@ -76,7 +76,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (createsContra) {
return null;
} else {
- return "This cell is not forced to be empty.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be empty";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.java
index e378812eb..a2d6ed3d0 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithBulbsBasicRule.java
@@ -35,13 +35,13 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
LightUpBoard finalBoard = (LightUpBoard) transition.getBoard();
LightUpCell finalCell = (LightUpCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == LightUpCellType.UNKNOWN && finalCell.getType() == LightUpCellType.BULB)) {
- return "Modified cells must be bulbs";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be bulbs";
}
Set adjCells = finalBoard.getAdj(finalCell);
adjCells.removeIf(cell -> cell.getType() != LightUpCellType.NUMBER);
if (adjCells.isEmpty()) {
- return "This cell is not adjacent to a numbered cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not adjacent to a numbered cell";
}
LightUpBoard emptyCase = initialBoard.copy();
@@ -52,7 +52,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
return null;
}
}
- return "This cell is not forced to be a bulb.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be a bulb";
}
private boolean isForced(LightUpBoard board, LightUpCell cell) {
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.java
index bbd68ec1e..292b3cfc2 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/FinishWithEmptyBasicRule.java
@@ -34,13 +34,13 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
LightUpBoard finalBoard = (LightUpBoard) transition.getBoard();
LightUpCell cell = (LightUpCell) finalBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != LightUpCellType.EMPTY) {
- return "Modified cells must be empty";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be empty";
}
if (isForced(initialBoard, cell.getLocation())) {
return null;
}
- return "Empty is not forced";
+ return super.getInvalidUseOfRuleMessage() + ": Empty is not forced";
}
private boolean isForced(LightUpBoard board, Point location) {
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.java
index 2dc7df88f..40a5f3a98 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/LightOrEmptyCaseRule.java
@@ -68,25 +68,25 @@ public ArrayList getCases(Board board, PuzzleElement puzzleElement) {
public String checkRuleRaw(TreeTransition transition) {
List childTransitions = transition.getParents().get(0).getChildren();
if (childTransitions.size() != 2) {
- return "This case rule must have 2 children.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 2 children";
}
TreeTransition case1 = childTransitions.get(0);
TreeTransition case2 = childTransitions.get(1);
if (case1.getBoard().getModifiedData().size() != 1 ||
case2.getBoard().getModifiedData().size() != 1) {
- return "This case rule must have 1 modified cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 1 modified cell for each case";
}
LightUpCell mod1 = (LightUpCell) case1.getBoard().getModifiedData().iterator().next();
LightUpCell mod2 = (LightUpCell) case2.getBoard().getModifiedData().iterator().next();
if (!mod1.getLocation().equals(mod2.getLocation())) {
- return "This case rule must modify the same cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must modify the same cell for each case";
}
if (!((mod1.getType() == LightUpCellType.EMPTY && mod2.getType() == LightUpCellType.BULB) ||
(mod2.getType() == LightUpCellType.EMPTY && mod1.getType() == LightUpCellType.BULB))) {
- return "This case rule must an empty cell and a bulb cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must an empty cell and a bulb cell";
}
return null;
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.java
index f545a80c1..685f380bf 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/MustLightBasicRule.java
@@ -35,7 +35,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
LightUpCell parentCell = (LightUpCell) parentBoard.getPuzzleElement(puzzleElement);
LightUpCell finalCell = (LightUpCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(parentCell.getType() == LightUpCellType.UNKNOWN && !parentCell.isLite() && finalCell.getType() == LightUpCellType.BULB)) {
- return "Modified cells must be bulbs";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be bulbs";
}
finalCell.setData(LightUpCellType.EMPTY.value);
@@ -47,7 +47,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (isForced) {
return null;
} else {
- return "This cell can be lite by another cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell can be lit by another cell";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.java
index 5f9d84287..5ebb7a732 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/SatisfyNumberCaseRule.java
@@ -163,13 +163,14 @@ public String checkRuleRaw(TreeTransition transition) {
List spots = getPossibleSpots(transition);
if (spots == null) {
- return "This case rule must have a valid spot for where it was applied";
+ return super.getInvalidUseOfRuleMessage();
}
for (LightUpCell c : spots) {
ArrayList cases = getCases(parent.getBoard(), c);
- if (cases.size() == childTransitions.size()) {
+ // We want to return false if cases.size() is equal to 1 because case rules aren't supposed to have only 1 option
+ if (cases.size() == childTransitions.size() && cases.size() > 1) {
boolean foundSpot = true;
for (TreeTransition childTrans : childTransitions) {
LightUpBoard actCase = (LightUpBoard) childTrans.getBoard();
@@ -211,7 +212,7 @@ public String checkRuleRaw(TreeTransition transition) {
}
}
}
- return "This case rule is not valid";
+ return super.getInvalidUseOfRuleMessage();
}
/**
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.java
index 329b08e42..7f5fa6b9b 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooFewBulbsContradictionRule.java
@@ -30,17 +30,15 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
LightUpBoard lightUpBoard = (LightUpBoard) board;
LightUpCell cell = (LightUpCell) lightUpBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != LightUpCellType.NUMBER) {
- return "Does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
- Point location = cell.getLocation();
-
int bulbs = lightUpBoard.getNumAdj(cell, LightUpCellType.BULB);
int placeable = lightUpBoard.getNumPlacble(cell);
if (bulbs + placeable < cell.getData()) {
return null;
}
- return "Number does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.java
index 658d016a0..0722ededa 100644
--- a/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/lightup/rules/TooManyBulbsContradictionRule.java
@@ -30,7 +30,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
LightUpBoard lightUpBoard = (LightUpBoard) board;
LightUpCell cell = (LightUpCell) lightUpBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != LightUpCellType.NUMBER) {
- return "Does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
Point location = cell.getLocation();
@@ -57,6 +57,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
if (bulbs > cell.getData()) {
return null;
}
- return "Number does not contain a contradiction";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.java
index 71e460fa1..b7977150b 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBetweenRegionsBasicRule.java
@@ -45,7 +45,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
NurikabeCell cell = (NurikabeCell) destBoardState.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.BLACK) {
- return "Only black cells are allowed for this rule!";
+ return super.getInvalidUseOfRuleMessage() + ": Only black cells are allowed for this rule!";
}
int x = cell.getLocation().x;
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.java
index 72cf0c587..131b592d7 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackBottleNeckBasicRule.java
@@ -37,7 +37,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
NurikabeCell cell = (NurikabeCell) destBoardState.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.BLACK) {
- return "Only black cells are allowed for this rule!";
+ return super.getInvalidUseOfRuleMessage() + ": Only black cells are allowed for this rule!";
}
NurikabeBoard modified = origBoardState.copy();
NurikabeCell modCell = (NurikabeCell) modified.getPuzzleElement(puzzleElement);
@@ -46,7 +46,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (contraRule.checkContradiction(modified) == null) {
return null;
} else {
- return "This is not the only way for black to escape!";
+ return super.getInvalidUseOfRuleMessage() + ": This is not the only way for black to escape!";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.java
index 7251bb145..aec3c52ba 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackOrWhiteCaseRule.java
@@ -31,25 +31,25 @@ public BlackOrWhiteCaseRule() {
public String checkRuleRaw(TreeTransition transition) {
List childTransitions = transition.getParents().get(0).getChildren();
if (childTransitions.size() != 2) {
- return "This case rule must have 2 children.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 2 children.";
}
TreeTransition case1 = childTransitions.get(0);
TreeTransition case2 = childTransitions.get(1);
if (case1.getBoard().getModifiedData().size() != 1 ||
case2.getBoard().getModifiedData().size() != 1) {
- return "This case rule must have 1 modified cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 1 modified cell for each case.";
}
NurikabeCell mod1 = (NurikabeCell) case1.getBoard().getModifiedData().iterator().next();
NurikabeCell mod2 = (NurikabeCell) case2.getBoard().getModifiedData().iterator().next();
if (!mod1.getLocation().equals(mod2.getLocation())) {
- return "This case rule must modify the same cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must modify the same cell for each case.";
}
if (!((mod1.getType() == NurikabeType.WHITE && mod2.getType() == NurikabeType.BLACK) ||
(mod2.getType() == NurikabeType.WHITE && mod1.getType() == NurikabeType.BLACK))) {
- return "This case rule must an empty white and black cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must an empty white and black cell.";
}
return null;
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.java
index bcfdc78b6..dbf9ac89e 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/BlackSquareContradictionRule.java
@@ -9,6 +9,9 @@
public class BlackSquareContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "No 2x2 square of black exists.";
+ private final String INVALID_USE_MESSAGE = "Does not contain a contradiction at this index";
+
public BlackSquareContradictionRule() {
super("Black Square",
"There cannot be a 2x2 square of black.",
@@ -32,7 +35,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.BLACK) {
- return "Does not contain a contradiction at this index";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.INVALID_USE_MESSAGE;
}
for (int x = cell.getLocation().x - 1; x >= 0 && x < cell.getLocation().x + 1 && x < width - 1; x++) {
@@ -46,6 +49,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
}
- return "No 2x2 square of black exists.";
+ return super.getNoContradictionMessage() + ": " + this.NO_CONTRADICTION_MESSAGE;
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.java
index c2077ccec..be680e7c2 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/CantReachWhiteContradictionRule.java
@@ -13,6 +13,9 @@
public class CantReachWhiteContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "Cell at this index can be reached";
+ private final String INVALID_USE_MESSAGE = "Does not contain a contradiction at this index";
+
public CantReachWhiteContradictionRule() {
super("Cant Reach white cell",
"A white cell must be able to reach a white region",
@@ -33,7 +36,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.WHITE) {
- return "Does not contain a contradiction at this index";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.INVALID_USE_MESSAGE;
}
ArrayList> regions = NurikabeUtilities.getFloodFillWhite(nurikabeBoard);
@@ -41,7 +44,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
for (Set region : regions) {
for (NurikabeCell c : region) {
if (c == cell) {
- return "Cell at this index can be reached";
+ return super.getNoContradictionMessage() + ": " + this.NO_CONTRADICTION_MESSAGE;
}
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.java
index 846e486d3..bc713f3ad 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/IsolateBlackContradictionRule.java
@@ -13,6 +13,9 @@
public class IsolateBlackContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "Contradiction applied incorrectly. No isolated Blacks.";
+ private final String INVALID_USE_MESSAGE = "Contradiction must be a black cell";
+
public IsolateBlackContradictionRule() {
super("Isolated Black",
"There must still be a possibility to connect every Black cell",
@@ -32,7 +35,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeBoard nurikabeBoard = (NurikabeBoard) board;
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.BLACK) {
- return "Contradiction must be a black cell";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.INVALID_USE_MESSAGE;
}
DisjointSets blackRegions = NurikabeUtilities.getPossibleBlackRegions(nurikabeBoard);
@@ -49,6 +52,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
}
}
- return "Contradiction applied incorrectly. No isolated Blacks.";
+ return super.getNoContradictionMessage() + ": " + this.NO_CONTRADICTION_MESSAGE;
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.java
index 03c4647f6..1fcc72f25 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/MultipleNumbersContradictionRule.java
@@ -13,6 +13,9 @@
public class MultipleNumbersContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "Does not contain a contradiction at this index";
+ private final String INVALID_USE_MESSAGE = "Contradiction must be a numbered cell";
+
public MultipleNumbersContradictionRule() {
super("Multiple Numbers",
"All white regions cannot have more than one number.",
@@ -33,7 +36,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.NUMBER) {
- return "Contradiction must be a numbered cell";
+ return super.getInvalidUseOfRuleMessage() + ": " + INVALID_USE_MESSAGE;
}
DisjointSets regions = NurikabeUtilities.getNurikabeRegions(nurikabeBoard);
Set numberedRegion = regions.getSet(cell);
@@ -42,6 +45,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
return null;
}
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage() + ": " + NO_CONTRADICTION_MESSAGE;
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.java
index 446088988..dfcf5aef8 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/NoNumberContradictionRule.java
@@ -13,6 +13,10 @@
public class NoNumberContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "Does not contain a contradiction at this index";
+ private final String INVALID_USE_MESSAGE = "Contradiction must be a white cell";
+ private final String NOT_SURROUNDED_BY_BLACK_MESSAGE = "Must be surrounded by black cells";
+
public NoNumberContradictionRule() {
super("No Number",
"All enclosed white regions must have a number.",
@@ -33,13 +37,13 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.WHITE) {
- return "Contradiction must be a white cell";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.INVALID_USE_MESSAGE;
}
DisjointSets regions = NurikabeUtilities.getNurikabeRegions(nurikabeBoard);
Set whiteRegion = regions.getSet(cell);
for (NurikabeCell c : whiteRegion) {
if (c.getType() == NurikabeType.NUMBER) {
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage() + ": " + this.NO_CONTRADICTION_MESSAGE;
}
}
for (NurikabeCell c : whiteRegion) {
@@ -50,7 +54,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell bottom = nurikabeBoard.getCell(c.getLocation().x, c.getLocation().y-1);
if (isEmptyCell(top) || isEmptyCell(left) || isEmptyCell(right) || isEmptyCell(bottom))
- return "Must be surrounded by black cells";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.NOT_SURROUNDED_BY_BLACK_MESSAGE;
}
return null;
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.java
index 2e211bcda..6593f8ea2 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooFewSpacesContradictionRule.java
@@ -13,6 +13,9 @@
public class TooFewSpacesContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "Does not contain a contradiction at this index";
+ private final String INVALID_USE_MESSAGE = "Contradiction must be a white or a numbered cell";
+
public TooFewSpacesContradictionRule() {
super("Too Few Spaces",
"A region cannot contain less spaces than its number.",
@@ -33,7 +36,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.WHITE && cell.getType() != NurikabeType.NUMBER) {
- return "Contradiction must be a white or a numbered cell";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.INVALID_USE_MESSAGE;
}
DisjointSets regions = NurikabeUtilities.getPossibleWhiteRegions(nurikabeBoard);
@@ -50,6 +53,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
// System.err.println("Cell Value: " + numberedCell.getData() + ", Loc: " + cell.getLocation() + ", region: " + whiteRegion.size());
return null;
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage() + ": " + this.NO_CONTRADICTION_MESSAGE;
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.java
index d7be638ca..95d706485 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/TooManySpacesContradictionRule.java
@@ -14,6 +14,9 @@
public class TooManySpacesContradictionRule extends ContradictionRule {
+ private final String NO_CONTRADICTION_MESSAGE = "Does not contain a contradiction at this index";
+ private final String INVALID_USE_MESSAGE = "Contradiction must be a white or a numbered cell";
+
public TooManySpacesContradictionRule() {
super("Too Many Spaces",
"A region cannot contain more spaces than its number.",
@@ -34,7 +37,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
NurikabeCell cell = (NurikabeCell) nurikabeBoard.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.WHITE && cell.getType() != NurikabeType.NUMBER) {
- return "Contradiction must be a white or a numbered cell";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.INVALID_USE_MESSAGE;
}
DisjointSets regions = NurikabeUtilities.getNurikabeRegions(nurikabeBoard);
@@ -51,6 +54,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
return null;
}
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage() + ":" + this.NO_CONTRADICTION_MESSAGE;
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.java
index 3c75e7ded..b7e4e7d88 100644
--- a/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/nurikabe/rules/UnreachableBasicRule.java
@@ -33,7 +33,7 @@ protected String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleE
NurikabeBoard destBoardState = (NurikabeBoard) transition.getBoard();
NurikabeCell cell = (NurikabeCell) destBoardState.getPuzzleElement(puzzleElement);
if (cell.getType() != NurikabeType.BLACK) {
- return "Only black cells are allowed for this rule!";
+ return super.getInvalidUseOfRuleMessage() + ": Only black cells are allowed for this rule!";
}
NurikabeBoard origBoardState = (NurikabeBoard) transition.getParents().get(0).getBoard();
@@ -50,7 +50,7 @@ protected String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleE
modifiedCell.setData(NurikabeType.WHITE.toValue());
if (contraRule.checkContradiction(modified) == null)
return null;
- return "This is not the only way for black to escape!";
+ return super.getInvalidUseOfRuleMessage() + ": This is not the only way for black to escape!";
}
/**
diff --git a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.java b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.java
index b546f40b1..d91b2498f 100644
--- a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.java
+++ b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/basic/BasicRule_Generic.java
@@ -12,96 +12,62 @@
public abstract class BasicRule_Generic extends BasicRule {
- final ContradictionRule correspondingContradictionRule;
- final boolean eliminationRule;
+ final ContradictionRule CORRESPONDING_CONTRADICTION_RULE;
+ final boolean ELIMINATION_RULE;
public BasicRule_Generic(String ruleName, String description, String imageName, ContradictionRule contraRule, boolean eliminationRule){
super(ruleName, description, "edu/rpi/legup/images/shorttruthtable/ruleimages/basic/"+imageName+".png");
- this.correspondingContradictionRule = contraRule;
- this.eliminationRule = eliminationRule;
+ this.CORRESPONDING_CONTRADICTION_RULE = contraRule;
+ this.ELIMINATION_RULE = eliminationRule;
}
- public String checkRuleRawAt(TreeTransition transition, PuzzleElement element){
+ public String checkRuleRawAt(TreeTransition transition, PuzzleElement element)
+ {
//Check that the puzzle element is not unknown
ShortTruthTableBoard board = (ShortTruthTableBoard) transition.getBoard();
ShortTruthTableCell cell = (ShortTruthTableCell) board.getPuzzleElement(element);
- System.out.println("Check Basic Rule Generic: "+cell);
+// System.out.println("Check Basic Rule Generic: "+cell);
- if(!cell.isAssigned()){
- System.out.println(" Only assigned cells");
- return "Only assigned cells are allowed for basic rules";
- }
+ if (!cell.isAssigned())
+ return super.getInvalidUseOfRuleMessage() + ": Only assigned cells are allowed for basic rules";
- //check that it is assigned to the right value
+ // Get the original board
ShortTruthTableBoard originalBoard = (ShortTruthTableBoard) transition.getParents().get(0).getBoard();
- //Use this board to check what would happen if the cell what the opposite value
- ShortTruthTableBoard testBoard = originalBoard.copy();
- ((ShortTruthTableCell) testBoard.getPuzzleElement(element)).setType(cell.getType().getNegation());
-
- //if this is elimination/introduction check the cell or its parent
- PuzzleElement checkElement = element;
-
- //if elimination, check the parent
- if(this.eliminationRule){
- System.out.println("Is an elimination rule");
- checkElement = cell.getStatementReference().getParentStatement().getCell();
- }
-
- //see if there is a contradiction
- if (this.eliminationRule)
- System.out.println("Parent check contradiction START");
- String checkContradiction = correspondingContradictionRule.checkContradictionAt(testBoard, checkElement);
- if (this.eliminationRule)
+ if (this.ELIMINATION_RULE)
{
- System.out.println("Parent check contradiction END");
- System.out.println("Parent contradiction: " + checkContradiction);
+ // Strategy: If this is an elimination rule, simply check if there is a contradiction at the specified statement
+
+ // This gets the operator of the parent statement, which is what we need for checking the contradiction
+ PuzzleElement checkElement = cell.getStatementReference().getParentStatement().getCell();
+
+ String contradictionMessage = CORRESPONDING_CONTRADICTION_RULE.checkContradictionAt(originalBoard, checkElement);
+// System.out.println("ELIMINATION RULE CONTRADICTION MESSAGE: " + contradictionMessage);
+ if (contradictionMessage != null)
+ {
+ if (contradictionMessage.startsWith(CORRESPONDING_CONTRADICTION_RULE.getNoContradictionMessage()))
+ return null;
+ else
+ return super.getInvalidUseOfRuleMessage() + ": " + contradictionMessage;
+ }
+ else
+ return super.getInvalidUseOfRuleMessage();
}
+ else
+ {
+ // Strategy: Negate the modified cell and check if there is a contradiction. If there is one, then the
+ // original statement must be true. If there isn't one, then the original statement must be false.
+ ShortTruthTableBoard modifiedBoard = originalBoard.copy();
+ ((ShortTruthTableCell) modifiedBoard.getPuzzleElement(element)).setType(cell.getType().getNegation());
- //if there is a contradiction when the modified element is negated, then the basic rule must be true
- if(checkContradiction==null && !eliminationRule)
- {
- return null;
- }
- // if it's an elimination rule, check if the original case was also invalid
- else if (checkContradiction == null && eliminationRule)
- {
- String checkOriginalContradiction = correspondingContradictionRule.checkContradictionAt(originalBoard, checkElement);
- if (checkOriginalContradiction == null)
- return "Invalid use of " + this.ruleName;
- else
+ String contradictionMessage = CORRESPONDING_CONTRADICTION_RULE.checkContradictionAt(modifiedBoard, element);
+ if (contradictionMessage == null) // A contradiction exists in the modified statement; this is good!
return null;
+ return super.getInvalidUseOfRuleMessage() + ": " + contradictionMessage;
}
- return "Negated Contradiction Failed: "+checkContradiction;
-
-// if (this.eliminationRule)
-// {
-// System.out.println("Elimination rule check entered");
-// // If the rule is an elimination rule, we can check if the statement contains a contradiction. If it does
-// // contain a contradiction, then we know that the rule must be false
-//
-// String checkContradiction = correspondingContradictionRule.checkContradictionAt(originalBoard, checkElement);
-// System.out.println("checkContradiction: " + checkContradiction);
-// if (checkContradiction == null) // original board contains a contradiction: this is bad!
-// return "This is not a valid use of " + this.ruleName + "!";
-// return null;
-// }
-// else
-// {
-// // If the rule is not an elimination rule, we can check to see if negating the modified cell will create
-// // a contradiction
-//
-// // Use the original board to check what would happen if the cell what the opposite value
-// ShortTruthTableBoard testBoard = originalBoard.copy();
-// ((ShortTruthTableCell) testBoard.getPuzzleElement(element)).setType(cell.getType().getNegation());
-// String checkContradiction = correspondingContradictionRule.checkContradictionAt(testBoard, checkElement);
-// if (checkContradiction == null) // modified board contains a contradiction: this is good!
-// return null;
-// return "Negated Contradiction Failed: "+checkContradiction;
-// }
}
/**
diff --git a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.java b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.java
index 935b02a21..3be2a04fe 100644
--- a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.java
+++ b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRuleAtomic.java
@@ -64,5 +64,9 @@ public ArrayList getCases(Board board, PuzzleElement puzzleElement) {
return cases;
}
-
+ @Override
+ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement)
+ {
+ return null;
+ }
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.java b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.java
index dd6a46417..c1b6ccd09 100644
--- a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.java
+++ b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_Generic.java
@@ -6,6 +6,8 @@
import edu.rpi.legup.model.rules.CaseRule;
import edu.rpi.legup.model.tree.TreeTransition;
+import edu.rpi.legup.puzzle.nurikabe.NurikabeCell;
+import edu.rpi.legup.puzzle.nurikabe.NurikabeType;
import edu.rpi.legup.puzzle.shorttruthtable.ShortTruthTableBoard;
import edu.rpi.legup.puzzle.shorttruthtable.ShortTruthTableCell;
import edu.rpi.legup.puzzle.shorttruthtable.ShortTruthTableCellType;
@@ -18,7 +20,7 @@ public abstract class CaseRule_Generic extends CaseRule {
public CaseRule_Generic(String ruleName, String title, String description) {
super(title, description, "edu/rpi/legup/images/shorttruthtable/ruleimages/case/"+ruleName+".png");
- System.out.println("Case Rule Generic constructor");
+// System.out.println("Case Rule Generic constructor");
}
@@ -31,7 +33,29 @@ public CaseRule_Generic(String ruleName, String title, String description) {
*/
@Override
public String checkRuleRaw(TreeTransition transition) {
+ List childTransitions = transition.getParents().get(0).getChildren();
+ if (childTransitions.size() != 2) {
+ return "This case rule must have 2 children.";
+ }
+ TreeTransition case1 = childTransitions.get(0);
+ TreeTransition case2 = childTransitions.get(1);
+ if (case1.getBoard().getModifiedData().size() != 1 ||
+ case2.getBoard().getModifiedData().size() != 1) {
+ return "This case rule must have 1 modified cell for each case.";
+ }
+
+ ShortTruthTableCell mod1 = (ShortTruthTableCell) case1.getBoard().getModifiedData().iterator().next();
+ ShortTruthTableCell mod2 = (ShortTruthTableCell) case2.getBoard().getModifiedData().iterator().next();
+ if (!mod1.getLocation().equals(mod2.getLocation())) {
+ return "This case rule must modify the same cell for each case.";
+ }
+
+ if (!((mod1.getType() == ShortTruthTableCellType.TRUE && mod2.getType() == ShortTruthTableCellType.FALSE) ||
+ (mod2.getType() == ShortTruthTableCellType.FALSE && mod1.getType() == ShortTruthTableCellType.TRUE))) {
+ return "This case rule must an empty true or false cell.";
+ }
+
return null;
}
@@ -46,6 +70,7 @@ public String checkRuleRaw(TreeTransition transition) {
*/
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
+// System.out.println("checkRuleRawAt case rule");
return checkRuleRaw(transition);
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.java b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.java
index 8b233c6e9..b591492dd 100644
--- a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.java
+++ b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/caserule/CaseRule_GenericStatement.java
@@ -20,7 +20,7 @@ public CaseRule_GenericStatement(char operation, String title,
ShortTruthTableCellType[][] falseCases) {
super(ShortTruthTableOperation.getRuleName(operation),
title+" case",
- "A known "+title.toUpperCase()+" statment can have multiple forms");
+ "A known "+title.toUpperCase()+" statement can have multiple forms");
this.operation = operation;
diff --git a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.java b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.java
index d63846ea3..748ec1d65 100644
--- a/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.java
+++ b/src/main/java/edu/rpi/legup/puzzle/shorttruthtable/rules/contradiction/ContradictionRule_GenericStatement.java
@@ -10,8 +10,6 @@
import edu.rpi.legup.puzzle.shorttruthtable.ShortTruthTableCellType;
import edu.rpi.legup.puzzle.shorttruthtable.ShortTruthTableStatement;
-import java.util.Arrays;
-
public abstract class ContradictionRule_GenericStatement extends ContradictionRule{
@@ -19,11 +17,13 @@ public abstract class ContradictionRule_GenericStatement extends ContradictionRu
private final ShortTruthTableCellType[][] contradictionPatterns;
-
final static ShortTruthTableCellType T = ShortTruthTableCellType.TRUE;
final static ShortTruthTableCellType F = ShortTruthTableCellType.FALSE;
final static ShortTruthTableCellType n = null;
+ private final String NOT_RIGHT_OPERATOR_ERROR_MESSAGE = "This cell does not contain the correct operation";
+ private final String NOT_TRUE_FALSE_ERROR_MESSAGE = "Can only check for a contradiction on a cell that is assigned a value of True or False";
+
public ContradictionRule_GenericStatement(String ruleName, String description, String imageName,
char operationSymbol, ShortTruthTableCellType[][] contradictionPatterns){
super(ruleName, description, imageName);
@@ -31,7 +31,6 @@ public ContradictionRule_GenericStatement(String ruleName, String description, S
this.contradictionPatterns = contradictionPatterns;
}
-
@Override
public String checkContradictionAt(Board puzzleBoard, PuzzleElement operatorPuzzleElement) {
@@ -41,30 +40,21 @@ public String checkContradictionAt(Board puzzleBoard, PuzzleElement operatorPuzz
//get the cell that contradicts another cell in the board
ShortTruthTableCell cell = board.getCellFromElement(operatorPuzzleElement);
ShortTruthTableStatement statement = cell.getStatementReference();
- // ShortTruthTableStatement parentStatement = statement.getParentStatement();
- System.out.println("Statement: " + statement);
-
-
- //must be the correct statement
- System.out.println("Symbol: " + cell.getSymbol());
if(cell.getSymbol() != this.operationSymbol)
- return "This cell does not contain the correct operation";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.NOT_RIGHT_OPERATOR_ERROR_MESSAGE;
//check that the initial statement is assigned
ShortTruthTableCellType cellType = cell.getType();
System.out.println("contra rule generic cell: "+cell);
if(!cellType.isTrueOrFalse())
- return "Can only check for a contradiction on a cell that is assigned a value of True or False";
+ return super.getInvalidUseOfRuleMessage() + ": " + this.NOT_TRUE_FALSE_ERROR_MESSAGE;
//get the pattern for this sub-statement
ShortTruthTableCellType[] testPattern = statement.getCellTypePattern();
//if the board pattern matches any contradiction pattern, it is a valid contradiction
- System.out.println("Name: " + this.ruleName);
- System.out.println("Testing pattern: "+Arrays.toString(testPattern));
for(ShortTruthTableCellType[] pattern : contradictionPatterns){
- System.out.println("Comparing to: "+Arrays.toString(pattern));
boolean matches = true;
for(int i = 0; i<3; i++){
//null means that part does not affect the statement
@@ -76,15 +66,10 @@ public String checkContradictionAt(Board puzzleBoard, PuzzleElement operatorPuzz
}
}
//if testPattern matches one of the valid contradiction patterns, the contradiction is correct
- if(matches){
- System.out.println("This is a valid contradiction: matches pat: "+Arrays.toString(pattern));
+ if (matches)
return null;
- }
}
- System.out.println("No patterns match. There is not a contradiction");
- return "This cell does not match any contradiction pattern for this rule";
-
+ return super.getNoContradictionMessage();
}
-
}
\ No newline at end of file
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.java
index 82f08ce32..0e92bd9b7 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/DuplicateNumberContradictionRule.java
@@ -55,6 +55,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.java
index 2e891d231..b7d6c1ebd 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/ExceedingVisibilityContradictionRule.java
@@ -118,6 +118,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
//System.out.print("Does not contain a contradiction at this index");
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.java
index 269bd5359..a48717b2f 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/FixedMaxBasicRule.java
@@ -38,7 +38,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
SkyscrapersBoard finalBoard = (SkyscrapersBoard) transition.getBoard();
SkyscrapersCell finalCell = (SkyscrapersCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == SkyscrapersType.UNKNOWN && finalCell.getType() == SkyscrapersType.Number)) {
- return "Modified cells must be number";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be number";
}
SkyscrapersBoard emptyCase = initialBoard.copy();
@@ -53,11 +53,11 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
System.out.println(south);
if (north + south != max + 1 && west + east != max + 1) {
System.out.println("111");
- return "Opposing clues must add up to max";
+ return super.getInvalidUseOfRuleMessage() + ": Opposing clues must add up to max";
}
if (finalCell.getData() != initialBoard.getWidth()) {
- return "Modified cells must be the max";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be the max";
}
if (north + south == max + 1 && loc.y + 1 == north) {
@@ -67,7 +67,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
return null;
}
- return "This cell is not forced.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced.";
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.java
index 452ea1cc5..49f9ba689 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/InsufficientVisibilityContradictionRule.java
@@ -118,6 +118,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
}
//System.out.print("Does not contain a contradiction at this index");
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.java
index fff63fb80..44210fcaa 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastCellBasicRule.java
@@ -38,7 +38,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
SkyscrapersBoard finalBoard = (SkyscrapersBoard) transition.getBoard();
SkyscrapersCell finalCell = (SkyscrapersCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == SkyscrapersType.UNKNOWN && finalCell.getType() == SkyscrapersType.Number)) {
- return "Modified cells must be number";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be number";
}
SkyscrapersBoard emptyCase = initialBoard.copy();
@@ -64,7 +64,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (it.next() == finalCell.getData()) {
return null;
}
- return "Wrong number in the cell.";
+ return super.getInvalidUseOfRuleMessage() + ": Wrong number in the cell.";
}
candidates.clear();
@@ -86,10 +86,10 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (it.next() == finalCell.getData()) {
return null;
}
- return "Wrong number in the cell.";
+ return super.getInvalidUseOfRuleMessage() + ": Wrong number in the cell.";
}
- return "This cell is not forced.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced.";
}
private boolean isForced(SkyscrapersBoard board, SkyscrapersCell cell) {
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.java
index 609fcb1b8..994589d73 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/LastNumberBasicRule.java
@@ -38,7 +38,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
SkyscrapersBoard finalBoard = (SkyscrapersBoard) transition.getBoard();
SkyscrapersCell finalCell = (SkyscrapersCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == SkyscrapersType.UNKNOWN && finalCell.getType() == SkyscrapersType.Number)) {
- return "Modified cells must be number";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be number";
}
SkyscrapersBoard emptyCase = initialBoard.copy();
@@ -76,10 +76,10 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (it.next() == finalCell.getData()) {
return null;
}
- return "Wrong number in the cell.";
+ return super.getInvalidUseOfRuleMessage() + ": Wrong number in the cell.";
}
- return "This cell is not forced.";
+ return super.getInvalidUseOfRuleMessage() + ":This cell is not forced.";
}
private boolean isForced(SkyscrapersBoard board, SkyscrapersCell cell) {
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.java
index f75953891..bdbe1d69e 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/NEdgeBasicRule.java
@@ -18,7 +18,7 @@ public class NEdgeBasicRule extends BasicRule {
public NEdgeBasicRule() {
super("N Edge",
- "If the maximum number appears on an edge, the row or column¡¯s numbers appear in ascending order, starting at that edge.",
+ "If the maximum number appears on an edge, the row or column��s numbers appear in ascending order, starting at that edge.",
"edu/rpi/legup/images/skyscrapers/NEdge.png");
}
@@ -38,7 +38,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
SkyscrapersBoard finalBoard = (SkyscrapersBoard) transition.getBoard();
SkyscrapersCell finalCell = (SkyscrapersCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == SkyscrapersType.UNKNOWN && finalCell.getType() == SkyscrapersType.Number)) {
- return "Modified cells must be number";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be number";
}
SkyscrapersBoard emptyCase = initialBoard.copy();
@@ -59,7 +59,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
return null;
}
- return "This cell is not forced.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced.";
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.java
index 012c67e42..669ff5141 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/OneEdgeBasicRule.java
@@ -38,7 +38,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
SkyscrapersBoard finalBoard = (SkyscrapersBoard) transition.getBoard();
SkyscrapersCell finalCell = (SkyscrapersCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == SkyscrapersType.UNKNOWN && finalCell.getType() == SkyscrapersType.Number)) {
- return "Modified cells must be number";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be number";
}
SkyscrapersBoard emptyCase = initialBoard.copy();
@@ -46,11 +46,11 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
Point loc = finalCell.getLocation();
if (loc.x != 0 && loc.x != initialBoard.getWidth() - 1 && loc.y != 0 && loc.y != initialBoard.getHeight() - 1) {
- return "Modified cells must be on the edge";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be on the edge";
}
if (finalCell.getData() != initialBoard.getWidth()) {
- return "Modified cells must be the max";
+ return super.getInvalidUseOfRuleMessage() + ": Modified cells must be the max";
}
if (loc.x == 0 && initialBoard.getRow().get(loc.y).getData() == 1) {
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.java
index 0b6b36d4d..1fcbaa9bf 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/PossibleContentsCaseRule.java
@@ -103,16 +103,16 @@ public String checkRuleRaw(TreeTransition transition) {
TreeTransition case2 = childTransitions.get(i);
if (case2.getBoard().getModifiedData().size() != 1) {
//System.out.println("1");
- return "This case rule must have 1 modified cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 1 modified cell for each case.";
}
SkyscrapersCell mod2 = (SkyscrapersCell) case2.getBoard().getModifiedData().iterator().next();
if (!mod1.getLocation().equals(mod2.getLocation())) {
//System.out.println("2");
- return "This case rule must modify the same cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must modify the same cell for each case.";
}
if (!(mod2.getType() == SkyscrapersType.Number)) {
//System.out.println("3");
- return "This case rule must asign a number.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must assign a number.";
}
}
//System.out.println("no contradiction");
diff --git a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.java
index 699c7509e..f24891470 100644
--- a/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/skyscrapers/rules/UnresolvedCellContradictionRule.java
@@ -60,6 +60,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
return null;
}
//System.out.print("Does not contain a contradiction at this index");
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.java
index e3eed592f..5ddeec8ec 100644
--- a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/AdvancedDeductionBasicRule.java
@@ -43,7 +43,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
for (int x = 0; x < groupDim; x++) {
SudokuCell c = initialBoard.getCell(groupNum, x, y);
if (c.getData() == cell.getData() && x != relX && y != relY) {
- return "Duplicate value in sub region";
+ return super.getRuleName() + ": Duplicate value in sub-region";
}
possible[y][x] = c.getData() == 0;
}
@@ -70,12 +70,12 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (possible[y][x] && !isForced) {
isForced = true;
} else if (possible[y][x]) {
- return "Not forced";
+ return super.getInvalidUseOfRuleMessage() + ": Not forced";
}
}
}
if (!isForced) {
- return "Not forced";
+ return super.getInvalidUseOfRuleMessage() + ": Not forced";
}
return null;
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.java
index ae4d41437..93106f84c 100644
--- a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastCellForNumberBasicRule.java
@@ -32,7 +32,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
SudokuCell cell = (SudokuCell) finalBoard.getPuzzleElement(puzzleElement);
if (cell.getData() == 0) {
- return "cell is not forced at this index";
+ return super.getInvalidUseOfRuleMessage() + ": Cell is not forced at this index";
}
int size = initialBoard.getSize();
@@ -77,7 +77,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
return null;
}
}
- return "cell is not forced at this index";
+ return super.getInvalidUseOfRuleMessage() + ": Cell is not forced at this index";
}
/**
diff --git a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.java
index 110da2033..ca751f156 100644
--- a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/LastNumberForCellBasicRule.java
@@ -54,9 +54,9 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
numbers.remove(cell.getData());
}
if (numbers.size() > 1) {
- return "The number at the index is not forced";
+ return super.getInvalidUseOfRuleMessage() + ": The number at the index is not forced";
} else if (numbers.size() == 1 && numbers.iterator().next() != finalBoard.getPuzzleElement(puzzleElement).getData()) {
- return "The number at the index is forced but not correct";
+ return super.getInvalidUseOfRuleMessage() + ": The number at the index is forced but not correct";
}
return null;
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.java
index 589a13a2c..0f12636da 100644
--- a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/NoSolutionContradictionRule.java
@@ -30,7 +30,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
SudokuBoard sudokuBoard = (SudokuBoard) board;
SudokuCell cell = (SudokuCell) sudokuBoard.getPuzzleElement(puzzleElement);
if (cell.getData() != 0) {
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
int groupSize = sudokuBoard.getSize();
@@ -57,6 +57,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
return null;
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.java
index 36979f10a..d0e96a7bc 100644
--- a/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/sudoku/rules/RepeatedNumberContradictionRule.java
@@ -30,7 +30,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
SudokuBoard sudokuBoard = (SudokuBoard) board;
SudokuCell cell = (SudokuCell) sudokuBoard.getPuzzleElement(puzzleElement);
if (cell.getData() == 0) {
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
Set region = sudokuBoard.getRegion(cell.getGroupIndex());
@@ -62,6 +62,6 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
colDup.add(c.getData());
}
- return "Does not contain a contradiction at this index";
+ return super.getNoContradictionMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.java
index 0d3e7dde0..21e2e0286 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/EmptyFieldBasicRule.java
@@ -31,7 +31,7 @@ public EmptyFieldBasicRule() {
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
if (puzzleElement instanceof TreeTentLine) {
- return "Line is not valid for this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": Line is not valid for this rule";
}
TreeTentBoard initialBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
TreeTentCell initCell = (TreeTentCell) initialBoard.getPuzzleElement(puzzleElement);
@@ -44,7 +44,7 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
if (isForced(finalBoard, finalCell)) {
return null;
} else {
- return "This cell is not forced to be empty.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be empty.";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.java
index 8b139478e..5b004ac83 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithGrassBasicRule.java
@@ -33,20 +33,20 @@ public FinishWithGrassBasicRule() {
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
if (puzzleElement instanceof TreeTentLine) {
- return "Line is not valid for this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": Line is not valid for this rule";
}
TreeTentBoard initialBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
TreeTentCell initCell = (TreeTentCell) initialBoard.getPuzzleElement(puzzleElement);
TreeTentBoard finalBoard = (TreeTentBoard) transition.getBoard();
TreeTentCell finalCell = (TreeTentCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(finalCell.getType() == TreeTentType.GRASS && initCell.getType() == TreeTentType.UNKNOWN)) {
- return "This cell must be grass.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be grass.";
}
if (isForced(initialBoard, initCell)) {
return null;
} else {
- return "This cell is not forced to be grass.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be grass.";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.java
index fe06c5d45..d51943dc1 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/FinishWithTentsBasicRule.java
@@ -33,20 +33,20 @@ public FinishWithTentsBasicRule() {
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
if (puzzleElement instanceof TreeTentLine) {
- return "Line is not valid for this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": Line is not valid for this rule.";
}
TreeTentBoard initialBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
TreeTentCell initCell = (TreeTentCell) initialBoard.getPuzzleElement(puzzleElement);
TreeTentBoard finalBoard = (TreeTentBoard) transition.getBoard();
TreeTentCell finalCell = (TreeTentCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == TreeTentType.UNKNOWN && finalCell.getType() == TreeTentType.TENT)) {
- return "This cell must be a tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be a tent.";
}
if (isForced(initialBoard, initCell)) {
return null;
} else {
- return "This cell is not forced to be tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be tent.";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.java
index 9fe91550a..a6aa826ce 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LastCampingSpotBasicRule.java
@@ -33,20 +33,20 @@ public LastCampingSpotBasicRule() {
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
if (puzzleElement instanceof TreeTentLine) {
- return "Line is not valid for this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": Line is not valid for this rule.";
}
TreeTentBoard initialBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
TreeTentCell initCell = (TreeTentCell) initialBoard.getPuzzleElement(puzzleElement);
TreeTentBoard finalBoard = (TreeTentBoard) transition.getBoard();
TreeTentCell finalCell = (TreeTentCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == TreeTentType.UNKNOWN && finalCell.getType() == TreeTentType.TENT)) {
- return "This cell must be a tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be a tent.";
}
if (isForced(initialBoard, initCell)) {
return null;
} else {
- return "This cell is not forced to be tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be tent.";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.java
index 4485563ae..d8ade51c1 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/LinkTreeCaseRule.java
@@ -69,12 +69,12 @@ public ArrayList getCases(Board board, PuzzleElement puzzleElement) {
public String checkRuleRaw(TreeTransition transition) {
Set modCells = transition.getBoard().getModifiedData();
if (modCells.size() != 1) {
- return "This case rule must have 1 modified cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 1 modified cell for each case";
}
PuzzleElement mod = modCells.iterator().next();
TreeTentLine line = mod instanceof TreeTentLine ? (TreeTentLine) mod : null;
if (line == null) {
- return "This case rule only involves tree and tent connection lines.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule only involves tree and tent connection lines";
}
TreeTentCell tree = null;
if (line.getC1().getType() == TreeTentType.TREE) {
@@ -84,14 +84,14 @@ public String checkRuleRaw(TreeTransition transition) {
tree = line.getC2();
}
if (tree == null) {
- return "This case rule must have a tent cell.";
+ return super.getInvalidUseOfRuleMessage() + "This case rule must have a tent cell";
}
TreeTentBoard parentBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
ArrayList cases = getCases(parentBoard, tree);
List childTransitions = transition.getParents().get(0).getChildren();
if (childTransitions.size() != cases.size()) {
- return "This case rule is incorrectly created.";
+ return super.getInvalidUseOfRuleMessage();
}
for (Board caseBoard : cases) {
TreeTentBoard cBoard = (TreeTentBoard) caseBoard;
@@ -100,11 +100,11 @@ public String checkRuleRaw(TreeTransition transition) {
for (TreeTransition tran : childTransitions) {
TreeTentBoard tBoard = (TreeTentBoard) tran.getBoard();
if (tBoard.getModifiedData().size() != 1) {
- return "This case rule is incorrectly created.";
+ return super.getInvalidUseOfRuleMessage();
}
PuzzleElement tElement = tBoard.getModifiedData().iterator().next();
if (tElement instanceof TreeTentLine) {
- return "This case rule only involves tree and tent connection lines.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule only involves tree and tent connection lines";
}
if (cLine.compare((TreeTentLine) tElement)) {
hasLine = true;
@@ -112,7 +112,7 @@ public String checkRuleRaw(TreeTransition transition) {
}
}
if (!hasLine) {
- return "Could not find case";
+ return super.getInvalidUseOfRuleMessage();
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.java
index 803729ece..5bb1e836b 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTentForTreeContradictionRule.java
@@ -28,14 +28,14 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
TreeTentBoard treeTentBoard = (TreeTentBoard) board;
TreeTentCell cell = (TreeTentCell) puzzleElement;
if (cell.getType() != TreeTentType.TREE) {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
int adjTent = treeTentBoard.getAdjacent(cell, TreeTentType.TENT).size();
int adjUnknown = treeTentBoard.getAdjacent(cell, TreeTentType.UNKNOWN).size();
if (adjTent == 0 && adjUnknown == 0) {
return null;
} else {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.java
index 42c7f0709..6eba5e6bd 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/NoTreeForTentContradictionRule.java
@@ -28,14 +28,14 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
TreeTentBoard treeTentBoard = (TreeTentBoard) board;
TreeTentCell cell = (TreeTentCell) puzzleElement;
if (cell.getType() != TreeTentType.TENT) {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
int adjTree = treeTentBoard.getAdjacent(cell, TreeTentType.TREE).size();
int adjUnknown = treeTentBoard.getAdjacent(cell, TreeTentType.UNKNOWN).size();
if (adjTree == 0 && adjUnknown == 0) {
return null;
} else {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.java
index 899045c87..6f7392595 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/SurroundTentWithGrassBasicRule.java
@@ -32,20 +32,20 @@ public SurroundTentWithGrassBasicRule() {
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
if (puzzleElement instanceof TreeTentLine) {
- return "Line is not valid for this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": Line is not valid for this rule.";
}
TreeTentBoard initialBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
TreeTentCell initCell = (TreeTentCell) initialBoard.getPuzzleElement(puzzleElement);
TreeTentBoard finalBoard = (TreeTentBoard) transition.getBoard();
TreeTentCell finalCell = (TreeTentCell) finalBoard.getPuzzleElement(puzzleElement);
if (!(initCell.getType() == TreeTentType.UNKNOWN && finalCell.getType() == TreeTentType.GRASS)) {
- return "This cell must be a tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell must be a tent.";
}
if (isForced(initialBoard, initCell)) {
return null;
} else {
- return "This cell is not forced to be tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be tent.";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.java
index 52a0f6d07..a23dad318 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentForTreeBasicRule.java
@@ -32,7 +32,7 @@ public TentForTreeBasicRule() {
@Override
public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElement) {
if (!(puzzleElement instanceof TreeTentLine)) {
- return "Lines must be created for this rule.";
+ return super.getInvalidUseOfRuleMessage() + ": Lines must be created for this rule.";
}
TreeTentBoard initialBoard = (TreeTentBoard) transition.getParents().get(0).getBoard();
TreeTentLine initLine = (TreeTentLine) initialBoard.getPuzzleElement(puzzleElement);
@@ -46,13 +46,13 @@ public String checkRuleRawAt(TreeTransition transition, PuzzleElement puzzleElem
tree = finalLine.getC2();
tent = finalLine.getC1();
} else {
- return "This line must connect a tree to a tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This line must connect a tree to a tent.";
}
if (isForced(initialBoard, tree, tent)) {
return null;
} else {
- return "This cell is not forced to be tent.";
+ return super.getInvalidUseOfRuleMessage() + ": This cell is not forced to be tent.";
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.java
index f49b4ad7c..300bc0fb9 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TentOrGrassCaseRule.java
@@ -69,25 +69,25 @@ public ArrayList getCases(Board board, PuzzleElement puzzleElement) {
public String checkRuleRaw(TreeTransition transition) {
List childTransitions = transition.getParents().get(0).getChildren();
if (childTransitions.size() != 2) {
- return "This case rule must have 2 children.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 2 children.";
}
TreeTransition case1 = childTransitions.get(0);
TreeTransition case2 = childTransitions.get(1);
if (case1.getBoard().getModifiedData().size() != 1 ||
case2.getBoard().getModifiedData().size() != 1) {
- return "This case rule must have 1 modified cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have 1 modified cell for each case.";
}
TreeTentCell mod1 = (TreeTentCell) case1.getBoard().getModifiedData().iterator().next();
TreeTentCell mod2 = (TreeTentCell) case2.getBoard().getModifiedData().iterator().next();
if (!mod1.getLocation().equals(mod2.getLocation())) {
- return "This case rule must modify the same cell for each case.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must modify the same cell for each case.";
}
if (!((mod1.getType() == TreeTentType.TENT && mod2.getType() == TreeTentType.GRASS) ||
(mod2.getType() == TreeTentType.TENT && mod1.getType() == TreeTentType.GRASS))) {
- return "This case rule must have a tent and a grass cell.";
+ return super.getInvalidUseOfRuleMessage() + ": This case rule must have a tent and a grass cell.";
}
return null;
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.java
index 1e4aa4dce..eacd9626a 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooFewTentsContradictionRule.java
@@ -40,7 +40,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
colTents + colUnknowns < treeTentBoard.getColClues().get(loc.x).getData()) {
return null;
} else {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.java
index d6445f0ee..d72eef721 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TooManyTentsContradictionRule.java
@@ -38,7 +38,7 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
colTents > treeTentBoard.getColClues().get(loc.x).getData()) {
return null;
} else {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
}
}
diff --git a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.java b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.java
index c6f7bd670..046124c38 100644
--- a/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.java
+++ b/src/main/java/edu/rpi/legup/puzzle/treetent/rules/TouchingTentsContradictionRule.java
@@ -28,13 +28,13 @@ public String checkContradictionAt(Board board, PuzzleElement puzzleElement) {
TreeTentBoard treeTentBoard = (TreeTentBoard) board;
TreeTentCell cell = (TreeTentCell) puzzleElement;
if (cell.getType() != TreeTentType.TREE) {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
int adjTree = treeTentBoard.getAdjacent(cell, TreeTentType.TREE).size();
if (adjTree > 0) {
return null;
} else {
- return "This cell does not contain a contradiction at this location.";
+ return super.getNoContradictionMessage();
}
}
}
diff --git a/src/main/java/edu/rpi/legup/ui/LegupUI.java b/src/main/java/edu/rpi/legup/ui/LegupUI.java
index 3a17d275b..1afbd0c86 100644
--- a/src/main/java/edu/rpi/legup/ui/LegupUI.java
+++ b/src/main/java/edu/rpi/legup/ui/LegupUI.java
@@ -35,6 +35,8 @@
import edu.rpi.legup.user.Submission;
import edu.rpi.legupupdate.Update;
import edu.rpi.legupupdate.UpdateProgress;
+import io.grpc.internal.KeepAliveManager;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -104,6 +106,16 @@ public class LegupUI extends JFrame implements WindowListener, IHistoryListener
protected JSplitPane topHalfPanel, mainPanel;
+ /**
+ * Identifies operating system
+ */
+ public String getOS() {
+ String os = System.getProperty("os.name").toLowerCase();
+ if(os.contains("mac")) os = "mac";
+ else os = "win";
+ return os;
+ }
+
/**
* LegupUI Constructor - creates a new LegupUI to setup the menu and toolbar
*/
@@ -200,24 +212,30 @@ private void setupMenu() {
proof = new JMenu("Proof");
+ String os = getOS();
+
add = new JMenuItem("Add");
add.addActionListener(a -> treePanel.add());
- add.setAccelerator(KeyStroke.getKeyStroke('A', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") add.setAccelerator(KeyStroke.getKeyStroke('A', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else add.setAccelerator(KeyStroke.getKeyStroke('A', InputEvent.CTRL_DOWN_MASK));
proof.add(add);
delete = new JMenuItem("Delete");
delete.addActionListener(a -> treePanel.delete());
- delete.setAccelerator(KeyStroke.getKeyStroke('D', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") delete.setAccelerator(KeyStroke.getKeyStroke('D', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else delete.setAccelerator(KeyStroke.getKeyStroke('D', InputEvent.CTRL_DOWN_MASK));
proof.add(delete);
merge = new JMenuItem("Merge");
merge.addActionListener(a -> treePanel.merge());
- merge.setAccelerator(KeyStroke.getKeyStroke('M', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") merge.setAccelerator(KeyStroke.getKeyStroke('M', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else merge.setAccelerator(KeyStroke.getKeyStroke('M', InputEvent.CTRL_DOWN_MASK));
proof.add(merge);
collapse = new JMenuItem("Collapse");
collapse.addActionListener(a -> treePanel.collapse());
- collapse.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") collapse.setAccelerator(KeyStroke.getKeyStroke('C', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else collapse.setAccelerator(KeyStroke.getKeyStroke('C', InputEvent.CTRL_DOWN_MASK));
collapse.setEnabled(false);
proof.add(collapse);
@@ -253,7 +271,8 @@ private void setupMenu() {
mBar.add(file);
file.add(newPuzzle);
newPuzzle.addActionListener((ActionEvent) -> promptPuzzle());
- newPuzzle.setAccelerator(KeyStroke.getKeyStroke('N', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") newPuzzle.setAccelerator(KeyStroke.getKeyStroke('N', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else newPuzzle.setAccelerator(KeyStroke.getKeyStroke('N', InputEvent.CTRL_DOWN_MASK));
// file.add(genPuzzle);
//// genPuzzle.addActionListener((ActionEvent) ->
@@ -279,12 +298,14 @@ private void setupMenu() {
}
}
});
- resetPuzzle.setAccelerator(KeyStroke.getKeyStroke('R', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") resetPuzzle.setAccelerator(KeyStroke.getKeyStroke('R', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else resetPuzzle.setAccelerator(KeyStroke.getKeyStroke('R', InputEvent.CTRL_DOWN_MASK));
file.addSeparator();
file.add(saveProof);
saveProof.addActionListener((ActionEvent) -> saveProof());
- saveProof.setAccelerator(KeyStroke.getKeyStroke('S', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") saveProof.setAccelerator(KeyStroke.getKeyStroke('S', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else saveProof.setAccelerator(KeyStroke.getKeyStroke('S', InputEvent.CTRL_DOWN_MASK));
file.add(preferences);
preferences.addActionListener(a -> {
@@ -294,7 +315,8 @@ private void setupMenu() {
file.add(exit);
exit.addActionListener((ActionEvent) -> System.exit(0));
- exit.setAccelerator(KeyStroke.getKeyStroke('Q', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") exit.setAccelerator(KeyStroke.getKeyStroke('Q', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else exit.setAccelerator(KeyStroke.getKeyStroke('Q', InputEvent.CTRL_DOWN_MASK));
mBar.add(edit);
@@ -303,14 +325,16 @@ private void setupMenu() {
{
GameBoardFacade.getInstance().getHistory().undo();
});
- undo.setAccelerator(KeyStroke.getKeyStroke('Z', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") undo.setAccelerator(KeyStroke.getKeyStroke('Z', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else undo.setAccelerator(KeyStroke.getKeyStroke('Z', InputEvent.CTRL_DOWN_MASK));
edit.add(redo);
redo.addActionListener((ActionEvent) ->
{
GameBoardFacade.getInstance().getHistory().redo();
});
- redo.setAccelerator(KeyStroke.getKeyStroke('Y', InputEvent.CTRL_DOWN_MASK));
+ if(os == "mac") redo.setAccelerator(KeyStroke.getKeyStroke('Y', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
+ else redo.setAccelerator(KeyStroke.getKeyStroke('Y', InputEvent.CTRL_DOWN_MASK));
mBar.add(proof);