commit eecb709c87a7dd4cf57c60f2ebfaf6583e04f1bf Author: Joshua Sigona Date: Fri Aug 10 16:11:44 2018 -0700 Initial StarBlocks commit. Progress up to Day 5. diff --git a/JamChallenge-core/.classpath b/JamChallenge-core/.classpath new file mode 100644 index 0000000..346eb84 --- /dev/null +++ b/JamChallenge-core/.classpath @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JamChallenge-core/.project b/JamChallenge-core/.project new file mode 100644 index 0000000..656e14f --- /dev/null +++ b/JamChallenge-core/.project @@ -0,0 +1,17 @@ + + + JamChallenge-core + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/JamChallenge-core/.settings/org.eclipse.jdt.core.prefs b/JamChallenge-core/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..bb35fa0 --- /dev/null +++ b/JamChallenge-core/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/JamChallenge-core/assets/1x1.png b/JamChallenge-core/assets/1x1.png new file mode 100644 index 0000000..7c2e020 Binary files /dev/null and b/JamChallenge-core/assets/1x1.png differ diff --git a/JamChallenge-core/assets/block1-1.png b/JamChallenge-core/assets/block1-1.png new file mode 100644 index 0000000..6e6947d Binary files /dev/null and b/JamChallenge-core/assets/block1-1.png differ diff --git a/JamChallenge-core/assets/block1-11.png b/JamChallenge-core/assets/block1-11.png new file mode 100644 index 0000000..2912a93 Binary files /dev/null and b/JamChallenge-core/assets/block1-11.png differ diff --git a/JamChallenge-core/assets/block1-2.png b/JamChallenge-core/assets/block1-2.png new file mode 100644 index 0000000..56b1765 Binary files /dev/null and b/JamChallenge-core/assets/block1-2.png differ diff --git a/JamChallenge-core/assets/block1-3.png b/JamChallenge-core/assets/block1-3.png new file mode 100644 index 0000000..2b82dfa Binary files /dev/null and b/JamChallenge-core/assets/block1-3.png differ diff --git a/JamChallenge-core/assets/block1-4.png b/JamChallenge-core/assets/block1-4.png new file mode 100644 index 0000000..6961e3c Binary files /dev/null and b/JamChallenge-core/assets/block1-4.png differ diff --git a/JamChallenge-core/assets/block_unknown.png b/JamChallenge-core/assets/block_unknown.png new file mode 100644 index 0000000..0e12187 Binary files /dev/null and b/JamChallenge-core/assets/block_unknown.png differ diff --git a/JamChallenge-core/bin/.gitignore b/JamChallenge-core/bin/.gitignore new file mode 100644 index 0000000..a8fb648 --- /dev/null +++ b/JamChallenge-core/bin/.gitignore @@ -0,0 +1,2 @@ +/default/ +/main/ diff --git a/JamChallenge-core/build.gradle b/JamChallenge-core/build.gradle new file mode 100644 index 0000000..03cd1be --- /dev/null +++ b/JamChallenge-core/build.gradle @@ -0,0 +1,11 @@ +apply plugin: "java" + +sourceCompatibility = 1.6 +[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' + +sourceSets.main.java.srcDirs = [ "src/" ] + + +eclipse.project { + name = appName + "-core" +} diff --git a/JamChallenge-core/build/classes/java/main/sig/jam/challenge/JamChallenge.class b/JamChallenge-core/build/classes/java/main/sig/jam/challenge/JamChallenge.class new file mode 100644 index 0000000..db0e8ed Binary files /dev/null and b/JamChallenge-core/build/classes/java/main/sig/jam/challenge/JamChallenge.class differ diff --git a/JamChallenge-core/build/libs/core-1.0.jar b/JamChallenge-core/build/libs/core-1.0.jar new file mode 100644 index 0000000..c6f0d62 Binary files /dev/null and b/JamChallenge-core/build/libs/core-1.0.jar differ diff --git a/JamChallenge-core/build/tmp/jar/MANIFEST.MF b/JamChallenge-core/build/tmp/jar/MANIFEST.MF new file mode 100644 index 0000000..58630c0 --- /dev/null +++ b/JamChallenge-core/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/JamChallenge-core/src/JamChallenge.gwt.xml b/JamChallenge-core/src/JamChallenge.gwt.xml new file mode 100644 index 0000000..756d038 --- /dev/null +++ b/JamChallenge-core/src/JamChallenge.gwt.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/JamChallenge-core/src/sig/jam/challenge/Block.java b/JamChallenge-core/src/sig/jam/challenge/Block.java new file mode 100644 index 0000000..01d162b --- /dev/null +++ b/JamChallenge-core/src/sig/jam/challenge/Block.java @@ -0,0 +1,9 @@ +package sig.jam.challenge; + +public class Block { + BlockColor col; + int field_numb = 0; //Where this block came from. + public Block(BlockColor col) { + this.col = col; + } +} diff --git a/JamChallenge-core/src/sig/jam/challenge/BlockColor.java b/JamChallenge-core/src/sig/jam/challenge/BlockColor.java new file mode 100644 index 0000000..e06c4e4 --- /dev/null +++ b/JamChallenge-core/src/sig/jam/challenge/BlockColor.java @@ -0,0 +1,33 @@ +package sig.jam.challenge; + +import com.badlogic.gdx.graphics.Color; + +public enum BlockColor { + BLUE(Color.NAVY), + GREEN(Color.FOREST), + RED(Color.MAROON), + YELLOW(Color.GOLD), + TEAL(Color.TEAL), + PURPLE(Color.PURPLE), + ORANGE(Color.CORAL), + BROWN(Color.BROWN), + INVISIBLE(new Color(0,0,0,0)); + Color col; + + BlockColor(Color col) { + this.col=col; + } + + public Color getDrawColor() { + return col; + } + + public static BlockColor getRandomColor() { + return getRandomColor(3); + } + + public static BlockColor getRandomColor(int variety) { + return BlockColor.values()[(int)(JamChallenge.r.nextInt(variety))]; + } + +} diff --git a/JamChallenge-core/src/sig/jam/challenge/Field.java b/JamChallenge-core/src/sig/jam/challenge/Field.java new file mode 100644 index 0000000..3982344 --- /dev/null +++ b/JamChallenge-core/src/sig/jam/challenge/Field.java @@ -0,0 +1,446 @@ +package sig.jam.challenge; + +import java.awt.Point; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; + +public class Field { + int rows = 13; + int cols = 9; + double fieldSpd = 0.01; + double fieldOffset = 0; + List block_data = new ArrayList(); + boolean horizontal_cursor = true; //If false, uses vertical cursor. Vertical cursor is 1x2 with the second block being above the initial position. + Point cursor_pos = new Point(0,0); + int player_numb = 0; //AI Controlled. + //ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); + List position_update_list = new ArrayList(); + int scheduledTasks=0; + BlockColor last_selected_col = BlockColor.INVISIBLE; + int same_select_count = 0; + public int ID = 0; + + public Field() { + ID = JamChallenge.FIELD_IDENTIFIER++; + CreateNewRow(); + } + + public Field setHorizontalCursor(boolean horizontal_cursor) { + this.horizontal_cursor=horizontal_cursor; + return this; + } + + public Field setPlayerNumber(int numb) { + this.player_numb=numb; + return this; + } + + public void run() { + if (scheduledTasks>0) { + //System.out.prinln("Field "+player_numb+" scheduled tasks: "+scheduledTasks); + for (int i=0;i=1) { + fieldOffset=0; + if (cursor_pos.y0) { + cursor_pos.x--; + } + } + if (Gdx.input.isKeyJustPressed(JamChallenge.KEYSET_MAP.get(player_numb)[JamChallenge.KEYCODE_UP])) { + if (cursor_pos.y0) { + cursor_pos.y--; + } + } + if (Gdx.input.isKeyJustPressed(JamChallenge.KEYSET_MAP.get(player_numb)[JamChallenge.KEYCODE_ACTIONKEY])) { + Point cursor_pos2 = cursor_pos.getLocation(); + if (horizontal_cursor) { + cursor_pos2.x++; + } else { + cursor_pos2.y++; + } + ////System.out.prinln("POS1 Matches: "+DetectMatchedBlocks(this,cursor_pos).size()+" / POS2 Matches: "+DetectMatchedBlocks(this,cursor_pos2).size()); + int b1 = ConvertCursorPositionToBlockID(this,cursor_pos); + int b2 = ConvertCursorPositionToBlockID(this,cursor_pos2); + Block block1 = block_data.get(b1); + Block block2 = block_data.get(b2); + if (block1.col!=BlockColor.INVISIBLE && + block2.col!=BlockColor.INVISIBLE) { + block_data.set(b2, block1); + block_data.set(b1, block2); + + CheckAndRemoveMatchingBlocks(cursor_pos); + CheckAndRemoveMatchingBlocks(cursor_pos2); + } else + if (block1.col!=BlockColor.INVISIBLE ^ + block2.col!=BlockColor.INVISIBLE) { + block_data.set(b2, block1); + block_data.set(b1, block2); + + if (block1.col==BlockColor.INVISIBLE) { + DropDownBlocksAbove(this,cursor_pos2); + DropBlockAllTheWayDown(this,cursor_pos); + } else + if (block2.col==BlockColor.INVISIBLE) { + DropDownBlocksAbove(this,cursor_pos); + DropBlockAllTheWayDown(this,cursor_pos2); + } + } + } + } + } + + private void DropBlockAllTheWayDown(Field field, Point blockPos) { + Point fallPos = blockPos.getLocation(); + fallPos.y--; + int blockID2 = ConvertCursorPositionToBlockID(field, fallPos); + Block b2 = block_data.get(blockID2); + //System.out.prinln("In here. b2 is "+b2.col); + do { + /*File f = new File("debug.txt"); + try { + FileWriter fw = new FileWriter(f,true); + fw.write("Inside do loop.\n"); + fw.close(); + } catch (IOException e) { + e.printStackTrace(); + }*/ + if (blockID2=0 && b2.col==BlockColor.INVISIBLE) { + fallPos.y--; + blockID2 = ConvertCursorPositionToBlockID(field, fallPos); + if (blockID2=0) { + b2 = block_data.get(blockID2); + } else { + break; + } + } else { + fallPos.y++; + blockID2 = ConvertCursorPositionToBlockID(field, fallPos); + if (blockID2=0) { + b2 = block_data.get(blockID2); + } else { + break; + } + break; + } + } while (true); + //System.out.prinln("Swapping to "+fallPos); + SwapBlocks(blockPos,fallPos,true); + } + + private void DropDownBlocksAbove(Field field, Point fallPos) { + Point targetPos = fallPos.getLocation(); + List updatePoints = new ArrayList(); + for (int y=targetPos.y+1;y=0 && + pos2_id=0) { + Block b1 = block_data.get(pos1_id); + Block b2 = block_data.get(pos2_id); + block_data.set(pos2_id, b1); + block_data.set(pos1_id, b2); + if (checkmatches) { + scheduledTasks++; + position_update_list.add(pos1.getLocation()); + scheduledTasks++; + position_update_list.add(pos2.getLocation()); + } + } + } + + private void CheckAndRemoveMatchingBlocks(Point target_pos) { + // The first integer stores the X position of each cleared area. + // The second integer stores the highest/lowest Y space of each cleared area. To determine fall distance. + // + HashMap HighPOS = new HashMap(); //Blocks above here will fall. + HashMap LowPOS = new HashMap(); //Blocks will fall to this level. + + /*List matched_blocks = DetectMatchedBlocks(this,cursor_pos); + for (Block b : matched_blocks) { + b.col = BlockColor.INVISIBLE; + AddBlockToGravityList(HighPOS, LowPOS, b); + } + if (matched_blocks.size()>0) { + Block cursorBlock = block_data.get(ConvertCursorPositionToBlockID(this,cursor_pos)); + cursorBlock.col=BlockColor.INVISIBLE; + AddBlockToGravityList(HighPOS, LowPOS, cursorBlock); + }*/ + List matched_blocks = DetectMatchedBlocks(this,target_pos); + for (Block b : matched_blocks) { + b.col = BlockColor.INVISIBLE; + AddBlockToGravityList(HighPOS, LowPOS, b); + } + if (matched_blocks.size()>0) { + Block cursorBlock2 = block_data.get(ConvertCursorPositionToBlockID(this,target_pos)); + cursorBlock2.col=BlockColor.INVISIBLE; + AddBlockToGravityList(HighPOS, LowPOS, cursorBlock2); + } + + //System.out.prinln(HighPOS.toString()); + //System.out.prinln(LowPOS.toString()); + + for (Integer i : HighPOS.keySet()) { + for (int y=HighPOS.get(i)+1;y=0) { + Point fallPos = blockPos.getLocation(); + fallPos.y-=HighPOS.get(i)-LowPOS.get(i); + ////System.out.prinln("Block at position "+blockPos+" moved down by "+(HighPOS.get(i)-LowPOS.get(i))); + int fallBlockID = ConvertCursorPositionToBlockID(this,fallPos); + Block b1 = block_data.get(fallBlockID); + Block b2 = block_data.get(blockID); + block_data.set(fallBlockID, b2); + block_data.set(blockID, b1); + scheduledTasks++; + position_update_list.add(fallPos.getLocation()); + } + } + } + + } + + private void AddBlockToGravityList(HashMap HighPOS, HashMap LowPOS, Block b) { + Point pos = ConvertBlockIDToCursorPosition(this,block_data.indexOf(b)); + if (HighPOS.containsKey(pos.x)) { + if (pos.y>HighPOS.get(pos.x)) { + HighPOS.put(pos.x, pos.y); + } + } else { + HighPOS.put(pos.x, pos.y); + } + if (LowPOS.containsKey(pos.x)) { + if (pos.y-1=(rows+1)*cols) { + if (TopRowIsCompletelyInvisible()) { + for (int i=0;i<9;i++) { + block_data.remove(0); + } + return false; + } else { + return true; + } + } + return false; + } + + private boolean TopRowIsCompletelyInvisible() { + for (int i=0;i<9;i++) { + if (block_data.get(i).col!=BlockColor.INVISIBLE) { + return false; + } + } + return true; + } + + private boolean IsRealPlayer() { + return player_numb>0; + } + + private void CreateNewRow() { + for (int i=0;i0) {System.out.println("Selected "+col);} + } while(same_select_count==1 && col==last_selected_col); + if (col==last_selected_col) { + same_select_count++; + } else { + same_select_count=0; + last_selected_col = col; + } + block_data.add(new Block(col)); + /*if (block_data.size()>cols) { + scheduledTasks++; + position_update_list.add(ConvertBlockIDToCursorPosition(this,block_data.size()-1-cols)); + }*/ + } + for (int i=0;i=0;y--) { + for (int x=0;x DetectMatchedBlocks(Field field, Point targetBlockPos) { + List blocklist = field.block_data; + + List vertical_matches = new ArrayList(); + List horizontal_matches = new ArrayList(); + + int blockID = ConvertCursorPositionToBlockID(field, targetBlockPos); + + List matched_blocks = new ArrayList(); + if (blockID=0) { + Block targetblock = blocklist.get(blockID); + + int markerX=0; + int markerY=1; + //Vertical Check + CheckForConnectingBlocks(field, targetBlockPos, blocklist, vertical_matches, targetblock, 0, 1); //Checks for connecting blocks going up. + CheckForConnectingBlocks(field, targetBlockPos, blocklist, vertical_matches, targetblock, 0, -1); //Checks for connecting blocks going down. + CheckForConnectingBlocks(field, targetBlockPos, blocklist, horizontal_matches, targetblock, -1, 0); //Checks for connecting blocks going left. + CheckForConnectingBlocks(field, targetBlockPos, blocklist, horizontal_matches, targetblock, 1, 0); //Checks for connecting blocks going right. + + if (vertical_matches.size()>=2) { + matched_blocks.addAll(vertical_matches); + } + if (horizontal_matches.size()>=2) { + matched_blocks.addAll(horizontal_matches); + } + } + return matched_blocks; + } + + private static void CheckForConnectingBlocks(Field field, Point targetBlockPos, List blocklist, + List matches_list, Block targetblock, int markerX, int markerY) { + boolean match=true; + Point targetPoint = targetBlockPos.getLocation(); + while (match) { + /*File f = new File("debug.txt"); + try { + FileWriter fw = new FileWriter(f,true); + fw.write("Inside while loop.\n"); + fw.close(); + } catch (IOException e) { + e.printStackTrace(); + }*/ + match=false; + targetPoint.x+=markerX; + targetPoint.y+=markerY; + int checkBlockID = ConvertCursorPositionToBlockID(field,targetPoint); + if (checkBlockID=0 && + targetPoint.x>=0 && targetPoint.x=-1 && targetPoint.y playingFields = new ArrayList(); + public static Texture onebyone; + final public static int BLOCK_WIDTH = 16; + final public static int BLOCK_HEIGHT = 16; + public static HashMap KEYSET_MAP = new HashMap(); + + public static Random r = new Random(); + + public static int FIELD_IDENTIFIER = 0; //Should be 0-3, 0 = First field, 3 = Last field + + final static int KEYCODE_LEFT = 0; + final static int KEYCODE_UP = 1; + final static int KEYCODE_RIGHT = 2; + final static int KEYCODE_DOWN = 3; + final static int KEYCODE_ACTIONKEY = 4; + final static int KEYCODE_SPEEDUPKEY = 5; + + private void FrameCounter() { + framesPassed++; + if (lastCheck.getTime().getSeconds()!=Calendar.getInstance().getTime().getSeconds()) { + System.out.println("FPS: "+framesPassed); + framesPassed=0; + lastCheck=Calendar.getInstance(); + } + } + + @Override + public void create () { + + r.setSeed(12839); + + cam = new PerspectiveCamera(); + view = new FitViewport(SCREEN_WIDTH,SCREEN_HEIGHT,cam); + batch = new SpriteBatch(); + onebyone = new Texture("1x1.png"); + + KEYSET_MAP.put(1, new int[]{Keys.LEFT,Keys.UP,Keys.RIGHT,Keys.DOWN,Keys.Z,Keys.SHIFT_LEFT}); + KEYSET_MAP.put(2, new int[]{Keys.LEFT,Keys.UP,Keys.RIGHT,Keys.DOWN,Keys.Z,Keys.SHIFT_LEFT}); + KEYSET_MAP.put(3, new int[]{Keys.LEFT,Keys.UP,Keys.RIGHT,Keys.DOWN,Keys.Z,Keys.SHIFT_LEFT}); + KEYSET_MAP.put(4, new int[]{Keys.LEFT,Keys.UP,Keys.RIGHT,Keys.DOWN,Keys.Z,Keys.SHIFT_LEFT}); + + playingFields.add(new Field() + .setPlayerNumber(1)); + playingFields.add(new Field()); + playingFields.add(new Field()); + playingFields.add(new Field()); + } + + @Override + public void resize(int width, int height) { + view.update(width, height); + } + + @Override + public void render () { + try { + Thread.sleep(1000/targetFPS); + } catch (InterruptedException e) { + e.printStackTrace(); + } + FrameCounter(); + Gdx.gl.glClearColor(0.2f, 0.2f, 0.2f, 1f); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + batch.begin(); + int fieldSpacing = SCREEN_WIDTH/playingFields.size(); + batch.setColor(Color.WHITE); + for (int i=0;i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JamChallenge-desktop/.project b/JamChallenge-desktop/.project new file mode 100644 index 0000000..a69da24 --- /dev/null +++ b/JamChallenge-desktop/.project @@ -0,0 +1,24 @@ + + + JamChallenge-desktop + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + assets + 2 + PARENT-1-PROJECT_LOC/core/assets + + + diff --git a/JamChallenge-desktop/.settings/org.eclipse.jdt.core.prefs b/JamChallenge-desktop/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..b58a071 --- /dev/null +++ b/JamChallenge-desktop/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +# +#Tue Aug 07 02:50:52 CDT 2018 +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error diff --git a/JamChallenge-desktop/bin/.gitignore b/JamChallenge-desktop/bin/.gitignore new file mode 100644 index 0000000..a8fb648 --- /dev/null +++ b/JamChallenge-desktop/bin/.gitignore @@ -0,0 +1,2 @@ +/default/ +/main/ diff --git a/JamChallenge-desktop/build.gradle b/JamChallenge-desktop/build.gradle new file mode 100644 index 0000000..cb4a347 --- /dev/null +++ b/JamChallenge-desktop/build.gradle @@ -0,0 +1,55 @@ +apply plugin: "java" + +sourceCompatibility = 1.6 +sourceSets.main.java.srcDirs = [ "src/" ] + +project.ext.mainClassName = "sig.jam.challenge.desktop.DesktopLauncher" +project.ext.assetsDir = new File("../core/assets"); + +task run(dependsOn: classes, type: JavaExec) { + main = project.mainClassName + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + workingDir = project.assetsDir + ignoreExitValue = true +} + +task debug(dependsOn: classes, type: JavaExec) { + main = project.mainClassName + classpath = sourceSets.main.runtimeClasspath + standardInput = System.in + workingDir = project.assetsDir + ignoreExitValue = true + debug = true +} + +task dist(type: Jar) { + from files(sourceSets.main.output.classesDir) + from files(sourceSets.main.output.resourcesDir) + from {configurations.compile.collect {zipTree(it)}} + from files(project.assetsDir); + + manifest { + attributes 'Main-Class': project.mainClassName + } +} + +dist.dependsOn classes + +eclipse { + project { + name = appName + "-desktop" + linkedResource name: 'assets', type: '2', location: 'PARENT-1-PROJECT_LOC/core/assets' + } +} + +task afterEclipseImport(description: "Post processing after project generation", group: "IDE") { + doLast { + def classpath = new XmlParser().parse(file(".classpath")) + new Node(classpath, "classpathentry", [ kind: 'src', path: 'assets' ]); + def writer = new FileWriter(file(".classpath")) + def printer = new XmlNodePrinter(new PrintWriter(writer)) + printer.setPreserveWhitespace(true) + printer.print(classpath) + } +} diff --git a/JamChallenge-desktop/debug.txt b/JamChallenge-desktop/debug.txt new file mode 100644 index 0000000..8ce723a --- /dev/null +++ b/JamChallenge-desktop/debug.txt @@ -0,0 +1,3409 @@ +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside do loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside do loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. +Inside while loop. diff --git a/JamChallenge-desktop/src/sig/jam/challenge/desktop/DesktopLauncher.java b/JamChallenge-desktop/src/sig/jam/challenge/desktop/DesktopLauncher.java new file mode 100644 index 0000000..f044496 --- /dev/null +++ b/JamChallenge-desktop/src/sig/jam/challenge/desktop/DesktopLauncher.java @@ -0,0 +1,14 @@ +package sig.jam.challenge.desktop; + +import com.badlogic.gdx.backends.lwjgl.LwjglApplication; +import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; +import sig.jam.challenge.JamChallenge; + +public class DesktopLauncher { + public static void main (String[] arg) { + LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); + config.width = JamChallenge.SCREEN_WIDTH; + config.height = JamChallenge.SCREEN_HEIGHT; + new LwjglApplication(new JamChallenge(), config); + } +} diff --git a/JamChallenge-html/.classpath b/JamChallenge-html/.classpath new file mode 100644 index 0000000..c652d94 --- /dev/null +++ b/JamChallenge-html/.classpath @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JamChallenge-html/.project b/JamChallenge-html/.project new file mode 100644 index 0000000..83f926d --- /dev/null +++ b/JamChallenge-html/.project @@ -0,0 +1,41 @@ + + + JamChallenge-html + + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.gwtplugins.gwt.eclipse.core.gwtProjectValidator + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + com.gwtplugins.gdt.eclipse.core.webAppProjectValidator + + + + + + org.eclipse.jdt.core.javanature + com.gwtplugins.gwt.eclipse.core.gwtNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + diff --git a/JamChallenge-html/.settings/com.gwtplugins.gdt.eclipse.core.prefs b/JamChallenge-html/.settings/com.gwtplugins.gdt.eclipse.core.prefs new file mode 100644 index 0000000..61d8493 --- /dev/null +++ b/JamChallenge-html/.settings/com.gwtplugins.gdt.eclipse.core.prefs @@ -0,0 +1,5 @@ +#Tue Aug 07 02:51:20 CDT 2018 +warSrcDir=webapp/ +lastWarOutDir=C\:\\Users\\sigon\\Documents\\JamChallenge\\html\\war +eclipse.preferences.version=1 +warSrcDirIsOutput=false diff --git a/JamChallenge-html/.settings/org.eclipse.jdt.core.prefs b/JamChallenge-html/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..ccae983 --- /dev/null +++ b/JamChallenge-html/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +# +#Tue Aug 07 02:51:20 CDT 2018 +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error diff --git a/JamChallenge-html/.settings/org.eclipse.wst.common.component b/JamChallenge-html/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..a92c6a2 --- /dev/null +++ b/JamChallenge-html/.settings/org.eclipse.wst.common.component @@ -0,0 +1,11 @@ + + + + + + + + uses + + + diff --git a/JamChallenge-html/.settings/org.eclipse.wst.common.project.facet.core.xml b/JamChallenge-html/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..f3bc37d --- /dev/null +++ b/JamChallenge-html/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/JamChallenge-html/bin/.gitignore b/JamChallenge-html/bin/.gitignore new file mode 100644 index 0000000..ddf9c65 --- /dev/null +++ b/JamChallenge-html/bin/.gitignore @@ -0,0 +1 @@ +/main/ diff --git a/JamChallenge-html/build.gradle b/JamChallenge-html/build.gradle new file mode 100644 index 0000000..548b607 --- /dev/null +++ b/JamChallenge-html/build.gradle @@ -0,0 +1,85 @@ +gwt { + gwtVersion='2.8.0' // Should match the gwt version used for building the gwt backend + maxHeapSize="1G" // Default 256m is not enough for gwt compiler. GWT is HUNGRY + minHeapSize="1G" + + src = files(file("src/")) // Needs to be in front of "modules" below. + modules 'sig.jam.challenge.GdxDefinition' + devModules 'sig.jam.challenge.GdxDefinitionSuperdev' + project.webAppDirName = 'webapp' + + compiler { + strict = true; + disableCastChecking = true; + } +} + +import org.wisepersist.gradle.plugins.gwt.GwtSuperDev + +def HttpFileServer server = null +def httpFilePort = 8080 + +task startHttpServer () { + dependsOn draftCompileGwt + + String output = project.buildDir.path + "/gwt/draftOut" + + doLast { + copy { + from "webapp" + into output + } + + copy { + from "war" + into output + } + + server = new SimpleHttpFileServerFactory().start(new File(output), httpFilePort) + + println "Server started in directory " + server.getContentRoot() + ", http://localhost:" + server.getPort() + } +} + +task superDev (type: GwtSuperDev) { + dependsOn startHttpServer + doFirst { + gwt.modules = gwt.devModules + } +} + + +task dist(dependsOn: [clean, compileGwt]) { + doLast { + file("build/dist").mkdirs() + copy { + from "build/gwt/out" + into "build/dist" + } + copy { + from "webapp" + into "build/dist" + } + copy { + from "war" + into "build/dist" + } + } +} + +task addSource { + doLast { + sourceSets.main.compileClasspath += files(project(':core').sourceSets.main.allJava.srcDirs) + } +} + +tasks.compileGwt.dependsOn(addSource) +tasks.draftCompileGwt.dependsOn(addSource) + +sourceCompatibility = 1.6 +sourceSets.main.java.srcDirs = [ "src/" ] + + +eclipse.project { + name = appName + "-html" +} diff --git a/JamChallenge-html/build/classes/java/main/sig/jam/challenge/client/HtmlLauncher.class b/JamChallenge-html/build/classes/java/main/sig/jam/challenge/client/HtmlLauncher.class new file mode 100644 index 0000000..ec51467 Binary files /dev/null and b/JamChallenge-html/build/classes/java/main/sig/jam/challenge/client/HtmlLauncher.class differ diff --git a/JamChallenge-html/src/sig/jam/challenge/GdxDefinition.gwt.xml b/JamChallenge-html/src/sig/jam/challenge/GdxDefinition.gwt.xml new file mode 100644 index 0000000..a4e6f6a --- /dev/null +++ b/JamChallenge-html/src/sig/jam/challenge/GdxDefinition.gwt.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/JamChallenge-html/src/sig/jam/challenge/GdxDefinitionSuperdev.gwt.xml b/JamChallenge-html/src/sig/jam/challenge/GdxDefinitionSuperdev.gwt.xml new file mode 100644 index 0000000..e16cd79 --- /dev/null +++ b/JamChallenge-html/src/sig/jam/challenge/GdxDefinitionSuperdev.gwt.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/JamChallenge-html/src/sig/jam/challenge/client/HtmlLauncher.java b/JamChallenge-html/src/sig/jam/challenge/client/HtmlLauncher.java new file mode 100644 index 0000000..a17a2b4 --- /dev/null +++ b/JamChallenge-html/src/sig/jam/challenge/client/HtmlLauncher.java @@ -0,0 +1,51 @@ +package sig.jam.challenge.client; + +import com.badlogic.gdx.ApplicationListener; +import com.badlogic.gdx.backends.gwt.GwtApplication; +import com.badlogic.gdx.backends.gwt.GwtApplicationConfiguration; +import sig.jam.challenge.JamChallenge; + +public class HtmlLauncher extends GwtApplication { + + // USE THIS CODE FOR A FIXED SIZE APPLICATION + @Override + public GwtApplicationConfiguration getConfig () { + return new GwtApplicationConfiguration(480, 320); + } + // END CODE FOR FIXED SIZE APPLICATION + + // UNCOMMENT THIS CODE FOR A RESIZABLE APPLICATION + // PADDING is to avoid scrolling in iframes, set to 20 if you have problems + // private static final int PADDING = 0; + // private GwtApplicationConfiguration cfg; + // + // @Override + // public GwtApplicationConfiguration getConfig() { + // int w = Window.getClientWidth() - PADDING; + // int h = Window.getClientHeight() - PADDING; + // cfg = new GwtApplicationConfiguration(w, h); + // Window.enableScrolling(false); + // Window.setMargin("0"); + // Window.addResizeHandler(new ResizeListener()); + // cfg.preferFlash = false; + // return cfg; + // } + // + // class ResizeListener implements ResizeHandler { + // @Override + // public void onResize(ResizeEvent event) { + // int width = event.getWidth() - PADDING; + // int height = event.getHeight() - PADDING; + // getRootPanel().setWidth("" + width + "px"); + // getRootPanel().setHeight("" + height + "px"); + // getApplicationListener().resize(width, height); + // Gdx.graphics.setWindowedMode(width, height); + // } + // } + // END OF CODE FOR RESIZABLE APPLICATION + + @Override + public ApplicationListener createApplicationListener () { + return new JamChallenge(); + } +} \ No newline at end of file diff --git a/JamChallenge-html/war/WEB-INF/classes/sig/jam/challenge/client/HtmlLauncher.class b/JamChallenge-html/war/WEB-INF/classes/sig/jam/challenge/client/HtmlLauncher.class new file mode 100644 index 0000000..ec51467 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/classes/sig/jam/challenge/client/HtmlLauncher.class differ diff --git a/JamChallenge-html/war/WEB-INF/lib/core-1.0.jar b/JamChallenge-html/war/WEB-INF/lib/core-1.0.jar new file mode 100644 index 0000000..c6f0d62 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/core-1.0.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-1.9.8-sources.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-1.9.8-sources.jar new file mode 100644 index 0000000..5af121d Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-1.9.8-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-1.9.8.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-1.9.8.jar new file mode 100644 index 0000000..0b14f59 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-1.9.8.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-backend-gwt-1.9.8-sources.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-backend-gwt-1.9.8-sources.jar new file mode 100644 index 0000000..3a3e534 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-backend-gwt-1.9.8-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-backend-gwt-1.9.8.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-backend-gwt-1.9.8.jar new file mode 100644 index 0000000..9a2b2fa Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-backend-gwt-1.9.8.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-1.9.8-sources.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-1.9.8-sources.jar new file mode 100644 index 0000000..d6715e7 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-1.9.8-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-1.9.8.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-1.9.8.jar new file mode 100644 index 0000000..571eb81 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-1.9.8.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-gwt-1.9.8-sources.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-gwt-1.9.8-sources.jar new file mode 100644 index 0000000..036eacf Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-box2d-gwt-1.9.8-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-1.9.8-sources.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-1.9.8-sources.jar new file mode 100644 index 0000000..90b0fc3 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-1.9.8-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-1.9.8.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-1.9.8.jar new file mode 100644 index 0000000..eeb1d38 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-1.9.8.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-gwt-1.9.8-sources.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-gwt-1.9.8-sources.jar new file mode 100644 index 0000000..917b07c Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-gwt-1.9.8-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-gwt-1.9.8.jar b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-gwt-1.9.8.jar new file mode 100644 index 0000000..983508c Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gdx-controllers-gwt-1.9.8.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/gwt-user-2.8.0.jar b/JamChallenge-html/war/WEB-INF/lib/gwt-user-2.8.0.jar new file mode 100644 index 0000000..4a2262e Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/gwt-user-2.8.0.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/javax.servlet-api-3.1.0.jar b/JamChallenge-html/war/WEB-INF/lib/javax.servlet-api-3.1.0.jar new file mode 100644 index 0000000..6b14c3d Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/javax.servlet-api-3.1.0.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/jsinterop-annotations-1.0.1-sources.jar b/JamChallenge-html/war/WEB-INF/lib/jsinterop-annotations-1.0.1-sources.jar new file mode 100644 index 0000000..e683bd8 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/jsinterop-annotations-1.0.1-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/jsinterop-annotations-1.0.1.jar b/JamChallenge-html/war/WEB-INF/lib/jsinterop-annotations-1.0.1.jar new file mode 100644 index 0000000..9039bc0 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/jsinterop-annotations-1.0.1.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/sac-1.3.jar b/JamChallenge-html/war/WEB-INF/lib/sac-1.3.jar new file mode 100644 index 0000000..39b92b1 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/sac-1.3.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/validation-api-1.0.0.GA-sources.jar b/JamChallenge-html/war/WEB-INF/lib/validation-api-1.0.0.GA-sources.jar new file mode 100644 index 0000000..43611a2 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/validation-api-1.0.0.GA-sources.jar differ diff --git a/JamChallenge-html/war/WEB-INF/lib/validation-api-1.0.0.GA.jar b/JamChallenge-html/war/WEB-INF/lib/validation-api-1.0.0.GA.jar new file mode 100644 index 0000000..1ff2dd7 Binary files /dev/null and b/JamChallenge-html/war/WEB-INF/lib/validation-api-1.0.0.GA.jar differ diff --git a/JamChallenge-html/war/WEB-INF/web.xml b/JamChallenge-html/war/WEB-INF/web.xml new file mode 100644 index 0000000..4301df2 --- /dev/null +++ b/JamChallenge-html/war/WEB-INF/web.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/JamChallenge-html/war/index.html b/JamChallenge-html/war/index.html new file mode 100644 index 0000000..edecd5d --- /dev/null +++ b/JamChallenge-html/war/index.html @@ -0,0 +1,33 @@ + + + + JamChallenge + + + + + + + + +
+ + + + + diff --git a/JamChallenge-html/war/refresh.png b/JamChallenge-html/war/refresh.png new file mode 100644 index 0000000..24a48f1 Binary files /dev/null and b/JamChallenge-html/war/refresh.png differ diff --git a/JamChallenge-html/war/soundmanager2-jsmin.js b/JamChallenge-html/war/soundmanager2-jsmin.js new file mode 100644 index 0000000..2077360 --- /dev/null +++ b/JamChallenge-html/war/soundmanager2-jsmin.js @@ -0,0 +1,113 @@ +/** @license + + + SoundManager 2: JavaScript Sound for the Web + ---------------------------------------------- + http://schillmania.com/projects/soundmanager2/ + + Copyright (c) 2007, Scott Schiller. All rights reserved. + Code provided under the BSD License: + http://schillmania.com/projects/soundmanager2/license.txt + + V2.97a.20150601 +*/ +(function(h,g){function K(sb,K){function ha(b){return c.preferFlash&&H&&!c.ignoreFlash&&c.flash[b]!==g&&c.flash[b]}function r(b){return function(d){var e=this._s;e&&e._a?d=b.call(this,d):(e&&e.id?c._wD(e.id+": Ignoring "+d.type):c._wD("HTML5::Ignoring "+d.type),d=null);return d}}this.setupOptions={url:sb||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1E3, +wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,forceUseGlobalHTML5Audio:!1,ignoreMobileRestrictions:!1,html5Test:/^(probably|maybe)$/i,preferFlash:!1,noSWFCache:!1,idPrefix:"sound"};this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null, +usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null};this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1}, +ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},opus:{type:["audio/ogg; codecs=opus","audio/opus"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieID="sm2-container";this.id=K||"sm2movie";this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber="V2.97a.20150601";this.altURL=this.movieURL=this.version=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock= +this.muted=!1;this.filePattern=null;this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null};this.html5= +{usingFlash:null};this.flash={};this.ignoreFlash=this.html5Only=!1;var W,c=this,Ya=null,l=null,F,v=navigator.userAgent,ia=h.location.href.toString(),m=document,ya,Za,za,n,I=[],Aa=!0,D,X=!1,Y=!1,q=!1,y=!1,ja=!1,p,tb=0,Z,A,Ba,R,Ca,P,S,T,$a,Da,Ea,ka,z,la,Q,Fa,aa,ma,na,U,ab,Ga,bb=["log","info","warn","error"],cb,Ha,db,ba=null,Ia=null,t,Ja,V,eb,oa,pa,L,w,ca=!1,Ka=!1,fb,gb,hb,qa=0,da=null,ra,M=[],ea,u=null,ib,sa,fa,N,ta,La,jb,x,kb=Array.prototype.slice,C=!1,Ma,H,Na,lb,J,mb,Oa,ua,nb=0,Pa,Qa=v.match(/(ipad|iphone|ipod)/i), +Ra=v.match(/android/i),O=v.match(/msie/i),ub=v.match(/webkit/i),va=v.match(/safari/i)&&!v.match(/chrome/i),Sa=v.match(/opera/i),wa=v.match(/(mobile|pre\/|xoom)/i)||Qa||Ra,Ta=!ia.match(/usehtml5audio/i)&&!ia.match(/sm2\-ignorebadua/i)&&va&&!v.match(/silk/i)&&v.match(/OS X 10_6_([3-7])/i),Ua=h.console!==g&&console.log!==g,Va=m.hasFocus!==g?m.hasFocus():null,xa=va&&(m.hasFocus===g||!m.hasFocus()),ob=!xa,pb=/(mp3|mp4|mpa|m4a|m4b)/i,ga=m.location?m.location.protocol.match(/http/i):null,vb=ga?"":"http://", +qb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,rb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),wb=new RegExp("\\.("+rb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.useAltURL=!ga;var Wa;try{Wa=Audio!==g&&(Sa&&opera!==g&&10>opera.version()?new Audio(null):new Audio).canPlayType!==g}catch(xb){Wa=!1}this.hasHTML5=Wa;this.setup=function(b){var d=!c.url;b!==g&&q&&u&&c.ok()&&(b.flashVersion!==g|| +b.url!==g||b.html5Test!==g)&&L(t("setupLate"));Ba(b);if(!C)if(wa){if(!c.setupOptions.ignoreMobileRestrictions||c.setupOptions.forceUseGlobalHTML5Audio)M.push(z.globalHTML5),C=!0}else c.setupOptions.forceUseGlobalHTML5Audio&&(M.push(z.globalHTML5),C=!0);if(!Pa&&wa)if(c.setupOptions.ignoreMobileRestrictions)M.push(z.ignoreMobile);else if(c.setupOptions.useHTML5Audio&&!c.setupOptions.preferFlash||c._wD(z.mobileUA),c.setupOptions.useHTML5Audio=!0,c.setupOptions.preferFlash=!1,Qa)c.ignoreFlash=!0;else if(Ra&& +!v.match(/android\s2\.3/i)||!Ra)c._wD(z.globalHTML5),C=!0;b&&(d&&aa&&b.url!==g&&c.beginDelayedInit(),aa||b.url===g||"complete"!==m.readyState||setTimeout(Q,1));Pa=!0;return c};this.supported=this.ok=function(){return u?q&&!y:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(c){return F(c)||m[c]||h[c]};this.createSound=function(b,d){function e(){f=oa(f);c.sounds[f.id]=new W(f);c.soundIDs.push(f.id);return c.sounds[f.id]}var a,f;a=null;a="soundManager.createSound(): "+t(q?"notOK":"notReady");if(!q|| +!c.ok())return L(a),!1;d!==g&&(b={id:b,url:d});f=A(b);f.url=ra(f.url);f.id===g&&(f.id=c.setupOptions.idPrefix+nb++);f.id.toString().charAt(0).match(/^[0-9]$/)&&c._wD("soundManager.createSound(): "+t("badID",f.id),2);c._wD("soundManager.createSound(): "+f.id+(f.url?" ("+f.url+")":""),1);if(w(f.id,!0))return c._wD("soundManager.createSound(): "+f.id+" exists",1),c.sounds[f.id];if(sa(f))a=e(),c.html5Only||c._wD(f.id+": Using HTML5"),a._setup_html5(f);else{if(c.html5Only)return c._wD(f.id+": No HTML5 support for this sound, and no Flash. Exiting."), +e();if(c.html5.usingFlash&&f.url&&f.url.match(/data\:/i))return c._wD(f.id+": data: URIs not supported via Flash. Exiting."),e();8a.instanceCount?(m(),e=a._setup_html5(),a.setPosition(a._iO.position),e.play()):(c._wD(a.id+": Cloning Audio() for instance #"+ +a.instanceCount+"..."),k=new Audio(a._iO.url),G=function(){x.remove(k,"ended",G);a._onfinish(a);ta(k);k=null},h=function(){x.remove(k,"canplay",h);try{k.currentTime=a._iO.position/1E3}catch(c){L(a.id+": multiShot play() failed to apply position of "+a._iO.position/1E3)}k.play()},x.add(k,"ended",G),a._iO.volume!==g&&(k.volume=Math.max(0,Math.min(1,a._iO.volume/100))),a.muted&&(k.muted=!0),a._iO.position?x.add(k,"canplay",h):k.play()):(B=l._start(a.id,a._iO.loops||1,9===n?a.position:a.position/1E3, +a._iO.multiShot||!1),9!==n||B||(c._wD(e+"No sound hardware, or 32-sound ceiling hit",2),a._iO.onplayerror&&a._iO.onplayerror.apply(a)))}return a};this.stop=function(b){var d=a._iO;1===a.playState&&(c._wD(a.id+": stop()"),a._onbufferchange(0),a._resetOnPosition(0),a.paused=!1,a.isHTML5||(a.playState=0),Xa(),d.to&&a.clearOnPosition(d.to),a.isHTML5?a._a&&(b=a.position,a.setPosition(0),a.position=b,a._a.pause(),a.playState=0,a._onTimer(),G()):(l._stop(a.id,b),d.serverURL&&a.unload()),a.instanceCount= +0,a._iO={},d.onstop&&d.onstop.apply(a));return a};this.setAutoPlay=function(b){c._wD(a.id+": Autoplay turned "+(b?"on":"off"));a._iO.autoPlay=b;a.isHTML5||(l._setAutoPlay(a.id,b),b&&!a.instanceCount&&1===a.readyState&&(a.instanceCount++,c._wD(a.id+": Incremented instance count to "+a.instanceCount)))};this.getAutoPlay=function(){return a._iO.autoPlay};this.setPosition=function(b){b===g&&(b=0);var d=a.isHTML5?Math.max(b,0):Math.min(a.duration||a._iO.duration,Math.max(b,0));a.position=d;b=a.position/ +1E3;a._resetOnPosition(a.position);a._iO.position=d;if(!a.isHTML5)b=9===n?a.position:b,a.readyState&&2!==a.readyState&&l._setPosition(a.id,b,a.paused||!a.playState,a._iO.multiShot);else if(a._a){if(a._html5_canplay){if(a._a.currentTime!==b){c._wD(a.id+": setPosition("+b+")");try{a._a.currentTime=b,(0===a.playState||a.paused)&&a._a.pause()}catch(e){c._wD(a.id+": setPosition("+b+") failed: "+e.message,2)}}}else if(b)return c._wD(a.id+": setPosition("+b+"): Cannot seek yet, sound not ready",2),a;a.paused&& +a._onTimer(!0)}return a};this.pause=function(b){if(a.paused||0===a.playState&&1!==a.readyState)return a;c._wD(a.id+": pause()");a.paused=!0;a.isHTML5?(a._setup_html5().pause(),G()):(b||b===g)&&l._pause(a.id,a._iO.multiShot);a._iO.onpause&&a._iO.onpause.apply(a);return a};this.resume=function(){var b=a._iO;if(!a.paused)return a;c._wD(a.id+": resume()");a.paused=!1;a.playState=1;a.isHTML5?(a._setup_html5().play(),m()):(b.isMovieStar&&!b.serverURL&&a.setPosition(a.position),l._pause(a.id,b.multiShot)); +!r&&b.onplay?(b.onplay.apply(a),r=!0):b.onresume&&b.onresume.apply(a);return a};this.togglePause=function(){c._wD(a.id+": togglePause()");if(0===a.playState)return a.play({position:9!==n||a.isHTML5?a.position/1E3:a.position}),a;a.paused?a.resume():a.pause();return a};this.setPan=function(c,b){c===g&&(c=0);b===g&&(b=!1);a.isHTML5||l._setPan(a.id,c);a._iO.pan=c;b||(a.pan=c,a.options.pan=c);return a};this.setVolume=function(b,d){b===g&&(b=100);d===g&&(d=!1);a.isHTML5?a._a&&(c.muted&&!a.muted&&(a.muted= +!0,a._a.muted=!0),a._a.volume=Math.max(0,Math.min(1,b/100))):l._setVolume(a.id,c.muted&&!a.muted||a.muted?0:b);a._iO.volume=b;d||(a.volume=b,a.options.volume=b);return a};this.mute=function(){a.muted=!0;a.isHTML5?a._a&&(a._a.muted=!0):l._setVolume(a.id,0);return a};this.unmute=function(){a.muted=!1;var b=a._iO.volume!==g;a.isHTML5?a._a&&(a._a.muted=!1):l._setVolume(a.id,b?a._iO.volume:a.options.volume);return a};this.toggleMute=function(){return a.muted?a.unmute():a.mute()};this.onposition=this.onPosition= +function(b,c,d){E.push({position:parseInt(b,10),method:c,scope:d!==g?d:a,fired:!1});return a};this.clearOnPosition=function(a,b){var c;a=parseInt(a,10);if(isNaN(a))return!1;for(c=0;c=b)return!1;for(--b;0<=b;b--)c=E[b],!c.fired&&a.position>=c.position&&(c.fired=!0,v++,c.method.apply(c.scope,[c.position]));return!0};this._resetOnPosition= +function(a){var b,c;b=E.length;if(!b)return!1;for(--b;0<=b;b--)c=E[b],c.fired&&a<=c.position&&(c.fired=!1,v--);return!0};y=function(){var b=a._iO,d=b.from,e=b.to,f,g;g=function(){c._wD(a.id+': "To" time of '+e+" reached.");a.clearOnPosition(e,g);a.stop()};f=function(){c._wD(a.id+': Playing "from" '+d);if(null!==e&&!isNaN(e))a.onPosition(e,g)};null===d||isNaN(d)||(b.position=d,b.multiShot=!1,f());return b};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b, +10),c[b])};Xa=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};m=function(){a.isHTML5&&fb(a)};G=function(){a.isHTML5&&gb(a)};f=function(b){b||(E=[],v=0);r=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration?a._iO.duration:null;a.durationEstimate=null;a.buffered=[];a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount= +0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,g={};if(a._hasTimer||b)return a._a&&(b||(0opera.version()?new Audio(null):new Audio,c=a._a,c._called_load=!1,C&&(Ya=c);a.isHTML5=!0;a._a=c;c._s=a;h();a._apply_loop(c,b.loops);b.autoLoad||b.autoPlay?a.load():(c.autobuffer=!1,c.preload="auto");return c};h=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in J)J.hasOwnProperty(b)&&a._a&&a._a.addEventListener(b,J[b],!1);return!0};k=function(){var b; +c._wD(a.id+": Removing event listeners");a._a._added_events=!1;for(b in J)J.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,J[b],!1)};this._onload=function(b){var d=!!b||!a.isHTML5&&8===n&&a.duration;b=a.id+": ";c._wD(b+(d?"onload()":"Failed to load / invalid sound?"+(a.duration?" -":" Zero-length duration reported.")+" ("+a.url+")"),d?1:2);d||a.isHTML5||(!0===c.sandbox.noRemote&&c._wD(b+t("noNet"),1),!0===c.sandbox.noLocal&&c._wD(b+t("noLocal"),1));a.loaded=d;a.readyState=d?3:2;a._onbufferchange(0); +a._iO.onload&&ua(a,function(){a._iO.onload.apply(a,[d])});return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&&(c._wD(a.id+": Buffer state change: "+b),a._iO.onbufferchange.apply(a,[b]));return!0};this._onsuspend=function(){a._iO.onsuspend&&(c._wD(a.id+": Playback suspended"),a._iO.onsuspend.apply(a));return!0};this._onfailure=function(b,d,e){a.failures++;c._wD(a.id+": Failure ("+a.failures+"): "+b); +if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(b,d,e);else c._wD(a.id+": Ignoring failure")};this._onwarning=function(b,c,d){if(a._iO.onwarning)a._iO.onwarning(b,c,d)};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);a.instanceCount&&(a.instanceCount--,a.instanceCount||(Xa(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},G(),a.isHTML5&&(a.position=0)),a.instanceCount&&!a._iO.multiShotEvents||!b||(c._wD(a.id+": onfinish()"),ua(a, +function(){b.apply(a)})))};this._whileloading=function(b,c,d,e){var f=a._iO;a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(d);a.bufferLength=e;a.durationEstimate=a.isHTML5||f.isMovieStar?a.duration:f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10);a.isHTML5||(a.buffered=[{start:0,end:a.duration}]);(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,d,e,f){var k=a._iO;if(isNaN(b)||null=== +b)return!1;a.position=Math.max(0,b);a._processOnPosition();!a.isHTML5&&8opera.version()?new Audio(null):new Audio:null,e,a,f={},h,k;h=c.audioFormats;for(e in h)if(h.hasOwnProperty(e)&&(a="audio/"+e,f[e]=b(h[e].type),f[a]=f[e],e.match(pb)?(c.flash[e]=!0,c.flash[a]=!0):(c.flash[e]=!1,c.flash[a]=!1),h[e]&&h[e].related))for(k=h[e].related.length-1;0<=k;k--)f["audio/"+h[e].related[k]]= +f[e],c.html5[h[e].related[k]]=f[e],c.flash[h[e].related[k]]=f[e];f.canPlayType=d?b:null;c.html5=A(c.html5,f);c.html5.usingFlash=ib();u=c.html5.usingFlash;return!0};z={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:"soundManagerexception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:"soundManager: Verify that %s is a valid path.",tryDebug:"Try soundManager.debugFlash = true for more security details (output goes to SWF.)", +checkSWF:"See SWF output for more debug info.",localFail:"soundManager: Non-HTTP page ("+m.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, eg. c:/sm2/ or /users/me/sm2/",waitFocus:"soundManager: Special case: Waiting for SWF to load with window focus...",waitForever:"soundManager: Waiting indefinitely for Flash (will recover if unblocked)...", +waitSWF:"soundManager: Waiting for 100% SWF load...",needFunction:"soundManager: Function object expected for %s",badID:'Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:"soundManager: _debug(): Current sound objects",waitOnload:"soundManager: Waiting for window.onload()",docLoaded:"soundManager: Document already loaded",onload:"soundManager: initComplete(): calling soundManager.onload()",onloadOK:"soundManager.onload() complete",didInit:"soundManager: init(): Already called?", +secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:"soundManager: Failed to remove Flash node.",shutdown:"soundManager.disable(): Shutting down",queue:"soundManager: Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying .swf_timedout CSS...", +fbLoaded:"Flash loaded",fbHandler:"soundManager: flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:"soundManager.load(): current URL already assigned.",badFV:'soundManager.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case", +needFlash:"soundManager: Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:"soundManager: Got window focus.",policy:"Enabling usePolicyFile for data access",setup:"soundManager.setup(): allowed parameters: %s",setupError:'soundManager.setup(): "%s" cannot be assigned with this method.',setupUndef:'soundManager.setup(): Could not find option "%s"',setupLate:"soundManager.setup(): url, flashVersion and html5Test property changes will not take effect until reboot().", +noURL:"soundManager: Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready. "+String.fromCharCode(10003),reset:"soundManager.reset(): Removing event callbacks",mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device.",ignoreMobile:"Ignoring mobile restrictions for this device."};t=function(){var b,c,e,a;b=kb.call(arguments);c=b.shift();if((a=z&&z[c]?z[c]:"")&&b&&b.length)for(c= +0,e=b.length;cn&&(c._wD(t("needfl9")),c.flashVersion=n=9);c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":9===n?" (AS3/Flash 9)":" (AS2/Flash 8)");8'}if(X&&Y)return!1;if(c.html5Only)return Ea(),e(),c.oMC=F(c.movieID),za(),Y=X=!0,!1;var f=d||c.url,h=c.altURL||f,k=ma(),l=V(), +n=null,n=m.getElementsByTagName("html")[0],p,r,q,n=n&&n.dir&&n.dir.match(/rtl/i);b=b===g?c.id:b;Ea();c.url=db(ga?f:h);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;null!==c.wmode&&(v.match(/msie 8/i)||!O&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i)&&(M.push(z.spcWmode),c.wmode=null);k={name:b,id:b,src:d,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:vb+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)", +type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};c.debugFlash&&(k.FlashVars="debug=1");c.wmode||delete k.wmode;if(O)f=m.createElement("div"),r=['',a("movie",d),a("AllowScriptAccess",c.allowScriptAccess),a("quality",k.quality),c.wmode?a("wmode",c.wmode):"",a("bgcolor", +c.bgColor),a("hasPriority","true"),c.debugFlash?a("FlashVars",k.FlashVars):"",""].join("");else for(p in f=m.createElement("embed"),k)k.hasOwnProperty(p)&&f.setAttribute(p,k[p]);Ga();l=V();if(k=ma())if(c.oMC=F(c.movieID)||m.createElement("div"),c.oMC.id)q=c.oMC.className,c.oMC.className=(q?q+" ":"movieContainer")+(l?" "+l:""),c.oMC.appendChild(f),O&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML=r),Y=!0;else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+ +l;p=l=null;c.useFlashBlock||(c.useHighPerformance?l={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(l={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},n&&(l.left=Math.abs(parseInt(l.left,10))+"px")));ub&&(c.oMC.style.zIndex=1E4);if(!c.debugFlash)for(q in l)l.hasOwnProperty(q)&&(c.oMC.style[q]=l[q]);try{O||c.oMC.appendChild(f),k.appendChild(c.oMC),O&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML= +r),Y=!0}catch(u){throw Error(t("domError")+" \n"+u.toString());}}X=!0;e();return!0};la=function(){if(c.html5Only)return na(),!1;if(l)return!1;if(!c.url)return p("noURL"),!1;l=c.getMovie(c.id);l||(ba?(O?c.oMC.innerHTML=Ia:c.oMC.appendChild(ba),ba=null,X=!0):na(c.id,c.url),l=c.getMovie(c.id));"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);Oa();return!0};T=function(){setTimeout($a,1E3)};Da=function(){h.setTimeout(function(){L("soundManager: useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false..."); +c.setup({preferFlash:!1}).reboot();c.didFlashBlock=!0;c.beginDelayedInit()},1)};$a=function(){var b,d=!1;if(!c.url||ca)return!1;ca=!0;x.remove(h,"load",T);if(H&&xa&&!Va)return p("waitFocus"),!1;q||(b=c.getMoviePercent(),0b&&(d=!0));setTimeout(function(){b=c.getMoviePercent();if(d)return ca=!1,c._wD(t("waitSWF")),h.setTimeout(T,1),!1;q||(c._wD("soundManager: No Flash response within expected time. Likely causes: "+(0===b?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(c.debugFlash? +" "+t("checkSWF"):""),2),!ga&&b&&(p("localFail",2),c.debugFlash||p("tryDebug",2)),0===b&&c._wD(t("swf404",c.url),1),D("flashtojs",!1,": Timed out"+(ga?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)")));!q&&ob&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?(c.useFlashBlock&&Ja(),p("waitForever")):!c.useFlashBlock&&ea?Da():(p("waitForever"),P({type:"ontimeout",ignoreInit:!0,error:{type:"INIT_FLASHBLOCK"}})):0===c.flashLoadTimeout?p("waitForever"):!c.useFlashBlock&&ea?Da(): +Ha(!0))},c.flashLoadTimeout)};ka=function(){if(Va||!xa)return x.remove(h,"focus",ka),!0;Va=ob=!0;p("gotFocus");ca=!1;T();x.remove(h,"focus",ka);return!0};Oa=function(){M.length&&(c._wD("SoundManager 2: "+M.join(" "),1),M=[])};mb=function(){Oa();var b,d=[];if(c.useHTML5Audio&&c.hasHTML5){for(b in c.audioFormats)c.audioFormats.hasOwnProperty(b)&&d.push(b+" = "+c.html5[b]+(!c.html5[b]&&u&&c.flash[b]?" (using flash)":c.preferFlash&&c.flash[b]&&u?" (preferring flash)":c.html5[b]?"":" ("+(c.audioFormats[b].required? +"required, ":"")+"and no flash support)"));c._wD("SoundManager 2 HTML5 support: "+d.join(", "),1)}};Z=function(b){if(q)return!1;if(c.html5Only)return p("sm2Loaded",1),q=!0,S(),D("onload",!0),!0;var d=!0,e;c.useFlashBlock&&c.flashLoadTimeout&&!c.getMoviePercent()||(q=!0);e={type:!H&&u?"NO_FLASH":"INIT_TIMEOUT"};c._wD("SoundManager 2 "+(y?"failed to load":"loaded")+" ("+(y?"Flash security/load error":"OK")+") "+String.fromCharCode(y?10006:10003),y?2:1);y||b?(c.useFlashBlock&&c.oMC&&(c.oMC.className= +V()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error")),P({type:"ontimeout",error:e,ignoreInit:!0}),D("onload",!1),U(e),d=!1):D("onload",!0);y||(c.waitForWindowLoad&&!ja?(p("waitOnload"),x.add(h,"load",S)):(c.waitForWindowLoad&&ja&&p("docLoaded"),S()));return d};Za=function(){var b,d=c.setupOptions;for(b in d)d.hasOwnProperty(b)&&(c[b]===g?c[b]=d[b]:c[b]!==d[b]&&(c.setupOptions[b]=c[b]))};za=function(){if(q)return p("didInit"),!1;if(c.html5Only)return q||(x.remove(h,"load",c.beginDelayedInit), +c.enabled=!0,Z()),!0;la();try{l._externalInterfaceTest(!1),ab(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||l._disableDebug(),c.enabled=!0,D("jstoflash",!0),c.html5Only||x.add(h,"unload",ya)}catch(b){return c._wD("js/flash exception: "+b.toString()),D("jstoflash",!1),U({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),Ha(!0),Z(),!1}Z();x.remove(h,"load",c.beginDelayedInit);return!0};Q=function(){if(aa)return!1;aa=!0;Za();Ga();!H&&c.hasHTML5&&(c._wD("SoundManager 2: No Flash detected"+ +(c.useHTML5Audio?". Trying HTML5-only mode.":", enabling HTML5."),1),c.setup({useHTML5Audio:!0,preferFlash:!1}));jb();!H&&u&&(M.push(z.needFlash),c.setup({flashLoadTimeout:1}));m.removeEventListener&&m.removeEventListener("DOMContentLoaded",Q,!1);la();return!0};La=function(){"complete"===m.readyState&&(Q(),m.detachEvent("onreadystatechange",La));return!0};Fa=function(){ja=!0;Q();x.remove(h,"load",Fa)};Na();x.add(h,"focus",ka);x.add(h,"load",T);x.add(h,"load",Fa);m.addEventListener?m.addEventListener("DOMContentLoaded", +Q,!1):m.attachEvent?m.attachEvent("onreadystatechange",La):(D("onload",!1),U({type:"NO_DOM2_EVENTS",fatal:!0}))}if(!h||!h.document)throw Error("SoundManager requires a browser with window and document objects.");var W=null;h.SM2_DEFER!==g&&SM2_DEFER||(W=new K);"object"===typeof module&&module&&"object"===typeof module.exports?(module.exports.SoundManager=K,module.exports.soundManager=W):"function"===typeof define&&define.amd&&define(function(){return{constructor:K,getInstance:function(g){!h.soundManager&& +g instanceof Function&&(g=g(K),g instanceof K&&(h.soundManager=g));return h.soundManager}}});h.SoundManager=K;h.soundManager=W})(window); \ No newline at end of file diff --git a/JamChallenge-html/war/soundmanager2-setup.js b/JamChallenge-html/war/soundmanager2-setup.js new file mode 100644 index 0000000..4d0ac66 --- /dev/null +++ b/JamChallenge-html/war/soundmanager2-setup.js @@ -0,0 +1 @@ +window.SM2_DEFER = true; \ No newline at end of file diff --git a/JamChallenge-html/war/styles.css b/JamChallenge-html/war/styles.css new file mode 100644 index 0000000..0abbdaa --- /dev/null +++ b/JamChallenge-html/war/styles.css @@ -0,0 +1,43 @@ +canvas { + cursor: default; + outline: none; +} + +body { + background-color: #222222; +} + +.superdev { + color: rgb(37,37,37); + text-shadow: 0px 1px 1px rgba(250,250,250,0.1); + font-size: 50pt; + display: block; + position: relative; + text-decoration: none; + background-color: rgb(83,87,93); + box-shadow: 0px 3px 0px 0px rgb(34,34,34), + 0px 7px 10px 0px rgb(17,17,17), + inset 0px 1px 1px 0px rgba(250, 250, 250, .2), + inset 0px -12px 35px 0px rgba(0, 0, 0, .5); + width: 70px; + height: 70px; + border: 0; + border-radius: 35px; + text-align: center; + line-height: 68px; +} + +.superdev:active { + box-shadow: 0px 0px 0px 0px rgb(34,34,34), + 0px 3px 7px 0px rgb(17,17,17), + inset 0px 1px 1px 0px rgba(250, 250, 250, .2), + inset 0px -10px 35px 5px rgba(0, 0, 0, .5); + background-color: rgb(83,87,93); + top: 3px; + color: #fff; + text-shadow: 0px 0px 3px rgb(250,250,250); +} + +.superdev:hover { + background-color: rgb(100,100,100); +} diff --git a/JamChallenge-html/webapp/WEB-INF/web.xml b/JamChallenge-html/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..4301df2 --- /dev/null +++ b/JamChallenge-html/webapp/WEB-INF/web.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/JamChallenge-html/webapp/index.html b/JamChallenge-html/webapp/index.html new file mode 100644 index 0000000..edecd5d --- /dev/null +++ b/JamChallenge-html/webapp/index.html @@ -0,0 +1,33 @@ + + + + JamChallenge + + + + + + + + +
+ + + + + diff --git a/JamChallenge-html/webapp/refresh.png b/JamChallenge-html/webapp/refresh.png new file mode 100644 index 0000000..24a48f1 Binary files /dev/null and b/JamChallenge-html/webapp/refresh.png differ diff --git a/JamChallenge-html/webapp/soundmanager2-jsmin.js b/JamChallenge-html/webapp/soundmanager2-jsmin.js new file mode 100644 index 0000000..2077360 --- /dev/null +++ b/JamChallenge-html/webapp/soundmanager2-jsmin.js @@ -0,0 +1,113 @@ +/** @license + + + SoundManager 2: JavaScript Sound for the Web + ---------------------------------------------- + http://schillmania.com/projects/soundmanager2/ + + Copyright (c) 2007, Scott Schiller. All rights reserved. + Code provided under the BSD License: + http://schillmania.com/projects/soundmanager2/license.txt + + V2.97a.20150601 +*/ +(function(h,g){function K(sb,K){function ha(b){return c.preferFlash&&H&&!c.ignoreFlash&&c.flash[b]!==g&&c.flash[b]}function r(b){return function(d){var e=this._s;e&&e._a?d=b.call(this,d):(e&&e.id?c._wD(e.id+": Ignoring "+d.type):c._wD("HTML5::Ignoring "+d.type),d=null);return d}}this.setupOptions={url:sb||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:"#ffffff",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1E3, +wmode:null,allowScriptAccess:"always",useFlashBlock:!1,useHTML5Audio:!0,forceUseGlobalHTML5Audio:!1,ignoreMobileRestrictions:!1,html5Test:/^(probably|maybe)$/i,preferFlash:!1,noSWFCache:!1,idPrefix:"sound"};this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null, +usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};this.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null};this.audioFormats={mp3:{type:['audio/mpeg; codecs="mp3"',"audio/mpeg","audio/mp3","audio/MPA","audio/mpa-robust"],required:!0},mp4:{related:["aac","m4a","m4b"],type:['audio/mp4; codecs="mp4a.40.2"',"audio/aac","audio/x-m4a","audio/MP4A-LATM","audio/mpeg4-generic"],required:!1}, +ogg:{type:["audio/ogg; codecs=vorbis"],required:!1},opus:{type:["audio/ogg; codecs=opus","audio/opus"],required:!1},wav:{type:['audio/wav; codecs="1"',"audio/wav","audio/wave","audio/x-wav"],required:!1}};this.movieID="sm2-container";this.id=K||"sm2movie";this.debugID="soundmanager-debug";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber="V2.97a.20150601";this.altURL=this.movieURL=this.version=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock= +this.muted=!1;this.filePattern=null;this.filePatterns={flash8:/\.mp3(\?.*)?$/i,flash9:/\.mp3(\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1};this.sandbox={type:null,types:{remote:"remote (domain-based) rules",localWithFile:"local with file access (no internet access)",localWithNetwork:"local with network (internet access only, no local access)",localTrusted:"local, trusted (local+internet access)"},description:null,noRemote:null,noLocal:null};this.html5= +{usingFlash:null};this.flash={};this.ignoreFlash=this.html5Only=!1;var W,c=this,Ya=null,l=null,F,v=navigator.userAgent,ia=h.location.href.toString(),m=document,ya,Za,za,n,I=[],Aa=!0,D,X=!1,Y=!1,q=!1,y=!1,ja=!1,p,tb=0,Z,A,Ba,R,Ca,P,S,T,$a,Da,Ea,ka,z,la,Q,Fa,aa,ma,na,U,ab,Ga,bb=["log","info","warn","error"],cb,Ha,db,ba=null,Ia=null,t,Ja,V,eb,oa,pa,L,w,ca=!1,Ka=!1,fb,gb,hb,qa=0,da=null,ra,M=[],ea,u=null,ib,sa,fa,N,ta,La,jb,x,kb=Array.prototype.slice,C=!1,Ma,H,Na,lb,J,mb,Oa,ua,nb=0,Pa,Qa=v.match(/(ipad|iphone|ipod)/i), +Ra=v.match(/android/i),O=v.match(/msie/i),ub=v.match(/webkit/i),va=v.match(/safari/i)&&!v.match(/chrome/i),Sa=v.match(/opera/i),wa=v.match(/(mobile|pre\/|xoom)/i)||Qa||Ra,Ta=!ia.match(/usehtml5audio/i)&&!ia.match(/sm2\-ignorebadua/i)&&va&&!v.match(/silk/i)&&v.match(/OS X 10_6_([3-7])/i),Ua=h.console!==g&&console.log!==g,Va=m.hasFocus!==g?m.hasFocus():null,xa=va&&(m.hasFocus===g||!m.hasFocus()),ob=!xa,pb=/(mp3|mp4|mpa|m4a|m4b)/i,ga=m.location?m.location.protocol.match(/http/i):null,vb=ga?"":"http://", +qb=/^\s*audio\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\s*(?:$|;)/i,rb="mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2".split(" "),wb=new RegExp("\\.("+rb.join("|")+")(\\?.*)?$","i");this.mimePattern=/^\s*audio\/(?:x-)?(?:mp(?:eg|3))\s*(?:$|;)/i;this.useAltURL=!ga;var Wa;try{Wa=Audio!==g&&(Sa&&opera!==g&&10>opera.version()?new Audio(null):new Audio).canPlayType!==g}catch(xb){Wa=!1}this.hasHTML5=Wa;this.setup=function(b){var d=!c.url;b!==g&&q&&u&&c.ok()&&(b.flashVersion!==g|| +b.url!==g||b.html5Test!==g)&&L(t("setupLate"));Ba(b);if(!C)if(wa){if(!c.setupOptions.ignoreMobileRestrictions||c.setupOptions.forceUseGlobalHTML5Audio)M.push(z.globalHTML5),C=!0}else c.setupOptions.forceUseGlobalHTML5Audio&&(M.push(z.globalHTML5),C=!0);if(!Pa&&wa)if(c.setupOptions.ignoreMobileRestrictions)M.push(z.ignoreMobile);else if(c.setupOptions.useHTML5Audio&&!c.setupOptions.preferFlash||c._wD(z.mobileUA),c.setupOptions.useHTML5Audio=!0,c.setupOptions.preferFlash=!1,Qa)c.ignoreFlash=!0;else if(Ra&& +!v.match(/android\s2\.3/i)||!Ra)c._wD(z.globalHTML5),C=!0;b&&(d&&aa&&b.url!==g&&c.beginDelayedInit(),aa||b.url===g||"complete"!==m.readyState||setTimeout(Q,1));Pa=!0;return c};this.supported=this.ok=function(){return u?q&&!y:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(c){return F(c)||m[c]||h[c]};this.createSound=function(b,d){function e(){f=oa(f);c.sounds[f.id]=new W(f);c.soundIDs.push(f.id);return c.sounds[f.id]}var a,f;a=null;a="soundManager.createSound(): "+t(q?"notOK":"notReady");if(!q|| +!c.ok())return L(a),!1;d!==g&&(b={id:b,url:d});f=A(b);f.url=ra(f.url);f.id===g&&(f.id=c.setupOptions.idPrefix+nb++);f.id.toString().charAt(0).match(/^[0-9]$/)&&c._wD("soundManager.createSound(): "+t("badID",f.id),2);c._wD("soundManager.createSound(): "+f.id+(f.url?" ("+f.url+")":""),1);if(w(f.id,!0))return c._wD("soundManager.createSound(): "+f.id+" exists",1),c.sounds[f.id];if(sa(f))a=e(),c.html5Only||c._wD(f.id+": Using HTML5"),a._setup_html5(f);else{if(c.html5Only)return c._wD(f.id+": No HTML5 support for this sound, and no Flash. Exiting."), +e();if(c.html5.usingFlash&&f.url&&f.url.match(/data\:/i))return c._wD(f.id+": data: URIs not supported via Flash. Exiting."),e();8a.instanceCount?(m(),e=a._setup_html5(),a.setPosition(a._iO.position),e.play()):(c._wD(a.id+": Cloning Audio() for instance #"+ +a.instanceCount+"..."),k=new Audio(a._iO.url),G=function(){x.remove(k,"ended",G);a._onfinish(a);ta(k);k=null},h=function(){x.remove(k,"canplay",h);try{k.currentTime=a._iO.position/1E3}catch(c){L(a.id+": multiShot play() failed to apply position of "+a._iO.position/1E3)}k.play()},x.add(k,"ended",G),a._iO.volume!==g&&(k.volume=Math.max(0,Math.min(1,a._iO.volume/100))),a.muted&&(k.muted=!0),a._iO.position?x.add(k,"canplay",h):k.play()):(B=l._start(a.id,a._iO.loops||1,9===n?a.position:a.position/1E3, +a._iO.multiShot||!1),9!==n||B||(c._wD(e+"No sound hardware, or 32-sound ceiling hit",2),a._iO.onplayerror&&a._iO.onplayerror.apply(a)))}return a};this.stop=function(b){var d=a._iO;1===a.playState&&(c._wD(a.id+": stop()"),a._onbufferchange(0),a._resetOnPosition(0),a.paused=!1,a.isHTML5||(a.playState=0),Xa(),d.to&&a.clearOnPosition(d.to),a.isHTML5?a._a&&(b=a.position,a.setPosition(0),a.position=b,a._a.pause(),a.playState=0,a._onTimer(),G()):(l._stop(a.id,b),d.serverURL&&a.unload()),a.instanceCount= +0,a._iO={},d.onstop&&d.onstop.apply(a));return a};this.setAutoPlay=function(b){c._wD(a.id+": Autoplay turned "+(b?"on":"off"));a._iO.autoPlay=b;a.isHTML5||(l._setAutoPlay(a.id,b),b&&!a.instanceCount&&1===a.readyState&&(a.instanceCount++,c._wD(a.id+": Incremented instance count to "+a.instanceCount)))};this.getAutoPlay=function(){return a._iO.autoPlay};this.setPosition=function(b){b===g&&(b=0);var d=a.isHTML5?Math.max(b,0):Math.min(a.duration||a._iO.duration,Math.max(b,0));a.position=d;b=a.position/ +1E3;a._resetOnPosition(a.position);a._iO.position=d;if(!a.isHTML5)b=9===n?a.position:b,a.readyState&&2!==a.readyState&&l._setPosition(a.id,b,a.paused||!a.playState,a._iO.multiShot);else if(a._a){if(a._html5_canplay){if(a._a.currentTime!==b){c._wD(a.id+": setPosition("+b+")");try{a._a.currentTime=b,(0===a.playState||a.paused)&&a._a.pause()}catch(e){c._wD(a.id+": setPosition("+b+") failed: "+e.message,2)}}}else if(b)return c._wD(a.id+": setPosition("+b+"): Cannot seek yet, sound not ready",2),a;a.paused&& +a._onTimer(!0)}return a};this.pause=function(b){if(a.paused||0===a.playState&&1!==a.readyState)return a;c._wD(a.id+": pause()");a.paused=!0;a.isHTML5?(a._setup_html5().pause(),G()):(b||b===g)&&l._pause(a.id,a._iO.multiShot);a._iO.onpause&&a._iO.onpause.apply(a);return a};this.resume=function(){var b=a._iO;if(!a.paused)return a;c._wD(a.id+": resume()");a.paused=!1;a.playState=1;a.isHTML5?(a._setup_html5().play(),m()):(b.isMovieStar&&!b.serverURL&&a.setPosition(a.position),l._pause(a.id,b.multiShot)); +!r&&b.onplay?(b.onplay.apply(a),r=!0):b.onresume&&b.onresume.apply(a);return a};this.togglePause=function(){c._wD(a.id+": togglePause()");if(0===a.playState)return a.play({position:9!==n||a.isHTML5?a.position/1E3:a.position}),a;a.paused?a.resume():a.pause();return a};this.setPan=function(c,b){c===g&&(c=0);b===g&&(b=!1);a.isHTML5||l._setPan(a.id,c);a._iO.pan=c;b||(a.pan=c,a.options.pan=c);return a};this.setVolume=function(b,d){b===g&&(b=100);d===g&&(d=!1);a.isHTML5?a._a&&(c.muted&&!a.muted&&(a.muted= +!0,a._a.muted=!0),a._a.volume=Math.max(0,Math.min(1,b/100))):l._setVolume(a.id,c.muted&&!a.muted||a.muted?0:b);a._iO.volume=b;d||(a.volume=b,a.options.volume=b);return a};this.mute=function(){a.muted=!0;a.isHTML5?a._a&&(a._a.muted=!0):l._setVolume(a.id,0);return a};this.unmute=function(){a.muted=!1;var b=a._iO.volume!==g;a.isHTML5?a._a&&(a._a.muted=!1):l._setVolume(a.id,b?a._iO.volume:a.options.volume);return a};this.toggleMute=function(){return a.muted?a.unmute():a.mute()};this.onposition=this.onPosition= +function(b,c,d){E.push({position:parseInt(b,10),method:c,scope:d!==g?d:a,fired:!1});return a};this.clearOnPosition=function(a,b){var c;a=parseInt(a,10);if(isNaN(a))return!1;for(c=0;c=b)return!1;for(--b;0<=b;b--)c=E[b],!c.fired&&a.position>=c.position&&(c.fired=!0,v++,c.method.apply(c.scope,[c.position]));return!0};this._resetOnPosition= +function(a){var b,c;b=E.length;if(!b)return!1;for(--b;0<=b;b--)c=E[b],c.fired&&a<=c.position&&(c.fired=!1,v--);return!0};y=function(){var b=a._iO,d=b.from,e=b.to,f,g;g=function(){c._wD(a.id+': "To" time of '+e+" reached.");a.clearOnPosition(e,g);a.stop()};f=function(){c._wD(a.id+': Playing "from" '+d);if(null!==e&&!isNaN(e))a.onPosition(e,g)};null===d||isNaN(d)||(b.position=d,b.multiShot=!1,f());return b};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b, +10),c[b])};Xa=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};m=function(){a.isHTML5&&fb(a)};G=function(){a.isHTML5&&gb(a)};f=function(b){b||(E=[],v=0);r=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration?a._iO.duration:null;a.durationEstimate=null;a.buffered=[];a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount= +0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,g={};if(a._hasTimer||b)return a._a&&(b||(0opera.version()?new Audio(null):new Audio,c=a._a,c._called_load=!1,C&&(Ya=c);a.isHTML5=!0;a._a=c;c._s=a;h();a._apply_loop(c,b.loops);b.autoLoad||b.autoPlay?a.load():(c.autobuffer=!1,c.preload="auto");return c};h=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in J)J.hasOwnProperty(b)&&a._a&&a._a.addEventListener(b,J[b],!1);return!0};k=function(){var b; +c._wD(a.id+": Removing event listeners");a._a._added_events=!1;for(b in J)J.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,J[b],!1)};this._onload=function(b){var d=!!b||!a.isHTML5&&8===n&&a.duration;b=a.id+": ";c._wD(b+(d?"onload()":"Failed to load / invalid sound?"+(a.duration?" -":" Zero-length duration reported.")+" ("+a.url+")"),d?1:2);d||a.isHTML5||(!0===c.sandbox.noRemote&&c._wD(b+t("noNet"),1),!0===c.sandbox.noLocal&&c._wD(b+t("noLocal"),1));a.loaded=d;a.readyState=d?3:2;a._onbufferchange(0); +a._iO.onload&&ua(a,function(){a._iO.onload.apply(a,[d])});return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&&(c._wD(a.id+": Buffer state change: "+b),a._iO.onbufferchange.apply(a,[b]));return!0};this._onsuspend=function(){a._iO.onsuspend&&(c._wD(a.id+": Playback suspended"),a._iO.onsuspend.apply(a));return!0};this._onfailure=function(b,d,e){a.failures++;c._wD(a.id+": Failure ("+a.failures+"): "+b); +if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(b,d,e);else c._wD(a.id+": Ignoring failure")};this._onwarning=function(b,c,d){if(a._iO.onwarning)a._iO.onwarning(b,c,d)};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);a.instanceCount&&(a.instanceCount--,a.instanceCount||(Xa(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},G(),a.isHTML5&&(a.position=0)),a.instanceCount&&!a._iO.multiShotEvents||!b||(c._wD(a.id+": onfinish()"),ua(a, +function(){b.apply(a)})))};this._whileloading=function(b,c,d,e){var f=a._iO;a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(d);a.bufferLength=e;a.durationEstimate=a.isHTML5||f.isMovieStar?a.duration:f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10);a.isHTML5||(a.buffered=[{start:0,end:a.duration}]);(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,d,e,f){var k=a._iO;if(isNaN(b)||null=== +b)return!1;a.position=Math.max(0,b);a._processOnPosition();!a.isHTML5&&8opera.version()?new Audio(null):new Audio:null,e,a,f={},h,k;h=c.audioFormats;for(e in h)if(h.hasOwnProperty(e)&&(a="audio/"+e,f[e]=b(h[e].type),f[a]=f[e],e.match(pb)?(c.flash[e]=!0,c.flash[a]=!0):(c.flash[e]=!1,c.flash[a]=!1),h[e]&&h[e].related))for(k=h[e].related.length-1;0<=k;k--)f["audio/"+h[e].related[k]]= +f[e],c.html5[h[e].related[k]]=f[e],c.flash[h[e].related[k]]=f[e];f.canPlayType=d?b:null;c.html5=A(c.html5,f);c.html5.usingFlash=ib();u=c.html5.usingFlash;return!0};z={notReady:"Unavailable - wait until onready() has fired.",notOK:"Audio support is not available.",domError:"soundManagerexception caught while appending SWF to DOM.",spcWmode:"Removing wmode, preventing known SWF loading issue(s)",swf404:"soundManager: Verify that %s is a valid path.",tryDebug:"Try soundManager.debugFlash = true for more security details (output goes to SWF.)", +checkSWF:"See SWF output for more debug info.",localFail:"soundManager: Non-HTTP page ("+m.location.protocol+" URL?) Review Flash player security settings for this special case:\nhttp://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html\nMay need to add/allow path, eg. c:/sm2/ or /users/me/sm2/",waitFocus:"soundManager: Special case: Waiting for SWF to load with window focus...",waitForever:"soundManager: Waiting indefinitely for Flash (will recover if unblocked)...", +waitSWF:"soundManager: Waiting for 100% SWF load...",needFunction:"soundManager: Function object expected for %s",badID:'Sound ID "%s" should be a string, starting with a non-numeric character',currentObj:"soundManager: _debug(): Current sound objects",waitOnload:"soundManager: Waiting for window.onload()",docLoaded:"soundManager: Document already loaded",onload:"soundManager: initComplete(): calling soundManager.onload()",onloadOK:"soundManager.onload() complete",didInit:"soundManager: init(): Already called?", +secNote:"Flash security note: Network/internet URLs will not load due to security restrictions. Access can be configured via Flash Player Global Security Settings Page: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html",badRemove:"soundManager: Failed to remove Flash node.",shutdown:"soundManager.disable(): Shutting down",queue:"soundManager: Queueing %s handler",smError:"SMSound.load(): Exception: JS-Flash communication failed, or JS error.",fbTimeout:"No flash response, applying .swf_timedout CSS...", +fbLoaded:"Flash loaded",fbHandler:"soundManager: flashBlockHandler()",manURL:"SMSound.load(): Using manually-assigned URL",onURL:"soundManager.load(): current URL already assigned.",badFV:'soundManager.flashVersion must be 8 or 9. "%s" is invalid. Reverting to %s.',as2loop:"Note: Setting stream:false so looping can work (flash 8 limitation)",noNSLoop:"Note: Looping not implemented for MovieStar formats",needfl9:"Note: Switching to flash 9, required for MP4 formats.",mfTimeout:"Setting flashLoadTimeout = 0 (infinite) for off-screen, mobile flash case", +needFlash:"soundManager: Fatal error: Flash is needed to play some required formats, but is not available.",gotFocus:"soundManager: Got window focus.",policy:"Enabling usePolicyFile for data access",setup:"soundManager.setup(): allowed parameters: %s",setupError:'soundManager.setup(): "%s" cannot be assigned with this method.',setupUndef:'soundManager.setup(): Could not find option "%s"',setupLate:"soundManager.setup(): url, flashVersion and html5Test property changes will not take effect until reboot().", +noURL:"soundManager: Flash URL required. Call soundManager.setup({url:...}) to get started.",sm2Loaded:"SoundManager 2: Ready. "+String.fromCharCode(10003),reset:"soundManager.reset(): Removing event callbacks",mobileUA:"Mobile UA detected, preferring HTML5 by default.",globalHTML5:"Using singleton HTML5 Audio() pattern for this device.",ignoreMobile:"Ignoring mobile restrictions for this device."};t=function(){var b,c,e,a;b=kb.call(arguments);c=b.shift();if((a=z&&z[c]?z[c]:"")&&b&&b.length)for(c= +0,e=b.length;cn&&(c._wD(t("needfl9")),c.flashVersion=n=9);c.version=c.versionNumber+(c.html5Only?" (HTML5-only mode)":9===n?" (AS3/Flash 9)":" (AS2/Flash 8)");8'}if(X&&Y)return!1;if(c.html5Only)return Ea(),e(),c.oMC=F(c.movieID),za(),Y=X=!0,!1;var f=d||c.url,h=c.altURL||f,k=ma(),l=V(), +n=null,n=m.getElementsByTagName("html")[0],p,r,q,n=n&&n.dir&&n.dir.match(/rtl/i);b=b===g?c.id:b;Ea();c.url=db(ga?f:h);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?"transparent":c.wmode;null!==c.wmode&&(v.match(/msie 8/i)||!O&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i)&&(M.push(z.spcWmode),c.wmode=null);k={name:b,id:b,src:d,quality:"high",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:vb+"www.macromedia.com/go/getflashplayer",title:"JS/Flash audio component (SoundManager 2)", +type:"application/x-shockwave-flash",wmode:c.wmode,hasPriority:"true"};c.debugFlash&&(k.FlashVars="debug=1");c.wmode||delete k.wmode;if(O)f=m.createElement("div"),r=['',a("movie",d),a("AllowScriptAccess",c.allowScriptAccess),a("quality",k.quality),c.wmode?a("wmode",c.wmode):"",a("bgcolor", +c.bgColor),a("hasPriority","true"),c.debugFlash?a("FlashVars",k.FlashVars):"",""].join("");else for(p in f=m.createElement("embed"),k)k.hasOwnProperty(p)&&f.setAttribute(p,k[p]);Ga();l=V();if(k=ma())if(c.oMC=F(c.movieID)||m.createElement("div"),c.oMC.id)q=c.oMC.className,c.oMC.className=(q?q+" ":"movieContainer")+(l?" "+l:""),c.oMC.appendChild(f),O&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML=r),Y=!0;else{c.oMC.id=c.movieID;c.oMC.className="movieContainer "+ +l;p=l=null;c.useFlashBlock||(c.useHighPerformance?l={position:"fixed",width:"8px",height:"8px",bottom:"0px",left:"0px",overflow:"hidden"}:(l={position:"absolute",width:"6px",height:"6px",top:"-9999px",left:"-9999px"},n&&(l.left=Math.abs(parseInt(l.left,10))+"px")));ub&&(c.oMC.style.zIndex=1E4);if(!c.debugFlash)for(q in l)l.hasOwnProperty(q)&&(c.oMC.style[q]=l[q]);try{O||c.oMC.appendChild(f),k.appendChild(c.oMC),O&&(p=c.oMC.appendChild(m.createElement("div")),p.className="sm2-object-box",p.innerHTML= +r),Y=!0}catch(u){throw Error(t("domError")+" \n"+u.toString());}}X=!0;e();return!0};la=function(){if(c.html5Only)return na(),!1;if(l)return!1;if(!c.url)return p("noURL"),!1;l=c.getMovie(c.id);l||(ba?(O?c.oMC.innerHTML=Ia:c.oMC.appendChild(ba),ba=null,X=!0):na(c.id,c.url),l=c.getMovie(c.id));"function"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);Oa();return!0};T=function(){setTimeout($a,1E3)};Da=function(){h.setTimeout(function(){L("soundManager: useFlashBlock is false, 100% HTML5 mode is possible. Rebooting with preferFlash: false..."); +c.setup({preferFlash:!1}).reboot();c.didFlashBlock=!0;c.beginDelayedInit()},1)};$a=function(){var b,d=!1;if(!c.url||ca)return!1;ca=!0;x.remove(h,"load",T);if(H&&xa&&!Va)return p("waitFocus"),!1;q||(b=c.getMoviePercent(),0b&&(d=!0));setTimeout(function(){b=c.getMoviePercent();if(d)return ca=!1,c._wD(t("waitSWF")),h.setTimeout(T,1),!1;q||(c._wD("soundManager: No Flash response within expected time. Likely causes: "+(0===b?"SWF load failed, ":"")+"Flash blocked or JS-Flash security error."+(c.debugFlash? +" "+t("checkSWF"):""),2),!ga&&b&&(p("localFail",2),c.debugFlash||p("tryDebug",2)),0===b&&c._wD(t("swf404",c.url),1),D("flashtojs",!1,": Timed out"+(ga?" (Check flash security or flash blockers)":" (No plugin/missing SWF?)")));!q&&ob&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?(c.useFlashBlock&&Ja(),p("waitForever")):!c.useFlashBlock&&ea?Da():(p("waitForever"),P({type:"ontimeout",ignoreInit:!0,error:{type:"INIT_FLASHBLOCK"}})):0===c.flashLoadTimeout?p("waitForever"):!c.useFlashBlock&&ea?Da(): +Ha(!0))},c.flashLoadTimeout)};ka=function(){if(Va||!xa)return x.remove(h,"focus",ka),!0;Va=ob=!0;p("gotFocus");ca=!1;T();x.remove(h,"focus",ka);return!0};Oa=function(){M.length&&(c._wD("SoundManager 2: "+M.join(" "),1),M=[])};mb=function(){Oa();var b,d=[];if(c.useHTML5Audio&&c.hasHTML5){for(b in c.audioFormats)c.audioFormats.hasOwnProperty(b)&&d.push(b+" = "+c.html5[b]+(!c.html5[b]&&u&&c.flash[b]?" (using flash)":c.preferFlash&&c.flash[b]&&u?" (preferring flash)":c.html5[b]?"":" ("+(c.audioFormats[b].required? +"required, ":"")+"and no flash support)"));c._wD("SoundManager 2 HTML5 support: "+d.join(", "),1)}};Z=function(b){if(q)return!1;if(c.html5Only)return p("sm2Loaded",1),q=!0,S(),D("onload",!0),!0;var d=!0,e;c.useFlashBlock&&c.flashLoadTimeout&&!c.getMoviePercent()||(q=!0);e={type:!H&&u?"NO_FLASH":"INIT_TIMEOUT"};c._wD("SoundManager 2 "+(y?"failed to load":"loaded")+" ("+(y?"Flash security/load error":"OK")+") "+String.fromCharCode(y?10006:10003),y?2:1);y||b?(c.useFlashBlock&&c.oMC&&(c.oMC.className= +V()+" "+(null===c.getMoviePercent()?"swf_timedout":"swf_error")),P({type:"ontimeout",error:e,ignoreInit:!0}),D("onload",!1),U(e),d=!1):D("onload",!0);y||(c.waitForWindowLoad&&!ja?(p("waitOnload"),x.add(h,"load",S)):(c.waitForWindowLoad&&ja&&p("docLoaded"),S()));return d};Za=function(){var b,d=c.setupOptions;for(b in d)d.hasOwnProperty(b)&&(c[b]===g?c[b]=d[b]:c[b]!==d[b]&&(c.setupOptions[b]=c[b]))};za=function(){if(q)return p("didInit"),!1;if(c.html5Only)return q||(x.remove(h,"load",c.beginDelayedInit), +c.enabled=!0,Z()),!0;la();try{l._externalInterfaceTest(!1),ab(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||l._disableDebug(),c.enabled=!0,D("jstoflash",!0),c.html5Only||x.add(h,"unload",ya)}catch(b){return c._wD("js/flash exception: "+b.toString()),D("jstoflash",!1),U({type:"JS_TO_FLASH_EXCEPTION",fatal:!0}),Ha(!0),Z(),!1}Z();x.remove(h,"load",c.beginDelayedInit);return!0};Q=function(){if(aa)return!1;aa=!0;Za();Ga();!H&&c.hasHTML5&&(c._wD("SoundManager 2: No Flash detected"+ +(c.useHTML5Audio?". Trying HTML5-only mode.":", enabling HTML5."),1),c.setup({useHTML5Audio:!0,preferFlash:!1}));jb();!H&&u&&(M.push(z.needFlash),c.setup({flashLoadTimeout:1}));m.removeEventListener&&m.removeEventListener("DOMContentLoaded",Q,!1);la();return!0};La=function(){"complete"===m.readyState&&(Q(),m.detachEvent("onreadystatechange",La));return!0};Fa=function(){ja=!0;Q();x.remove(h,"load",Fa)};Na();x.add(h,"focus",ka);x.add(h,"load",T);x.add(h,"load",Fa);m.addEventListener?m.addEventListener("DOMContentLoaded", +Q,!1):m.attachEvent?m.attachEvent("onreadystatechange",La):(D("onload",!1),U({type:"NO_DOM2_EVENTS",fatal:!0}))}if(!h||!h.document)throw Error("SoundManager requires a browser with window and document objects.");var W=null;h.SM2_DEFER!==g&&SM2_DEFER||(W=new K);"object"===typeof module&&module&&"object"===typeof module.exports?(module.exports.SoundManager=K,module.exports.soundManager=W):"function"===typeof define&&define.amd&&define(function(){return{constructor:K,getInstance:function(g){!h.soundManager&& +g instanceof Function&&(g=g(K),g instanceof K&&(h.soundManager=g));return h.soundManager}}});h.SoundManager=K;h.soundManager=W})(window); \ No newline at end of file diff --git a/JamChallenge-html/webapp/soundmanager2-setup.js b/JamChallenge-html/webapp/soundmanager2-setup.js new file mode 100644 index 0000000..4d0ac66 --- /dev/null +++ b/JamChallenge-html/webapp/soundmanager2-setup.js @@ -0,0 +1 @@ +window.SM2_DEFER = true; \ No newline at end of file diff --git a/JamChallenge-html/webapp/styles.css b/JamChallenge-html/webapp/styles.css new file mode 100644 index 0000000..0abbdaa --- /dev/null +++ b/JamChallenge-html/webapp/styles.css @@ -0,0 +1,43 @@ +canvas { + cursor: default; + outline: none; +} + +body { + background-color: #222222; +} + +.superdev { + color: rgb(37,37,37); + text-shadow: 0px 1px 1px rgba(250,250,250,0.1); + font-size: 50pt; + display: block; + position: relative; + text-decoration: none; + background-color: rgb(83,87,93); + box-shadow: 0px 3px 0px 0px rgb(34,34,34), + 0px 7px 10px 0px rgb(17,17,17), + inset 0px 1px 1px 0px rgba(250, 250, 250, .2), + inset 0px -12px 35px 0px rgba(0, 0, 0, .5); + width: 70px; + height: 70px; + border: 0; + border-radius: 35px; + text-align: center; + line-height: 68px; +} + +.superdev:active { + box-shadow: 0px 0px 0px 0px rgb(34,34,34), + 0px 3px 7px 0px rgb(17,17,17), + inset 0px 1px 1px 0px rgba(250, 250, 250, .2), + inset 0px -10px 35px 5px rgba(0, 0, 0, .5); + background-color: rgb(83,87,93); + top: 3px; + color: #fff; + text-shadow: 0px 0px 3px rgb(250,250,250); +} + +.superdev:hover { + background-color: rgb(100,100,100); +}