Section 1
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
private static function createBlocks(_arg1:ByteArray):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
public static function hashBinary(_arg1:ByteArray):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
digest = new ByteArray();
digest.writeInt(_local2);
digest.writeInt(_local3);
digest.writeInt(_local4);
digest.writeInt(_local5);
digest.position = 0;
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hashBytes(_arg1:ByteArray):String{
return (hashBinary(_arg1));
}
}
}//package com.adobe.crypto
Section 2
//PNGEncoder (com.adobe.images.PNGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
public class PNGEncoder {
private static var crcTableComputed:Boolean = false;
private static var crcTable:Array;
private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:int;
var _local8:uint;
var _local9:uint;
var _local10:uint;
if (!crcTableComputed){
crcTableComputed = true;
crcTable = [];
_local9 = 0;
while (_local9 < 0x0100) {
_local8 = _local9;
_local10 = 0;
while (_local10 < 8) {
if ((_local8 & 1)){
_local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1))));
} else {
_local8 = uint((_local8 >>> 1));
};
_local10++;
};
crcTable[_local9] = _local8;
_local9++;
};
};
_local4 = 0;
if (_arg3 != null){
_local4 = _arg3.length;
};
_arg1.writeUnsignedInt(_local4);
_local5 = _arg1.position;
_arg1.writeUnsignedInt(_arg2);
if (_arg3 != null){
_arg1.writeBytes(_arg3);
};
_local6 = _arg1.position;
_arg1.position = _local5;
_local8 = 4294967295;
_local7 = 0;
while (_local7 < (_local6 - _local5)) {
_local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8))));
_local7++;
};
_local8 = uint((_local8 ^ uint(4294967295)));
_arg1.position = _local6;
_arg1.writeUnsignedInt(_local8);
}
public static function encode(_arg1:BitmapData):ByteArray{
var _local2:ByteArray;
var _local3:ByteArray;
var _local4:ByteArray;
var _local5:int;
var _local6:uint;
var _local7:int;
_local2 = new ByteArray();
_local2.writeUnsignedInt(2303741511);
_local2.writeUnsignedInt(218765834);
_local3 = new ByteArray();
_local3.writeInt(_arg1.width);
_local3.writeInt(_arg1.height);
_local3.writeUnsignedInt(134610944);
_local3.writeByte(0);
writeChunk(_local2, 1229472850, _local3);
_local4 = new ByteArray();
_local5 = 0;
while (_local5 < _arg1.height) {
_local4.writeByte(0);
if (!_arg1.transparent){
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF)));
_local7++;
};
} else {
_local7 = 0;
while (_local7 < _arg1.width) {
_local6 = _arg1.getPixel32(_local7, _local5);
_local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24))));
_local7++;
};
};
_local5++;
};
_local4.compress();
writeChunk(_local2, 1229209940, _local4);
writeChunk(_local2, 1229278788, null);
return (_local2);
}
}
}//package com.adobe.images
Section 3
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function decode(_arg1:String){
var _local2:JSONDecoder;
_local2 = new JSONDecoder(_arg1);
return (_local2.getValue());
}
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder;
_local2 = new JSONEncoder(_arg1);
return (_local2.getString());
}
}
}//package com.adobe.serialization.json
Section 4
//JSONDecoder (com.adobe.serialization.json.JSONDecoder)
package com.adobe.serialization.json {
public class JSONDecoder {
private var value;
private var tokenizer:JSONTokenizer;
private var token:JSONToken;
public function JSONDecoder(_arg1:String){
tokenizer = new JSONTokenizer(_arg1);
nextToken();
value = parseValue();
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
private function parseObject():Object{
var _local1:Object;
var _local2:String;
_local1 = new Object();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
while (true) {
if (token.type == JSONTokenType.STRING){
_local2 = String(token.value);
nextToken();
if (token.type == JSONTokenType.COLON){
nextToken();
_local1[_local2] = parseValue();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACE){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting } or , but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting : but found " + token.value));
};
} else {
tokenizer.parseError(("Expecting string but found " + token.value));
};
};
return (null);
}
private function parseArray():Array{
var _local1:Array;
_local1 = new Array();
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
while (true) {
_local1.push(parseValue());
nextToken();
if (token.type == JSONTokenType.RIGHT_BRACKET){
return (_local1);
};
if (token.type == JSONTokenType.COMMA){
nextToken();
} else {
tokenizer.parseError(("Expecting ] or , but found " + token.value));
};
};
return (null);
}
public function getValue(){
return (value);
}
private function parseValue():Object{
if (token == null){
tokenizer.parseError("Unexpected end of input");
};
switch (token.type){
case JSONTokenType.LEFT_BRACE:
return (parseObject());
case JSONTokenType.LEFT_BRACKET:
return (parseArray());
case JSONTokenType.STRING:
case JSONTokenType.NUMBER:
case JSONTokenType.TRUE:
case JSONTokenType.FALSE:
case JSONTokenType.NULL:
return (token.value);
default:
tokenizer.parseError(("Unexpected " + token.value));
};
return (null);
}
}
}//package com.adobe.serialization.json
Section 5
//JSONEncoder (com.adobe.serialization.json.JSONEncoder)
package com.adobe.serialization.json {
import flash.utils.*;
public class JSONEncoder {
private var jsonString:String;
public function JSONEncoder(_arg1){
jsonString = convertToString(_arg1);
}
private function arrayToString(_arg1:Array):String{
var _local2:String;
var _local3:int;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
private function convertToString(_arg1):String{
if ((_arg1 is String)){
return (escapeString((_arg1 as String)));
};
if ((_arg1 is Number)){
return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null");
} else {
if ((_arg1 is Boolean)){
return ((_arg1) ? "true" : "false");
} else {
if ((_arg1 is Array)){
return (arrayToString((_arg1 as Array)));
};
if ((((_arg1 is Object)) && (!((_arg1 == null))))){
return (objectToString(_arg1));
};
};
};
return ("null");
}
private function escapeString(_arg1:String):String{
var _local2:String;
var _local3:String;
var _local4:Number;
var _local5:int;
var _local6:String;
var _local7:String;
_local2 = "";
_local4 = _arg1.length;
_local5 = 0;
while (_local5 < _local4) {
_local3 = _arg1.charAt(_local5);
switch (_local3){
case "\"":
_local2 = (_local2 + "\\\"");
break;
case "\\":
_local2 = (_local2 + "\\\\");
break;
case "\b":
_local2 = (_local2 + "\\b");
break;
case "\f":
_local2 = (_local2 + "\\f");
break;
case "\n":
_local2 = (_local2 + "\\n");
break;
case "\r":
_local2 = (_local2 + "\\r");
break;
case "\t":
_local2 = (_local2 + "\\t");
break;
default:
if (_local3 < " "){
_local6 = _local3.charCodeAt(0).toString(16);
_local7 = ((_local6.length == 2)) ? "00" : "000";
_local2 = (_local2 + (("\\u" + _local7) + _local6));
} else {
_local2 = (_local2 + _local3);
};
};
_local5++;
};
return ((("\"" + _local2) + "\""));
}
private function objectToString(_arg1:Object):String{
var s:String;
var classInfo:XML;
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
s = "";
classInfo = describeType(o);
if (classInfo.@name.toString() == "Object"){
for (key in o) {
value = o[key];
if ((value is Function)){
} else {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(key) + ":") + convertToString(value)));
};
};
} else {
for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) {
if (s.length > 0){
s = (s + ",");
};
s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name])));
};
};
return ((("{" + s) + "}"));
}
public function getString():String{
return (jsonString);
}
}
}//package com.adobe.serialization.json
Section 6
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _text:String;
private var _location:int;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
name = "JSONParseError";
_location = _arg2;
_text = _arg3;
}
public function get text():String{
return (_text);
}
public function get location():int{
return (_location);
}
}
}//package com.adobe.serialization.json
Section 7
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _value:Object;
private var _type:int;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
_type = _arg1;
_value = _arg2;
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
public function get value():Object{
return (_value);
}
public function set type(_arg1:int):void{
_type = _arg1;
}
public function get type():int{
return (_type);
}
}
}//package com.adobe.serialization.json
Section 8
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var loc:int;
private var ch:String;
private var obj:Object;
private var jsonString:String;
public function JSONTokenizer(_arg1:String){
jsonString = _arg1;
loc = 0;
nextChar();
}
private function skipComments():void{
if (ch == "/"){
nextChar();
switch (ch){
case "/":
do {
nextChar();
} while (((!((ch == "\n"))) && (!((ch == "")))));
nextChar();
break;
case "*":
nextChar();
while (true) {
if (ch == "*"){
nextChar();
if (ch == "/"){
nextChar();
break;
};
} else {
nextChar();
};
if (ch == ""){
parseError("Multi-line comment not closed");
};
};
break;
default:
parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )"));
};
};
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function readNumber():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:Number;
_local1 = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
_local2 = "";
if (ch == "-"){
_local2 = (_local2 + "-");
nextChar();
};
if (!isDigit(ch)){
parseError("Expecting a digit");
};
if (ch == "0"){
_local2 = (_local2 + ch);
nextChar();
if (isDigit(ch)){
parseError("A digit cannot immediately follow 0");
};
} else {
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if (ch == "."){
_local2 = (_local2 + ".");
nextChar();
if (!isDigit(ch)){
parseError("Expecting a digit");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
if ((((ch == "e")) || ((ch == "E")))){
_local2 = (_local2 + "e");
nextChar();
if ((((ch == "+")) || ((ch == "-")))){
_local2 = (_local2 + ch);
nextChar();
};
if (!isDigit(ch)){
parseError("Scientific notation number needs exponent value");
};
while (isDigit(ch)) {
_local2 = (_local2 + ch);
nextChar();
};
};
_local3 = Number(_local2);
if (((isFinite(_local3)) && (!(isNaN(_local3))))){
_local1.value = _local3;
return (_local1);
};
parseError((("Number " + _local3) + " is not valid!"));
return (null);
}
private function nextChar():String{
return ((ch = jsonString.charAt(loc++)));
}
public function getNextToken():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:String;
var _local4:String;
_local1 = new JSONToken();
skipIgnored();
switch (ch){
case "{":
_local1.type = JSONTokenType.LEFT_BRACE;
_local1.value = "{";
nextChar();
break;
case "}":
_local1.type = JSONTokenType.RIGHT_BRACE;
_local1.value = "}";
nextChar();
break;
case "[":
_local1.type = JSONTokenType.LEFT_BRACKET;
_local1.value = "[";
nextChar();
break;
case "]":
_local1.type = JSONTokenType.RIGHT_BRACKET;
_local1.value = "]";
nextChar();
break;
case ",":
_local1.type = JSONTokenType.COMMA;
_local1.value = ",";
nextChar();
break;
case ":":
_local1.type = JSONTokenType.COLON;
_local1.value = ":";
nextChar();
break;
case "t":
_local2 = ((("t" + nextChar()) + nextChar()) + nextChar());
if (_local2 == "true"){
_local1.type = JSONTokenType.TRUE;
_local1.value = true;
nextChar();
} else {
parseError(("Expecting 'true' but found " + _local2));
};
break;
case "f":
_local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar());
if (_local3 == "false"){
_local1.type = JSONTokenType.FALSE;
_local1.value = false;
nextChar();
} else {
parseError(("Expecting 'false' but found " + _local3));
};
break;
case "n":
_local4 = ((("n" + nextChar()) + nextChar()) + nextChar());
if (_local4 == "null"){
_local1.type = JSONTokenType.NULL;
_local1.value = null;
nextChar();
} else {
parseError(("Expecting 'null' but found " + _local4));
};
break;
case "\"":
_local1 = readString();
break;
default:
if (((isDigit(ch)) || ((ch == "-")))){
_local1 = readNumber();
} else {
if (ch == ""){
return (null);
};
parseError((("Unexpected " + ch) + " encountered"));
};
};
return (_local1);
}
private function skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, loc, jsonString));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = loc;
skipWhite();
skipComments();
} while (_local1 != loc);
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String;
_local2 = _arg1.toUpperCase();
return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
private function readString():JSONToken{
var _local1:JSONToken;
var _local2:String;
var _local3:String;
var _local4:int;
_local1 = new JSONToken();
_local1.type = JSONTokenType.STRING;
_local2 = "";
nextChar();
while (((!((ch == "\""))) && (!((ch == ""))))) {
if (ch == "\\"){
nextChar();
switch (ch){
case "\"":
_local2 = (_local2 + "\"");
break;
case "/":
_local2 = (_local2 + "/");
break;
case "\\":
_local2 = (_local2 + "\\");
break;
case "b":
_local2 = (_local2 + "\b");
break;
case "f":
_local2 = (_local2 + "\f");
break;
case "n":
_local2 = (_local2 + "\n");
break;
case "r":
_local2 = (_local2 + "\r");
break;
case "t":
_local2 = (_local2 + "\t");
break;
case "u":
_local3 = "";
_local4 = 0;
while (_local4 < 4) {
if (!isHexDigit(nextChar())){
parseError((" Excepted a hex digit, but found: " + ch));
};
_local3 = (_local3 + ch);
_local4++;
};
_local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16)));
break;
default:
_local2 = (_local2 + ("\\" + ch));
};
} else {
_local2 = (_local2 + ch);
};
nextChar();
};
if (ch == ""){
parseError("Unterminated string literal");
};
nextChar();
_local1.value = _local2;
return (_local1);
}
}
}//package com.adobe.serialization.json
Section 9
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const NUMBER:int = 11;
public static const FALSE:int = 8;
public static const RIGHT_BRACKET:int = 4;
public static const NULL:int = 9;
public static const TRUE:int = 7;
public static const RIGHT_BRACE:int = 2;
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACKET:int = 3;
public static const STRING:int = 10;
public static const LEFT_BRACE:int = 1;
public static const COLON:int = 6;
}
}//package com.adobe.serialization.json
Section 10
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 11
//DefaultAPIConnector (com.newgrounds.components.DefaultAPIConnector)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class DefaultAPIConnector extends MovieClip {
private var _initialized:Boolean;
public var viewLegalButton:SimpleButton;
public var closeButton:SimpleButton;
public var viewLatestButton:SimpleButton;
public function DefaultAPIConnector(){
visible = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onNewVersionAvailable(_arg1:NewgroundsAPIEvent):void{
gotoAndStop("new_version");
visible = true;
}
private function onMovieConnected(_arg1:NewgroundsAPIEvent):void{
if (!_arg1.success){
gotoAndStop("no_connect");
visible = true;
};
}
public function initialize(_arg1:Object):void{
_initialized = true;
NewgroundsAPI.addEventListener(NewgroundsAPIEvent.MOVIE_CONNECTED, onMovieConnected);
NewgroundsAPI.addEventListener(NewgroundsAPIEvent.NEW_VERSION_AVAILABLE, onNewVersionAvailable);
NewgroundsAPI.addEventListener(NewgroundsAPIEvent.HOST_BLOCKED, onHostBlocked);
NewgroundsAPI.setMovieVersion(_arg1.movie_version);
NewgroundsAPI.connectMovie(root, _arg1.movie_id.toString(), _arg1.enc_key);
if (NewgroundsAPI.isNewgrounds()){
trace(((NewgroundsAPI.isNewgrounds() + " ") + NewgroundsAPI.hasUserSession()));
if (((!(NewgroundsAPI.hasUserSession())) && (!(NewgroundsAPI.debugMode)))){
gotoAndStop("no_login");
visible = true;
};
};
}
private function onOfficialVersionClicked(_arg1:Event):void{
navigateToURL(new URLRequest(NewgroundsAPI.getOfficialVersionURL()), "_blank");
}
private function onEnterFrame(_arg1:Event):void{
var _local2:uint;
var _local3:uint;
if (((this.closeButton) && (!(this.closeButton.hasEventListener(MouseEvent.CLICK))))){
this.closeButton.addEventListener(MouseEvent.CLICK, onCloseButtonClicked);
};
if (((this.viewLatestButton) && (!(this.viewLatestButton.hasEventListener(MouseEvent.CLICK))))){
this.viewLatestButton.addEventListener(MouseEvent.CLICK, onOfficialVersionClicked);
};
if (((this.viewLegalButton) && (!(this.viewLegalButton.hasEventListener(MouseEvent.CLICK))))){
this.viewLegalButton.addEventListener(MouseEvent.CLICK, onOfficialVersionClicked);
};
if (((parent) && (visible))){
_local2 = parent.getChildIndex(this);
_local3 = (parent.numChildren - 1);
if (((parent) && (!((_local2 == _local3))))){
parent.setChildIndex(this, _local3);
};
};
}
private function onHostBlocked(_arg1:NewgroundsAPIEvent):void{
gotoAndStop("bad_host");
visible = true;
}
private function onCloseButtonClicked(_arg1:Event):void{
visible = false;
}
}
}//package com.newgrounds.components
Section 12
//DefaultMedalPopup (com.newgrounds.components.DefaultMedalPopup)
package com.newgrounds.components {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public dynamic class DefaultMedalPopup extends MovieClip {
private const MEDAL_POPUP_TIME:uint = 3000;
public var medalValueText:TextField;
private var _initialized:Boolean;
private var _popDelay:Timer;
public var medalNameText:TextField;
public var medalContainer:MovieClip;
private var _medalIcon:Bitmap;
private var _medal:NewgroundsAPIMedal;
public function DefaultMedalPopup(){
addFrameScript(0, frame1, 9, frame10);
visible = false;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
function frame10(){
medalNameText.text = _medal.name;
medalValueText.text = (_medal.value + "pts");
showMedalIcon(medalContainer);
stop();
}
private function onMedalUnlocked(_arg1:NewgroundsAPIEvent):void{
_medal = NewgroundsAPIMedal(_arg1.data);
_popDelay.start();
gotoAndPlay("medal_show");
visible = true;
}
function frame1(){
visible = false;
stop();
}
private function initialize():void{
_initialized = true;
NewgroundsAPI.addEventListener(NewgroundsAPIEvent.MEDAL_UNLOCKED, onMedalUnlocked);
_popDelay = new Timer(MEDAL_POPUP_TIME, 1);
_popDelay.addEventListener(TimerEvent.TIMER, onTimer);
}
private function showMedalIcon(_arg1:DisplayObjectContainer):void{
if (!_medal){
return;
};
_medalIcon = _medal.createIconBitmap();
_arg1.addChild(_medalIcon);
}
private function onTimer(_arg1:TimerEvent):void{
if (((_medalIcon) && (_medalIcon.parent))){
_medalIcon.parent.removeChild(_medalIcon);
_medalIcon = null;
};
gotoAndPlay("medal_hide");
_popDelay.stop();
}
private function onEnterFrame(_arg1:Event):void{
var _local2:uint;
var _local3:uint;
if (((!(_initialized)) && (stage))){
initialize();
};
if (((visible) && (parent))){
_local2 = parent.getChildIndex(this);
_local3 = (parent.numChildren - 1);
if (_local2 != _local3){
parent.swapChildrenAt(_local2, _local3);
};
};
}
}
}//package com.newgrounds.components
Section 13
//BaseN (com.newgrounds.BaseN)
package com.newgrounds {
import flash.utils.*;
public class BaseN {
private var _hashIndex:String;
private var _base:Number;
private var _hashVal:Dictionary;
public function BaseN(_arg1:String=null){
var _local2:uint;
super();
if (_arg1){
_hashIndex = _arg1;
} else {
_hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/";
};
_base = _hashIndex.length;
_hashVal = new Dictionary();
_local2 = 0;
while (_local2 < _base) {
_hashVal[_hashIndex.charAt(_local2)] = _local2;
_local2++;
};
}
private function baseNDecoder(_arg1:String):uint{
var _local2:uint;
var _local3:uint;
_local2 = 0;
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 * _base);
_local2 = (_local2 + _hashVal[_arg1.charAt(_local3)]);
_local3++;
};
return (_local2);
}
public function decode(_arg1:String):Number{
var _local2:String;
var _local3:Array;
_local2 = "";
if (_arg1.charAt(0) == "-"){
_local2 = "-";
_arg1 = _arg1.substring(1);
};
_local3 = _arg1.split(".", 2);
_local2 = (_local2 + baseNDecoder(_local3[0]));
if (_local3.length > 1){
_local2 = (_local2 + ".");
_local2 = (_local2 + baseNDecoder(_local3[1]));
};
return (Number(_local2));
}
public function encode(_arg1:Number, _arg2:uint=1):String{
var _local3:String;
var _local4:String;
var _local5:Array;
_local3 = _arg1.toString();
_local4 = "";
if (_local3.charAt(0) == "-"){
_local4 = "-";
_local3 = _local3.substring(1);
};
_local5 = _local3.split(".", 2);
_local4 = (_local4 + baseNEncoder(_local5[0], _arg2));
if (_local5.length > 1){
_local4 = (_local4 + ("." + baseNEncoder(_local5[1])));
};
return (_local4);
}
private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{
var _local3:String;
var _local4:uint;
_local3 = "";
_local4 = _arg1;
while (_local4 != 0) {
_local3 = (_hashIndex.charAt((_local4 % _base)) + _local3);
_local4 = (_local4 / _base);
};
if (_arg2){
while (_local3.length < _arg2) {
_local3 = (_hashIndex.charAt(0) + _local3);
};
};
return (_local3);
}
}
}//package com.newgrounds
Section 14
//NewgroundsAPI (com.newgrounds.NewgroundsAPI)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import com.adobe.serialization.json.*;
import flash.net.*;
import com.adobe.images.*;
import com.adobe.crypto.*;
import flash.system.*;
public class NewgroundsAPI {
private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/";
private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/";
private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php";
private static var connected:Boolean;
private static var user_id:Number;
private static var _initialized:Boolean = false;
private static var user_email:String;
private static var _saveFilePath:String;
private static var publisher_id:Number;
private static var debug:Boolean;
private static var _saveGroups:Array = [];
private static var do_echo:Boolean = false;
private static var ad_url:String;
private static var session_id:String;
public static var errors:Dictionary = NewgroundsAPIError.init_codes();
private static var timeoutTimer:Timer;
private static var _medals:Array;
private static var user_name:String;
private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}};
private static var tracker_id:uint;
private static var movie_id:String;
private static var _eventDispatcher:EventDispatcher = new EventDispatcher();
private static var encryption_key:String;
private static var host:String;
private static var compressor:BaseN = new BaseN(compression_radix);
private static var score_page_counts:Object = new Object();
private static var _preload:Boolean = true;
private static var version:String;
public static var periods:Object = getPeriodAliases();
private static var root:DisplayObject;
private static var _inSaveQuery:Boolean;
private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X";
private static var _preloadAssets:Array = [];
private static var sharedObjects:Object = new Object();
private static var _saveFile:NewgroundsAPISaveFile;
public static function setMovieVersion(_arg1:String):void{
if (((_arg1) && (!((_arg1 == ""))))){
version = _arg1;
};
}
public static function get preload():Boolean{
return (_preload);
}
public static function unlockMedal(_arg1:NewgroundsAPIMedal, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:Object;
if (!_arg1){
sendError({command_id:getCommandID("unlockMedal")}, new NewgroundsAPIError("MISSING_PARAM", "missing required medal name"));
return;
};
if (((hasUserSession()) || (debugMode))){
sendMessage((("Attempting to unlock '" + _arg1.name) + "'"));
if (_arg1.unlocked){
sendWarning((("Medal '" + _arg1.name) + "' is already unlocked!"));
return;
};
_local3 = new Object();
_local3.medal_id = _arg1.id;
if (_arg2){
_local3.get_score = _arg2;
};
sendSecureCommand("unlockMedal", _local3);
} else {
sendMessage(("Locally unlocking " + _arg1.name));
if (_arg1.unlocked){
sendWarning((("Medal '" + _arg1.name) + "' is already unlocked!"));
return;
};
_arg1.unlocked = true;
_local4 = loadLocal("medals_unlocked");
if (!_local4){
_local4 = new Object();
};
_local4[_arg1.id.toString()] = true;
saveLocal("medals_unlocked", _local4);
callListener(NewgroundsAPIEvent.MEDAL_UNLOCKED, true, _arg1);
};
}
public static function set preload(_arg1:Boolean):void{
_preload = _arg1;
}
private static function getHost():String{
return (host);
}
private static function uncompressHex(_arg1:String):String{
var _local2:uint;
var _local3:String;
var _local4:uint;
var _local5:uint;
var _local6:String;
var _local7:uint;
var _local8:String;
_local2 = uint(_arg1.charAt(0));
_local3 = "";
_local5 = 1;
while (_local5 < _arg1.length) {
_local6 = _arg1.substr(_local5, 4);
_local7 = uint(compressor.decode(_local6));
_local8 = _local7.toString(16);
if ((_local5 + 4) < _arg1.length){
_local4 = 6;
} else {
_local4 = _local2;
};
while (_local8.length < _local4) {
_local8 = ("0" + _local8);
};
_local3 = (_local3 + _local8);
_local5 = (_local5 + 4);
};
return (_local3);
}
public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{
var _local6:Array;
var _local7:Array;
var _local8:uint;
_local6 = Capabilities.version.split(" ")[1].split(",");
_local7 = arguments;
_local8 = 0;
while (_local8 < _local7.length) {
_local6[_local8] = uint(_local6[_local8]);
_local8++;
};
_local8 = 0;
while (_local8 < _local7.length) {
if (_local6[_local8] > _local7[_local8]){
return (true);
};
if (_local6[_local8] < _local7[_local8]){
return (false);
};
_local8++;
};
return (true);
}
public static function getMedalByName(_arg1:String):NewgroundsAPIMedal{
var _local2:NewgroundsAPIMedal;
for each (_local2 in _medals) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public static function hasUserEmail():Boolean{
return (((!((user_email == null))) && (!((user_email == "")))));
}
public static function loadLocal(_arg1:String){
var sharedObj:SharedObject;
var save_id = _arg1;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + movie_id) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){
return (decodeData(sharedObj.data[save_id]));
} else {
return (null);
};
} catch(e:Error) {
return (null);
};
}
public static function getYesterdaysScores(_arg1:String, _arg2:Object):void{
getScores(_arg1, "y", _arg2, "getYesterdaysScores");
}
private static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{
dispatchEvent(new NewgroundsAPIEvent(_arg1, _arg2, _arg3));
}
public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{
var _local6:String;
var _local7:uint;
var _local8:String;
var _local9:String;
var _local10:String;
if (((((((!(debug)) && (!(hasUserSession())))) && (!(hasUserEmail())))) && (!((_arg1 == "rateSaveFile"))))){
sendError({command_id:getCommandID(_arg1)}, new NewgroundsAPIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "().")));
return;
};
if (!_arg1){
fatalError("Missing command", "sendSecureCommand");
};
if (!_arg2){
fatalError("Missing secure_params", "sendSecureCommand");
};
if (!_arg3){
_arg3 = new Object();
};
_local6 = "";
_local7 = 0;
while (_local7 < 16) {
_local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length))));
_local7++;
};
if (((debug) && (!(session_id)))){
_arg2.session_id = "";
} else {
_arg2.session_id = session_id;
};
_arg2.as_version = 3;
_arg2.user_email = user_email;
_arg2.publisher_id = publisher_id;
_arg2.seed = _local6;
_arg2.command_id = getCommandID(_arg1);
_local8 = MD5.hash(_local6);
_local9 = RC4.encrypt(JSON.encode(_arg2), encryption_key);
_local10 = (_local8 + _local9);
_arg3.secure = compressHex(_local10);
sendCommand("securePacket", _arg3, false, _arg4, _arg5);
}
private static function echo(_arg1:String):void{
if (do_echo){
trace(_arg1);
};
}
public static function getThisMonthsScores(_arg1:String, _arg2:Object):void{
getScores(_arg1, "m", _arg2, "getThisMonthsScores");
}
public static function getScores(_arg1:String, _arg2:String, _arg3:Object=null, _arg4:String=null):void{
var _local5:String;
if (!_arg3){
_arg3 = new Object();
};
if (!hasUserSession()){
callListener(NewgroundsAPIEvent.SCORES_LOADED, false, new NewgroundsAPIError("SITE_ID_REQUIRED", (("Host '" + getHost()) + "' does not have high scores enabled")));
return;
};
_arg3.publisher_id = publisher_id;
_arg3.period = _arg2;
_arg3.score = _arg1;
if (_arg3.user_id){
_local5 = _arg2;
} else {
_local5 = (_arg2 + "-u");
};
if (score_page_counts[_local5] == undefined){
_arg3.request_page_count = true;
};
sendCommand("getScores", _arg3);
}
private static function populateSaveGroups(_arg1:Array):void{
var _local2:uint;
var _local3:NewgroundsAPISaveGroup;
_saveGroups = [];
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = NewgroundsAPISaveGroup.createFromObject(_arg1[_local2]);
_saveGroups.push(_local3);
_local2++;
};
}
public static function createAd():NewgroundsAPIAd{
sendMessage("You may see a security sandbox violation. This is normal!");
return (new NewgroundsAPIAd(ad_url));
}
private static function dispatchEvent(_arg1:Event):void{
_eventDispatcher.dispatchEvent(_arg1);
echo(("Fired Event: " + _arg1.type));
}
public static function getSaveGroupById(_arg1:uint):NewgroundsAPISaveGroup{
var _local2:uint;
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
_local2 = 0;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].id == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
private static function getCommandName(_arg1:String):String{
return (_arg1);
}
public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public static function getThisWeeksScores(_arg1:String, _arg2:Object):void{
getScores(_arg1, "w", _arg2, "getThisWeeksScores");
}
public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
private static function getPeriodAliases():Object{
var _local1:Object;
var _local2:String;
_local1 = new Object();
for (_local2 in period_aliases) {
_local1[period_aliases[_local2].alias] = _local2;
};
return (_local1);
}
public static function setUserEmail(_arg1:String):void{
user_email = _arg1;
}
public static function hasUserSession():Boolean{
return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0)))));
}
public static function executeSaveQuery(_arg1:NewgroundsAPISaveGroupQuery):void{
sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1);
}
public static function get medals():Array{
return ((_medals) ? _medals.concat() : []);
}
private static function compressHex(_arg1:String):String{
var _local2:uint;
var _local3:String;
var _local4:uint;
_local2 = (_arg1.length % 6);
_local3 = "";
_local4 = 0;
while (_local4 < _arg1.length) {
_local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4));
_local4 = (_local4 + 6);
};
return ((_local2.toString() + _local3));
}
public static function connectMovie(_arg1:DisplayObject, _arg2:String, _arg3:String):void{
initialize(_arg1);
if (connected){
return;
};
timeoutTimer.start();
if (!_arg2){
fatalError("NewgroundsAPI.connectMovie() - missing required movie_id parameter", "connectMovie");
};
movie_id = String(_arg2);
tracker_id = uint(movie_id.substring(0, movie_id.indexOf(":")));
encryption_key = _arg3;
connected = true;
sendCommand("connectMovie", {host:getHost(), movie_version:version});
}
private static function sendError(_arg1:Object, _arg2:NewgroundsAPIError):void{
trace(((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message));
}
public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{
var _local3:String;
_local3 = ("[NewgroundsAPI] :: " + _arg1);
trace(_local3);
}
public static function newSaveFile(_arg1:String):NewgroundsAPISaveFile{
var _local2:NewgroundsAPISaveGroup;
_local2 = getSaveGroupByName(_arg1);
if (_local2){
return (new NewgroundsAPISaveFile(_local2));
};
sendError({command_id:"newSaveFile"}, new NewgroundsAPIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group.")));
return (null);
}
public static function get bytesLoaded():uint{
var _local1:uint;
var _local2:*;
_local1 = root.loaderInfo.bytesLoaded;
if (_preload){
for each (_local2 in _preloadAssets) {
_local1 = (_local1 + _local2.bytesLoaded);
};
};
return (_local1);
}
public static function unlockMedalByName(_arg1:String, _arg2:Boolean=false):void{
var _local3:NewgroundsAPIMedal;
_local3 = getMedalByName(_arg1);
if (_local3){
unlockMedal(_local3, _arg2);
};
}
static function reportAssetFailed(_arg1):void{
var _local2:uint;
_local2 = 0;
while (_local2 < _preloadAssets.length) {
if (_arg1 == _preloadAssets[_local2]){
_preloadAssets.splice(_local2, 1);
return;
};
_local2++;
};
}
public static function connectionTimeOut(_arg1:Event=null):void{
dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.MOVIE_CONNECTED, false, new NewgroundsAPIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out.")));
}
static function reportNewAsset(_arg1):void{
_preloadAssets.push(_arg1);
}
public static function unlockMedalById(_arg1:uint, _arg2:Boolean=false):void{
var _local3:NewgroundsAPIMedal;
_local3 = getMedalById(_arg1);
if (_local3){
unlockMedal(_local3, _arg2);
};
}
private static function fatalError(_arg1:String, _arg2:String):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
throw (new Error(("***ERROR*** class=NewgroundsAPI\n\n" + _arg1)));
}
private static function sendNotice(_arg1:String, _arg2:String=null):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(("[NewgroundsAPI NOTICE] :: " + _arg1));
}
public static function hasPublisher():Boolean{
return (!((publisher_id == 0)));
}
public static function initialize(_arg1:DisplayObject):void{
var _local2:Object;
if (_initialized){
return;
};
_initialized = true;
NewgroundsAPI.root = _arg1;
timeoutTimer = new Timer(8000, 1);
if (_arg1.loaderInfo){
_local2 = _arg1.loaderInfo.parameters;
host = _arg1.loaderInfo.url;
};
debug = false;
if (((!(debug)) && (_local2))){
if (_local2.NewgroundsAPI_UserName){
user_name = _local2.NewgroundsAPI_UserName;
};
if (_local2.NewgroundsAPI_UserID){
user_id = _local2.NewgroundsAPI_UserID;
};
if (_local2.NewgroundsAPI_PublisherID){
publisher_id = _local2.NewgroundsAPI_PublisherID;
};
if (_local2.NewgroundsAPI_SessionID){
session_id = _local2.NewgroundsAPI_SessionID;
};
} else {
publisher_id = 1;
session_id = "D3bu64p1U53R";
user_id = 10;
user_name = "API-Debugger";
};
if ((((host.indexOf("http://") > -1)) || ((host.indexOf("https://") > -1)))){
host = host.split("/")[2].toLowerCase();
} else {
host = "localhost";
};
}
public static function get debugMode():Boolean{
return (debug);
}
public static function getTodaysScores(_arg1:String, _arg2:Object):void{
getScores(_arg1, "t", _arg2, "getTodaysScores");
}
public static function get bytesTotal():uint{
var _local1:uint;
var _local2:*;
_local1 = root.loaderInfo.bytesTotal;
if (_preload){
for each (_local2 in _preloadAssets) {
_local1 = (_local1 + Math.max(_local2.bytesTotal, 1));
};
};
return (_local1);
}
public static function checkFilePrivledges(_arg1:NewgroundsAPISaveFile):void{
sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id});
}
public static function loadCustomLink(_arg1:String):void{
sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true);
}
public static function get percentLoaded():Number{
return ((bytesLoaded / bytesTotal));
}
public static function isPublishedHost():Boolean{
return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1))));
}
public static function createSaveQuery(_arg1:String):NewgroundsAPISaveGroupQuery{
var _local2:NewgroundsAPISaveGroup;
_local2 = getSaveGroupByName(_arg1);
if (_local2){
return (_local2.createQuery());
};
return (null);
}
public static function loadMySite():void{
sendCommand("loadMySite", {host:getHost()});
}
public static function getMedalById(_arg1:uint):NewgroundsAPIMedal{
var _local2:NewgroundsAPIMedal;
for each (_local2 in _medals) {
if (_local2.id == _arg1){
return (_local2);
};
};
return (null);
}
public static function getOfficialVersionURL():String{
var _local1:String;
_local1 = ((((((GATEWAY_URL + "?tracker_id=") + movie_id) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random());
if (debug){
_local1 = (_local1 + "&debug=1");
};
return (_local1);
}
public static function loadNewgrounds():void{
sendCommand("loadNewgrounds", {host:getHost()}, true);
}
public static function saveFile(_arg1:NewgroundsAPISaveFile, _arg2:Boolean=false):void{
var _local3:Object;
var _local4:ByteArray;
var _local5:Object;
_local3 = _arg1.toObject();
_local3.user_name = user_name;
_local3.overwrite = (_arg2) ? 1 : 0;
_local4 = new ByteArray();
if ((_arg1.contents is ByteArray)){
_local4.writeBytes(_arg1.contents);
} else {
_local4.writeObject(_arg1.contents);
};
_local4.compress();
_local5 = new Object();
_local5.file = _local4;
if (_arg1.thumbnail){
_local5.thumbnail = PNGEncoder.encode(_arg1.thumbnail);
};
sendSecureCommand("saveFile", _local3, null, _local5, _arg1);
}
public static function decodeData(_arg1:String){
return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), encryption_key)));
}
public static function rateSaveFile(_arg1:NewgroundsAPISaveFile, _arg2:NewgroundsAPIRating, _arg3:Number):void{
sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1);
}
public static function logCustomEvent(_arg1:String):void{
sendCommand("logCustomEvent", {host:getHost(), event:_arg1});
}
private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{
var _local6:NewgroundsURLLoader;
var _local7:String;
var _local8:String;
var _local9:String;
if (((!(connected)) && (!((_arg1 == "connectMovie"))))){
_local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n");
fatalError(_local7, "connectMovie");
};
_local6 = new NewgroundsURLLoader();
_local6.addVariable("command_id", getCommandID(_arg1));
_local6.addVariable("tracker_id", movie_id);
if (debug){
_local6.addVariable("debug", 1);
};
if ((((_arg1 == "connectMovie")) && (preload))){
_local6.addVariable("preload", 1);
};
if (_arg2){
for (_local8 in _arg2) {
_local6.addVariable(_local8, _arg2[_local8]);
};
};
if (_arg4){
for (_local9 in _arg4) {
_local6.addFile(_local9, _arg4[_local9], _local9);
};
};
if (_arg3){
_local6.method = URLRequestMethod.GET;
} else {
_local6.method = URLRequestMethod.POST;
};
_local6.preventCache = true;
if (_arg3){
_local6.openBrowser = true;
_local6.method = URLRequestMethod.GET;
} else {
_local6.addEventListener(Event.COMPLETE, onCommandComplete);
_local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError);
_local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError);
_local6.method = URLRequestMethod.POST;
};
_local6.owner = _arg5;
_local6.load(GATEWAY_URL);
}
public static function postScore(_arg1:String, _arg2:Number, _arg3:Boolean):void{
sendSecureCommand("postScore", {score:_arg1, value:_arg2, get_best:_arg3});
}
private static function onCommandComplete(_arg1:Event):void{
var _local2:NewgroundsURLLoader;
var _local3:uint;
var _local4:Object;
var _local5:NewgroundsAPIError;
_local2 = NewgroundsURLLoader(_arg1.target);
echo((("INPUT: \n" + _local2.response) + "\n"));
_local3 = 0;
while (_local3 < _preloadAssets.length) {
if (_preloadAssets[_local3] == _local2){
_preloadAssets.splice(_local3, 1);
break;
};
_local3++;
};
if (_local2.response){
_local4 = JSON.decode(_local2.response);
} else {
_local4 = {success:false};
};
if (!_local4.success){
_local5 = new NewgroundsAPIError(_local4.error_code, _local4.error_msg);
sendError(_local4, _local5);
} else {
_local4.owner = _local2.owner;
doEvent(_local4);
};
}
public static function encodeData(_arg1:Object):String{
return (compressHex(RC4.encrypt(JSON.encode(_arg1), encryption_key)));
}
public static function getThisYearsScores(_arg1:String, _arg2:Object):void{
getScores(_arg1, "y", _arg2, "getThisYearsScores");
}
private static function populateMedals(_arg1:Array):void{
var _local2:uint;
var _local3:Object;
if (_medals === null){
_medals = new Array();
_local2 = 0;
while (_local2 < _arg1.length) {
_local3 = _arg1[_local2];
_medals.push(NewgroundsAPIMedal.createFromObject(_local3));
_local2++;
};
};
}
public static function getPeriodAlias(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].alias);
};
};
return (null);
}
public static function loadMedals():void{
var _local1:Object;
if (_medals){
dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.MEDALS_LOADED, true, medals));
return;
};
_local1 = new Object();
if (hasUserSession()){
_local1.publisher_id = publisher_id;
_local1.user_id = user_id;
};
sendCommand("getMedals", _local1);
}
public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{
var sharedObj:SharedObject;
var save_id = _arg1;
var save_data = _arg2;
var size_allocation = _arg3;
try {
if (!sharedObjects[save_id]){
sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + movie_id) + "_") + save_id));
};
sharedObj = sharedObjects[save_id];
sharedObj.data[save_id] = encodeData(save_data);
sharedObj.flush();
} catch(e:Error) {
};
}
private static function doEvent(_arg1:Object):void{
var _local2:String;
var _local3:Object;
var _local4:String;
var _local5:Boolean;
var _local6:String;
var _local7:Array;
var _local8:*;
var _local9:String;
var _local10:NewgroundsAPIMedal;
var _local11:uint;
var _local12:Object;
var _local13:NewgroundsAPISaveFile;
var _local14:uint;
switch (getCommandName(_arg1.command_id)){
case "connectMovie":
timeoutTimer.stop();
sendMessage("You have successfully connected to the Newgrounds API Gateway");
sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\""));
callListener(NewgroundsAPIEvent.MOVIE_CONNECTED, _arg1.success, {movie_name:_arg1.movie_name});
_local5 = false;
if (_arg1.ad_status === -1){
_local2 = "This movie was not approved to run Flash Ads.";
sendWarning(_local2);
sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines"));
if (!_arg1.ad_url){
callListener(NewgroundsAPIEvent.ADS_APPROVED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
} else {
if (_arg1.ad_status === 0){
_local2 = "Flash Ads are currently awaiting approval.";
sendNotice(_local2);
if (!_arg1.ad_url){
callListener(NewgroundsAPIEvent.ADS_APPROVED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", _local2));
} else {
_local5 = true;
};
};
};
if (_arg1.ad_url){
ad_url = unescape(_arg1.ad_url);
if (!_local5){
sendMessage("This movie has been approved to run Flash Ads!");
};
callListener(NewgroundsAPIEvent.ADS_APPROVED, true);
};
if (_arg1.deny_host){
_local2 = (getHost() + " does not have permission to run this movie!");
sendWarning(_local2);
sendWarning(("\tUpdate your API configuration to unblock " + getHost()));
callListener(NewgroundsAPIEvent.HOST_BLOCKED, true, {movie_url:unescape(_arg1.movie_url), redirect_url:getOfficialVersionURL()});
};
if (_arg1.movie_version){
sendWarning("According to your API Configuration, this version is out of date.");
if (version){
sendWarning(("\tThe this movie is version " + version));
};
sendWarning(("\tThe most current version is " + _arg1.movie_version));
callListener(NewgroundsAPIEvent.NEW_VERSION_AVAILABLE, true, {movie_version:_arg1.movie_version, movie_url:unescape(_arg1.movie_url), redirect_url:getOfficialVersionURL()});
};
if (_arg1.request_portal_url){
sendCommand("setPortalID", {portal_url:host});
};
if (preload){
sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id});
};
break;
case "preloadSettings":
if (_arg1.medals){
populateMedals(_arg1.medals);
if (((!(hasUserSession())) && (!(debugMode)))){
echo("Checking for SharedObject Medals...");
_local8 = loadLocal("medals_unlocked");
if (_local8){
for (_local9 in _local8) {
if (_local8[_local9]){
_local10 = getMedalById(uint(_local9));
echo(("Now unlocking " + _local10.name));
_local10.unlocked = true;
};
};
};
};
};
if (_arg1.save_groups){
populateSaveGroups(_arg1.save_groups);
};
if (_arg1.save_file_path){
_saveFilePath = (_arg1.save_file_path + "/");
};
callListener(NewgroundsAPIEvent.METADATA_LOADED);
break;
case "logCustomEvent":
if (_arg1.success){
sendMessage((("Event '" + _arg1.event) + "' was logged."));
};
callListener(NewgroundsAPIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event});
break;
case "postScore":
if (_arg1.success){
_local4 = "User";
if (user_email){
_local4 = user_email;
} else {
if (user_name){
_local4 = user_name;
};
};
sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _arg1.score) + "'"));
_local3 = {score:_arg1.score, value:_arg1.value, username:_local4};
};
callListener(NewgroundsAPIEvent.SCORE_POSTED, _arg1.success, _local3);
break;
case "getScores":
if (_arg1.user_id){
_local6 = _arg1.period;
} else {
_local6 = (_arg1.period + "-u");
};
if (_arg1.total_pages){
score_page_counts[_local6] = _arg1.total_pages;
};
_local3.user_id = _arg1.user_id;
_local3.current_page = _arg1.current_page;
_local3.total_pages = score_page_counts[_local6];
_local3.scores = _arg1.scores;
_local3.period = getPeriodName(_arg1.period);
callListener(NewgroundsAPIEvent.SCORES_LOADED, _arg1.success, _local3);
break;
case "unlockMedal":
if (_medals){
_local10 = getMedalByName(_arg1.medal_name);
_local10.unlocked = true;
};
callListener(NewgroundsAPIEvent.MEDAL_UNLOCKED, _arg1.success, _local10);
break;
case "getMedals":
populateMedals(_arg1.medals);
callListener(NewgroundsAPIEvent.MEDALS_LOADED, _arg1.success, _local3);
break;
case "lookupSaveFiles":
_local7 = [];
_local11 = 0;
while (_local11 < _arg1.files.length) {
_local12 = _arg1.files[_local11];
_local13 = new NewgroundsAPISaveFile(getSaveGroupById(_arg1.group_id));
_local13.name = _local12.filename;
_local13.id = _local12.save_id;
_local13.description = _local12.description;
_local13.thumbnailUrl = _local12.thumb;
_local13.fileUrl = (_saveFilePath + _local12.file);
if (((_local12.keys) && (_local12.keys.length))){
_local14 = 0;
while (_local14 < _local12.keys.length) {
_local13.setKey(_local12.keys[_local14].id, _local12.keys[_local14].value);
_local14++;
};
};
if (((_local12.ratings) && (_local12.ratings.length))){
_local14 = 0;
while (_local14 < _local12.ratings.length) {
_local13.setRating(_local12.ratings[_local14].id, _local12.ratings[_local14].votes, _local12.ratings[_local14].score);
_local14++;
};
};
_local7.push(_local13);
_local11++;
};
_arg1.owner.dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.QUERY_COMPLETE, _arg1.success, _local7));
break;
case "getFiles":
break;
case "getSystemFiles":
break;
case "rateSaveFile":
_local13 = _arg1.owner;
if (_arg1.success){
_local13.setRating(_arg1.rating_id, _arg1.votes, _arg1.score);
};
_local13.dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.VOTE_COMPLETE, _arg1.success, _arg1));
break;
case "saveFile":
_local3 = {save_id:_arg1.save_id, group_id:_arg1.group_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon};
_arg1.owner.dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.FILE_SAVED, _arg1.success, _local3));
break;
case "checkFilePrivs":
_local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write};
callListener(NewgroundsAPIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3);
break;
};
}
public static function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public static function getSaveGroupByName(_arg1:String):NewgroundsAPISaveGroup{
var _local2:uint;
if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){
sendWarning("No save groups found");
return (null);
};
_local2 = 0;
while (_local2 < _saveGroups.length) {
if (_saveGroups[_local2].name == _arg1){
return (_saveGroups[_local2]);
};
_local2++;
};
return (null);
}
public static function isNewgrounds():Boolean{
return ((((publisher_id == 1)) || ((getHost().toLowerCase().indexOf("ungrounded.net") > -1))));
}
private static function getCommandID(_arg1:String):String{
return (_arg1);
}
public static function getAlltimeScores(_arg1:String, _arg2:Object):void{
getScores(_arg1, "a", _arg2, "getAlltimeScores");
}
public static function getPeriodName(_arg1:String):String{
var _local2:String;
for (_local2 in period_aliases) {
if (_local2 == _arg1){
return (period_aliases[_local2].name);
};
};
return (null);
}
private static function sendWarning(_arg1:String, _arg2:String=null):void{
if (_arg2){
_arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information."));
};
trace(("[NewgroundsAPI WARNING] :: " + _arg1));
}
private static function onCommandError(_arg1:Event):void{
var _local2:NewgroundsURLLoader;
var _local3:uint;
_local2 = NewgroundsURLLoader(_arg1.target);
_local3 = 0;
while (_local3 < _preloadAssets.length) {
if (_preloadAssets[_local3] == _local2){
_preloadAssets.splice(_local3, 1);
break;
};
_local3++;
};
}
}
}//package com.newgrounds
Section 15
//NewgroundsAPIAd (com.newgrounds.NewgroundsAPIAd)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class NewgroundsAPIAd extends Sprite {
private var _ad:Loader;
private var _adURLLoader:URLLoader;
private var _mask:Shape;
private static const REMOVED_FROM_STAGE:String = "removedFromStage";
private static var _currentAdUrl:URLRequest;
private static var _adResetTime:Number = 0;
public function NewgroundsAPIAd(_arg1:String){
var adRect:Shape;
var adFeedURL = _arg1;
super();
Security.allowDomain("http://server.cpmstar.com");
Security.allowDomain("http://www.cpmstar.com");
Security.allowDomain("https://server.cpmstar.com");
Security.allowDomain("https://www.cpmstar.com");
Security.allowInsecureDomain("http://server.cpmstar.com");
Security.allowInsecureDomain("http://www.cpmstar.com");
Security.allowInsecureDomain("https://server.cpmstar.com");
Security.allowInsecureDomain("https://www.cpmstar.com");
adRect = new Shape();
adRect.graphics.beginFill(0);
adRect.graphics.moveTo(0, 0);
adRect.graphics.lineTo(300, 0);
adRect.graphics.lineTo(300, 250);
adRect.graphics.lineTo(0, 250);
adRect.graphics.lineTo(0, 0);
adRect.graphics.endFill();
_mask = new Shape();
_mask.graphics.beginFill(0);
_mask.graphics.moveTo(0, 0);
_mask.graphics.lineTo(300, 0);
_mask.graphics.lineTo(300, 250);
_mask.graphics.lineTo(0, 250);
_mask.graphics.lineTo(0, 0);
_mask.graphics.endFill();
addChild(adRect);
addChild(_mask);
_adURLLoader = new URLLoader();
_adURLLoader.addEventListener(Event.COMPLETE, adURLHandler);
_adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, adErrorHandler);
_adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, adErrorHandler);
if (((adFeedURL) && (hasAdElapsed))){
if (adFeedURL.indexOf("?") > -1){
_currentAdUrl = new URLRequest(((adFeedURL + "&random=") + Math.random()));
} else {
_currentAdUrl = new URLRequest(((adFeedURL + "?random=") + Math.random()));
};
};
if (_currentAdUrl){
try {
_adURLLoader.load(_currentAdUrl);
} catch(e:Error) {
adErrorHandler(null);
};
} else {
trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!");
};
if (NewgroundsAPI.isFlashVersion(9, 0, 28)){
addEventListener(REMOVED_FROM_STAGE, removeAdHandler);
};
}
private function adLoadedHandler(_arg1:Event):void{
trace("[NewgroundsAPI] :: Ad loaded!");
dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.AD_ATTACHED, true));
}
private function get hasAdElapsed():Boolean{
var _local1:Date;
_local1 = new Date();
if (_local1.getTime() >= _adResetTime){
_adResetTime = (_local1.getTime() + ((1000 * 60) * 5));
return (true);
};
return (false);
}
private function adURLHandler(_arg1:Event):void{
var _local2:URLLoader;
_local2 = URLLoader(_arg1.target);
if (_local2.data){
loadAd(String(_local2.data));
} else {
dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.AD_ATTACHED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
};
}
private function removeAdHandler(_arg1:Event):void{
removeAd();
}
private function adURLErrorHandler(_arg1:Event):void{
trace("[NewgroundsAPI] :: Unable to load ad feed!");
}
private function loadAd(_arg1:String):void{
if (_ad){
removeAd();
};
_ad = new Loader();
addChild(_ad);
_ad.mask = _mask;
_ad.contentLoaderInfo.addEventListener(Event.COMPLETE, adLoadedHandler);
_ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, adErrorHandler);
_ad.load(new URLRequest(_arg1));
}
public function removeAd():void{
if (_adURLLoader){
try {
_adURLLoader.close();
} catch(e:Error) {
};
};
if (_ad){
trace("[NewgroundsAPI] :: Ad removed");
try {
_ad.close();
} catch(e:Error) {
};
try {
Object(_ad).unloadAndStop(true);
} catch(e:Error) {
_ad.unload();
};
if (_ad.parent){
_ad.parent.removeChild(_ad);
};
};
_ad = null;
}
private function adErrorHandler(_arg1:Event):void{
dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.AD_ATTACHED, false, new NewgroundsAPIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")));
removeAd();
}
}
}//package com.newgrounds
Section 16
//NewgroundsAPIError (com.newgrounds.NewgroundsAPIError)
package com.newgrounds {
import flash.utils.*;
public class NewgroundsAPIError {
public var message:String;
public var name:String;
public var code:Number;// = 0
public var alias:String;
private static const always_caps:Array = new Array("API", "URL", "ID");
public static const error_names:Object = init_names();
public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED");
public static const error_codes:Object = init_codes();
public function NewgroundsAPIError(_arg1, _arg2:String){
code = 0;
super();
if ((_arg1 is String)){
_arg1 = error_codes[_arg1];
} else {
if (!(_arg1 is uint)){
_arg1 = 0;
};
};
trace(_arg1);
code = _arg1;
message = _arg2;
name = error_names[_arg1];
trace(name);
alias = aliases[_arg1];
}
public function isError():Boolean{
return (true);
}
private static function init_names():Array{
var _local1:Array;
var _local2:uint;
var _local3:Array;
var _local4:uint;
var _local5:String;
_local1 = new Array();
_local2 = 0;
while (_local2 < aliases.length) {
_local3 = aliases[_local2].toLowerCase().split("_");
_local4 = 0;
while (_local4 < _local3.length) {
_local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length));
for each (_local5 in always_caps) {
if (_local3[_local4].toUpperCase() == _local5){
_local3[_local4] = _local3[_local4].toUpperCase();
};
};
_local4++;
};
_local1[_local2] = _local3.join(" ");
_local2++;
};
return (_local1);
}
public static function init_codes():Dictionary{
var _local1:Dictionary;
var _local2:uint;
_local1 = new Dictionary();
_local2 = 0;
while (_local2 < aliases.length) {
_local1[aliases[_local2]] = _local2;
_local2++;
};
return (_local1);
}
}
}//package com.newgrounds
Section 17
//NewgroundsAPIEvent (com.newgrounds.NewgroundsAPIEvent)
package com.newgrounds {
import flash.events.*;
public class NewgroundsAPIEvent extends Event {
private var _success:Boolean;
private var _data;
private var _target;
public static const AD_ATTACHED:String = "adAttached";
public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded";
public static const ADS_APPROVED:String = "adsApproved";
public static const MEDALS_LOADED:String = "medalsLoaded";
public static const MEDAL_UNLOCKED:String = "medalUnlocked";
public static const METADATA_LOADED:String = "metadataLoaded";
public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable";
public static const FILE_SAVED:String = "fileSaved";
public static const EVENT_LOGGED:String = "eventLogged";
public static const SCORE_POSTED:String = "scorePosted";
public static const VOTE_COMPLETE:String = "voteComplete";
public static const FILE_LOADED:String = "fileLoaded";
public static const QUERY_COMPLETE:String = "queryComplete";
public static const SCORES_LOADED:String = "scoresLoaded";
public static const HOST_BLOCKED:String = "hostBlocked";
public static const MOVIE_CONNECTED:String = "movieConnected";
public function NewgroundsAPIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){
super(_arg1);
_data = _arg3;
_success = _arg2;
}
public function get success():Boolean{
return (_success);
}
public function get data(){
return (_data);
}
}
}//package com.newgrounds
Section 18
//NewgroundsAPIKey (com.newgrounds.NewgroundsAPIKey)
package com.newgrounds {
public class NewgroundsAPIKey {
private var _name:String;
private var _type:uint;
private var _id:uint;
public static const TYPE_BOOLEAN:uint = 4;
public static const TYPE_STRING:uint = 3;
public static const TYPE_FLOAT:uint = 1;
public static const TYPE_INTEGER:uint = 2;
public function NewgroundsAPIKey(_arg1:uint, _arg2:String, _arg3:uint){
_id = _arg1;
_name = _arg2;
_type = _arg3;
}
public function get id():uint{
return (_id);
}
public function get type():uint{
return (_type);
}
public function get name():String{
return (_name);
}
public function toString():String{
return (_name);
}
public function isValueValid(_arg1):Boolean{
if (_type == TYPE_INTEGER){
return ((((_arg1 is int)) || ((_arg1 is uint))));
};
if (_type == TYPE_FLOAT){
return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number))));
};
if (_type == TYPE_STRING){
return ((_arg1 is String));
};
if (_type == TYPE_BOOLEAN){
return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == ""))));
};
return (false);
}
}
}//package com.newgrounds
Section 19
//NewgroundsAPIMedal (com.newgrounds.NewgroundsAPIMedal)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class NewgroundsAPIMedal {
private var _unlocked:Boolean;// = false
private var _iconLoader:Loader;
private var _difficultyId:uint;
private var _icon:BitmapData;
private var _name:String;
private var _value:uint;
private var _iconUrl:URLRequest;
private var _id:uint;
private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"];
private static const DEFAULT_ICON:BitmapData = new BitmapData(40, 40, false, 0);
public function NewgroundsAPIMedal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){
_unlocked = false;
_icon = DEFAULT_ICON;
super();
_id = _arg1;
_name = _arg2;
_value = _arg3;
_difficultyId = _arg4;
_unlocked = _arg5;
NewgroundsAPI.reportNewAsset(this);
_iconUrl = new URLRequest(_arg6);
_iconLoader = new Loader();
_iconLoader.contentLoaderInfo.addEventListener(Event.INIT, onIconLoaderInit);
_iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIconLoaderError);
_iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onIconLoaderComplete);
_iconLoader.load(_iconUrl, new LoaderContext(true));
}
public function set unlocked(_arg1:Boolean):void{
_unlocked = _arg1;
}
public function get bytesLoaded():uint{
return ((_iconLoader) ? _iconLoader.contentLoaderInfo.bytesLoaded : 0);
}
public function get name():String{
return (_name);
}
private function onIconLoaderComplete(_arg1:Event):void{
var _local2:Bitmap;
trace((((("[NewgroundsAPI] :: Successfully loaded medal icon for " + name) + " (") + _iconUrl.url.split("/").pop()) + ")"));
_local2 = (_iconLoader.content as Bitmap);
_icon = _local2.bitmapData;
_iconLoader.unload();
_iconLoader = null;
}
public function get bytesTotal():uint{
return ((_iconLoader) ? _iconLoader.contentLoaderInfo.bytesTotal : 0);
}
public function get id():uint{
return (_id);
}
public function unlock():void{
if (!_unlocked){
NewgroundsAPI.unlockMedal(this);
};
}
private function onIconLoaderError(_arg1:IOErrorEvent):void{
trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + name) + " (") + _iconUrl.url.split("/").pop()) + ")"));
_iconLoader.unload();
_iconLoader = null;
NewgroundsAPI.reportAssetFailed(this);
}
private function onIconLoaderInit(_arg1:Event):void{
trace((((("[NewgroundsAPI] :: Loading medal icon for " + name) + " (") + _iconUrl.url.split("/").pop()) + ")"));
}
public function get unlocked():Boolean{
return (_unlocked);
}
public function createIconBitmap():Bitmap{
return (new Bitmap(icon));
}
public function toString():String{
return ("");
}
public function get difficultyId():uint{
return (_difficultyId);
}
public function get value():uint{
return (_value);
}
public function get icon():BitmapData{
return (_icon);
}
public function get difficulty():String{
return (DIFFICULT_NAMES[_difficultyId]);
}
public static function createFromObject(_arg1:Object):NewgroundsAPIMedal{
return (new NewgroundsAPIMedal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon));
}
}
}//package com.newgrounds
Section 20
//NewgroundsAPIRating (com.newgrounds.NewgroundsAPIRating)
package com.newgrounds {
public class NewgroundsAPIRating {
private var _voted:Boolean;
private var _name:String;
private var _maxValue:Number;
private var _isFloat:Boolean;
private var _id:uint;
private var _minValue:Number;
public function NewgroundsAPIRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){
_id = _arg1;
_name = _arg2;
_isFloat = _arg3;
_minValue = _arg4;
_maxValue = _arg5;
}
public function set voted(_arg1:Boolean):void{
_voted = _arg1;
}
public function toString():String{
return (_name);
}
public function get voted():Boolean{
return (_voted);
}
public function get maxValue():Number{
return (_maxValue);
}
public function get name():String{
return (_name);
}
public function get isFloat():Boolean{
return (_isFloat);
}
public function get id():uint{
return (_id);
}
public function get minValue():Number{
return (_minValue);
}
}
}//package com.newgrounds
Section 21
//NewgroundsAPISaveFile (com.newgrounds.NewgroundsAPISaveFile)
package com.newgrounds {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
public class NewgroundsAPISaveFile extends EventDispatcher {
private var _group:NewgroundsAPISaveGroup;
private var _status:uint;
private var _fileUrl:String;
private var _ratings:Dictionary;
private var _id:uint;
private var _description:String;
private var _thumbnailUrl:String;
private var _keys:Dictionary;
private var _filename:String;
private var _thumbnail:BitmapData;
private var _contents;
public function NewgroundsAPISaveFile(_arg1:NewgroundsAPISaveGroup){
_keys = new Dictionary();
_ratings = new Dictionary();
_group = _arg1;
_description = "";
}
public function get groupId():uint{
return (_group.id);
}
public function get name():String{
return (_filename);
}
public function getRating(_arg1):Object{
var _local2:NewgroundsAPIRating;
if ((_arg1 is String)){
_local2 = _group.getRatingByName(_arg1);
} else {
_local2 = _group.getRatingById(_arg1);
};
if (_local2){
return (_ratings[_local2]);
};
return (null);
}
public function get contents(){
return (_contents);
}
public function get id():uint{
return (_id);
}
public function set name(_arg1:String):void{
_filename = _arg1;
}
public function setRating(_arg1, _arg2:Number, _arg3:Number):void{
var _local4:NewgroundsAPIRating;
if ((_arg1 is String)){
_local4 = _group.getRatingByName(_arg1);
} else {
_local4 = _group.getRatingById(_arg1);
};
if (_local4){
_ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3};
};
}
public function loadContents():void{
var _local1:NewgroundsURLLoader;
if (_fileUrl){
_local1 = new NewgroundsURLLoader();
_local1.responseFormat = URLLoaderDataFormat.BINARY;
_local1.addEventListener(Event.COMPLETE, onContentsLoaded);
_local1.load(_fileUrl);
};
}
public function toObject():Object{
var _local1:Object;
var _local2:Object;
_local1 = {group:groupId, filename:name, description:description, shared:true};
_local1.keys = [];
for each (_local2 in _keys) {
_local1.push({id:_local2.id, value:_local2.val});
};
return (_local1);
}
public function setKey(_arg1, _arg2):void{
var _local3:NewgroundsAPIKey;
if ((_local3 is String)){
_local3 = _group.getKeyByName(_arg1);
} else {
_local3 = _group.getKeyById(_arg1);
};
if (_local3){
_keys[_local3] = {id:_local3.id, val:_arg2};
};
}
public function getKey(_arg1){
var _local2:NewgroundsAPIKey;
if ((_local2 is String)){
_local2 = _group.getKeyByName(_arg1);
} else {
_local2 = _group.getKeyById(_arg1);
};
if (_local2){
return (_keys[_local2]);
};
return (null);
}
public function get groupName():String{
return (_group.name);
}
public function set fileUrl(_arg1:String):void{
_fileUrl = _arg1;
}
public function set contents(_arg1):void{
_contents = _arg1;
}
public function set id(_arg1:uint):void{
_id = _arg1;
}
public function sendRating(_arg1:String, _arg2:Number):void{
var _local3:NewgroundsAPIRating;
_local3 = _group.getRatingByName(_arg1);
if (!_local3){
trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file"));
return;
};
if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){
trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue));
return;
};
_local3.voted = true;
NewgroundsAPI.rateSaveFile(this, _local3, _arg2);
}
public function set thumbnailUrl(_arg1:String):void{
_thumbnailUrl = _arg1;
}
public function set thumbnail(_arg1:BitmapData):void{
_thumbnail = _arg1;
}
public function get groupType():uint{
return (_group.type);
}
public function get fileUrl():String{
return (_fileUrl);
}
public function get thumbnailUrl():String{
return (_thumbnailUrl);
}
public function get shared():Boolean{
return (true);
}
public function get thumbnail():BitmapData{
return (_thumbnail);
}
override public function toString():String{
var _local1:String;
var _local2:Object;
var _local3:Object;
_local1 = (((((("Save File " + _filename) + " ID: ") + _id) + "\n ") + _description) + "\n");
for each (_local2 in _keys) {
_local1 = (_local1 + ((((" " + _group.getKeyById(_local2.id).name) + ": ") + _local2.val) + "\n"));
};
for each (_local3 in _ratings) {
_local1 = (_local1 + ((((((" " + _group.getRatingById(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n"));
};
return (_local1);
}
public function set description(_arg1:String):void{
_description = _arg1;
}
public function get description():String{
return (_description);
}
public function save():void{
NewgroundsAPI.saveFile(this);
}
private function onContentsLoaded(_arg1:Event):void{
var _local2:ByteArray;
_local2 = _arg1.target.response;
_local2.uncompress();
_contents = _local2.readObject();
dispatchEvent(new NewgroundsAPIEvent(NewgroundsAPIEvent.FILE_LOADED, true, contents));
}
}
}//package com.newgrounds
Section 22
//NewgroundsAPISaveGroup (com.newgrounds.NewgroundsAPISaveGroup)
package com.newgrounds {
public class NewgroundsAPISaveGroup {
private var _id:uint;
private var _keys:Array;
private var _type:uint;
private var _name:String;
private var _ratings:Array;
private var _files:Array;
public static const TYPE_SYSTEM:uint = 0;
public static const TYPE_PRIVATE:uint = 1;
public static const TYPE_MODERATED:uint = 3;
public static const TYPE_PUBLIC:uint = 2;
public function NewgroundsAPISaveGroup(_arg1:uint, _arg2:String, _arg3:uint){
_name = _arg2;
_id = _arg1;
_type = _arg3;
_ratings = [];
_keys = [];
_files = [];
}
public function toString():String{
return ((((((("SaveGroup { name: " + _name) + ", id: ") + _id) + ", keys: ") + _keys) + "}"));
}
public function getRatingById(_arg1:uint):NewgroundsAPIRating{
var _local2:uint;
_local2 = 0;
while (_local2 < _ratings.length) {
if (_ratings[_local2].id == _arg1){
return (_ratings[_local2]);
};
_local2++;
};
return (null);
}
public function get name():String{
return (_name);
}
public function getKeyByName(_arg1:String):NewgroundsAPIKey{
var _local2:uint;
_local2 = 0;
while (_local2 < _keys.length) {
if (_keys[_local2].name == _arg1){
return (_keys[_local2]);
};
_local2++;
};
return (null);
}
public function get id():uint{
return (_id);
}
public function addRating(_arg1:NewgroundsAPIRating):void{
_ratings.push(_arg1);
}
public function getKeyById(_arg1:uint):NewgroundsAPIKey{
var _local2:uint;
_local2 = 0;
while (_local2 < _keys.length) {
if (_keys[_local2].id == _arg1){
return (_keys[_local2]);
};
_local2++;
};
return (null);
}
public function createQuery():NewgroundsAPISaveGroupQuery{
return (new NewgroundsAPISaveGroupQuery(this));
}
public function get keys():Array{
return (_keys.concat());
}
public function getRatingByName(_arg1:String):NewgroundsAPIRating{
var _local2:uint;
_local2 = 0;
while (_local2 < _ratings.length) {
if (_ratings[_local2].name == _arg1){
return (_ratings[_local2]);
};
_local2++;
};
return (null);
}
public function get ratings():Array{
return (_ratings.concat());
}
public function get type():uint{
return (_type);
}
public function addKey(_arg1:NewgroundsAPIKey):void{
_keys.push(_arg1);
}
public static function createFromObject(_arg1:Object):NewgroundsAPISaveGroup{
var _local2:NewgroundsAPISaveGroup;
var _local3:uint;
var _local4:Object;
var _local5:Object;
_local2 = new NewgroundsAPISaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type);
_local3 = 0;
while (_local3 < _arg1.keys.length) {
_local4 = _arg1.keys[_local3];
_local2.addKey(new NewgroundsAPIKey(_local4.id, _local4.name, _local4.type));
_local3++;
};
_local3 = 0;
while (_local3 < _arg1.ratings.length) {
_local5 = _arg1.ratings[_local3];
_local2.addRating(new NewgroundsAPIRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 23
//NewgroundsAPISaveGroupQuery (com.newgrounds.NewgroundsAPISaveGroupQuery)
package com.newgrounds {
import flash.events.*;
public class NewgroundsAPISaveGroupQuery extends EventDispatcher {
private var _group:NewgroundsAPISaveGroup;
private var _fileConditions:Array;
private var _ratingConditions:Array;
private var _sortConditions:Array;
private var _resultsPerPage:uint;
private var _lookupRatings:Array;
private var _lookupKeys:Array;
private var _randomizeResults:Boolean;
private var _page:uint;
private var _groupBy:Array;
private var _keyConditions:Array;
public static const UPDATED_ON:uint = 5;
public static const TABLE_RATINGS:uint = 3;
public static const TABLE_FILES:uint = 1;
public static const TOTAL_VOTES:String = "votes";
public static const AUTHOR_ID:uint = 1;
public static const FILE_STATUS:uint = 7;
public static const TABLE_KEYS:uint = 2;
public static const FILE_NAME:uint = 3;
public static const SCORE:String = "score";
public static const TOTAL_VIEWS:uint = 6;
public static const CREATED_ON:uint = 4;
public static const FILE_ID:uint = 0;
public static const AUTHOR_NAME:uint = 2;
public function NewgroundsAPISaveGroupQuery(_arg1:NewgroundsAPISaveGroup){
_group = _arg1;
reset();
}
public function execute():void{
NewgroundsAPI.executeSaveQuery(this);
}
public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{
addSortCondition(TABLE_KEYS, _group.getKeyByName(_arg1).id, _arg2);
}
public function groupByRating(_arg1:String):void{
var _local2:NewgroundsAPIRating;
_local2 = _group.getRatingByName(_arg1);
if (!_local2){
return;
};
_groupBy.push({table:TABLE_RATINGS, field:_local2.id});
}
public function get page():uint{
return (_page);
}
public function includeKey(_arg1:String):void{
var _local2:NewgroundsAPIKey;
_local2 = _group.getKeyByName(_arg1);
if (_local2){
_lookupKeys.push(_local2.id);
};
}
public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{
addSortCondition(TABLE_RATINGS, _group.getRatingByName(_arg1).id, _arg2, _arg3);
}
public function get isRandomized():Boolean{
return (_randomizeResults);
}
public function set page(_arg1:uint):void{
_page = _arg1;
}
public function toObject():Object{
var _local1:Object;
_local1 = {page:_page, num_results:_resultsPerPage};
if (isRandomized){
_local1.randomize = 1;
};
if (((_fileConditions) && ((_fileConditions.length > 0)))){
_local1.file_conditions = _fileConditions;
};
if (((_keyConditions) && ((_keyConditions.length > 0)))){
_local1.key_conditions = _keyConditions;
};
if (((_ratingConditions) && ((_ratingConditions.length > 0)))){
_local1.rating_conditions = _ratingConditions;
};
if (((_sortConditions) && ((_sortConditions.length > 0)))){
_local1.sort_conditions = _sortConditions;
};
if (((_lookupKeys) && ((_lookupKeys.length > 0)))){
_local1.lookup_keys = _lookupKeys;
};
if (((_lookupRatings) && ((_lookupRatings.length > 0)))){
_local1.lookup_ratings = _lookupRatings;
};
if (((_groupBy) && ((_groupBy.length > 0)))){
_local1.group_by = _groupBy;
};
return (_local1);
}
public function excludeKey(_arg1:String):void{
var _local2:NewgroundsAPIKey;
var _local3:uint;
_local2 = _group.getKeyByName(_arg1);
_local3 = 0;
while (_local3 < _lookupKeys.length) {
if (_lookupKeys[_local3] == _local2.id){
_lookupKeys.splice(_local3, 1);
return;
};
_local3++;
};
}
public function excludeRating(_arg1:String):void{
var _local2:NewgroundsAPIRating;
var _local3:uint;
_local2 = _group.getRatingByName(_arg1);
_local3 = 0;
while (_local3 < _lookupRatings.length) {
if (_lookupRatings[_local3] == _local2.id){
_lookupRatings.splice(_local3, 1);
return;
};
_local3++;
};
}
public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{
var _local5:NewgroundsAPIRating;
_local5 = _group.getRatingByName(_arg1);
if (!_local5){
return;
};
_ratingConditions.push({rating_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4});
}
public function sortOn(_arg1:uint, _arg2:Boolean=false):void{
addSortCondition(TABLE_FILES, _arg1, _arg2);
}
public function groupBy(_arg1:uint):void{
_groupBy.push({table:TABLE_FILES, field:_arg1});
}
public function set isRandomized(_arg1:Boolean):void{
_randomizeResults = _arg1;
}
public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{
var _local4:NewgroundsAPIKey;
_local4 = _group.getKeyByName(_arg1);
if (!_local4){
return;
};
if (!checkValue(_arg3, _local4.type)){
return;
};
_keyConditions.push({key_id:_local4.id, operator:_arg2, value:_arg3});
}
public function groupByKey(_arg1:String):void{
var _local2:NewgroundsAPIKey;
_local2 = _group.getKeyByName(_arg1);
if (!_local2){
return;
};
_groupBy.push({table:TABLE_KEYS, field:_local2.id});
}
public function reset():void{
_fileConditions = [];
_keyConditions = [];
_ratingConditions = [];
_sortConditions = [];
_groupBy = [];
_lookupKeys = [];
_lookupRatings = [];
_randomizeResults = false;
_resultsPerPage = 20;
_page = 1;
}
private function checkValue(_arg1, _arg2:uint):Boolean{
return (true);
}
public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{
_fileConditions.push({field:_arg1, operator:_arg2, value:_arg3});
}
public function includeRating(_arg1:String):void{
var _local2:NewgroundsAPIRating;
_local2 = _group.getRatingByName(_arg1);
if (_local2){
_lookupRatings.push(_local2.id);
};
}
public function set resultsPerPage(_arg1:uint):void{
_resultsPerPage = _arg1;
}
override public function toString():String{
return ("");
}
public function get resultsPerPage():uint{
return (_resultsPerPage);
}
public function get groupId():uint{
return (_group.id);
}
private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{
var _local5:Object;
_local5 = {table:_arg1, field:_arg2, desc:_arg3};
if (_arg4){
_local5.extra = _arg4;
};
_sortConditions.push(_local5);
}
public function get group():NewgroundsAPISaveGroup{
return (_group);
}
}
}//package com.newgrounds
class FileCondition {
public var value;
public var operator:String;
public var field:uint;
private function FileCondition(_arg1:uint, _arg2:String, _arg3){
this.field = _arg1;
this.operator = _arg2;
this.value = _arg3;
}
}
class KeyCondition {
public var value;
public var operator:String;
public var key:uint;
private function KeyCondition(_arg1:uint, _arg2:String, _arg3){
this.key = _arg1;
this.operator = _arg2;
this.value = _arg3;
}
}
class RatingCondition {
public var operator:String;
public var value;
public var column:String;
public var rating:uint;
private function RatingCondition(_arg1:uint, _arg2:String, _arg3, _arg4:String){
this.rating = _arg1;
this.operator = _arg2;
this.value = _arg3;
this.column = _arg4;
}
}
Section 24
//NewgroundsURLLoader (com.newgrounds.NewgroundsURLLoader)
package com.newgrounds {
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.errors.*;
public class NewgroundsURLLoader extends EventDispatcher {
private var _method:String;// = "GET"
private var _files:Dictionary;
public var owner;
private var _openBrowser:Boolean;// = false
private var _urlRequest:URLRequest;
private var _hasVariables:Boolean;
private var _dataFormat:String;// = "text"
private var _urlLoader:URLLoader;
private var _preventCache:Boolean;// = false
private var _variables:Dictionary;
private static const CRLF:String = "
";
private static var _loaders:Dictionary = new Dictionary();
public function NewgroundsURLLoader(){
_method = URLRequestMethod.GET;
_dataFormat = URLLoaderDataFormat.TEXT;
_openBrowser = false;
_preventCache = false;
super();
_urlRequest = new URLRequest();
_variables = new Dictionary();
}
public function get openBrowser():Boolean{
return (_openBrowser);
}
private function onSecurityError(_arg1:SecurityErrorEvent):void{
dispatchEvent(_arg1);
dispose();
}
public function get preventCache():Boolean{
return (_preventCache);
}
public function set preventCache(_arg1:Boolean):void{
_preventCache = _arg1;
}
public function get responseFormat():String{
return (_dataFormat);
}
public function dispose():void{
_files = null;
_variables = null;
if (_urlLoader){
_urlLoader.removeEventListener(Event.COMPLETE, onComplete);
_urlLoader.removeEventListener(ProgressEvent.PROGRESS, onProgress);
_urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
_urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
_urlLoader = null;
};
_urlRequest = null;
_loaders[this] = null;
}
private function buildMultipartData(_arg1:String):ByteArray{
var _local2:ByteArray;
var _local3:String;
var _local4:File;
_local2 = new ByteArray();
_local2.endian = Endian.BIG_ENDIAN;
_arg1 = ("--" + _arg1);
for (_local3 in _variables) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((_variables[_local3] + CRLF));
};
if (hasFiles){
for each (_local4 in _files) {
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes((_local4.fileName + CRLF));
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF));
_local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeBytes(_local4.data);
_local2.writeUTFBytes(CRLF);
};
_local2.writeUTFBytes((_arg1 + CRLF));
_local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF));
_local2.writeUTFBytes(CRLF);
_local2.writeUTFBytes(("Submit Query" + CRLF));
};
_local2.writeUTFBytes((_arg1 + "--"));
_local2.position = 0;
trace(_local2.readUTFBytes(_local2.length));
_local2.position = 0;
return (_local2);
}
public function clearVariables():void{
_variables = new Dictionary();
}
private function onProgress(_arg1:ProgressEvent):void{
dispatchEvent(_arg1);
}
public function set responseFormat(_arg1:String):void{
_dataFormat = _arg1;
}
public function clearFiles():void{
_files = null;
}
private function onHTTPStatus(_arg1:HTTPStatusEvent):void{
dispatchEvent(_arg1);
}
public function addVariable(_arg1:String, _arg2=""):void{
_variables[_arg1] = _arg2;
if (_arg2){
_hasVariables = true;
};
}
public function get response(){
return (_urlLoader.data);
}
public function set method(_arg1:String):void{
if (((hasFiles) && ((_arg1 == URLRequestMethod.GET)))){
throw (new IllegalOperationError("GET cannot be used to upload files."));
};
_method = _arg1;
}
private function onIOError(_arg1:IOErrorEvent):void{
dispatchEvent(_arg1);
dispose();
}
public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octect-stream"):void{
method = URLRequestMethod.POST;
if (!_files){
_files = new Dictionary();
};
_files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4);
}
private function onComplete(_arg1:Event):void{
dispatchEvent(_arg1);
dispose();
}
public function get method():String{
return (_method);
}
public function load(_arg1:String):void{
var urlVariables:URLVariables;
var key:String;
var boundary:String;
var i:uint;
var event:SecurityErrorEvent;
var url = _arg1;
_urlRequest.url = url;
if (_preventCache){
url = (url + ("?seed=" + Math.random()));
if (_hasVariables){
url = (url + "&");
};
};
_urlRequest.method = _method;
if ((((_urlRequest.method == URLRequestMethod.GET)) || (!(hasFiles)))){
_urlRequest.contentType = "application/x-www-form-urlencoded";
if (_hasVariables){
urlVariables = new URLVariables();
for (key in _variables) {
urlVariables[key] = _variables[key];
};
_urlRequest.data = urlVariables;
};
} else {
boundary = "";
i = 0;
while (i < 32) {
boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25)))));
i = (i + 1);
};
_urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\"");
_urlRequest.data = buildMultipartData(boundary);
};
if (openBrowser){
navigateToURL(_urlRequest, "_blank");
} else {
_urlLoader = new URLLoader();
_urlLoader.dataFormat = _dataFormat;
_urlLoader.addEventListener(Event.COMPLETE, onComplete);
_urlLoader.addEventListener(ProgressEvent.PROGRESS, onProgress);
_urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
_urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
_urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
_loaders[_urlLoader] = this;
try {
_urlLoader.load(_urlRequest);
} catch(error:Error) {
event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message);
onSecurityError(event);
};
};
}
public function set openBrowser(_arg1:Boolean):void{
_openBrowser = _arg1;
}
public function get hasFiles():Boolean{
return (Boolean(_files));
}
public function close():void{
try {
_urlLoader.close();
} catch(e:Error) {
};
}
}
}//package com.newgrounds
import flash.utils.*;
class File {
private var data:ByteArray;
private var fileName:String;
private var dataField:String;
private var contentType:String;
private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){
this.fileName = _arg1;
this.data = _arg2;
this.dataField = _arg3;
this.contentType = _arg4;
}
}
Section 25
//RC4 (com.newgrounds.RC4)
package com.newgrounds {
public class RC4 {
private static var mykey:Array = new Array(0xFF);
private static var sbox:Array = new Array(0xFF);
private static function charsToHex(_arg1:Array):String{
var _local2:String;
var _local3:Array;
var _local4:uint;
_local2 = new String("");
_local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
_local4 = 0;
while (_local4 < _arg1.length) {
_local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)]));
_local4++;
};
return (_local2);
}
public static function encrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Array;
_local3 = strToChars(_arg1);
_local4 = strToChars(_arg2);
_local5 = calculate(_local3, _local4);
return (charsToHex(_local5));
}
private static function hexToChars(_arg1:String):Array{
var _local2:Array;
var _local3:uint;
_local2 = new Array();
_local3 = ((_arg1.substr(0, 2))=="0x") ? 2 : 0;
while (_local3 < _arg1.length) {
_local2.push(parseInt(_arg1.substr(_local3, 2), 16));
_local3 = (_local3 + 2);
};
return (_local2);
}
public static function encryptbin(_arg1:String, _arg2:String):Array{
var _local3:Array;
var _local4:Array;
var _local5:Array;
_local3 = strToChars(_arg1);
_local4 = strToChars(_arg2);
_local5 = calculate(_local3, _local4);
return (_local5);
}
public static function decrypt(_arg1:String, _arg2:String):String{
var _local3:Array;
var _local4:Array;
var _local5:Array;
_local3 = hexToChars(_arg1);
_local4 = strToChars(_arg2);
_local5 = calculate(_local3, _local4);
return (charsToStr(_local5));
}
private static function strToChars(_arg1:String):Array{
var _local2:Array;
var _local3:uint;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
private static function calculate(_arg1:Array, _arg2:Array):Array{
var _local3:uint;
var _local4:uint;
var _local5:Array;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
initialize(_arg2);
_local3 = 0;
_local4 = 0;
_local5 = new Array();
_local9 = 0;
while (_local9 < _arg1.length) {
_local3 = ((_local3 + 1) % 0x0100);
_local4 = ((_local4 + sbox[_local3]) % 0x0100);
_local7 = sbox[_local3];
sbox[_local3] = sbox[_local4];
sbox[_local4] = _local7;
_local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100);
_local6 = sbox[_local10];
_local8 = (_arg1[_local9] ^ _local6);
_local5.push(_local8);
_local9++;
};
return (_local5);
}
private static function initialize(_arg1:Array):void{
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local2 = 0;
_local4 = _arg1.length;
_local5 = 0;
while (_local5 <= 0xFF) {
mykey[_local5] = _arg1[(_local5 % _local4)];
sbox[_local5] = _local5;
_local5++;
};
_local5 = 0;
while (_local5 <= 0xFF) {
_local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100);
_local3 = sbox[_local5];
sbox[_local5] = sbox[_local2];
sbox[_local2] = _local3;
_local5++;
};
}
private static function charsToStr(_arg1:Array):String{
var _local2:String;
var _local3:uint;
_local2 = new String("");
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
}
}//package com.newgrounds
Section 26
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintMultiplier:Number;// = 0
private var _tintColor:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
_tintColor = 0;
_tintMultiplier = 0;
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setTint(_arg1:uint, _arg2:Number):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
_local3 = ((_arg1 >> 16) & 0xFF);
_local4 = ((_arg1 >> 8) & 0xFF);
_local5 = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
private function deriveTintColor():uint{
var _local1:Number;
var _local2:uint;
var _local3:uint;
var _local4:uint;
var _local5:uint;
_local1 = (1 / this.tintMultiplier);
_local2 = Math.round((this.redOffset * _local1));
_local3 = Math.round((this.greenOffset * _local1));
_local4 = Math.round((this.blueOffset * _local1));
_local5 = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set brightness(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
_local2 = (1 - Math.abs(_arg1));
_local3 = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
private function parseXML(_arg1:XML=null):Color{
var _local2:XML;
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
_local2 = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number;
var _local5:uint;
var _local6:uint;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:uint;
var _local17:uint;
_local4 = (1 - _arg3);
_local5 = ((_arg1 >> 24) & 0xFF);
_local6 = ((_arg1 >> 16) & 0xFF);
_local7 = ((_arg1 >> 8) & 0xFF);
_local8 = (_arg1 & 0xFF);
_local9 = ((_arg2 >> 24) & 0xFF);
_local10 = ((_arg2 >> 16) & 0xFF);
_local11 = ((_arg2 >> 8) & 0xFF);
_local12 = (_arg2 & 0xFF);
_local13 = ((_local5 * _local4) + (_local9 * _arg3));
_local14 = ((_local6 * _local4) + (_local10 * _arg3));
_local15 = ((_local7 * _local4) + (_local11 * _arg3));
_local16 = ((_local8 * _local4) + (_local12 * _arg3));
_local17 = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number;
var _local5:ColorTransform;
_local4 = (1 - _arg3);
_local5 = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 27
//appear_185 (game_fla.appear_185)
package game_fla {
import flash.display.*;
public dynamic class appear_185 extends MovieClip {
public function appear_185(){
addFrameScript(28, frame29);
}
function frame29(){
stop();
}
}
}//package game_fla
Section 28
//appear2_186 (game_fla.appear2_186)
package game_fla {
import flash.display.*;
public dynamic class appear2_186 extends MovieClip {
public function appear2_186(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package game_fla
Section 29
//Char_1_169 (game_fla.Char_1_169)
package game_fla {
import flash.display.*;
public dynamic class Char_1_169 extends MovieClip {
public var ch:MovieClip;
public function Char_1_169(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 30
//Char_2_188 (game_fla.Char_2_188)
package game_fla {
import flash.display.*;
public dynamic class Char_2_188 extends MovieClip {
public var ch:MovieClip;
public function Char_2_188(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 31
//Char_3_205 (game_fla.Char_3_205)
package game_fla {
import flash.display.*;
public dynamic class Char_3_205 extends MovieClip {
public var ch:MovieClip;
public function Char_3_205(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 32
//char_box_fly_2_203 (game_fla.char_box_fly_2_203)
package game_fla {
import flash.display.*;
public dynamic class char_box_fly_2_203 extends MovieClip {
public function char_box_fly_2_203(){
addFrameScript(11, frame12);
}
function frame12(){
gotoAndPlay((currentFrame - 2));
}
}
}//package game_fla
Section 33
//char_box_stand_2_200 (game_fla.char_box_stand_2_200)
package game_fla {
import flash.display.*;
public dynamic class char_box_stand_2_200 extends MovieClip {
public function char_box_stand_2_200(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package game_fla
Section 34
//char_boxfly_178 (game_fla.char_boxfly_178)
package game_fla {
import flash.display.*;
public dynamic class char_boxfly_178 extends MovieClip {
public function char_boxfly_178(){
addFrameScript(11, frame12);
}
function frame12(){
gotoAndPlay((currentFrame - 2));
}
}
}//package game_fla
Section 35
//char_boxlift_180 (game_fla.char_boxlift_180)
package game_fla {
import flash.display.*;
public dynamic class char_boxlift_180 extends MovieClip {
public function char_boxlift_180(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package game_fla
Section 36
//char_boxstand_175 (game_fla.char_boxstand_175)
package game_fla {
import flash.display.*;
public dynamic class char_boxstand_175 extends MovieClip {
public function char_boxstand_175(){
addFrameScript(1, frame2);
}
function frame2(){
stop();
}
}
}//package game_fla
Section 37
//char_fly_1_56 (game_fla.char_fly_1_56)
package game_fla {
import flash.display.*;
public dynamic class char_fly_1_56 extends MovieClip {
public function char_fly_1_56(){
addFrameScript(13, frame14);
}
function frame14(){
gotoAndPlay((currentFrame - 2));
}
}
}//package game_fla
Section 38
//char_fly_2_195 (game_fla.char_fly_2_195)
package game_fla {
import flash.display.*;
public dynamic class char_fly_2_195 extends MovieClip {
public function char_fly_2_195(){
addFrameScript(13, frame14);
}
function frame14(){
gotoAndPlay((currentFrame - 2));
}
}
}//package game_fla
Section 39
//char_fly_3_212 (game_fla.char_fly_3_212)
package game_fla {
import flash.display.*;
public dynamic class char_fly_3_212 extends MovieClip {
public function char_fly_3_212(){
addFrameScript(13, frame14);
}
function frame14(){
gotoAndPlay((currentFrame - 2));
}
}
}//package game_fla
Section 40
//char_land_1_58 (game_fla.char_land_1_58)
package game_fla {
import flash.display.*;
public dynamic class char_land_1_58 extends MovieClip {
public function char_land_1_58(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package game_fla
Section 41
//char_land_1_78 (game_fla.char_land_1_78)
package game_fla {
import flash.display.*;
public dynamic class char_land_1_78 extends MovieClip {
public function char_land_1_78(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package game_fla
Section 42
//char_land_2_197 (game_fla.char_land_2_197)
package game_fla {
import flash.display.*;
public dynamic class char_land_2_197 extends MovieClip {
public function char_land_2_197(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package game_fla
Section 43
//char_land_3_214 (game_fla.char_land_3_214)
package game_fla {
import flash.display.*;
public dynamic class char_land_3_214 extends MovieClip {
public function char_land_3_214(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package game_fla
Section 44
//char_lean_1_172 (game_fla.char_lean_1_172)
package game_fla {
import flash.display.*;
public dynamic class char_lean_1_172 extends MovieClip {
public function char_lean_1_172(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package game_fla
Section 45
//char_lean_2_196 (game_fla.char_lean_2_196)
package game_fla {
import flash.display.*;
public dynamic class char_lean_2_196 extends MovieClip {
public function char_lean_2_196(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package game_fla
Section 46
//char_lean_3_213 (game_fla.char_lean_3_213)
package game_fla {
import flash.display.*;
public dynamic class char_lean_3_213 extends MovieClip {
public function char_lean_3_213(){
addFrameScript(8, frame9);
}
function frame9(){
stop();
}
}
}//package game_fla
Section 47
//char_roll_1_173 (game_fla.char_roll_1_173)
package game_fla {
import flash.display.*;
public dynamic class char_roll_1_173 extends MovieClip {
public function char_roll_1_173(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package game_fla
Section 48
//char_roll_2_198 (game_fla.char_roll_2_198)
package game_fla {
import flash.display.*;
public dynamic class char_roll_2_198 extends MovieClip {
public function char_roll_2_198(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package game_fla
Section 49
//char_roll_3_215 (game_fla.char_roll_3_215)
package game_fla {
import flash.display.*;
public dynamic class char_roll_3_215 extends MovieClip {
public function char_roll_3_215(){
addFrameScript(9, frame10);
}
function frame10(){
stop();
}
}
}//package game_fla
Section 50
//char_stand_1_123 (game_fla.char_stand_1_123)
package game_fla {
import flash.display.*;
public dynamic class char_stand_1_123 extends MovieClip {
public var epic:Number;
public function char_stand_1_123(){
addFrameScript(27, frame28);
}
function frame28(){
if (Math.random() > 0.04){
gotoAndPlay(1);
} else {
epic = Math.random();
if (epic > 0.666){
} else {
if (epic > 0.333){
};
};
};
}
}
}//package game_fla
Section 51
//char_stand_2_189 (game_fla.char_stand_2_189)
package game_fla {
import flash.display.*;
public dynamic class char_stand_2_189 extends MovieClip {
public var epic:Number;
public function char_stand_2_189(){
addFrameScript(27, frame28);
}
function frame28(){
if (Math.random() > 0.04){
gotoAndPlay(1);
} else {
epic = Math.random();
if (epic > 0.666){
} else {
if (epic > 0.333){
};
};
};
}
}
}//package game_fla
Section 52
//char_stand_3_206 (game_fla.char_stand_3_206)
package game_fla {
import flash.display.*;
public dynamic class char_stand_3_206 extends MovieClip {
public var epic:Number;
public function char_stand_3_206(){
addFrameScript(27, frame28);
}
function frame28(){
if (Math.random() > 0.04){
gotoAndPlay(1);
} else {
epic = Math.random();
if (epic > 0.666){
} else {
if (epic > 0.333){
};
};
};
}
}
}//package game_fla
Section 53
//char_suicide_181 (game_fla.char_suicide_181)
package game_fla {
import flash.display.*;
public dynamic class char_suicide_181 extends MovieClip {
public function char_suicide_181(){
addFrameScript(103, frame104);
}
function frame104(){
stop();
}
}
}//package game_fla
Section 54
//char_up_1_174 (game_fla.char_up_1_174)
package game_fla {
import flash.display.*;
public dynamic class char_up_1_174 extends MovieClip {
public function char_up_1_174(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package game_fla
Section 55
//char_up_2_199 (game_fla.char_up_2_199)
package game_fla {
import flash.display.*;
public dynamic class char_up_2_199 extends MovieClip {
public function char_up_2_199(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package game_fla
Section 56
//char_up_3_216 (game_fla.char_up_3_216)
package game_fla {
import flash.display.*;
public dynamic class char_up_3_216 extends MovieClip {
public function char_up_3_216(){
addFrameScript(7, frame8);
}
function frame8(){
stop();
}
}
}//package game_fla
Section 57
//colorSwatch_250 (game_fla.colorSwatch_250)
package game_fla {
import flash.display.*;
public dynamic class colorSwatch_250 extends MovieClip {
public function colorSwatch_250(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 58
//death1_184 (game_fla.death1_184)
package game_fla {
import flash.display.*;
public dynamic class death1_184 extends MovieClip {
public function death1_184(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package game_fla
Section 59
//difficultyFaces_105 (game_fla.difficultyFaces_105)
package game_fla {
import flash.display.*;
public dynamic class difficultyFaces_105 extends MovieClip {
public function difficultyFaces_105(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 60
//door_124 (game_fla.door_124)
package game_fla {
import flash.display.*;
public dynamic class door_124 extends MovieClip {
public function door_124(){
addFrameScript(0, frame1, 7, frame8);
}
function frame1(){
stop();
}
function frame8(){
stop();
}
}
}//package game_fla
Section 61
//doorkey_101 (game_fla.doorkey_101)
package game_fla {
import flash.display.*;
public dynamic class doorkey_101 extends MovieClip {
public function doorkey_101(){
addFrameScript(0, frame1, 16, frame17);
}
function frame1(){
stop();
}
function frame17(){
gotoAndStop(2);
}
}
}//package game_fla
Section 62
//endpushani_55 (game_fla.endpushani_55)
package game_fla {
import flash.display.*;
public dynamic class endpushani_55 extends MovieClip {
public function endpushani_55(){
addFrameScript(500, frame501);
}
function frame501(){
stop();
}
}
}//package game_fla
Section 63
//fade0_69 (game_fla.fade0_69)
package game_fla {
import flash.display.*;
public dynamic class fade0_69 extends MovieClip {
public function fade0_69(){
addFrameScript(5, frame6);
}
function frame6(){
stop();
}
}
}//package game_fla
Section 64
//greentile_129 (game_fla.greentile_129)
package game_fla {
import flash.display.*;
public dynamic class greentile_129 extends MovieClip {
public function greentile_129(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 65
//head_82 (game_fla.head_82)
package game_fla {
import flash.display.*;
public dynamic class head_82 extends MovieClip {
public function head_82(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 66
//headBG_242 (game_fla.headBG_242)
package game_fla {
import flash.display.*;
public dynamic class headBG_242 extends MovieClip {
public function headBG_242(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 67
//headButton_241 (game_fla.headButton_241)
package game_fla {
import flash.display.*;
public dynamic class headButton_241 extends MovieClip {
public var headBG:MovieClip;
public function headButton_241(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 68
//holohead_33 (game_fla.holohead_33)
package game_fla {
import flash.display.*;
public dynamic class holohead_33 extends MovieClip {
public var headTalk:MovieClip;
public function holohead_33(){
addFrameScript(20, frame21, 40, frame41);
}
function frame21(){
stop();
}
function frame41(){
gotoAndStop(1);
}
}
}//package game_fla
Section 69
//holohead_34 (game_fla.holohead_34)
package game_fla {
import flash.display.*;
public dynamic class holohead_34 extends MovieClip {
public function holohead_34(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 70
//introLoad_1 (game_fla.introLoad_1)
package game_fla {
import flash.display.*;
public dynamic class introLoad_1 extends MovieClip {
public var scrollbar:MovieClip;
public var ngIntro:SimpleButton;
public var playB:SimpleButton;
public var bg2:MovieClip;
public var bg1:MovieClip;
public var theHead:MovieClip;
public function introLoad_1(){
addFrameScript(0, frame1, 1, frame2);
}
function frame1(){
playB.visible = false;
scrollbar.visible = false;
stop();
}
function frame2(){
playB.visible = true;
scrollbar.visible = true;
stop();
}
}
}//package game_fla
Section 71
//loadHead_5 (game_fla.loadHead_5)
package game_fla {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class loadHead_5 extends MovieClip {
public var poop:MovieClip;
public var myParent:MovieClip;
public var playHit:Boolean;
public function loadHead_5(){
addFrameScript(0, frame1, 18, frame19, 41, frame42);
}
function frame1(){
playHit = false;
poop.myParent = this;
stop();
}
function frame19(){
if (playHit){
play();
} else {
stop();
};
}
function frame42(){
myParent.play();
}
}
}//package game_fla
Section 72
//MainTimeline (game_fla.MainTimeline)
package game_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
import com.newgrounds.components.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var gameMap:map;
public var introVid:introScroll;
public var rightMove:Boolean;
public var myMap:Array;
public var editCustom:MovieClip;
public var music:SoundChannel;
public var preBG:MovieClip;
public var preCount:Number;
public var deathVocals:Array;
public var NGIntro:NGintro;
public var introFX:Sound;
public var musicPlaying:Boolean;
public var spinL:Boolean;
public var spinR:Boolean;
public var playBButton:MovieClip;
public var shiftHold:Boolean;
public var soundLoop:String;
public var grav:Boolean;
public var mapShiftReset:Boolean;
public var flip:Boolean;
public var intro:Sound;
public var muteCount:Number;
public var leftMove:Boolean;
public var mapShift:Boolean;
public var uVar:Boolean;
public var campainTextA:Array;
public var campainTextB:Array;
public var preCast:Number;
public var menuPage:String;
public var endStory2:Story_End2;
public var pickUp:Boolean;
public var shifted:Boolean;
public var gameS:Sound;
public var endText:Number;
public var fxTransform:SoundTransform;
public var skipB:SimpleButton;
public var cheatCast:Number;
public var menuB:SimpleButton;
public var kVar:Boolean;
public var musicTransform:SoundTransform;
public var domain;
public var now:Date;
public var fVar:Boolean;
public var board:leaderBoard;
public var mouseDown:Boolean;
public var API_Settings:Object;
public var endStory:Story_End;
public var winFrame:String;
public var _sharedObj:SharedObject;
public var topAlpha;
public var upMove:Boolean;
public var gamePause:Boolean;
public var timeHold;
public var curTime;
public var playAButton:MovieClip;
public var loadCast:Number;
public var randomVocals:Array;
public var introB:SimpleButton;
public var menu:MovieClip;
public var levelNum:TextField;
public var medal_popup:DefaultMedalPopup;
public var resetButton:SimpleButton;
public var upReset:Boolean;
public var editS:Sound;
public var currentLevel:Number;
public var downMove:Boolean;
public var gameIntro:Sound;
public var outroStory:Story_Outro;
public var campainMultiLevels:Array;
public var playCustom:MovieClip;
public var loadCount:Number;
public var introFXC:SoundChannel;
public var campainLevelsA:Array;
public var newgroundsAPIconnector:DefaultAPIConnector;
public var cVar:Boolean;
public var myID:Number;
public var gameState:String;
public var upLook:Boolean;
public var campainLevelsB:Array;
public var introStory:Story_Intro;
public var cheatCount:Number;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 9, frame10, 10, frame11, 11, frame12, 12, frame13, 13, frame14, 14, frame15, 15, frame16, 16, frame17, 18, frame19, 19, frame20, 20, frame21);
}
public function keyPressedDown(_arg1:KeyboardEvent){
if (_arg1.keyCode == 37){
leftMove = true;
} else {
if (_arg1.keyCode == 39){
rightMove = true;
} else {
if ((((_arg1.keyCode == 32)) || ((_arg1.keyCode == 68)))){
upMove = true;
} else {
if (_arg1.keyCode == 65){
if (mapShiftReset){
mapShift = true;
mapShiftReset = false;
};
} else {
if (_arg1.keyCode == 38){
upLook = true;
} else {
if (_arg1.keyCode == 83){
pickUp = true;
} else {
if (_arg1.keyCode == 16){
shiftHold = true;
} else {
if (_arg1.keyCode == 84){
fVar = true;
} else {
if (_arg1.keyCode == 73){
uVar = true;
} else {
if (_arg1.keyCode == 77){
cVar = true;
} else {
if (_arg1.keyCode == 69){
kVar = true;
};
};
};
};
};
};
};
};
};
};
};
}
public function customLevelE(_arg1:MouseEvent){
var _local2:URLLoader;
var _local3:URLVariables;
var _local4:URLRequest;
if (levelNum.text != ""){
_local2 = new URLLoader();
_local3 = new URLVariables();
_local4 = new URLRequest(((domain + "grabSingle.php?cachebuster=") + new Date().getTime()));
_local4.method = URLRequestMethod.POST;
_local3.levelID = levelNum.text;
_local4.data = _local3;
_local2.load(_local4);
_local2.addEventListener(Event.COMPLETE, parseLevelE);
};
}
public function unlockMedal(_arg1:String){
NewgroundsAPI.unlockMedalByName(_arg1);
}
public function goJK(_arg1:MouseEvent){
NewgroundsAPI.loadCustomLink("Justins Site");
}
public function skipIntro(_arg1:MouseEvent){
removeEventListener(MouseEvent.CLICK, skipIntro);
if (introStory){
introStory.stop();
};
skipB.x = 1000;
if (_sharedObj.data.currentLevel >= 32){
stopMusic();
gotoAndStop("menu");
} else {
gotoAndStop("game");
};
}
public function goPO3(_arg1:MouseEvent){
NewgroundsAPI.loadCustomLink("NG_PO3");
}
function frame10(){
NGIntro = new NGintro();
NGIntro.x = 350;
NGIntro.y = 224;
addChild(NGIntro);
NGIntro.myParent = this;
NGIntro.buttonMode = true;
NGIntro.addEventListener(MouseEvent.CLICK, goNG);
if (!musicPlaying){
musicPlaying = true;
music = intro.play(0, 10000);
music.soundTransform = musicTransform;
};
}
function frame16(){
stop();
if (menu){
removeChild(menu);
menu = null;
};
GlobalVarContainer.vars.headFlag = 0;
if (!musicPlaying){
musicPlaying = true;
music = gameIntro.play(0, 10000);
music.soundTransform = musicTransform;
};
introStory = new Story_Intro();
introStory.x = 348;
introStory.y = 224;
introStory.myParent = this;
addChild(introStory);
if (_sharedObj.data.currentLevel >= 32){
introStory.gotoAndPlay("postIntro");
};
if (endStory){
removeChild(endStory);
endStory = null;
};
if (endStory2){
removeChild(endStory2);
endStory2 = null;
};
if (outroStory){
removeChild(outroStory);
outroStory = null;
};
skipB.x = 680;
skipB.addEventListener(MouseEvent.CLICK, skipIntro);
setChildIndex(skipB, (this.numChildren - 1));
}
public function basicMap():void{
var _local1:Array;
var _local2:*;
var _local3:Array;
var _local4:*;
_local1 = [[294228, 10484272, 13762221], [28026, 9563894, 14481659], [0xAC7800, 16711098, 13100755], [50853, 9305331, 14155515], [513, 14563074, 16732934], [0x1B1B1B, 16636343, 16704187], [16587284, 16757937, 16767703], [16622343, 16768932, 16707025], [0x7D0300, 15661908, 16514492], [140172, 16643939, 16776650]];
myMap = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [], [4, 9, 1], [1], [], [], [], [], [], [], [], [], ["level text"]];
_local2 = 1;
while (_local2 <= 3) {
_local3 = _local1.splice(Math.floor((Math.random() * _local1.length)), 1);
_local4 = 0;
while (_local4 < _local3[0].length) {
myMap[1].push(_local3[0][_local4]);
trace(myMap[1]);
_local4++;
};
_local2++;
};
}
public function preMultiLoad(_arg1:NewgroundsAPIEvent){
_sharedObj.data.MultiCampainRaw[currentLevel].removeEventListener(NewgroundsAPIEvent.FILE_LOADED, preMultiLoad);
_sharedObj.data.MultiCampain.push(_arg1.data);
}
public function editorFunction(_arg1:MouseEvent){
gameState = "edit";
winFrame = "menu";
basicMap();
ToString.trace2DArray(ToString.breakString(ToString.makeString(myMap)));
gotoAndStop("game");
playSoundFX("click");
stopMusic();
}
function frame5(){
currentLevel = 0;
campainLevelsA = ["1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,16,1,1,1,1,1,13,0,0,0,1,1,1,1,13,16,1,1,1,1,1,1,1,1,1,13,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;81311,8383220,12645115,3940964,2459567,4497624,6904375,15066597,16710891;2,11,1;0;;;;;;;;Hello world;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,16,1,1,1,13,0,0,0,0,1,1,1,1,13,0,0,16,1,1,1,1,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;3,13,1;1;;;;;;;;The Rift;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,25,0,0,0,0,0,0,0,25,0,15,1,1,1,1,0,0,27,0,0,0,0,0,0,0,27,0,0,1,1,1,1,0,0,27,0,0,0,0,0,0,0,27,0,0,1,1,1,1,13,0,26,0,0,0,0,0,0,0,26,0,0,1,1,1,1,1,1,1,1,1,1,29,29,29,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,14,0,25,0,0,0,0,0,0,0,25,0,0,1,1,1,1,0,0,27,0,0,0,0,0,0,0,27,0,0,1,1,1,1,0,0,26,0,0,0,0,0,0,0,26,0,16,1,1,1,1,0,0,1,29,29,1,1,29,29,29,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,25,0,0,0,0,0,0,0,25,0,15,1,1,1,1,13,0,26,0,0,0,0,0,0,0,26,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,1,13,0,0,0,33,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,8224125,16580607,3940964,11190011,14739711,6904375,15066597,16710891;3,5,1;1;;;;;;;;Junk Head;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,29,1,1,1,1,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,33,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,29,29,29,29,29,29,29,1,1,1,1,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;16587284,16757937,16767703,16622343,16768932,16707025,6904375,15066597,16710891;4,9,1;1;;;;;;;;Obelisk II;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,22,22,22,22,22,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,15,1,1,1,1,1,20,22,22,22,22,22,22,22,22,22,22,16,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,22,22,22,22,22,22,22,22,22,22,22,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,33,0,20,22,22,22,0,0,0,0,0,0,1,1,1,1,1,1,1,20,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;12471552,16775050,16776149,3844608,12778612,15335110,6904375,15066597,16710891;4,5,1;1;;;;;0,7,5,1,8,13;;;Ursa Minor;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,1,14,0,15,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,1,14,0,0,0,15,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,16,1,0,0,16,1,1,1,1,13,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,13,0,0,33,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;85670,11456508,13755901,37058,10411769,14087420,6904375,15066597,16710891;4,10,1;1;;;;;0,13,10,0,8,6;;;Bluebell;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,33,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,1,1,1,29,1,1,29,29,29,29,29,29,29,1,1,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,1,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;4,5,1;1;;0,13,5;;;;;;Salt Pillar;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,15,1,14,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,13,33,0,0,0,16,1,13,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,25,0,0,0,0,0,0,0,25,0,0,1,1,1,1,0,0,27,0,0,0,0,0,0,0,27,0,0,1,1,1,1,0,0,27,0,0,0,0,0,0,0,27,0,0,1,1,1,1,13,0,26,0,0,0,0,0,0,0,26,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;8192768,15661908,16514492,140172,16643939,16776650,6904375,15066597,16710891;4,9,1;1;;1,8,5;;;0,13,10,0,12,10,0,11,10,0,12,9;;;TheBlueRoom;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,33,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;7761920,16776119,16646119,3684408,11645874,16252927,6904375,15066597,16710891;4,9,1;1;;0,3,2;0,8,11,2,0,2,2,2;;;;;Home Sick;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,1,1,1,1,1,1,1,1,1,31,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,19,0,0,0,33,0,0,0,19,0,1,1,1,1,1,14,0,19,0,0,0,0,0,0,0,19,0,15,1,1,1,1,0,0,19,0,0,0,0,0,0,0,19,0,0,1,1,1,1,0,0,19,0,0,0,0,0,0,0,19,0,0,1,1,1,1,13,0,19,0,0,0,0,0,0,0,19,0,16,1,1,1,1,1,0,1,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,13,0,0,0,0,0,16,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;204433,11189502,14673405,3940964,2459567,4497624,6904375,15066597,16710891;4,12,2;0;;0,2,14,0,14,14;0,8,14,2,0,3,6,2,0,13,6,2;;0,13,14,0,13,13,0,3,14,0,3,13;;;Carrion;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,1,1,1,1,1,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,24,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;11836161,16448968,16580578,7813376,16630649,16642269,6904375,15066597,16710891;3,3,2;1;;;;;0,12,4;;;The Gash;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,16,1,13,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,16,1,13,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;26476,10747637,13630713,91527,9625847,13823486,6904375,15066597,16710891;3,7,2;1;0,2,3,0,14,14,0,14,7,0,2,10;1,8,10;;;1,4,14,1,12,14;;;Next Exit;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,33,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,25,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,27,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,27,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,27,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,27,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,27,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,27,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,26,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;132099,5131854,16704454,5740,9698775,16710046,6904375,15066597,16710891;4,9,2;1;;;0,14,11,2;;0,13,7;;;Stasis;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,25,0,0,0,0,0,0,0,0,0,0,0,25,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,27,1,1,1,1,25,0,0,0,0,0,0,0,0,0,0,0,27,1,1,1,1,27,0,0,0,0,0,0,0,0,0,0,0,27,1,1,1,1,27,0,0,0,0,0,0,0,0,0,0,0,27,1,1,1,1,26,0,0,0,0,0,0,0,0,0,0,0,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,33,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,14,0,15,1,1,1,1,1,1,1,1,1,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,2246137,9414906,513,16587284,16690604,6904375,15066597,16710891;8,9,2;1;;;;;0,2,4;;1,3,9,1,14,10,0,13,9,0,2,5;Handshakes;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,16,1,1,0,1,1,13,0,0,1,1,1,1,1,1,13,16,1,1,14,0,15,1,1,13,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,0,0,0,0,0,33,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,16,1,1,1,1,1,13,0,0,1,1,1,1,1,1,13,16,1,1,14,0,15,1,1,13,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;32461,15203765,16383207,16039681,10616747,14221304,6904375,15066597,16710891;8,4,2;1;;1,8,13;;0,8,12,0,0,0,1,5,10,1,0,0,1,11,10,1,0,0,1,5,6,1,0,0,1,11,6,1,0,0,0,3,8,0,0,0,0,13,8,0,0,0;;;;The Braid;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,7,7,7,7,7,7,7,7,7,7,7,7,7,9,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,16,1,0,1,13,0,0,0,0,1,1,1,1,0,0,0,16,1,1,0,1,1,13,0,0,0,1,1,1,1,0,0,16,1,1,1,0,1,1,1,13,0,0,1,1,1,1,13,16,1,1,1,1,33,1,1,1,1,13,16,1,1,1,11,7,7,7,7,7,7,7,7,7,7,7,7,7,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,14,19,0,0,0,0,0,0,0,0,0,19,15,11,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,19,0,0,0,0,0,0,0,0,0,19,0,6,1,1,6,0,19,0,0,16,1,1,1,13,0,0,19,0,6,1,1,6,0,19,0,16,1,1,1,1,1,13,0,19,0,6,1,1,6,0,19,16,1,1,1,1,1,1,1,13,19,0,6,1,1,9,13,19,1,1,1,1,1,1,1,1,1,19,16,10,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;4802889,12961221,14937341,165860,12314107,14808061,6904375,15066597,16710891;8,10,2;1;;;;0,11,9,0,0,0,0,5,9,0,0,0,0,7,7,0,0,0,0,9,7,0,0,0,1,3,5,1,0,0,1,13,5,1,0,0,1,8,5,1,0,0;;;0,13,5,0,8,11,0,3,5,0,8,12,0,8,5,0,8,13;Theatons;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,0,31,0,31,1,0,1,31,0,31,0,31,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,16,1,0,1,13,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,15,1,0,1,14,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,16,1,0,1,13,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,1,1,0,0,0,0,1,1,1,1,0,0,0,0,15,1,0,1,14,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,29,0,29,0,29,1,0,1,29,0,29,0,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,21,21,21,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,33,0,0,0,33,0,0,0,0,1,1,1,1,0,0,0,0,1,21,21,21,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;7274496,11382191,15007226,3947580,12632769,15007226,6904375,15066597,16710891;6,10,2;1;0,8,2,0,8,14;0,3,14,0,5,14,0,11,14,0,13,14;0,8,8,2;;0,8,9;;;Alice;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,11,7,7,7,7,7,7,7,7,7,7,7,7,7,8,1,1,6,14,0,0,0,25,0,0,0,0,0,0,0,15,6,1,1,6,1,0,0,0,27,0,0,0,0,0,0,0,0,6,1,1,6,14,0,0,0,27,0,0,0,0,0,0,0,0,6,1,1,6,0,0,0,0,27,0,0,0,0,0,0,0,0,6,1,1,6,13,0,0,0,27,0,0,0,0,0,0,0,0,6,1,1,6,1,0,0,0,27,0,0,0,0,0,0,0,0,6,1,1,6,14,0,0,0,27,0,0,0,0,0,0,0,0,6,1,1,6,13,0,0,0,26,0,0,0,0,0,0,0,0,6,1,1,6,1,1,1,1,1,0,0,0,0,0,0,0,0,6,1,1,6,1,1,1,1,14,0,0,0,0,0,0,0,0,6,1,1,6,1,1,1,14,0,0,0,0,0,0,0,0,0,6,1,1,6,1,1,14,0,0,0,0,0,0,0,0,0,0,6,1,1,6,1,29,29,29,29,29,29,29,29,29,29,29,29,6,1,1,10,7,7,7,7,7,7,7,7,7,7,7,7,7,9,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,33,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;16668997,16698814,16776189,15185152,16774059,16777191,6904375,15066597,16710891;4,9,2;1;;0,2,2;0,8,7,0;;;;;Altered X;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,14,0,0,25,0,25,0,0,15,1,15,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,0,27,0,27,0,0,0,1,0,1,1,1,1,33,1,0,0,0,26,0,26,0,0,0,1,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;7,14,2;1;;;;0,9,7,0,0,0,0,7,9,0,0,0,0,9,11,0,0,0,0,7,5,0,0,0,0,8,13,0,0,0,0,8,3,0,0,0;0,4,4,0,12,4;;;Carry;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,7,7,7,7,7,7,7,7,7,7,7,7,7,9,1,1,8,14,0,0,0,0,0,0,0,0,0,0,0,15,11,1,1,10,7,7,7,7,7,7,7,7,7,7,7,7,7,9,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,33,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,14,0,0,0,0,0,0,0,0,0,0,0,15,11,1,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,6,13,0,0,0,0,0,0,0,0,0,0,0,16,6,1,1,9,1,0,0,0,0,0,0,0,0,0,0,0,1,10,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;81826,16775575,14871293,1776411,16621972,13958138,6904375,15066597,16710891;2,10,2;1;;0,14,10;;;;1,2,12,3,1,3,12,3,1,4,12,3,1,5,12,3,1,6,12,3,1,7,12,3,1,8,12,3,1,9,12,3,1,10,12,3,1,11,12,3,1,12,12,3,1,13,12,3,1,14,12,3;;Wavering Ox;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,15,1,31,31,31,31,31,31,31,1,14,15,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,15,1,0,0,0,0,0,0,0,1,14,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,16,1,0,0,0,0,0,0,0,1,13,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,14,15,1,0,0,0,0,0,0,0,1,14,15,1,1,1,1,13,16,1,29,29,29,29,29,29,29,1,13,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,1,31,31,31,1,1,1,1,1,1,1,14,0,0,0,0,0,1,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,1,0,0,0,0,0,16,1,1,1,1,1,1,1,29,29,29,1,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;12847104,8388329,16711134,1250067,10658468,16318459,6904375,15066597,16710891;4,10,3;1;0,14,3,0,14,5,0,2,3,0,2,5;0,3,14,0,13,14;0,12,10,2,0,4,6,2;;0,3,3,0,13,3;;;Deep Cuts;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,1,1,1,1,1,1,1,1,1,1,15,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;30563,10878966,14614267,88431,7201524,14809597,6904375,15066597,16710891;4,8,3;1;;1,2,11,1,14,11;0,8,8,1;;0,7,14,0,8,14,0,9,14,0,11,4,0,8,4,0,5,4;;;Toast!;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,19,0,19,0,0,0,0,15,1,1,1,1,0,0,0,0,0,19,0,19,0,0,0,0,0,1,1,1,1,0,0,0,0,0,19,0,19,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,33,0,0,1,1,1,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,1,1,1,0,1,11,8,1,0,0,0,1,11,8,1,0,1,1,1,1,0,1,6,6,1,0,0,0,1,6,6,1,0,1,1,1,1,0,1,6,6,1,0,0,0,1,6,6,1,0,1,1,1,1,29,1,6,6,1,29,29,29,1,6,6,1,29,1,1,1,1,1,1,6,6,1,1,1,1,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,11,7,7,8,1,1,1,11,7,7,8,1,1,1,1,1,0,6,1,1,6,0,0,0,6,1,1,6,0,1,1,1,1,0,6,1,1,6,0,0,0,6,1,1,6,0,1,1,1,1,29,6,1,1,6,29,29,29,6,1,1,6,29,1,1,1,1,1,6,1,1,6,1,1,1,6,1,1,6,1,1,1,1,1,1,6,1,1,6,1,1,1,6,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;131847,16577142,12961221,7289600,8882055,12961219,6904375,15066597,16710891;4,9,3;1;;0,7,4,0,8,4,0,9,4;;;;0,7,5,5,0,8,5,6,0,9,5,7;;TheFragile;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,13,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,13,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,13,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;69992,11992816,14614267,3940964,16757167,16776189,6904375,15066597,16710891;4,9,3;1;;0,8,15;0,8,8,3,1,8,8,1;;;;0,8,3,0,8,14;Sleepless;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,1,1,1,31,31,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,29,29,1,1,1,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,33,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;81826,847333,11534274,93282,11599837,14614510,6904375,15066597,16710891;4,9,3;1;;1,12,11;0,8,7,0,1,8,8,2;0,4,10,0,0,0,0,12,5,0,0,0;;;;XSplinterX;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,33,15,1,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,16,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,14,0,15,1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,0,1,13,0,16,1,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,14,0,15,1,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,1,13,0,16,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,1,14,0,15,1,0,1,1,1,1,0,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,0,1,1,1,1,1,0,1,13,0,16,1,0,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,13,1,1,1,1,1,0,1,1,1,1,1,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,14,0,15,1,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,0,1,13,0,16,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,14,0,15,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,1,1,13,0,0,1,1,1,1,1,0,1,13,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,10724000,14874620,7602176,11579568,15138812,7760384,11184810,14680055;3,4,1;2;;0,14,14;;;;;;Bit Trip;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,33,0,0,0,0,0,0,0,0,32,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,32,1,1,1,1,28,28,28,1,0,0,0,0,0,0,0,0,32,1,1,1,1,28,28,28,1,29,0,0,0,0,0,0,0,32,1,1,1,1,28,28,28,1,1,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;16642840,4210752,197377,0,4868682,16774148,6904375,15066597,16710891;4,9,3;1;;0,12,12,0,10,3,0,9,9,0,7,5,0,4,3,0,6,10,0,13,5;0,2,14,2,0,4,12,2;;0,2,13,0,4,13;;;Baal;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,15,1,1,1,1,1,1,14,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,14,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,16,1,1,1,0,1,1,1,1,1,14,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,33,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,25,0,0,0,0,25,1,1,1,1,1,0,0,0,0,0,0,27,0,0,0,0,27,1,1,1,1,1,0,0,0,0,0,0,27,0,0,0,0,27,1,1,1,1,1,0,0,0,0,0,0,27,0,0,0,0,27,1,1,1,1,1,0,0,0,0,0,0,26,0,0,0,0,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;7484672,16700833,16707548,3947580,11974839,14809597,6904375,15066597,16710891;2,3,1;1;0,14,14,0,2,1;;;;0,3,5,0,3,8,0,3,11,0,3,14;;0,3,5,1,5,4,0,3,8,1,6,4,0,3,11,1,7,4,0,3,14,1,8,4,1,13,3,1,14,5,1,12,3,1,14,4;The Harvest;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,0,0,0,0,0,0,0,1,13,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,15,1,14,0,25,0,25,0,0,0,15,1,1,1,1,0,0,0,1,13,0,26,0,26,0,0,0,16,1,1,1,1,13,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,25,0,25,0,0,0,15,1,1,1,1,0,0,0,0,0,0,27,0,27,0,0,0,0,1,1,1,1,0,0,0,0,0,0,27,0,27,0,0,0,0,1,1,1,1,0,0,0,0,0,0,27,0,27,0,0,0,0,1,1,1,1,0,0,0,0,0,0,27,0,27,0,0,0,0,1,1,1,1,13,0,0,0,0,0,26,0,26,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;66052,1568997,16775042,16707888,16641468,16643804,6904375,15066597,16710891;3,3,1;1;0,15,3,0,1,3,0,9,7,0,2,5,0,4,7,0,2,12;;;0,7,4,0,0,0;0,5,3,0,6,3,0,7,3,0,6,2,0,6,6,0,11,6,0,12,6;;;Plush;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,0,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,13,0,0,0,16,1,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,13,0,0,0,16,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,14,0,0,0,15,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,13,0,0,0,0,1,0,1,0,0,0,0,16,1,1,1,1,1,13,0,0,16,1,0,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,14,0,0,0,15,1,0,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,1,13,0,0,0,16,1,0,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;294228,10484272,13762221,28026,9563894,14481659,6904375,15066597,16710891;8,3,1;1;0,8,2,0,8,14;1,12,3,1,4,3;;;0,7,7,0,9,8,1,4,12,1,12,12;;1,4,12,0,8,8,1,12,12,0,8,9,0,2,7,1,4,4,0,14,8,1,12,4;Antenna;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;2,14,1;1;;1,12,8,1,8,12,1,4,8;0,4,14,3,0,12,14,3,0,12,2,3,0,4,2,3;1,8,13,1,0,0,1,13,8,1,0,0,1,3,8,1,0,0,1,8,3,1,0,0;1,8,4;;0,2,5,0,2,8,0,5,14,0,8,14,0,14,11,0,14,8;My Wall o));;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,16,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,16,1,33,1,1,1,1,13,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,1,31,31,1,31,31,1,31,31,1,1,1,1,1,14,0,0,1,0,0,1,0,0,1,0,0,1,1,1,1,1,13,0,0,25,0,0,25,0,0,25,0,0,15,1,1,1,1,1,0,0,27,0,0,27,0,0,27,0,0,0,1,1,1,1,14,0,0,27,0,0,27,0,0,27,0,0,16,1,1,1,1,0,0,0,27,0,0,27,0,0,27,0,0,1,1,1,1,1,0,0,0,26,0,0,26,0,0,26,0,16,1,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;65792,1681393,16766396,6001,16590620,16766933,6904375,15066597,16710891;2,14,1;1;;0,14,13;0,7,14,2,1,14,4,2;;1,2,4,1,13,8;;0,8,12,0,14,12;Reverb ;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,33,0,1,1,1,1,13,16,1,1,13,16,1,1,13,16,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,14,0,31,31,31,31,0,31,31,31,31,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,16,1,1,13,16,1,1,13,16,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,31,31,31,31,0,31,31,31,31,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,16,1,1,13,16,1,1,13,16,1,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;4,16449243,15859424,7881473,7895160,15269115,16631306,16776652,14808827;4,13,1;2;;;1,2,14,2,2,14,8,0;1,14,4,1,0,0;2,13,14;;;Dead End;;"];
campainLevelsB = ["1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,25,0,0,0,0,0,0,0,25,0,15,1,1,1,1,0,0,27,0,0,0,0,0,0,0,27,0,0,1,1,1,1,13,0,26,0,0,0,0,0,0,0,26,33,16,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,12,1,1,13,0,0,0,0,0,16,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;3,6,1;0;;;;;;;;Haunted;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,25,0,25,0,0,0,0,15,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,0,0,0,0,0,26,33,26,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,13,0,0,0,16,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;4,5,1;1;;;;;;;;Tea Time;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,33,16,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,14,15,1,0,0,0,1,14,15,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,14,15,1,1,1,14,15,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,29,29,29,29,29,1,1,1,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;263170,8391168,16709345,7342848,9079432,14876666,6904375,15066597,16710891;3,9,1;1;;;;;;;;Teeth;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,19,31,31,31,31,31,31,1,1,1,1,0,0,0,0,0,0,19,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,19,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,19,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,19,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,19,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,19,0,0,0,0,0,33,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,19,19,31,31,31,31,31,19,19,31,31,1,1,1,1,0,0,19,19,0,0,0,0,0,19,19,0,0,1,1,1,1,0,0,19,19,0,0,0,0,0,19,19,0,0,1,1,1,1,0,0,19,19,0,0,0,0,0,19,19,0,0,1,1,1,1,0,0,19,19,0,0,0,0,0,19,19,0,0,1,1,1,1,0,0,19,19,0,0,0,0,0,19,19,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,14,15,0,0,0,0,0,14,15,0,15,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;13422,7194813,13100755,292688,11206596,14876640,6904375,15066597,16710891;2,9,1;1;;;;;;;;Wait, what?;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,22,22,22,22,22,22,22,22,22,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,20,0,1,1,1,1,0,22,22,22,22,22,22,22,22,22,22,22,0,1,1,1,1,1,20,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,33,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,22,22,22,22,22,22,22,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,22,22,22,22,22,22,22,22,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;226991,5897890,16776114,11020544,16706073,8715728,6904375,15066597,16710891;3,3,1;1;;;;;0,4,3,1,4,11,1,8,9;;;The Push;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,14,0,0,0,0,33,0,0,0,0,15,1,1,1,1,1,14,0,0,1,1,1,1,1,1,1,0,0,15,1,1,1,1,0,0,0,1,14,0,0,0,15,1,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,1,1,1,13,0,0,1,1,1,1,1,1,1,0,0,16,1,1,1,1,1,1,1,13,0,0,0,0,0,16,1,1,1,1,1,1,1,14,1,1,1,1,13,0,16,1,1,1,1,15,1,1,1,1,13,1,1,1,1,1,1,1,1,1,1,1,16,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,13,0,0,0,0,0,16,1,1,1,1,1,1,1,14,1,1,1,1,13,0,16,1,1,1,1,15,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,16,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;7827200,16644725,16711394,8802561,16707450,16772038,6904375,15066597,16710891;8,5,1;1;;;;;0,10,6,0,6,6;;;Robotron;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,31,31,0,0,0,0,0,0,0,0,0,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,33,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,29,29,29,29,1,1,1,1,1,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,7,7,7,7,7,7,7,7,7,7,7,7,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,7,7,7,7,7,7,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,31,31,0,0,0,0,0,0,0,0,0,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,29,29,29,29,1,1,1,1,1,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,7,7,7,7,7,7,7,7,7,7,7,7,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,7,7,7,7,7,7,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;8,7,1;1;;1,10,6;;;;;;The Maw;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,14,33,1,1,0,0,0,0,0,1,1,33,15,1,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,15,1,13,0,0,0,16,1,14,0,0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;18562,16710833,16580578,358981,15989929,16515046,6904375,15066597,16710891;8,7,1;1;;;;;0,10,7,0,6,7;;;The Man;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,33,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;9243392,15988780,4324377,82676,1244886,655121,6904375,15066597,16710891;6,14,1;1;;0,5,2,0,11,2;0,8,12,2,1,8,2,2;;;;;The Sun;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,31,31,31,25,0,0,0,25,31,31,31,0,1,1,1,1,30,0,0,0,27,0,0,0,27,0,0,0,32,1,1,1,1,30,0,0,0,27,0,0,0,27,0,0,0,32,1,1,1,1,30,0,0,0,26,0,33,0,26,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,31,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,30,1,32,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,29,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,25,0,0,0,25,0,0,0,32,1,1,1,1,30,0,0,0,27,0,0,0,27,0,0,0,32,1,1,1,1,30,0,0,0,27,0,0,0,27,0,0,0,32,1,1,1,1,0,29,29,29,26,0,0,0,26,29,29,29,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,31,31,31,31,31,31,31,31,31,31,31,0,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,30,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,0,29,29,29,29,29,29,29,29,29,29,29,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;41110,16317869,16776160,3940964,2459567,4497624,6904375,15066597,16710891;8,4,2;0;;0,10,14,0,6,14;0,8,2,2,0,8,14,2;;;;;Downs;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,14,0,0,0,15,1,1,1,1,0,0,0,0,16,1,1,1,13,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,33,0,0,0,0,1,1,1,1,13,0,0,0,1,1,1,1,1,0,0,0,16,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,14,0,0,0,15,1,1,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,13,0,0,0,16,1,1,1,13,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,13,0,0,0,16,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,14,0,0,0,0,25,0,25,0,0,0,0,15,1,1,1,1,0,0,0,0,0,27,0,27,0,0,0,0,0,1,1,1,1,13,0,0,0,0,26,0,26,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;76669,16740206,16702682,3940964,16709792,16775142,6904375,15066597,16710891;6,5,2;1;;;1,8,12,2;;0,3,7;;;One;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,16,1,1,1,13,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,15,1,1,1,14,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,13,0,0,0,0,1,1,1,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,14,0,0,0,15,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,15,1,1,1,14,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,33,0,0,0,0,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;513,2228022,12712440,71800,16623380,16709854,6904375,15066597,16710891;3,11,2;1;0,6,11,0,3,4,0,10,11,0,13,4;1,14,11;;;;;;Interlude;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,33,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,14,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,29,29,29,29,29,1,1,1,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,1,1,1,14,0,0,19,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,19,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,19,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,29,29,0,29,29,1,1,1,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;97637,16711108,14614520,25477,13107188,15073019,6904375,15066597,16710891;8,7,2;1;;1,12,7;1,4,14,2;;1,4,5;;;Time Kufc;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,19,0,0,0,1,14,0,0,19,0,15,1,1,1,1,0,0,19,0,0,0,1,0,0,0,19,0,0,1,1,1,1,0,0,19,0,0,0,33,0,0,0,19,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,13,0,0,0,0,0,16,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,19,0,0,0,1,0,0,0,19,0,15,1,1,1,1,0,0,19,0,0,0,1,0,0,0,19,0,0,1,1,1,1,0,0,19,0,0,0,0,0,0,0,19,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,15,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,13,0,0,0,0,0,16,1,0,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7499889,13158598,26983,10092532,14745340,6904375,15066597,16710891;9,12,2;1;;;0,8,14,2;;1,5,6,1,11,12;;0,8,12,1,5,7;The Cage;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,6,1,1,1,14,0,0,0,15,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,0,1,1,1,0,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,13,0,0,0,16,1,1,1,6,1,1,1,1,6,1,1,1,1,1,0,1,1,1,1,1,6,1,1,1,1,6,1,1,1,14,0,0,0,15,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,0,0,0,0,0,1,1,1,6,1,1,1,1,6,1,1,1,29,29,29,29,29,1,1,1,6,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,6,1,1,14,0,0,0,15,1,1,6,1,1,1,1,1,1,6,1,1,0,0,0,0,0,1,1,6,1,1,1,1,1,1,6,1,1,13,0,0,0,16,1,1,6,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,6,1,1,14,0,0,0,15,1,1,6,1,1,1,1,1,1,6,1,1,0,0,0,0,0,1,1,6,1,1,1,1,1,1,6,1,1,13,0,0,0,16,1,1,6,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,6,1,1,14,0,0,0,15,1,1,6,1,1,1,1,1,1,6,1,1,0,0,0,0,0,1,1,6,1,1,1,1,1,1,6,1,1,0,0,33,0,0,1,1,6,1,1,1,1,1,1,6,1,1,29,29,29,29,29,1,1,6,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;8,4,2;1;;;;0,10,5,0,0,0,0,6,5,0,0,0,0,8,9,0,0,0;;;;He Waits;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,20,1,1,14,0,0,0,0,0,15,1,1,20,1,1,1,1,20,1,1,33,0,0,0,0,0,33,1,1,20,1,1,1,1,20,1,1,1,0,0,0,0,0,1,1,1,20,1,1,1,1,20,1,14,0,0,0,0,0,0,0,15,1,20,1,1,1,1,20,1,1,0,0,1,1,1,1,1,1,1,20,1,1,1,1,20,1,0,0,0,0,0,0,0,0,0,1,20,1,1,1,1,20,1,1,1,1,1,1,1,0,0,1,1,20,1,1,1,1,20,1,0,0,0,0,0,0,0,0,0,1,20,1,1,1,1,20,1,1,1,0,0,1,1,1,1,1,1,20,1,1,1,1,20,1,0,0,0,0,0,0,0,0,0,1,20,1,1,1,1,20,1,1,1,1,1,1,0,0,1,1,1,20,1,1,1,1,0,1,13,0,0,0,0,0,0,0,16,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,7864320,8389888,3940964,2459567,4497624,6904375,15066597,16710891;5,4,2;0;0,2,2,0,14,14,0,14,2,0,2,14;0,8,14;0,2,9,0,0,14,9,0;;0,2,6;;;Ambien;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,1,31,31,31,31,31,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,1,31,31,31,31,31,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;16519938,4586769,14548952,1637911,15603201,14548952,6904375,15066597,16710891;3,14,2;1;;;0,1,3,2,1,1,4,2;;0,1,4,1,1,3;;;Ruiner;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,13,0,0,0,0,0,0,0,33,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;8217600,8519661,16776644,36488,16775061,16383207,6904375,15066597,16710891;11,14,2;1;;0,7,3,0,9,3;1,8,14,0,1,8,9,0,0,8,7,2;;;;;Jux;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,1,1,1,0,0,0,0,15,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,13,0,0,0,0,1,1,1,0,0,0,33,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,7,7,7,7,7,7,7,7,7,7,7,7,7,2,1,1,25,0,0,0,0,0,0,0,0,0,0,0,0,0,25,1,1,26,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,25,0,0,0,0,0,0,0,0,0,0,0,0,0,25,1,1,26,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,1,3,7,7,7,7,7,7,7,7,7,7,7,7,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0,2358503,14811133,131847,16756634,16703450,6904375,15066597,16710891;5,10,2;1;;;;;0,3,10;;;Just;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,33,1,0,0,0,0,0,0,0,0,0,1,15,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,1,31,31,31,31,31,31,31,31,31,1,15,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,25,0,0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,25,0,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,27,0,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,27,0,0,25,0,0,0,1,0,1,1,1,1,0,1,0,0,27,0,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,25,0,0,27,0,0,0,1,0,1,1,1,1,0,1,0,0,27,0,0,27,0,0,0,1,0,1,1,1,1,13,1,13,0,26,0,0,26,0,0,16,1,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;15572224,16708028,16710606,16657676,16632518,16702926,6904375,15066597,16710891;7,14,2;1;;0,9,4;0,14,14,2;0,9,13,0,0,0,0,6,11,0,0,0,0,9,9,0,0,0,0,6,7,0,0,0,0,9,5,0,0,0;0,14,6;0,14,7,5,0,14,8,6,0,14,9,7,0,14,10,8,0,14,11,9;;Tic/Tic;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,15,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,13,16,1,1,1,1,0,0,0,0,15,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,16,1,1,1,1,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,15,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,3,7,7,7,7,7,2,1,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;4,9,3;1;0,2,4,0,14,6,0,14,10,0,2,12,0,2,14,0,2,2;;;;0,9,10,0,5,4,0,5,14,0,14,8;;0,9,10,0,14,8,0,2,7,0,11,13,0,2,8,0,11,12,0,2,9,0,11,11,0,14,2,0,0,0;8 sideways;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,1,1,14,0,0,0,15,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,13,33,16,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,15,1,14,0,25,25,0,15,1,1,1,1,0,0,0,0,0,0,1,0,0,27,27,0,0,1,1,1,1,13,0,0,0,0,16,1,13,0,26,26,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;7930368,8684676,16706525,16143872,9671058,13158600,6904375,15066597,16710891;3,4,3;1;0,10,3,0,8,6;1,5,7,1,11,7;0,13,13,1,0,3,3,1,0,7,14,0,1,8,8,2;;0,14,4,1,2,10,1,14,10;;0,8,10,0,3,5,1,2,10,0,8,9;The Heart;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,33,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,31,31,31,31,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,19,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,19,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,19,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,19,1,1,1,1,14,0,0,25,0,0,0,25,0,0,15,1,19,1,1,1,1,0,0,0,27,0,0,0,27,0,0,0,1,19,1,1,1,1,0,0,0,27,0,0,0,27,0,0,0,1,19,1,1,1,1,0,0,0,27,0,0,0,27,0,0,0,1,19,1,1,1,1,0,0,0,27,0,0,0,27,0,0,0,1,1,1,1,1,1,0,0,0,27,0,0,0,27,0,0,0,1,1,1,1,1,1,13,0,0,26,0,0,0,26,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;8192768,9764837,14614265,3940964,16642928,16580326,6904375,15066597,16710891;6,14,3;1;;0,7,4;0,14,11,2;0,7,5,0,0,0,0,7,9,0,0,0,0,7,13,0,0,0,1,10,11,1,0,0,1,4,11,1,0,0;0,14,4,1,4,6,1,10,6;0,14,5,4,0,14,6,6,0,14,7,6,0,14,8,7,0,14,9,8,0,14,10,9;0,4,14,0,14,14,0,10,14,0,13,14;Time Decay;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,3,7,7,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,3,7,7,7,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,3,7,7,7,7,7,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,3,7,7,7,7,7,7,7,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,3,7,7,7,7,7,7,7,7,7,7,1,1,1,0,0,0,31,31,31,31,31,31,31,31,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,32,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,32,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,32,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,32,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,31,1,31,1,31,1,31,1,31,1,1,1,1,1,0,0,0,29,31,29,31,29,31,29,31,29,31,1,1,1,1,0,0,0,1,29,1,29,1,29,1,29,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;256,12125696,16643804,0,125896,13959119,6904375,15066597,16710891;2,8,3;1;;;0,14,2,3;1,7,9,1,0,0,1,9,7,1,0,0,1,11,5,1,0,0;;;;The Tip;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,15,1,1,14,0,0,0,15,1,1,14,15,1,1,1,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,1,1,1,0,15,1,1,0,0,0,0,0,1,1,14,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,13,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,13,0,33,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;65792,7368814,11184810,7536640,16758196,16574695,6904375,15066597,16710891;6,14,3;1;;0,3,2,0,13,2;0,8,2,2,0,2,9,2,0,14,9,2;;0,8,14,0,8,9;;;Loaded;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,15,1,14,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,16,1,13,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,15,1,14,0,15,1,14,0,0,15,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,13,0,0,16,1,13,0,16,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,15,1,14,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,16,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,15,1,14,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,16,1,13,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,15,1,14,0,15,1,14,0,0,15,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,1,13,0,0,16,1,13,0,16,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,15,1,14,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,1,14,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,16,1,13,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,15,1,14,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,16,1,0,0,0,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;2,4,3;2;;;;;;;;Sappy;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,19,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,19,0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,0,19,0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,19,0,0,0,0,0,1,1,1,1,0,1,0,1,1,1,0,19,0,1,1,1,1,1,1,1,1,0,1,0,1,1,0,0,19,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,33,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;513,14563074,16732934,1776411,16636343,16704187,6904375,15066597,16710891;4,2,3;1;;0,4,14;0,2,14,2,0,2,2,2;;0,2,13;;0,7,14,0,2,12,0,11,14,0,4,13;Solemnity;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,29,29,29,0,0,0,0,0,1,1,1,1,1,0,0,0,32,1,1,1,30,0,0,0,1,1,1,1,1,30,0,0,0,32,1,1,1,30,0,0,0,32,1,1,1,1,30,0,0,0,32,1,1,1,30,0,0,0,32,1,1,1,1,30,0,0,0,0,31,31,31,0,0,0,0,32,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,13,0,0,0,0,33,0,0,0,0,16,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,15,1,1,1,14,0,0,15,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,13,0,0,16,1,1,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,15,1,1,1,14,0,15,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,13,0,16,1,1,1,13,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;11302912,16711098,13100755,50853,9305331,14155515,6904375,15066597,16710891;8,14,1;1;;0,2,6,0,14,6,0,8,3,1,12,6,1,4,6,1,5,13,1,11,13;0,15,14,2,0,15,12,2;;0,15,13;;;Happy land;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,15,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,33,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,25,0,0,0,0,0,25,0,15,1,1,1,1,14,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,0,0,0,0,27,0,0,0,0,0,27,0,0,1,1,1,1,13,0,0,0,26,0,0,0,0,0,26,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;185322,11465207,15335159,516750,12058336,14876660,6904375,15066597,16710891;8,9,1;1;;;0,2,14,2,1,5,4,3;0,3,14,0,0,0;0,2,13;;;Open Waters;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,33,0,0,0,23,0,23,0,0,0,0,0,0,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,14,0,0,0,1,0,1,13,0,0,0,0,0,1,1,1,1,13,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,14,0,0,0,0,15,1,1,1,1,14,0,0,15,1,19,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,19,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,19,1,13,0,0,0,0,16,1,1,1,1,0,0,0,0,1,19,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,14,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,1,1,13,0,0,0,23,0,23,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,16,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,13,0,0,0,0,0,16,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,14,0,0,0,0,15,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,16,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,13,0,0,0,0,16,1,1,1,1,13,0,0,15,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,14,0,0,0,0,15,1,1,1,1,14,0,0,16,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;14094848,16635487,16318136,953088,14874649,16770197,6904375,15066597,16710891;8,14,1;1;0,14,11,0,14,2;;0,7,13,1,0,7,3,1;;1,5,8;;;in-n-out;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,31,31,31,31,31,31,31,1,1,31,31,31,31,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,33,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,21,21,21,1,21,21,21,21,21,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,29,29,29,29,29,29,29,29,29,29,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,25,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,27,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,26,0,0,0,1,1,1,1,29,29,29,29,29,29,29,1,1,1,29,29,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;2236962,7194813,13100755,3940964,2459567,4497624,6904375,15066597,16710891;4,4,1;1;;0,13,10;1,11,7,0,0,14,10,1,0,6,4,1;;;1,11,9,6,1,14,11,6;;Quick Flips;level text;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,16,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,13,0,0,0,0,0,0,0,0,0,16,1,33,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,21,21,21,21,21,21,21,21,21,0,0,0,21,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;16530217,16775848,16711372,29804,9961193,13303033,6904375,15066597,16710891;8,14,1;1;0,4,2,0,4,8;;1,4,14,0,1,12,2,0,1,13,2,1,1,5,14,1;1,13,11,1,0,0,1,12,11,1,0,0,1,11,11,1,0,0;0,4,4;;;MullDrifter;;", "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,35,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,0,0,0,0,0,0,0,0,0,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,33,0,1,1,1,1,13,16,1,1,13,16,1,1,13,16,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,14,0,31,31,31,31,0,31,31,31,31,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,16,1,1,13,16,1,1,13,16,1,1,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,14,0,31,31,31,31,0,31,31,31,31,0,15,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,13,16,1,1,13,16,1,1,13,16,1,0,13,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;4,16449243,15859424,7881473,7895160,15269115,16631306,16776652,14808827;4,13,1;2;;;1,2,14,2,2,14,8,0;1,14,4,1,0,0;2,13,14;;;Dead End;;"];
campainTextA = ["Hey good lookin'!, its me.. You! I'm in the next room texting you from the future! Creepy I know. Anyway just go into the portal and you'll end up in the room I'm in. One sec. I'm getting a text from you in the next room... hmm, brb.", "There are always 2 sides to every story, a zero to every one. Change your perspective on life by switching dimensions. I know this to be true because you just told me about it a few minutes ago.", "Death is only in your mind friend, you can trust me. I mean you wouldn't lie to yourself would you? what good would that do? If you ever lied to me id kill you! LOL just kidding, youre already dead...", "I'm starting to feel stuck here. why did we go inside the box? I only did it because you told me to! My palms are getting hot.", "Pushing through seems to be the only answer sometimes, well that and suicide.. but we both know death doesn't exist on this plain.", "To get through life one must be willing to lift up heavy blocks!", "Keys, they do stuff. Remember that time we had fun? Because I don't.", "You don't have to carry a block for it to come with you when you change dimensions, just standing close to it will do the trick. Just remember when a block is blinking at you.. that means it likes you!", "Ok somethings growing out of my head, I cant see it but I feel it growing. Its whispering....", "I've grown to accept our new growth, I named him Steven, as will you. He took his firsts steps around our skull last night.", "Oh man I'm feeling sick again, I'm going to lay down.", "I threw up a few times in the room youre in, sorry. I believe these portals are having a strange effect on Steven... I think he's Russian.", "Time only exists in the dimension you're in. Once you leave everything is simply put on hold for you till you get back... man we are so important!", "Oh that room has button things, they are easy to use. Hahaha, oh Steven is such a joy to have around, I let him chew on bullet shells.", "Those weird tiles don't play by the rules. They will follow you wherever you go... I hate people who are so needy!... grrrrrr.", "Do you think our actions here have some personal significance? Or do you think its just being weird for weirds sake?", "Life in a box isn't so bad if you just hold your breath till you pass out. Hey I think I hear you.. are you knocking on the walls?", "Someone else is here with us, I saw a man run by through a crack in Stevens skull. I think it was God.", "Did you notice when you switch dimensions and there is a wall occupying the same area as you, you die? Well the same rule doesn't apply for blocks, in fact blocks seems to break almost anything.. including yourself!", "Steven is growing, his little legs tickle my brains! how the years fly by.", "I found the way out, but Steven informed me that I'm a failure and shouldn't be alive.. so now I'm dead. you die in the next room.", "Hey you didn't die? Hmm I guess we aren't as dead as I thought we were, I did trip on a piece of forever and fractured my skull once.. remember that?", "You cant make friends when you're locked up in a little box! Personally I like it here because all people do is make me feel like im missing out on something... I never want to leave!", "Please stop playing this game, every room that goes by is simply a reminder of my failures, I want to go home now and I cant till you give up.", "Steven is getting on my nerves... I think I hate him now, yeah I'm pretty sure he can read my mind too.. so we are basically screwed... man this is so awkward .", "Steven is threatening to leave... but how can he leave? With out my head he will have no place to call home. No body wants to take care of a homeless child.... give it up Steven.", "I'm starting to accept the fact that this game will never end. There's simply no way out of this, I haven't slept for weeks, and as the years go by my wrinkles grow deeper.", "Steven has left us. Things ended bad, I think I see him in the next room. Hes flipping me off through the dimensional rift.", "I feel better now that Steven is gone...But I cant help but feel like maybe I'm Steven and have been lying to you this whole time...", "Who are we? Am I Steven or are you? I have memories that I know arent mine... I know things are growing around me, I'm just moving too fast to appreciate them.", "Do you really want this to end? If it ends its done for good, if it ends you can no longer complain about how hard things are getting or about the loss of Steven. I'm starting to remember things differently.", "In the next room You will die.", "Hey its me, you... or Steven, it doesn't matter either way this is the room where you die. Take the pill to end it all and let me leave the box. Exiting through the portal to your right will only reset this message."];
campainTextB = ["Oh hello! Hey I'm your future self! I'm in the next room right now, this is pretty fun. Walk into that portal and we can meet one another. One sec. I'm getting a text from you in the next room... hmm, brb.", "You cant grow as a person if you don't accept that your reality doesn't apply to others. By changing dimensions you can view life from a new perspective. Deep stuff I know!", "Hello! I'm you from a few rooms ahead... I got a reminder asking me to tell you to not worry about getting killed. Death doesn't exist here, nor does life.... Toodles!", "It feels like my brain is sloshing around in my skull. Kinda feels familiar, and in a way, comforting.", "I didn't really feel like messaging you today, but I got bitched out by me from the future.. so yeah. Anyway that rooms easy enough, just finish it so we can move on.", "Gotta love block pushing! Nothing better then that.... Not.", "The KEY to life is remembering you will eventually die. I wish I was dead...", "When a block is blinking that means it will stick with you when you switch dimensions. Touching it will make it blink... just be careful where you touch it...", "Umm, I found a lump. Its growing out of my head, kinda itchy.. Anyway you'll see what I mean in the next room.", "Our little boils name is Steven, I know this because he told me so. He keeps telling me I'm filthy....", "Dude! those black holes really tug at your testiest... Over and out!", "Steven is throwing up. He's hilarious!", "When you leave a dimension time comes with you. Things stuck in time remain in a stasis till you get back. Also when you close your eyes everyone else disappears!", "Buttons and doors... very original! I wish I could just give up and go home... Im so sick of this, but i know if we leave Steven will die, we have to be strong for our child.", "The gear tiles follow you into any dimension as long as you're touching them. Kinda like us and our first girlfriend... LOLZ!", "Hey this is your past self. I'm stuck on the 4th level can you help me out? Oh wait im getting a text from you... who's Steven?", "There is an old man screaming at me through the wall.. He kinda sounds like you.", "God doesn't exist. And neither do you.", "If you bring a block with you into another dimension and its placed over a wall tile, it will break it. Its a secret to everyone!", "Remember when we got our leg braces taken off? I don't, but Steven keeps talking about it. He says it has significance. ", "I think im in the same room as you are, can you see me? Im looking at you from a crack in the monitor.", "Seeing God has changed me, Steven also seems excited by the news. If we follow God wont it just lead to death? ", "I like that we are locked in here forever. It pleases me to think about all the people who are missing us, that will show them for ignoring us when we were alive!", "Video games are a means of escape, like a drug. What are you escaping from?", "Steven is simply a sprite in a video game. And you are simply a pawn of God.", "Steven is giving me hickeys while I sleep. He tells me not to tell you about it though, is that weird?", "Have you accepted the fact that this game will never end? Or will it? Who are you really?", "Steven fell off and ran into a crack in the wall... I think hes staying with the guy in the next room to make me jealous.", "Steven said something weird to me before he left. He said your name is also Steven, is that true? ", "Who am i speaking to? I just got into the box like you told me to, but I cant see a way out. one sec. I seem to be getting a text message.... brb.", "Who the hell are you!? I want out of this! its been years and I cant find the way out. If you're getting this message dont let Steven go! he will lock you in here forever!", "Death is waiting for you in the next room.", "Hey its me, you... or Steven, it doesn't matter either way this is the room where you die. Take the pill to end it all and let me leave the box. Exiting through the portal to your right will only reset this message."];
randomVocals = ["Stop whispering to me while I sleep...", "Do you think when we get out of here life will seem meaningless?", "I watch you when you sleep, do you watch me?", "My teeth fell out again, the empty holes scream when I sleep.", "How long do babies sleep in the womb?", "I think I broke my arms, either that or I have more elbows.", "You're not as nice as I remember I was when I was you.", "How come you never write me back?", "We are stuck here forever.. theres no way out!", "I cant breath, the room Im in keeps getting smaller... are you pushing on the walls?", "Is there a man in the room with you? I think I saw an old man in that room your in.", "I cant help but think we dont exist.", "Is this a test or punishment?", "You life is meaningless", "I cant seem to control my actions, whos pulling my strings?", "I am Error", "Pay me for the door repair!", "Help me I'm in hell!", "AHHHHHHHHHHHHHHHHHHHHHHHHH!", "Hello? I just entered the box, can anyone help me?", "Dont believe steven! Hes lying to us!!!!", "Steven, this is your mom. Im just texting you to remind you to fill up the gass tank before you get home. Drive safe.", "Hello? I'm stuck in a blue room with no portal. Can anyone hear me? I'm banging on the walls.", "Hey this is Ste..., im about to leave the bo... you need to reme... the onl.. o leave to box is... ist.. though the w... then... dont look back.", "Im watching you....", "I found a note left by Steven... Oh, wait no, its just a drawing of a naked lady.", "If youre reading this please help me, I'm stuck inside a wall... I cant breathe... Please someone!?", "I found an arm and some fingers in the room I'm in, do they belong to you?", "Hey, Im in room two. There seems to be no way out.. and whos Steven?", "Turn back now Steven! You dont exist here, this box wasn't for you!", "Why do you think your being punished?", "We are better off alone.", "I think im back in room 4... am I going backwards?", "Where are you? I can hear your voice but the rooms so dark... Hello am I touching you?", "Steven told me you're a liar...", "Who is this really? The man in room 6 said you cant be trusted.", "I'm stuck in a room with 100s of dead bodies.. they all look like us... He.. Don... No!!", "Sto..hile...ou. stil.. can... he wants you.. d... turn.. ac.. now!", "I feel so numb..."];
deathVocals = ["Please stop.", "Oh, I remember that.", "Barf!", "Death is existence.", "He lives!", ".....", "Purgatory my friend.", "6, 21, 3, 11", "Can I help you?", "Hello", "Memories!", "Sorry...", "...", "..", "....", "Amusing!", "F word!", "S word!", "C word!", "Dejavu", "Man... we are so screwed", "When you died I felt it... weird", "REDRUM!!!", "Dying tickles!", "I give up...", ":)", "B===D~~~"];
}
function frame7(){
stop();
introB.addEventListener(MouseEvent.CLICK, goIntro);
menuB.addEventListener(MouseEvent.CLICK, goMenu);
playAButton.addEventListener(MouseEvent.CLICK, playAFunction);
resetButton.addEventListener(MouseEvent.CLICK, resetC);
playBButton.addEventListener(MouseEvent.CLICK, playBFunction);
playCustom.addEventListener(MouseEvent.MOUSE_UP, customLevel);
editCustom.addEventListener(MouseEvent.MOUSE_UP, customLevelE);
}
public function wholeGame(_arg1:Event){
var _local2:Sound;
if ((((currentLabel == "game")) && (gameMap))){
if (gameState == "play"){
gameMap.playGame();
} else {
if (gameState == "edit"){
gameMap.playEditor();
} else {
if (gameState == "multi"){
gameMap.playGame();
} else {
if (gameState == "multiC"){
gameMap.playGame();
};
};
};
};
} else {
if (currentLabel == "credits"){
} else {
if (currentLabel == "intro"){
if (introStory){
introStory.introVocals.playSound();
};
} else {
if (currentLabel == "outro"){
if (outroStory){
outroStory.introVocals.playSound();
};
} else {
if (currentLabel == "introTransition"){
if (loadCount > loadCast){
gotoAndStop("menu");
loadCount = 0;
} else {
loadCount++;
};
} else {
if (currentLabel == "menu"){
if (((((((fVar) || (uVar))) || (cVar))) || (kVar))){
if (cheatCount > cheatCast){
fVar = false;
uVar = false;
cVar = false;
kVar = false;
cheatCount = 0;
} else {
cheatCount++;
};
};
if (((((((fVar) && (uVar))) && (cVar))) && (kVar))){
if (_sharedObj.data.currentLevel < 32){
_sharedObj.data.currentLevel = 32;
_sharedObj.flush();
_local2 = new layer_change1();
_local2.play();
};
};
if (menu){
if (board){
board.boardActions();
};
if (menuPage == "board"){
if (menu.y > -210){
menu.y = (menu.y - 7);
};
} else {
if (menuPage == "main"){
if (menu.y < 280){
menu.y = (menu.y + 7);
};
};
};
if (menu.blackTop.alpha >= 0){
menu.blackTop.alpha = (menu.blackTop.alpha - 0.03);
} else {
if (menu.blackTop.visible){
menu.blackTop.visible = false;
};
};
};
};
};
};
};
};
};
}
public function goMenu(_arg1:MouseEvent){
gotoAndStop("menu");
}
public function playSoundFX(_arg1:String):void{
var _local2:Class;
var _local3:Sound;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
if (musicTransform.volume > 0){
_local3.play();
};
}
function frame6(){
gotoAndStop("ngIntro");
}
function frame13(){
stop();
if (!musicPlaying){
musicPlaying = true;
if (gameState == "edit"){
music = editS.play(0, 10000);
} else {
if (currentLevel > 8){
music = gameS.play(0, 10000);
soundLoop = "main";
} else {
music = gameIntro.play(0, 10000);
};
};
music.soundTransform = musicTransform;
};
if (introStory){
removeChild(introStory);
introStory = null;
};
mapShift = false;
trace(gameState);
if (gameState == "multiC"){
trace("win");
if ((((_sharedObj.data.MultiCampainRaw.length > (_sharedObj.data.currentMultiLevel + 1))) && ((_sharedObj.data.currentMultiLevel == currentLevel)))){
trace("grab new");
_sharedObj.data.MultiCampainRaw[(currentLevel + 1)].loadContents();
_sharedObj.data.MultiCampainRaw[(currentLevel + 1)].addEventListener(NewgroundsAPIEvent.FILE_LOADED, preMultiLoad);
};
};
stage.focus = stage;
if (((myMap) || (!((myMap == null))))){
if (gameState == "multiC"){
gameMap = new map(this, myMap, myID, "TheBoob");
} else {
gameMap = new map(this, myMap, myID);
};
addChild(gameMap);
} else {
gotoAndStop("menu");
};
}
public function campainDone(_arg1:NewgroundsAPIEvent){
var _local2:Number;
trace(_arg1.data);
gameState = "multiC";
_local2 = 0;
while (_local2 < _arg1.data.length) {
trace(_arg1.data[_local2].id);
_sharedObj.data.MultiCampainID.push(_arg1.data[_local2].id);
_sharedObj.data.MultiCampainRaw.push(_arg1.data[_local2]);
_local2++;
};
trace(_sharedObj.data.MultiCampainID.length);
trace(_sharedObj.data.MultiCampainRaw.length);
getCampain();
}
function frame17(){
if (!board){
board = new leaderBoard(this);
addChild(board);
};
}
public function loadLevel(_arg1:Number){
var _local2:URLLoader;
var _local3:URLVariables;
var _local4:URLRequest;
_local2 = new URLLoader();
_local3 = new URLVariables();
_local4 = new URLRequest(((domain + "grabSingle.php?cachebuster=") + new Date().getTime()));
_local4.method = URLRequestMethod.POST;
_local3.levelID = _arg1;
_local4.data = _local3;
gotoAndStop("introTransition");
_local2.load(_local4);
_local2.addEventListener(Event.COMPLETE, parseLevel);
}
function frame12(){
if (gameMap){
removeChild(gameMap);
gameMap = null;
};
skipB.x = 1000;
if (!musicPlaying){
musicPlaying = true;
music = intro.play(0, 10000);
music.soundTransform = musicTransform;
};
if (endStory){
removeChild(endStory);
endStory = null;
};
if (endStory2){
removeChild(endStory2);
endStory2 = null;
};
if (outroStory){
removeChild(outroStory);
outroStory = null;
};
if (introVid){
removeChild(introVid);
introVid = null;
};
if (introStory){
removeChild(introStory);
introStory = null;
};
stop();
topAlpha = 1;
now = new Date();
curTime = now.getTime();
trace(curTime);
menu.blackTop.alpha = topAlpha;
if (gameState == "multi"){
menu.y = -210;
if (((!(timeHold)) || (((timeHold + 60000) < curTime)))){
timeHold = curTime;
trace(timeHold);
board = new leaderBoard(this);
board.x = -196;
board.y = 220;
};
menu.addChild(board);
menuPage = "Board";
} else {
menuPage = "main";
};
menu.playB.addEventListener(MouseEvent.CLICK, playFunction);
menu.playB.addEventListener(MouseEvent.ROLL_OVER, mouseHoverP);
menu.playB.addEventListener(MouseEvent.ROLL_OUT, mouseExit);
menu.editB.addEventListener(MouseEvent.CLICK, editorFunction);
menu.editB.addEventListener(MouseEvent.ROLL_OVER, mouseHoverE);
menu.editB.addEventListener(MouseEvent.ROLL_OUT, mouseExit);
menu.multiB.addEventListener(MouseEvent.CLICK, playMultiFunction);
menu.multiB.addEventListener(MouseEvent.ROLL_OVER, mouseHoverM);
menu.multiB.addEventListener(MouseEvent.ROLL_OUT, mouseExit);
menu.browseB.addEventListener(MouseEvent.CLICK, goBoard);
menu.browseB.addEventListener(MouseEvent.ROLL_OVER, mouseHoverB);
menu.browseB.addEventListener(MouseEvent.ROLL_OUT, mouseExit);
menu.eraseB.addEventListener(MouseEvent.CLICK, eraseAll);
menu.WGB.addEventListener(MouseEvent.CLICK, goWG);
menu.EMB.addEventListener(MouseEvent.CLICK, goEM);
menu.JKB.addEventListener(MouseEvent.CLICK, goJK);
menu.NGB.addEventListener(MouseEvent.CLICK, goPO3);
menu.NGImgB.buttonMode = true;
menu.NGImgB.addEventListener(MouseEvent.CLICK, goNG);
}
function frame15(){
stage.focus = stage;
if (gameMap){
removeChild(gameMap);
gameMap = null;
};
if (gameState != "edit"){
if ((((soundLoop == "main")) && ((currentLevel < 8)))){
stopMusic();
soundLoop = null;
} else {
if ((((soundLoop == null)) && ((currentLevel >= 8)))){
stopMusic();
soundLoop = "main";
};
};
};
if (gameState == "play"){
if (currentLevel < (campainLevelsA.length - 1)){
currentLevel++;
if (currentLevel == 9){
NewgroundsAPI.unlockMedalByName("Is something wrong?");
} else {
if (currentLevel == 22){
NewgroundsAPI.unlockMedalByName("You are your only companion in life.");
} else {
if (currentLevel == 28){
NewgroundsAPI.unlockMedalByName("Everyone will leave you");
};
};
};
if (currentLevel > _sharedObj.data.currentLevel){
_sharedObj.data.currentLevel = currentLevel;
_sharedObj.flush();
};
myMap = ToString.breakString(this[("campainLevels" + _sharedObj.data.levelLayout[currentLevel])][currentLevel]);
gotoAndStop("game");
} else {
gotoAndStop("menu");
};
} else {
if (gameState == "multiC"){
trace("setting next");
if (currentLevel < (_sharedObj.data.MultiCampainID.length - 1)){
currentLevel++;
if (currentLevel > _sharedObj.data.currentMultiLevel){
_sharedObj.data.currentMultiLevel = currentLevel;
_sharedObj.flush();
};
trace("--");
myMap = ToString.breakString(_sharedObj.data.MultiCampain[currentLevel]);
myID = _sharedObj.data.MultiCampainID[currentLevel];
gotoAndStop("game");
} else {
NewgroundsAPI.unlockMedalByName("Lost in forever");
gotoAndStop("menu");
};
};
};
}
function frame20(){
stop();
if (gameMap){
removeChild(gameMap);
gameMap = null;
};
endText = 1;
endStory2 = new Story_End2();
endStory2.x = 341;
endStory2.y = 215;
endStory2.scaleX = 1.12;
endStory2.scaleY = endStory2.scaleX;
endStory2.myParent = this;
addChild(endStory2);
NewgroundsAPI.unlockMedalByName("You've learned nothing");
skipB.x = 680;
skipB.addEventListener(MouseEvent.CLICK, skipEnd2);
setChildIndex(skipB, (this.numChildren - 1));
}
function frame21(){
stop();
if (endStory){
removeChild(endStory);
endStory = null;
};
if (endStory2){
removeChild(endStory2);
endStory2 = null;
};
outroStory = new Story_Outro();
outroStory.x = 348;
outroStory.y = 224;
outroStory.myParent = this;
addChild(outroStory);
skipB.x = 680;
skipB.addEventListener(MouseEvent.CLICK, skipOut);
setChildIndex(skipB, (this.numChildren - 1));
}
public function playAFunction(_arg1:MouseEvent){
var _local2:*;
gameState = "play";
if (_sharedObj.data.currentLevel > 0){
currentLevel = _sharedObj.data.currentLevel;
} else {
_sharedObj.data.currentLevel = 0;
currentLevel = 0;
};
_sharedObj.data.levelLayout = new Array();
_local2 = 1;
while (_local2 <= 33) {
_sharedObj.data.levelLayout.push("A");
_local2++;
};
myMap = ToString.breakString(this[("campainLevels" + _sharedObj.data.levelLayout[_sharedObj.data.currentLevel])][_sharedObj.data.currentLevel]);
gotoAndStop("game");
}
function frame14(){
gotoAndStop("menu");
}
function frame19(){
stop();
if (gameMap){
removeChild(gameMap);
gameMap = null;
};
endText = 2;
endStory = new Story_End();
endStory.x = 341;
endStory.y = 215;
endStory.scaleX = 1.12;
endStory.scaleY = endStory.scaleX;
endStory.myParent = this;
addChild(endStory);
NewgroundsAPI.unlockMedalByName("The Assent");
skipB.x = 680;
skipB.addEventListener(MouseEvent.CLICK, skipEnd);
setChildIndex(skipB, (this.numChildren - 1));
}
public function mousePress(_arg1:MouseEvent){
mouseDown = true;
}
public function parseLevel(_arg1:Event){
var _local2:XML;
_local2 = new XML(_arg1.target.data);
if (_local2.level.levelCode.text() != "error"){
gameState = "multi";
trace(LZW.decompress(_local2.level.levelCode.text()));
trace("--");
myMap = ToString.breakString(LZW.decompress(_local2.level.levelCode.text()));
myID = _local2.level.levelID.text();
winFrame = "menu";
stopMusic();
gotoAndStop("game");
};
}
public function customLevel(_arg1:MouseEvent){
if (levelNum.text != ""){
loadLevel(Number(levelNum.text));
};
}
function frame4(){
mouseDown = false;
fVar = false;
uVar = false;
cVar = false;
kVar = false;
cheatCount = 0;
cheatCast = 30;
leftMove = false;
rightMove = false;
upMove = false;
upLook = false;
pickUp = false;
upReset = true;
downMove = false;
mapShift = false;
mapShiftReset = true;
gamePause = false;
shifted = false;
spinL = false;
spinR = false;
grav = true;
flip = false;
shiftHold = false;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyPressedUp);
music = new SoundChannel();
musicTransform = new SoundTransform();
musicTransform.volume = 1;
musicPlaying = false;
muteCount = 0;
fxTransform = new SoundTransform();
fxTransform.volume = 1;
intro = new intro_menu();
gameS = new game_music();
gameIntro = new introLoop();
editS = new editLoop();
menuPage = "main";
stage.addEventListener(MouseEvent.MOUSE_DOWN, mousePress);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseRelease);
domain = "http://s235504714.onlinehome.us/timefuck/";
myMap = new Array();
myID = 0;
_sharedObj = SharedObject.getLocal("TimeFuck");
if (!_sharedObj.data.currentLevel){
_sharedObj.data.currentLevel = 0;
_sharedObj.flush();
};
if (!_sharedObj.data.levelLayout){
_sharedObj.data.levelLayout = new Array();
_sharedObj.flush();
};
if (!_sharedObj.data.editIntro){
_sharedObj.data.editIntro = false;
_sharedObj.flush();
};
if (!_sharedObj.data.skipInfo){
_sharedObj.data.skipInfo = new Array();
_sharedObj.flush();
};
if (!_sharedObj.data.voteArray){
_sharedObj.data.voteArray = new Array();
_sharedObj.flush();
};
loadCount = 0;
loadCast = (30 * 20);
stage.addEventListener(Event.ENTER_FRAME, wholeGame);
}
public function goNG(_arg1:MouseEvent){
NewgroundsAPI.loadNewgrounds();
}
public function goIntro(_arg1:MouseEvent){
gotoAndStop("credits");
}
public function isLoading(_arg1:Event){
var _local2:Sound;
if (stage.loaderInfo.bytesLoaded >= stage.loaderInfo.bytesTotal){
removeEventListener(Event.ENTER_FRAME, isLoading);
preBG.gotoAndStop(2);
introFXC.stop();
_local2 = new talkie2();
_local2.play();
preBG.playB.addEventListener(MouseEvent.CLICK, prePlayFun);
preBG.bg1.play();
preBG.bg2.play();
} else {
preCast = (20 - ((stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal) * 20));
trace(preCast);
if (preCount > preCast){
preCount = 1;
if (preBG.bg1.currentFrame == preBG.bg1.totalFrames){
preBG.bg1.gotoAndStop(1);
preBG.bg2.gotoAndStop(1);
} else {
preBG.bg1.nextFrame();
preBG.bg2.nextFrame();
};
} else {
preCount++;
};
};
}
public function keyPressedUp(_arg1:KeyboardEvent){
if (_arg1.keyCode == 37){
leftMove = false;
} else {
if (_arg1.keyCode == 39){
rightMove = false;
} else {
if ((((_arg1.keyCode == 32)) || ((_arg1.keyCode == 68)))){
upMove = false;
upReset = true;
} else {
if (_arg1.keyCode == 38){
upLook = false;
} else {
if (_arg1.keyCode == 83){
pickUp = false;
} else {
if (_arg1.keyCode == 16){
shiftHold = false;
} else {
if (_arg1.keyCode == 90){
spinL = true;
} else {
if (_arg1.keyCode == 88){
spinR = true;
} else {
if (_arg1.keyCode == 86){
flip = true;
} else {
if (_arg1.keyCode == 65){
mapShiftReset = true;
} else {
if (_arg1.keyCode == 82){
if (((gameMap) && (gameMap.theChar))){
gameMap.theChar.startSuicide();
};
} else {
if (_arg1.keyCode == 27){
if (((gameMap) && (!((gameState == "edit"))))){
gameMap.EWindow.togglePos();
};
} else {
if (_arg1.keyCode == 80){
if (((gameMap) && (!((gameState == "edit"))))){
gameMap.PWindow.togglePos();
};
};
};
};
};
};
};
};
};
};
};
};
};
};
}
public function goMain(){
menuPage = "main";
}
function frame11(){
if (!musicPlaying){
musicPlaying = true;
music = intro.play(0, 10000);
music.soundTransform = musicTransform;
};
if (NGIntro){
removeChild(NGIntro);
NGIntro = null;
};
introVid = new introScroll();
introVid.x = 916;
introVid.y = 69;
introVid.myParent = this;
addChild(introVid);
stop();
skipB.x = 680;
skipB.addEventListener(MouseEvent.CLICK, skipCred);
setChildIndex(skipB, (this.numChildren - 1));
}
public function resetC(_arg1:MouseEvent){
_sharedObj.data.currentLevel = 0;
_sharedObj.data.levelLayout = new Array();
}
public function loadSingle(_arg1:String, _arg2:Number):void{
myMap = ToString.breakString(_arg1);
myID = _arg2;
winFrame = "menu";
stopMusic();
gotoAndStop("game");
}
function frame1(){
stage.showDefaultContextMenu = false;
API_Settings = {movie_id:9033, enc_key:"YDfeksIRu4h2PcgTpUeVm8biY3stSHik", movie_version:"1"};
newgroundsAPIconnector.initialize(API_Settings);
introFXC = new SoundChannel();
introFX = new introField();
introFXC = introFX.play(0, 100000);
stop();
preCount = 0;
preCast = 100;
preBG.bg1.stop();
preBG.bg2.stop();
preBG.theHead.myParent = this;
preBG.ngIntro.addEventListener(MouseEvent.CLICK, goNG);
addEventListener(Event.ENTER_FRAME, isLoading);
}
public function skipEnd2(_arg1:MouseEvent){
removeEventListener(MouseEvent.CLICK, skipEnd2);
if (endStory2){
endStory2.stop();
};
skipB.x = 1000;
stopMusic();
gotoAndStop("menu");
}
public function goBoard(_arg1:MouseEvent){
if (!board){
board = new leaderBoard(this);
board.x = -196;
board.y = 220;
};
menu.addChild(board);
menuPage = "board";
playSoundFX("click");
}
public function getCampain(){
var _local1:NewgroundsAPISaveGroupQuery;
trace(_sharedObj.data.MultiCampainID.length);
if (_sharedObj.data.MultiCampainID.length < 33){
_local1 = NewgroundsAPI.createSaveQuery("Levels");
_local1.resultsPerPage = 11;
_local1.includeRating("Difficulty");
_local1.includeRating("Overall Fun");
_local1.isRandomized = true;
_local1.sortOnRating("Difficulty", false);
_local1.addRatingCondition("Overall Fun", ">", 4.8);
trace("000000");
if (_sharedObj.data.MultiCampainID.length < 11){
trace("first");
_local1.addRatingCondition("Difficulty", "<=", 6);
_local1.addRatingCondition("Difficulty", ">", 4);
} else {
if (_sharedObj.data.MultiCampainID.length < 22){
trace("second");
_local1.addRatingCondition("Difficulty", "<=", 8);
_local1.addRatingCondition("Difficulty", ">", 6);
} else {
if (_sharedObj.data.MultiCampainID.length < 33){
trace("third");
_local1.addRatingCondition("Difficulty", "<=", 10);
_local1.addRatingCondition("Difficulty", ">", 8);
};
};
};
_local1.execute();
_local1.addEventListener(NewgroundsAPIEvent.QUERY_COMPLETE, campainDone);
} else {
_sharedObj.data.MultiCampainRaw[currentLevel].loadContents();
_sharedObj.data.MultiCampainRaw[currentLevel].addEventListener(NewgroundsAPIEvent.FILE_LOADED, firstLoad);
trace("-----");
trace(_sharedObj.data.MultiCampainRaw);
trace("-----");
};
}
public function parseCampain(_arg1:Event){
}
function frame2(){
play();
}
public function skipEnd(_arg1:MouseEvent){
removeEventListener(MouseEvent.CLICK, skipEnd);
if (endStory){
endStory.stop();
};
skipB.x = 1000;
stopMusic();
gotoAndStop("menu");
}
public function eraseAll(_arg1:MouseEvent){
var _local2:Sound;
_sharedObj.data.currentLevel = 0;
_sharedObj.data.levelLayout = new Array();
_sharedObj.data.skipInfo = new Array();
_sharedObj.flush();
_local2 = new layer_change1();
_local2.play();
}
public function playFunction(_arg1:MouseEvent){
var _local2:*;
gameState = "play";
if (_sharedObj.data.currentLevel > 0){
currentLevel = _sharedObj.data.currentLevel;
} else {
_sharedObj.data.currentLevel = 0;
_sharedObj.data.skipInfo = new Array();
_sharedObj.flush();
currentLevel = 0;
};
if (_sharedObj.data.levelLayout.length > 0){
} else {
_sharedObj.data.levelLayout = new Array();
_local2 = 1;
while (_local2 <= 33) {
if (Math.random() > 0.5){
_sharedObj.data.levelLayout.push("A");
} else {
_sharedObj.data.levelLayout.push("B");
};
_local2++;
};
_sharedObj.flush();
};
myMap = ToString.breakString(this[("campainLevels" + _sharedObj.data.levelLayout[currentLevel])][_sharedObj.data.currentLevel]);
winFrame = "menu";
if (currentLevel == 0){
gotoAndStop("intro");
} else {
gotoAndStop("game");
};
playSoundFX("click");
stopMusic();
}
public function stopMusic(){
musicPlaying = false;
music.stop();
}
public function skipOut(_arg1:MouseEvent){
removeEventListener(MouseEvent.CLICK, skipOut);
if (outroStory){
outroStory.stop();
};
skipB.x = 1000;
stopMusic();
gotoAndStop("menu");
}
public function playMultiFunction(_arg1:MouseEvent){
playSoundFX("click");
stopMusic();
gameState = "multiC";
_sharedObj.data.MultiCampain = new Array();
_sharedObj.data.MultiCampainID = new Array();
_sharedObj.data.MultiCampainRaw = new Array();
_sharedObj.data.currentMultiLevel = 0;
currentLevel = 0;
getCampain();
loadCount = 0;
gotoAndStop("introTransition");
}
public function addLevel(_arg1:Number):void{
}
public function mouseExit(_arg1:MouseEvent){
menuTgoto(1);
}
public function skipCred(_arg1:MouseEvent){
removeEventListener(MouseEvent.CLICK, skipCred);
introVid.stop();
skipB.x = 1000;
gotoAndStop("menu");
}
public function goURL(_arg1:String):void{
navigateToURL(new URLRequest(_arg1), "_self");
}
public function prePlayFun(_arg1:MouseEvent){
trace("hit");
preBG.theHead.play();
preBG.theHead.playHit = true;
}
public function goEM(_arg1:MouseEvent){
NewgroundsAPI.loadCustomLink("Edmunds Site");
}
public function mouseHoverP(_arg1:MouseEvent){
playSoundFX("mouseover");
menuTgoto(2);
}
public function playBFunction(_arg1:MouseEvent){
var _local2:*;
gameState = "play";
if (_sharedObj.data.currentLevel > 0){
currentLevel = _sharedObj.data.currentLevel;
} else {
_sharedObj.data.currentLevel = 0;
currentLevel = 0;
};
_sharedObj.data.levelLayout = new Array();
_local2 = 1;
while (_local2 <= 33) {
_sharedObj.data.levelLayout.push("B");
_local2++;
};
myMap = ToString.breakString(this[("campainLevels" + _sharedObj.data.levelLayout[_sharedObj.data.currentLevel])][_sharedObj.data.currentLevel]);
gotoAndStop("game");
}
public function mouseRelease(_arg1:MouseEvent){
mouseDown = false;
}
public function mouseHoverB(_arg1:MouseEvent){
playSoundFX("mouseover");
menuTgoto(4);
}
public function mouseHoverE(_arg1:MouseEvent){
playSoundFX("mouseover");
menuTgoto(3);
}
public function firstLoad(_arg1:NewgroundsAPIEvent){
trace(_arg1.data);
_sharedObj.data.MultiCampainRaw[currentLevel].removeEventListener(NewgroundsAPIEvent.FILE_LOADED, firstLoad);
_sharedObj.data.MultiCampain.push(_arg1.data);
loadSingle(_arg1.data, _sharedObj.data.MultiCampainID[currentLevel]);
}
public function mouseHoverM(_arg1:MouseEvent){
playSoundFX("mouseover");
menuTgoto(5);
}
public function parseLevelE(_arg1:Event){
var _local2:XML;
_local2 = new XML(_arg1.target.data);
if (_local2.level.levelCode.text() != "error"){
gameState = "edit";
myMap = ToString.breakString(LZW.decompress(_local2.level.levelCode.text()));
myID = _local2.level.levelID.text();
trace(myMap);
winFrame = "menu";
gotoAndStop("game");
};
}
public function menuTgoto(_arg1:Number):void{
if (currentLabel == "menu"){
menu.menuT.gotoAndStop(_arg1);
};
}
public function goWG(_arg1:MouseEvent){
NewgroundsAPI.loadCustomLink("Wills Site");
}
public function setMulti(){
gameState = "multi";
}
}
}//package game_fla
Section 73
//mapDot_144 (game_fla.mapDot_144)
package game_fla {
import flash.display.*;
public dynamic class mapDot_144 extends MovieClip {
public function mapDot_144(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 74
//NewgroundsAPI_Ad_Unit_6 (game_fla.NewgroundsAPI_Ad_Unit_6)
package game_fla {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class NewgroundsAPI_Ad_Unit_6 extends MovieClip {
public var background:MovieClip;
public var myParent:MovieClip;
public var adHolder;
public function NewgroundsAPI_Ad_Unit_6(){
addFrameScript(0, frame1);
}
public function testt(_arg1:NewgroundsAPIEvent){
if (myParent.currentFrame == 1){
myParent.play();
};
}
function frame1(){
NewgroundsAPI.addEventListener(NewgroundsAPIEvent.ADS_APPROVED, onAdsApproved);
background.visible = false;
}
public function onAdsApproved(_arg1:NewgroundsAPIEvent):void{
adHolder = NewgroundsAPI.createAd();
adHolder.addEventListener(NewgroundsAPIEvent.AD_ATTACHED, testt);
this.addChild(adHolder);
}
}
}//package game_fla
Section 75
//portalend1_59 (game_fla.portalend1_59)
package game_fla {
import flash.display.*;
public dynamic class portalend1_59 extends MovieClip {
public function portalend1_59(){
addFrameScript(24, frame25);
}
function frame25(){
stop();
}
}
}//package game_fla
Section 76
//portalend2_183 (game_fla.portalend2_183)
package game_fla {
import flash.display.*;
public dynamic class portalend2_183 extends MovieClip {
public function portalend2_183(){
addFrameScript(25, frame26);
}
function frame26(){
stop();
}
}
}//package game_fla
Section 77
//portalend3_182 (game_fla.portalend3_182)
package game_fla {
import flash.display.*;
public dynamic class portalend3_182 extends MovieClip {
public function portalend3_182(){
addFrameScript(18, frame19);
}
function frame19(){
stop();
}
}
}//package game_fla
Section 78
//preHolder_18 (game_fla.preHolder_18)
package game_fla {
import flash.display.*;
public dynamic class preHolder_18 extends MovieClip {
public function preHolder_18(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 79
//scoreButton_219 (game_fla.scoreButton_219)
package game_fla {
import flash.display.*;
public dynamic class scoreButton_219 extends MovieClip {
public function scoreButton_219(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 80
//scoreFaces_104 (game_fla.scoreFaces_104)
package game_fla {
import flash.display.*;
public dynamic class scoreFaces_104 extends MovieClip {
public function scoreFaces_104(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 81
//sleep_187 (game_fla.sleep_187)
package game_fla {
import flash.display.*;
public dynamic class sleep_187 extends MovieClip {
public function sleep_187(){
addFrameScript(63, frame64);
}
function frame64(){
stop();
}
}
}//package game_fla
Section 82
//textshit_142 (game_fla.textshit_142)
package game_fla {
import flash.display.*;
public dynamic class textshit_142 extends MovieClip {
public function textshit_142(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 83
//tileButton_221 (game_fla.tileButton_221)
package game_fla {
import flash.display.*;
public dynamic class tileButton_221 extends MovieClip {
public var green:MovieClip;
public var door:MovieClip;
public var doorKey:MovieClip;
public function tileButton_221(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 84
//titlescreen_257 (game_fla.titlescreen_257)
package game_fla {
import flash.display.*;
public dynamic class titlescreen_257 extends MovieClip {
public var multiB:SimpleButton;
public var JKB:SimpleButton;
public var NGImgB:MovieClip;
public var eraseB:SimpleButton;
public var editB:SimpleButton;
public var WGB:SimpleButton;
public var playB:SimpleButton;
public var EMB:SimpleButton;
public var NGB:SimpleButton;
public var menuT:MovieClip;
public var blackTop:MovieClip;
public var browseB:SimpleButton;
}
}//package game_fla
Section 85
//titletext_54 (game_fla.titletext_54)
package game_fla {
import flash.display.*;
public dynamic class titletext_54 extends MovieClip {
public function titletext_54(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package game_fla
Section 86
//a (a)
package {
import flash.media.*;
public dynamic class a extends Sound {
}
}//package
Section 87
//a2 (a2)
package {
import flash.media.*;
public dynamic class a2 extends Sound {
}
}//package
Section 88
//b (b)
package {
import flash.media.*;
public dynamic class b extends Sound {
}
}//package
Section 89
//b2 (b2)
package {
import flash.media.*;
public dynamic class b2 extends Sound {
}
}//package
Section 90
//background (background)
package {
import flash.display.*;
public dynamic class background extends MovieClip {
}
}//package
Section 91
//block_blink2 (block_blink2)
package {
import flash.media.*;
public dynamic class block_blink2 extends Sound {
}
}//package
Section 92
//blockbreak1 (blockbreak1)
package {
import flash.media.*;
public dynamic class blockbreak1 extends Sound {
}
}//package
Section 93
//blockbreak2 (blockbreak2)
package {
import flash.media.*;
public dynamic class blockbreak2 extends Sound {
}
}//package
Section 94
//blockbreak3 (blockbreak3)
package {
import flash.media.*;
public dynamic class blockbreak3 extends Sound {
}
}//package
Section 95
//blockLand1 (blockLand1)
package {
import flash.media.*;
public dynamic class blockLand1 extends Sound {
}
}//package
Section 96
//blockLand2 (blockLand2)
package {
import flash.media.*;
public dynamic class blockLand2 extends Sound {
}
}//package
Section 97
//blockLandPoof (blockLandPoof)
package {
import flash.display.*;
import fl.motion.*;
public class blockLandPoof extends MovieClip {
var colorTint:Number;
var alphaTint:Number;// = 0.5
var tileWidth;// = 30
public function blockLandPoof(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
tileWidth = 30;
alphaTint = 0.5;
super();
addFrameScript(21, frame22);
x = _arg1;
y = _arg2;
alpha = 0.5;
_local4 = 0;
_local5 = 0;
colorTint = _arg3;
tint();
}
function frame22(){
stop();
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
}
}//package
Section 98
//blockLift1 (blockLift1)
package {
import flash.media.*;
public dynamic class blockLift1 extends Sound {
}
}//package
Section 99
//blockLift2 (blockLift2)
package {
import flash.media.*;
public dynamic class blockLift2 extends Sound {
}
}//package
Section 100
//breakPoof (breakPoof)
package {
import flash.display.*;
import fl.motion.*;
public class breakPoof extends MovieClip {
var colorTint:Number;
var alphaTint:Number;// = 0.5
var tileWidth;// = 30
public function breakPoof(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
tileWidth = 30;
alphaTint = 0.5;
super();
addFrameScript(28, frame29);
x = ((_arg1 * tileWidth) + (tileWidth / 2));
y = ((_arg2 * tileWidth) + (tileWidth / 2));
alpha = 0.5;
rotation = (Math.random() * 360);
scaleX = (scaleY = 0.7);
_local4 = 0;
_local5 = 0;
colorTint = _arg3;
tint();
}
function frame29(){
stop();
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
}
}//package
Section 101
//c (c)
package {
import flash.media.*;
public dynamic class c extends Sound {
}
}//package
Section 102
//c2 (c2)
package {
import flash.media.*;
public dynamic class c2 extends Sound {
}
}//package
Section 103
//char (char)
package {
import flash.display.*;
import flash.geom.*;
public class char extends MovieClip {
var charWidth:Number;// = 10
var myStart:Array;
var charHeight:Number;// = 25
var pushCount:Number;// = 0
var fastDes:Number;// = 0.6
var stepCast:Number;// = 8
var suicide:Boolean;
var BL:Boolean;
var BR:Boolean;
var slowDes:Number;// = 0.8
var speed:Number;// = 4
var key:Boolean;// = false
var teleSet:Number;// = 23
var SpeedDes:Number;
var xTileLeft:Number;
var xTileRight:Number;
var TR:Boolean;
var TL:Boolean;
var sleepCount:Number;// = 0
var finalRot:Number;
var winCount:Number;// = 0
public var charHolder:MovieClip;
var charStart:Boolean;// = true
var arrayTile:Number;
var xSpeed:Number;// = 0
var isDead:Boolean;// = false
var isFlip:Boolean;// = false
var slowPush:Boolean;// = false
var sleepCast:Number;// = 65
var startCast:Number;// = 20
var slowSpeed:Number;// = 2
var yTile:Number;
var stepCastSlow:Number;// = 13
var jumpSpeed:Number;// = -11.8
var suicideBam:Number;// = 120
var pushDustMake:Number;// = 6
var winAnimation:Boolean;// = false
var yTileTop:Number;
public var deadCount:Number;// = 0
var pushDir:String;// = "lift"
var jumping:Boolean;// = false
var winCast:Number;// = 35
var xTile:Number;
var ySpeed:Number;// = 0
var kill:Boolean;// = false
var pushStart:Number;// = 20
var telePage:Number;
var tileHeight:Number;// = 30
var myParent:MovieClip;
var suicideCount:Number;// = 0
var pushDustCount:Number;// = 0
var teleCount:Number;// = 0
var fallSpeed:Number;// = 1
var checkWidth:Number;// = 28
var finalX:Number;
var tele:Boolean;// = false
var finalY:Number;
var stepCount:Number;// = 0
var deadCast:Number;// = 50
var startCount:Number;// = 0
var tileWidth:Number;// = 30
var yTileBottom:Number;
var win:Boolean;// = false
var slowTar:Number;
var slowJumpSpeed:Number;// = -8.5
var sleepStart:Boolean;// = false
var teleX:Number;
var teleY:Number;
var landCount:Number;// = 6
var isTele:Boolean;// = false
var stepCastSlowLift:Number;// = 10
public function char(_arg1:MovieClip, _arg2:Array){
suicideCount = 0;
suicideBam = 120;
xSpeed = 0;
ySpeed = 0;
fallSpeed = 1;
speed = 4;
slowSpeed = 2;
fastDes = 0.6;
slowDes = 0.8;
slowPush = false;
SpeedDes = fastDes;
charWidth = 10;
charHeight = 25;
tileWidth = 30;
checkWidth = 28;
tileHeight = 30;
winAnimation = false;
win = false;
kill = false;
key = false;
tele = false;
teleCount = 0;
teleSet = 23;
isTele = false;
isFlip = false;
jumping = false;
jumpSpeed = -11.8;
slowJumpSpeed = -8.5;
landCount = 6;
pushCount = 0;
pushStart = 20;
pushDir = "lift";
pushDustCount = 0;
pushDustMake = 6;
winCount = 0;
winCast = 35;
isDead = false;
deadCount = 0;
deadCast = 50;
charStart = true;
startCount = 0;
startCast = 20;
sleepStart = false;
sleepCount = 0;
sleepCast = 65;
stepCount = 0;
stepCast = 8;
stepCastSlow = 13;
stepCastSlowLift = 10;
super();
addFrameScript(0, frame1);
myParent = _arg1;
myStart = _arg2;
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
startChar();
}
function restart(){
myParent.resetMap();
}
function getTele(_arg1, _arg2){
tele = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleport;
teleX = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleX;
teleY = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleY;
telePage = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].telePage;
if (tele){
if (((!(teleX)) || (!(teleY)))){
teleX = 0;
teleY = 0;
telePage = 0;
isDead = true;
};
};
}
function portalPop(){
var _local1:pop;
_local1 = new pop(x, y, myParent.colorArray[(myParent.offsetCount * 3)]);
myParent.poofMC.addChild(_local1);
}
function checkDeath():Boolean{
var _local1:Number;
if (myParent.grav){
_local1 = 1;
} else {
_local1 = -1;
};
getMyCorners(x, (y - _local1));
if (((((((!(TR)) && (!(TL)))) && (!(BL)))) && (!(BR)))){
return (true);
};
return (false);
}
function getMyDeathCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (charWidth / 4)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (charWidth / 4)) / tileWidth));
yTileTop = Math.floor((((_arg2 - (charHeight / 2)) + 1) / tileHeight));
yTileBottom = Math.floor((((_arg2 + (charHeight / 2)) + 1) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].killer;
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].killer;
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].killer;
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].killer;
}
function frame1(){
stop();
}
function getMyCenter(_arg1, _arg2){
win = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].win;
}
function getMyCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (charWidth / 2)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (charWidth / 2)) / tileWidth));
yTileTop = Math.floor(((_arg2 - (charHeight / 2)) / tileHeight));
yTileBottom = Math.floor(((_arg2 + (charHeight / 2)) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].isWalkable();
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].isWalkable();
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].isWalkable();
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].isWalkable();
}
function spawnDust(){
var _local1:charLandPoof;
var _local2:Number;
_local1 = new charLandPoof(x, y, myParent.colorArray[(myParent.offsetCount * 3)]);
_local1.scaleY = scaleY;
_local1.scaleX = scaleX;
myParent.poofMC.addChild(_local1);
_local2 = Math.ceil((Math.random() * 3));
myParent.playSoundFX(("playerLand" + _local2));
}
public function moveChar():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Boolean;
var _local7:*;
var _local8:*;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Boolean;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
if (charStart){
if (myParent.tileArray[((myParent.mapWidth * (yTile + 1)) + xTile)].isWalkable()){
if (charHolder.currentFrame != 21){
charHolder.gotoAndStop(21);
};
} else {
if (charHolder.currentFrame != 20){
charHolder.gotoAndStop(20);
};
};
if (startCount < startCast){
startCount++;
} else {
charStart = false;
};
} else {
if (sleepStart){
if (charHolder.currentFrame != 23){
charHolder.gotoAndStop(23);
};
if (sleepCount < sleepCast){
sleepCount++;
} else {
if (myParent.myParent.gameState == "play"){
myParent.myParent._sharedObj.data.skipInfo.push(myParent.myParent.currentLevel);
} else {
myParent.myParent._sharedObj.data.skipInfoMulti.push(myParent.myParent.currentLevel);
};
myParent.mapBeat = true;
myParent.startTrans();
};
} else {
if (suicide){
if (charHolder.currentFrame != 15){
charHolder.gotoAndStop(15);
};
if (suicideCount > suicideBam){
suicide = false;
suicideCount = 0;
if ((((myParent.myParent.currentLevel >= 32)) && ((myParent.myParent.gameState == "play")))){
myParent.stopStaticFX();
myParent.myParent.gotoAndStop("intro");
} else {
myParent.resetMap();
};
} else {
suicideCount++;
};
} else {
if (isDead){
if (deadCount == 0){
myParent.playSoundFX("deathSound");
};
if (charHolder.currentFrame != 19){
charHolder.gotoAndStop(19);
};
if (deadCount < deadCast){
deadCount++;
} else {
deadCount = 0;
isDead = false;
myParent.resetMap();
};
} else {
if (winAnimation){
x = ((finalX * tileWidth) + (tileWidth / 2));
y = ((finalY * tileWidth) + (tileWidth / 2));
if (myParent.grav){
rotation = finalRot;
} else {
rotation = (finalRot - 180);
};
xSpeed = 0;
ySpeed = 0;
if (charHolder.currentFrame < 16){
_local1 = Math.random();
if (_local1 < 0.33){
charHolder.gotoAndStop(16);
} else {
if (_local1 < 0.66){
charHolder.gotoAndStop(17);
} else {
charHolder.gotoAndStop(18);
};
};
};
if (winCount < winCast){
winCount++;
} else {
if (myParent.myParent.gameState == "edit"){
myParent.mapBeat = true;
myParent.endScreen = "submit";
myParent.resetMap();
charHolder.gotoAndStop(1);
winAnimation = false;
} else {
if (myParent.myParent.gameState == "play"){
if (myParent.myParent.currentLevel >= 32){
myParent.resetMap();
} else {
myParent.mapBeat = true;
myParent.startTrans();
_local8 = 0;
while (_local8 < myParent.myParent._sharedObj.data.skipInfo.length) {
if (myParent.myParent._sharedObj.data.skipInfo[_local8] == myParent.myParent.currentLevel){
myParent.myParent._sharedObj.data.skipInfo.splice(_local8, 1);
};
_local8++;
};
};
} else {
if (myParent.myParent.gameState == "multi"){
myParent.mapBeat = true;
myParent.endScreen = "submit";
} else {
if (myParent.myParent.gameState == "multiC"){
myParent.mapBeat = true;
myParent.endScreen = "submit";
};
};
};
};
};
} else {
getMyCenter(x, y);
if (((win) && ((myParent.totalKey <= 0)))){
if ((((((myParent.myParent.currentLevel >= 32)) && ((y < 150)))) && ((myParent.myParent.gameState == "play")))){
myParent.stopStaticFX();
myParent.myParent.gotoAndStop("endVid");
} else {
myParent.playSoundFX("levelEnd");
winAnimation = true;
finalX = xTile;
finalY = yTile;
finalRot = myParent.tileArray[((myParent.mapWidth * finalY) + finalX)].rotation;
};
};
getFlip();
getTele(x, y);
if (!tele){
isTele = false;
} else {
if (slowPush){
myParent.sliderHolder[slowTar].teleCount = isTele;
myParent.sliderHolder[slowTar].teleCount = 0;
};
};
if (((tele) && (!(isTele)))){
x = ((teleX * tileWidth) + (tileWidth / 2));
y = ((teleY * tileHeight) + (tileHeight / 2));
_local2 = Math.ceil((Math.random() * 2));
myParent.playSoundFX(("warp" + _local2));
if (slowPush){
myParent.sliderHolder[slowTar].currentLayer = telePage;
myParent.sliderHolder[slowTar].moveSlider();
myParent.sliderHolder[slowTar].moveSlider();
};
isTele = true;
portalPop();
myParent.removeMap();
myParent.offsetInc(telePage);
myParent.buildMap(telePage);
myParent.setActive();
};
getKey(x, y);
if (slowPush){
landCount = 10;
if (pushDir == "lift"){
if ((((((ySpeed > fallSpeed)) && (myParent.grav))) || ((((ySpeed < -(fallSpeed))) && (!(myParent.grav)))))){
landCount = 0;
if (charHolder.currentFrame != 12){
charHolder.gotoAndStop(12);
};
} else {
if (jumping){
if (charHolder.currentFrame != 11){
charHolder.gotoAndStop(11);
};
} else {
if ((((xSpeed > 1)) || ((xSpeed < -1)))){
if (charHolder.currentFrame != 10){
charHolder.gotoAndStop(10);
};
} else {
if (charHolder.currentFrame != 9){
charHolder.gotoAndStop(9);
};
};
};
};
} else {
if (charHolder.currentFrame != 13){
charHolder.gotoAndStop(13);
};
};
} else {
if ((((((ySpeed > fallSpeed)) && (myParent.grav))) || ((((ySpeed < -(fallSpeed))) && (!(myParent.grav)))))){
landCount = 0;
if (charHolder.currentFrame != 4){
charHolder.gotoAndStop(4);
};
} else {
if (jumping){
if (charHolder.currentFrame != 3){
charHolder.gotoAndStop(3);
};
} else {
if (((!(BR)) || (!(BL)))){
if (charHolder.currentFrame != 5){
landCount = 10;
charHolder.gotoAndStop(5);
};
} else {
if ((((xSpeed > 1)) || ((xSpeed < -1)))){
if (((!(jumping)) && ((landCount <= 9)))){
landCount++;
if (charHolder.currentFrame != 7){
charHolder.gotoAndStop(7);
landCount = 0;
};
} else {
if (charHolder.currentFrame != 2){
landCount = 10;
charHolder.gotoAndStop(2);
};
};
} else {
if (myParent.myParent.upLook){
if (charHolder.currentFrame != 8){
landCount = 10;
charHolder.gotoAndStop(8);
};
} else {
if (((!(jumping)) && ((landCount <= 6)))){
landCount++;
if (landCount > 6){
landCount = 10;
};
if (charHolder.currentFrame != 6){
charHolder.gotoAndStop(6);
landCount = 0;
};
} else {
if (charHolder.currentFrame != 1){
landCount = 10;
charHolder.gotoAndStop(1);
};
};
};
};
};
};
};
};
if (myParent.myParent.rightMove){
scaleX = 1;
} else {
if (myParent.myParent.leftMove){
scaleX = -1;
};
};
if (myParent.grav){
_local3 = 1;
} else {
_local3 = -1;
};
getMyCorners(x, (y - _local3));
if (((((((!(TR)) && (!(TL)))) && (!(BL)))) && (!(BR)))){
isDead = true;
} else {
if (((!(BL)) && (!(BR)))){
ySpeed = 0;
y = (((yTileBottom * tileHeight) - (charHeight / 2)) - 0.01);
} else {
if (((!(TL)) && (!(TR)))){
ySpeed = 0;
y = ((((yTileTop + 1) * tileHeight) + (charHeight / 2)) + 0.01);
} else {
if (((!(TR)) && (!(BR)))){
x = (((xTileRight * tileWidth) - (charWidth / 2)) - 0.01);
} else {
if (((!(TL)) && (!(BL)))){
x = ((((xTileLeft + 1) * tileWidth) + (charWidth / 2)) + 0.01);
};
};
};
};
};
if (slowPush){
if (pushDir != "lift"){
if (xSpeed > 0){
if (pushDustCount > pushDustMake){
spawnPushDust();
pushDustCount = 0;
} else {
pushDustCount++;
};
} else {
if (xSpeed < 0){
if (pushDustCount > pushDustMake){
spawnPushDust();
pushDustCount = 0;
} else {
pushDustCount++;
};
};
};
};
};
if (myParent.myParent.leftMove){
if (!slowPush){
xSpeed = (xSpeed - speed);
} else {
xSpeed = (xSpeed - slowSpeed);
if (pushDir == "right"){
slideBreak();
};
};
};
if (myParent.myParent.rightMove){
if (!slowPush){
xSpeed = (xSpeed + speed);
} else {
xSpeed = (xSpeed + slowSpeed);
if (pushDir == "left"){
slideBreak();
};
};
};
xSpeed = (xSpeed * SpeedDes);
getMyDeath();
if (kill){
isDead = true;
};
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
getMyCorners(x, (y + ySpeed));
if (ySpeed < 0){
if (((TL) && (TR))){
} else {
y = ((yTile * tileHeight) + (charHeight / 2));
if ((((ySpeed < -5)) && (!(myParent.grav)))){
spawnDust();
};
ySpeed = 0;
if (!myParent.grav){
jumping = false;
};
};
} else {
if (ySpeed > 0){
if (((BL) && (BR))){
} else {
y = ((((yTile + 1) * tileHeight) - (charHeight / 2)) - 0.01);
if ((((ySpeed > 5)) && (myParent.grav))){
spawnDust();
};
ySpeed = 0;
if (myParent.grav){
jumping = false;
};
};
};
};
if ((((xSpeed < 0.001)) && ((xSpeed > -0.001)))){
xSpeed = 0;
stepCount = 0;
} else {
if ((((xSpeed > 2.5)) || ((xSpeed < -2.5)))){
if (ySpeed == 0){
if (slowPush){
if (pushDir == "lift"){
if (stepCount > stepCastSlowLift){
_local2 = Math.ceil((Math.random() * 4));
myParent.playSoundFX(("walk" + _local2));
stepCount = 0;
} else {
stepCount++;
};
} else {
if (stepCount > stepCastSlow){
_local2 = Math.ceil((Math.random() * 4));
myParent.playSoundFX(("walk" + _local2));
stepCount = 0;
} else {
stepCount++;
};
};
} else {
if (stepCount > stepCast){
_local2 = Math.ceil((Math.random() * 4));
myParent.playSoundFX(("walk" + _local2));
stepCount = 0;
} else {
stepCount++;
};
};
};
};
};
getMyCorners((x + xSpeed), y);
if (xSpeed < 0){
if (((TL) && (BL))){
} else {
x = ((xTile * tileWidth) + (charWidth / 2));
xSpeed = 0;
};
} else {
if (xSpeed > 0){
if (((TR) && (BR))){
} else {
x = ((((xTile + 1) * tileWidth) - (charWidth / 2)) - 0.01);
xSpeed = 0;
};
};
};
if (slowPush){
if (pushDir == "lift"){
if (myParent.grav){
_local5 = 25;
} else {
_local5 = -25;
};
_local4 = 0;
} else {
if (myParent.grav){
_local5 = 2.5;
} else {
_local5 = -2.5;
};
if (pushDir == "left"){
_local4 = 25;
} else {
_local4 = -25;
};
};
getMyBoxCorners((x - _local4), ((y + ySpeed) - _local5));
if (ySpeed < 0){
if (((TL) && (TR))){
} else {
y = ((yTile * tileHeight) + (charHeight / 2));
ySpeed = 0;
};
} else {
if (ySpeed > 0){
if (((BL) && (BR))){
} else {
y = ((((yTile + 1) * tileHeight) - (charHeight / 2)) - 0.01);
ySpeed = 0;
};
};
};
getMyBoxCorners(((x + xSpeed) - _local4), (y - _local5));
if (myParent.grav){
if (((!(BL)) && (BR))){
x = ((xTile * tileWidth) + (checkWidth / 2));
xSpeed = 0;
};
if (((BL) && (!(BR)))){
x = ((((xTile + 1) * tileWidth) - (checkWidth / 2)) - 0.01);
xSpeed = 0;
};
} else {
if (((!(TL)) && (TR))){
x = ((xTile * tileWidth) + (checkWidth / 2));
xSpeed = 0;
};
if (((TL) && (!(TR)))){
x = ((((xTile + 1) * tileWidth) - (checkWidth / 2)) - 0.01);
xSpeed = 0;
};
};
if (xSpeed < 0){
if (((TL) && (BL))){
} else {
x = (((xTile * tileWidth) + (checkWidth / 2)) - 4);
xSpeed = 0;
};
} else {
if (xSpeed > 0){
if (((TR) && (BR))){
} else {
x = (((((xTile + 1) * tileWidth) - (checkWidth / 2)) - 0.01) + 4);
xSpeed = 0;
};
};
};
};
if (myParent.grav){
if (((((((myParent.myParent.upMove) && (myParent.myParent.upReset))) && (!(jumping)))) && ((ySpeed <= 0)))){
if (pushDir == "lift"){
if (!slowPush){
ySpeed = jumpSpeed;
} else {
ySpeed = slowJumpSpeed;
};
};
myParent.myParent.upReset = false;
jumping = true;
};
if (ySpeed < 17){
ySpeed = (ySpeed + fallSpeed);
};
scaleY = 1;
} else {
if (((((((myParent.myParent.upMove) && (myParent.myParent.upReset))) && (!(jumping)))) && ((ySpeed >= 0)))){
if (pushDir == "lift"){
if (!slowPush){
ySpeed = -(jumpSpeed);
} else {
ySpeed = -(slowJumpSpeed);
};
};
myParent.myParent.upReset = false;
jumping = true;
};
if (ySpeed > -17){
ySpeed = (ySpeed - fallSpeed);
};
scaleY = -1;
};
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
if (!slowPush){
if (((!(BR)) || (!(BL)))){
if (pushCount > pushStart){
if (!jumping){
_local6 = false;
if (!BL){
_local9 = -1;
} else {
_local9 = 1;
};
if (myParent.grav){
_local10 = -1;
} else {
_local10 = 1;
};
_local7 = 0;
while (_local7 < myParent.sliderHolder.length) {
if (((((((xTile + _local9) == myParent.sliderHolder[_local7].xTile)) && (((yTile + _local10) == myParent.sliderHolder[_local7].yTile)))) && ((myParent.offsetCount == myParent.sliderHolder[_local7].currentLayer)))){
_local6 = true;
};
_local7++;
};
_local8 = 0;
while (_local8 < myParent.sliderHolder.length) {
if (myParent.sliderHolder[_local8].currentLayer == myParent.offsetCount){
_local11 = (x - myParent.sliderHolder[_local8].x);
_local12 = (y - myParent.sliderHolder[_local8].y);
if ((((((Math.abs(_local12) <= 1)) && ((Math.abs(_local11) < 26)))) && (!(_local6)))){
if (!BR){
_local14 = true;
_local7 = 0;
while (_local7 < Math.floor((myParent.doorArray.length / 6))) {
_local15 = (_local7 * 6);
_local16 = myParent.spinX(myParent.doorArray[(_local15 + 4)], myParent.doorArray[(_local15 + 5)]);
_local17 = myParent.spinY(myParent.doorArray[(_local15 + 4)], myParent.doorArray[(_local15 + 5)]);
if ((((((((myParent.doorArray[(_local15 + 3)] == myParent.offsetCount)) && ((_local16 == myParent.sliderHolder[_local8].xTile)))) && ((_local17 == yTile)))) && ((myParent.doorHolder[_local7].door.currentFrame == 1)))){
_local14 = false;
};
_local7++;
};
if (_local14){
myParent.sliderHolder[_local8].charFollow = true;
pushDir = "right";
slowPush = true;
slowTar = _local8;
myParent.tileArray[((myParent.mapWidth * myParent.sliderHolder[_local8].yTile) + myParent.sliderHolder[_local8].xTile)].setNotWalk();
};
} else {
if (!BL){
_local14 = true;
_local7 = 0;
while (_local7 < Math.floor((myParent.doorArray.length / 6))) {
_local15 = (_local7 * 6);
_local16 = myParent.spinX(myParent.doorArray[(_local15 + 4)], myParent.doorArray[(_local15 + 5)]);
_local17 = myParent.spinY(myParent.doorArray[(_local15 + 4)], myParent.doorArray[(_local15 + 5)]);
if ((((((((myParent.doorArray[(_local15 + 3)] == myParent.offsetCount)) && ((_local16 == myParent.sliderHolder[_local8].xTile)))) && ((_local17 == yTile)))) && ((myParent.doorHolder[_local7].door.currentFrame == 1)))){
_local14 = false;
};
_local7++;
};
if (_local14){
myParent.sliderHolder[_local8].charFollow = true;
pushDir = "left";
slowPush = true;
slowTar = _local8;
myParent.tileArray[((myParent.mapWidth * myParent.sliderHolder[_local8].yTile) + myParent.sliderHolder[_local8].xTile)].setNotWalk();
};
};
};
};
};
_local8++;
};
};
} else {
pushCount++;
};
} else {
pushCount = 0;
};
_local8 = 0;
while (_local8 < myParent.sliderHolder.length) {
if (myParent.sliderHolder[_local8].currentLayer == myParent.offsetCount){
_local11 = (x - myParent.sliderHolder[_local8].x);
_local12 = (y - myParent.sliderHolder[_local8].y);
if ((((Math.abs(_local12) <= 1)) && ((Math.abs(_local11) < 26)))){
if (!jumping){
if (myParent.grav){
_local19 = 1;
} else {
_local19 = -1;
};
if (_local11 < 0){
_local13 = 1;
} else {
_local13 = -1;
};
if (((myParent.tileArray[((myParent.mapWidth * (yTile - _local19)) + (xTile + _local13))].walkable) && (myParent.tileArray[((myParent.mapWidth * (yTile - _local19)) + xTile)].walkable))){
_local14 = true;
_local7 = 0;
while (_local7 < Math.floor((myParent.doorArray.length / 6))) {
_local15 = (_local7 * 6);
_local16 = myParent.spinX(myParent.doorArray[(_local15 + 4)], myParent.doorArray[(_local15 + 5)]);
_local17 = myParent.spinY(myParent.doorArray[(_local15 + 4)], myParent.doorArray[(_local15 + 5)]);
if ((((((((myParent.doorArray[(_local15 + 3)] == myParent.offsetCount)) && ((_local16 == (xTile + _local13))))) && ((_local17 == yTile)))) && ((myParent.doorHolder[_local7].door.currentFrame == 1)))){
_local14 = false;
};
_local7++;
};
if (_local14){
if (myParent.myParent.pickUp){
myParent.myParent.pickUp = false;
myParent.sliderHolder[_local8].charFollow = true;
pushDir = "lift";
slowPush = true;
slowTar = _local8;
myParent.tileArray[((myParent.mapWidth * myParent.sliderHolder[_local8].yTile) + myParent.sliderHolder[_local8].xTile)].setNotWalk();
myParent.playSoundFX("blockLift1");
};
};
};
};
};
};
_local8++;
};
myParent.myParent.pickUp = false;
} else {
if ((((pushDir == "left")) || ((pushDir == "right")))){
if (xSpeed == 0){
slideBreak();
};
if (myParent.grav){
_local19 = 1;
} else {
_local19 = -1;
};
if (!myParent.tileArray[((myParent.mapWidth * (myParent.sliderHolder[slowTar].yTile + _local19)) + myParent.sliderHolder[slowTar].xTile)].isClear()){
slideBreak();
};
} else {
if (((((((myParent.myParent.pickUp) && ((slowTar >= 0)))) && ((Math.abs(ySpeed) <= 1)))) && (!(jumping)))){
getMyCorners(x, y);
_local18 = (x % tileWidth);
if (myParent.grav){
_local19 = 1;
} else {
_local19 = -1;
};
if (scaleX < 0){
if (myParent.tileArray[(((myParent.mapWidth * yTile) + xTile) - 1)].walkable){
if (myParent.tileArray[(((myParent.mapWidth * (yTile - _local19)) + xTile) - 1)].walkable){
if (_local18 > (tileWidth - (charWidth / 2))){
x = (x + ((30 - _local18) + charWidth));
myParent.sliderHolder[slowTar].x = ((xTile * tileWidth) + (tileWidth / 2));
} else {
if (_local18 > (tileWidth - charWidth)){
x = (x + ((30 - _local18) + charWidth));
myParent.sliderHolder[slowTar].x = ((xTile * tileWidth) + (tileWidth / 2));
} else {
myParent.sliderHolder[slowTar].x = ((xTile * tileWidth) - (tileWidth / 2));
};
};
myParent.sliderHolder[slowTar].y = (y + 2.5);
myParent.sliderHolder[slowTar].ySpeed = 0;
x = (x - xSpeed);
xSpeed = 0;
breakPush();
myParent.playSoundFX("blockLift2");
};
} else {
if (((myParent.tileArray[(((myParent.mapWidth * (yTile - _local19)) + xTile) - 1)].walkable) && ((_local18 < 16)))){
myParent.sliderHolder[slowTar].x = ((xTile * tileWidth) - (tileWidth / 2));
myParent.sliderHolder[slowTar].y = ((y + 2.5) - (tileWidth * _local19));
breakPush();
myParent.playSoundFX("blockLift2");
} else {
if (!myParent.tileArray[(((myParent.mapWidth * (yTile + _local19)) + xTile) + 1)].walkable){
x = (x + ((30 - _local18) + charWidth));
x = (x - xSpeed);
myParent.sliderHolder[slowTar].x = ((xTile * tileWidth) + (tileWidth / 2));
myParent.sliderHolder[slowTar].y = (y + 2.5);
breakPush();
myParent.playSoundFX("blockLift2");
};
};
};
} else {
if (myParent.tileArray[(((myParent.mapWidth * yTile) + xTile) + 1)].walkable){
if (myParent.tileArray[(((myParent.mapWidth * (yTile - _local19)) + xTile) + 1)].walkable){
if (_local18 < (charWidth / 2)){
x = (x - (_local18 + charWidth));
myParent.sliderHolder[slowTar].x = (((xTile + 1) * tileWidth) - (tileWidth / 2));
} else {
if (_local18 < charWidth){
x = (x - (_local18 + charWidth));
myParent.sliderHolder[slowTar].x = (((xTile + 1) * tileWidth) - (tileWidth / 2));
} else {
myParent.sliderHolder[slowTar].x = (((xTile + 1) * tileWidth) + (tileWidth / 2));
};
};
myParent.sliderHolder[slowTar].y = (y + 2.5);
myParent.sliderHolder[slowTar].ySpeed = 0;
x = (x - xSpeed);
xSpeed = 0;
breakPush();
myParent.playSoundFX("blockLift2");
};
} else {
if (((myParent.tileArray[(((myParent.mapWidth * (yTile - _local19)) + xTile) + 1)].walkable) && ((_local18 > 14)))){
myParent.sliderHolder[slowTar].x = (((xTile + 1) * tileWidth) + (tileWidth / 2));
myParent.sliderHolder[slowTar].y = ((y + 2.5) - (tileWidth * _local19));
breakPush();
myParent.playSoundFX("blockLift2");
} else {
if (!myParent.tileArray[(((myParent.mapWidth * (yTile + _local19)) + xTile) - 1)].walkable){
x = (x - (_local18 + (charWidth / 2)));
x = (x - xSpeed);
myParent.sliderHolder[slowTar].x = ((xTile * tileWidth) + (tileWidth / 2));
myParent.sliderHolder[slowTar].y = (y + 2.5);
breakPush();
myParent.playSoundFX("blockLift2");
};
};
};
};
myParent.myParent.pickUp = false;
};
};
};
};
x = (x + xSpeed);
y = (y + ySpeed);
};
};
};
};
}
public function breakPush(){
if (slowPush){
myParent.sliderHolder[slowTar].charFollow = false;
myParent.sliderHolder[slowTar].setWalker = false;
slowPush = false;
pushDir = "lift";
pushDustCount = 0;
};
}
public function startChar(){
charStart = true;
startCount = 0;
xSpeed = 0;
ySpeed = 0;
winAnimation = false;
rotation = 0;
winCount = 0;
win = false;
x = ((myStart[0] * tileWidth) + (tileWidth / 2));
y = (((myStart[1] * tileHeight) + (tileHeight / 2)) + 3);
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
if (myParent.myParent.gameState == "edit"){
charHolder.gotoAndStop(1);
} else {
charHolder.gotoAndStop(22);
};
}
function getFlip(){
if (!myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper){
if (slowPush){
isFlip = myParent.sliderHolder[slowTar].isFlip;
} else {
isFlip = false;
};
};
if (((myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper) && (!(isFlip)))){
isFlip = true;
switch (myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl){
case 0:
myParent.flipMap();
break;
case 1:
myParent.vertFlipMap();
break;
case 2:
myParent.flipGrav();
break;
case 3:
myParent.spinMapL();
break;
case 4:
myParent.spinMapR();
break;
};
};
}
function getKey(_arg1, _arg2){
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local3 = 0;
while (_local3 < myParent.keyHolder.length) {
if (myParent.keyHolder[_local3].currentLayer == myParent.offsetCount){
_local4 = (x - myParent.keyHolder[_local3].x);
_local5 = (y - myParent.keyHolder[_local3].y);
if ((((Math.abs(_local5) <= 10)) && ((Math.abs(_local4) < 10)))){
spawnKeyPoof(myParent.keyHolder[_local3].x, myParent.keyHolder[_local3].y, myParent.colorArray[(myParent.offsetCount * 3)]);
myParent.getKey(_local3);
};
};
_local3++;
};
}
function spawnKeyPoof(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:keyPoof;
_local4 = new keyPoof(_arg1, _arg2, _arg3);
myParent.poofMC.addChild(_local4);
}
public function resetMe(){
xSpeed = 0;
ySpeed = 0;
scaleY = 1;
scaleX = 1;
charHolder.gotoAndStop(20);
breakPush();
}
public function setCharFrame(){
charHolder.gotoAndPlay(1000);
}
public function startSuicide(){
if ((((myParent.myParent.currentLevel >= 32)) && ((myParent.myParent.gameState == "play")))){
myParent.stopStaticFX();
myParent.myParent.gotoAndStop("endVid2");
} else {
if (!suicide){
if (((!(jumping)) && ((Math.abs(ySpeed) <= 1)))){
suicide = true;
suicideCount = 0;
};
} else {
suicideCount = suicideBam;
};
};
}
function spawnPushDust(){
var _local1:pushPoof;
_local1 = new pushPoof(x, y, myParent.colorArray[(myParent.offsetCount * 3)]);
_local1.scaleY = scaleY;
_local1.scaleX = scaleX;
myParent.poofMC.addChild(_local1);
myParent.playSoundFX("pushblock");
}
public function startSleep(){
if (!sleepStart){
sleepStart = true;
};
}
function getMyBoxCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (checkWidth / 2)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (checkWidth / 2)) / tileWidth));
yTileTop = Math.floor(((_arg2 - (checkWidth / 2)) / tileHeight));
yTileBottom = Math.floor(((_arg2 + (checkWidth / 2)) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].isWalkable();
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].isWalkable();
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].isWalkable();
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].isWalkable();
}
function getChar():Point{
var _local1:Point;
_local1 = new Point(x, y);
return (_local1);
}
function slideBreak(){
if (pushDir == "left"){
myParent.sliderHolder[slowTar].x = (((xTile - 1) * tileWidth) + (tileWidth / 2));
myParent.sliderHolder[slowTar].y = y;
myParent.sliderHolder[slowTar].setTile();
breakPush();
} else {
myParent.sliderHolder[slowTar].x = (((xTile + 1) * tileWidth) + (tileWidth / 2));
myParent.sliderHolder[slowTar].y = y;
myParent.sliderHolder[slowTar].setTile();
breakPush();
};
}
function getMyDeath(){
kill = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].killer;
}
public function tintMe(){
trace("tint");
}
}
}//package
Section 104
//charLandPoof (charLandPoof)
package {
import flash.display.*;
import fl.motion.*;
public class charLandPoof extends MovieClip {
var colorTint:Number;
var alphaTint:Number;// = 0.5
var tileWidth;// = 30
public function charLandPoof(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
tileWidth = 30;
alphaTint = 0.5;
super();
addFrameScript(17, frame18);
x = _arg1;
y = _arg2;
alpha = 0.5;
_local4 = 0;
_local5 = 0;
colorTint = _arg3;
tint();
}
function frame18(){
stop();
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
}
}//package
Section 105
//charTrail (charTrail)
package {
import flash.display.*;
public class charTrail extends MovieClip {
var myParent:MovieClip;
public function charTrail(_arg1:MovieClip){
myParent = _arg1;
x = myParent.theChar.x;
y = myParent.theChar.y;
gotoAndStop(((((myParent.theChar.currentFrame - 1) * 50) + 1) + myParent.theChar.ch.currentFrame));
scaleX = myParent.theChar.scaleX;
scaleY = myParent.theChar.scaleY;
}
}
}//package
Section 106
//click (click)
package {
import flash.media.*;
public dynamic class click extends Sound {
}
}//package
Section 107
//colorWindow (colorWindow)
package {
import flash.display.*;
import flash.events.*;
import fl.motion.*;
import flash.text.*;
public class colorWindow extends MovieClip {
public var l2c2:MovieClip;
public var l2c1:MovieClip;
var colMC:MovieClip;
var curTile:Array;
public var l1c1:MovieClip;
public var l1c3:MovieClip;
public var l1c2:MovieClip;
public var bg:MovieClip;
public var colSpec:MovieClip;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var l3c1:MovieClip;
public var l3c3:MovieClip;
public var l3c2:MovieClip;
public var buttonClose:SimpleButton;
public var l2c3:MovieClip;
public function colorWindow(_arg1){
var _local2:*;
var _local3:Bitmap;
var _local4:*;
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
myParent = _arg1;
setPos();
_local2 = 1;
while (_local2 <= 3) {
_local4 = 1;
while (_local4 <= 3) {
setTint(_local2, _local4, myParent.colorArray[(((_local2 - 1) * 3) + (_local4 - 1))]);
this[((("l" + _local2) + "c") + _local4)].lev = _local2;
this[((("l" + _local2) + "c") + _local4)].col = _local4;
this[((("l" + _local2) + "c") + _local4)].buttonMode = true;
this[((("l" + _local2) + "c") + _local4)].addEventListener(MouseEvent.MOUSE_UP, pickTile);
_local4++;
};
_local2++;
};
colMC.addEventListener(MouseEvent.MOUSE_DOWN, selectColor);
buttonClose.addEventListener(MouseEvent.MOUSE_UP, closeWindow);
l1c1.gotoAndStop(2);
addChild(colMC);
colMC.x = colSpec.x;
colMC.y = colSpec.y;
a = new BitmapData(colSpec.width, colSpec.height);
_local3 = new Bitmap(a);
colMC.addChild(_local3);
a.draw(colSpec);
}
function closeWindow(_arg1:MouseEvent){
myParent.colorPicking = false;
}
function hoverTile(_arg1:MouseEvent){
}
function setTint(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Color;
myParent.colorArray[(((_arg1 - 1) * 3) + (_arg2 - 1))] = _arg3;
_local4 = new Color();
_local4.setTint(_arg3, 0.5);
this[((("l" + _arg1) + "c") + _arg2)].transform.colorTransform = _local4;
}
function pickTile(_arg1:MouseEvent){
this[((("l" + curTile[0]) + "c") + curTile[1])].gotoAndStop(1);
curTile[0] = _arg1.target.lev;
curTile[1] = _arg1.target.col;
this[((("l" + curTile[0]) + "c") + curTile[1])].gotoAndStop(2);
}
public function setPos(){
x = 225;
y = 45;
}
public function offPos(){
x = 1000;
}
function pickColor(){
}
function selectColor(_arg1:MouseEvent){
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local2 = (mouseX + 125);
_local3 = (mouseY - 160);
_local4 = a.getPixel(_local2, _local3);
trace(((_local2 + " - - ") + _local3));
trace(_local4);
setTint(curTile[0], curTile[1], _local4);
}
}
}//package
Section 108
//d (d)
package {
import flash.media.*;
public dynamic class d extends Sound {
}
}//package
Section 109
//d2 (d2)
package {
import flash.media.*;
public dynamic class d2 extends Sound {
}
}//package
Section 110
//deathSound (deathSound)
package {
import flash.media.*;
public dynamic class deathSound extends Sound {
}
}//package
Section 111
//door_close (door_close)
package {
import flash.media.*;
public dynamic class door_close extends Sound {
}
}//package
Section 112
//door_open (door_open)
package {
import flash.media.*;
public dynamic class door_open extends Sound {
}
}//package
Section 113
//e (e)
package {
import flash.media.*;
public dynamic class e extends Sound {
}
}//package
Section 114
//e2 (e2)
package {
import flash.media.*;
public dynamic class e2 extends Sound {
}
}//package
Section 115
//editLoop (editLoop)
package {
import flash.media.*;
public dynamic class editLoop extends Sound {
}
}//package
Section 116
//editor_interface (editor_interface)
package {
import flash.display.*;
import flash.events.*;
public class editor_interface extends MovieClip {
public var liveButton:SimpleButton;
public var muteB:SimpleButton;
public var introB:SimpleButton;
public var optionsButton:SimpleButton;
public var menuButton:SimpleButton;
var myParent:MovieClip;
public var resetButton:SimpleButton;
public var switchLayer:SimpleButton;
var muteCount:Number;// = 0
public function editor_interface(_arg1){
muteCount = 0;
super();
myParent = _arg1;
x = 10;
y = 30;
if (!myParent.killSwitch){
liveButton.addEventListener(MouseEvent.CLICK, setLive);
resetButton.addEventListener(MouseEvent.CLICK, resetMap);
optionsButton.addEventListener(MouseEvent.CLICK, pickOptions);
menuButton.addEventListener(MouseEvent.CLICK, menu);
switchLayer.addEventListener(MouseEvent.CLICK, switchL);
muteB.addEventListener(MouseEvent.CLICK, toggleMute);
introB.addEventListener(MouseEvent.CLICK, introButtonFunction);
liveButton.addEventListener(MouseEvent.MOUSE_OVER, liveOver);
resetButton.addEventListener(MouseEvent.MOUSE_OVER, resetOver);
optionsButton.addEventListener(MouseEvent.MOUSE_OVER, optionsOver);
menuButton.addEventListener(MouseEvent.MOUSE_OVER, menuOver);
switchLayer.addEventListener(MouseEvent.MOUSE_OVER, switchOver);
muteB.addEventListener(MouseEvent.MOUSE_OVER, muteOver);
introB.addEventListener(MouseEvent.MOUSE_OVER, helpOver);
liveButton.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
resetButton.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
optionsButton.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
menuButton.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
switchLayer.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
muteB.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
introB.addEventListener(MouseEvent.MOUSE_OUT, moveOut);
};
}
function pickOptions(_arg1:MouseEvent){
myParent.optionsPicking = !(myParent.optionsPicking);
myParent.layersPicking = false;
myParent.colorPicking = false;
myParent.gameLive = false;
myParent.textPicking = false;
myParent.introPicking = false;
myParent.resetter = true;
myParent.EWindow.offPos();
myParent.lineHolder.visible = !(myParent.gameLive);
myParent.mapBeat = false;
}
function menu(_arg1:MouseEvent){
myParent.EWindow.togglePos();
}
function setLive(_arg1:MouseEvent){
myParent.mapBeat = false;
myParent.gameLive = !(myParent.gameLive);
if (!myParent.gameLive){
myParent.TWindow.blockDesc.text = "Test your level";
} else {
myParent.TWindow.blockDesc.text = "Back to Editing";
};
myParent.theChar.isDead = false;
myParent.lineHolder.visible = !(myParent.gameLive);
myParent.colorPicking = false;
myParent.optionsPicking = false;
myParent.layersPicking = false;
myParent.textPicking = false;
myParent.headPicking = false;
myParent.resetter = false;
myParent.introPicking = false;
myParent.EWindow.offPos();
myParent.myParent.shifted = false;
myParent.resetter = true;
}
function switchL(_arg1:MouseEvent){
myParent.changeMap(true);
}
function optionsOver(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "Open up the options menu";
}
function muteOver(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "Toggle Mute";
if (myParent.myParent.musicTransform.volume > 0){
myParent.TWindow.blockDesc.text = "Mute Music";
} else {
if (myParent.myParent.fxTransform.volume > 0){
myParent.TWindow.blockDesc.text = "Mute All";
} else {
myParent.TWindow.blockDesc.text = "Unmute All";
};
};
}
function helpOver(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "Open help window";
}
function toggleMute(_arg1:MouseEvent){
myParent.myParent.muteCount++;
myParent.myParent.muteCount = (myParent.myParent.muteCount % 3);
trace(myParent.myParent.muteCount);
if (myParent.myParent.muteCount == 0){
myParent.TWindow.blockDesc.text = "Mute Music";
myParent.myParent.musicTransform.volume = 1;
myParent.myParent.music.soundTransform = myParent.myParent.musicTransform;
myParent.myParent.fxTransform.volume = 1;
myParent.fx.soundTransform = myParent.myParent.fxTransform;
myParent.staticChannel.soundTransform = myParent.myParent.fxTransform;
};
if (myParent.myParent.muteCount == 1){
myParent.TWindow.blockDesc.text = "Mute All";
myParent.myParent.musicTransform.volume = 0;
myParent.myParent.music.soundTransform = myParent.myParent.musicTransform;
myParent.myParent.fxTransform.volume = 1;
myParent.fx.soundTransform = myParent.myParent.fxTransform;
myParent.staticChannel.soundTransform = myParent.myParent.fxTransform;
};
if (myParent.myParent.muteCount == 2){
myParent.TWindow.blockDesc.text = "Unmute All";
myParent.myParent.musicTransform.volume = 0;
myParent.myParent.music.soundTransform = myParent.myParent.musicTransform;
myParent.myParent.fxTransform.volume = 0;
myParent.fx.soundTransform = myParent.myParent.fxTransform;
myParent.staticChannel.soundTransform = myParent.myParent.fxTransform;
};
}
function introButtonFunction(_arg1:MouseEvent){
myParent.layersPicking = false;
myParent.colorPicking = false;
myParent.gameLive = false;
myParent.textPicking = false;
myParent.optionsPicking = false;
myParent.EWindow.offPos();
myParent.introPicking = !(myParent.introPicking);
myParent.lineHolder.visible = !(myParent.gameLive);
myParent.mapBeat = false;
}
function switchOver(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "Flip layers \n(hotkey: A)";
}
function resetOver(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "Reset";
}
function moveOut(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "";
}
function menuOver(_arg1:MouseEvent){
myParent.TWindow.blockDesc.text = "Back to the main menu";
}
function resetMap(_arg1:MouseEvent){
myParent.resetter = true;
}
function liveOver(_arg1:MouseEvent){
if (!myParent.gameLive){
myParent.TWindow.blockDesc.text = "Test your level";
} else {
myParent.TWindow.blockDesc.text = "Back to Editing";
};
}
}
}//package
Section 117
//error (error)
package {
import flash.media.*;
public dynamic class error extends Sound {
}
}//package
Section 118
//exitWindow (exitWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class exitWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
public var yesB:SimpleButton;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var noB:SimpleButton;
public var myVar:String;
public function exitWindow(_arg1){
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
myParent = _arg1;
stop();
offPos();
yesB.addEventListener(MouseEvent.CLICK, slYes);
noB.addEventListener(MouseEvent.CLICK, slNo);
}
public function slNo(_arg1:MouseEvent){
offPos();
}
public function offPos(){
if (myParent.myParent.gameState != "edit"){
myParent.gameLive = true;
};
x = 1000;
y = 0xFF;
}
public function setPos(){
if (myParent.myParent.gameState == "edit"){
myParent.colorPicking = false;
myParent.optionsPicking = false;
myParent.layersPicking = false;
myParent.textPicking = false;
myParent.headPicking = false;
myParent.introPicking = false;
} else {
myParent.SlWindow.offPos();
myParent.PWindow.offPos();
};
myParent.gameLive = false;
x = 0xFF;
y = 0xFF;
}
public function togglePos(){
if (x > 900){
setPos();
} else {
offPos();
};
}
public function slYes(_arg1:MouseEvent){
myParent.exit();
offPos();
}
}
}//package
Section 119
//eyesandmouth (eyesandmouth)
package {
import flash.display.*;
import fl.motion.*;
public class eyesandmouth extends MovieClip {
var myParent:MovieClip;
public function eyesandmouth(){
var _local1:Color;
super();
_local1 = new Color();
_local1.setTint(0xFFFFFF, 1);
}
}
}//package
Section 120
//f (f)
package {
import flash.media.*;
public dynamic class f extends Sound {
}
}//package
Section 121
//f2 (f2)
package {
import flash.media.*;
public dynamic class f2 extends Sound {
}
}//package
Section 122
//fade1 (fade1)
package {
import flash.display.*;
public dynamic class fade1 extends MovieClip {
public function fade1(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package
Section 123
//g (g)
package {
import flash.media.*;
public dynamic class g extends Sound {
}
}//package
Section 124
//g2 (g2)
package {
import flash.media.*;
public dynamic class g2 extends Sound {
}
}//package
Section 125
//game_music (game_music)
package {
import flash.media.*;
public dynamic class game_music extends Sound {
}
}//package
Section 126
//GlobalVarContainer (GlobalVarContainer)
package {
public class GlobalVarContainer {
public static var vars:Object = [];
}
}//package
Section 127
//gravityDown (gravityDown)
package {
import flash.media.*;
public dynamic class gravityDown extends Sound {
}
}//package
Section 128
//gravityUp (gravityUp)
package {
import flash.media.*;
public dynamic class gravityUp extends Sound {
}
}//package
Section 129
//h (h)
package {
import flash.media.*;
public dynamic class h extends Sound {
}
}//package
Section 130
//h2 (h2)
package {
import flash.media.*;
public dynamic class h2 extends Sound {
}
}//package
Section 131
//head (head)
package {
import flash.display.*;
public class head extends MovieClip {
public function head(){
addFrameScript(0, frame1);
gotoAndStop(GlobalVarContainer.vars.headFlag);
}
function frame1(){
stop();
}
}
}//package
Section 132
//headWindow (headWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class headWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var h1:MovieClip;
public var h2:MovieClip;
public var h4:MovieClip;
public var h5:MovieClip;
public var h6:MovieClip;
public var h7:MovieClip;
public var h8:MovieClip;
public var h3:MovieClip;
public var myVar:String;
public var backButton:SimpleButton;
public function headWindow(_arg1){
var _local2:Number;
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
addFrameScript(0, frame1);
myParent = _arg1;
offPos();
_local2 = 1;
while (_local2 <= 8) {
this[("h" + _local2)].head = _local2;
this[("h" + _local2)].buttonMode = true;
this[("h" + _local2)].gotoAndStop(_local2);
this[("h" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickHead);
_local2++;
};
this[("h" + myParent.charArray[2])].headBG.gotoAndStop(2);
backButton.addEventListener(MouseEvent.MOUSE_UP, back);
}
function frame1(){
stop();
}
public function offPos(){
x = 1000;
y = 0xFF;
}
function pickHead(_arg1:MouseEvent){
this[("h" + myParent.charArray[2])].headBG.gotoAndStop(1);
myParent.charArray[2] = _arg1.currentTarget.head;
GlobalVarContainer.vars.headFlag = _arg1.currentTarget.head;
this[("h" + myParent.charArray[2])].headBG.gotoAndStop(2);
myParent.offsetCount = 0;
myParent.theChar.setCharFrame();
myParent.resetMap();
}
function mainMenu(_arg1:MouseEvent){
myParent.myParent.gotoAndStop("menu");
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
function back(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.headPicking = false;
}
}
}//package
Section 133
//i (i)
package {
import flash.media.*;
public dynamic class i extends Sound {
}
}//package
Section 134
//i2 (i2)
package {
import flash.media.*;
public dynamic class i2 extends Sound {
}
}//package
Section 135
//intro_menu (intro_menu)
package {
import flash.media.*;
public dynamic class intro_menu extends Sound {
}
}//package
Section 136
//intro_tune_1 (intro_tune_1)
package {
import flash.media.*;
public dynamic class intro_tune_1 extends Sound {
}
}//package
Section 137
//intro_tune_2 (intro_tune_2)
package {
import flash.media.*;
public dynamic class intro_tune_2 extends Sound {
}
}//package
Section 138
//intro_tune_3 (intro_tune_3)
package {
import flash.media.*;
public dynamic class intro_tune_3 extends Sound {
}
}//package
Section 139
//introField (introField)
package {
import flash.media.*;
public dynamic class introField extends Sound {
}
}//package
Section 140
//introLoop (introLoop)
package {
import flash.media.*;
public dynamic class introLoop extends Sound {
}
}//package
Section 141
//introScroll (introScroll)
package {
import flash.display.*;
public dynamic class introScroll extends MovieClip {
public var myParent:MovieClip;
public function introScroll(){
addFrameScript(0, frame1, 903, frame904);
}
function frame1(){
}
function frame904(){
myParent.gotoAndStop("menu");
stop();
}
}
}//package
Section 142
//introWindow (introWindow)
package {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class introWindow extends MovieClip {
public var editButton:SimpleButton;
var curTile:Array;
var colMC:MovieClip;
public var joinB:SimpleButton;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var NGB:SimpleButton;
public var menuB:SimpleButton;
public var myVar:String;
public function introWindow(_arg1){
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
addFrameScript(0, frame1, 1, frame2, 2, frame3);
myParent = _arg1;
stop();
offPos();
if (!myParent.killSwitch){
editButton.addEventListener(MouseEvent.CLICK, back);
} else {
setPos();
if (myParent.isNG){
gotoAndStop(3);
} else {
gotoAndStop(2);
};
};
}
function joinFun(_arg1:MouseEvent){
navigateToURL(new URLRequest("http://www.newgrounds.com/join/"));
}
function frame3(){
menuB.addEventListener(MouseEvent.CLICK, menuBFun);
joinB.addEventListener(MouseEvent.CLICK, joinFun);
stop();
}
function frame1(){
stop();
}
public function offPos(){
x = 1000;
y = 0xFF;
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
public function togglePos(){
if (x > 900){
setPos();
} else {
offPos();
};
}
function frame2(){
NGB.addEventListener(MouseEvent.CLICK, ngB);
menuB.addEventListener(MouseEvent.CLICK, menuBFun);
stop();
}
function ngB(_arg1:MouseEvent){
navigateToURL(new URLRequest(NewgroundsAPI.getOfficialVersionURL()));
}
function menuBFun(_arg1:MouseEvent){
myParent.myParent.stopMusic();
myParent.myParent.gotoAndStop("menu");
}
function back(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.introPicking = false;
}
}
}//package
Section 143
//j (j)
package {
import flash.media.*;
public dynamic class j extends Sound {
}
}//package
Section 144
//j2 (j2)
package {
import flash.media.*;
public dynamic class j2 extends Sound {
}
}//package
Section 145
//k (k)
package {
import flash.media.*;
public dynamic class k extends Sound {
}
}//package
Section 146
//k2 (k2)
package {
import flash.media.*;
public dynamic class k2 extends Sound {
}
}//package
Section 147
//key (key)
package {
import flash.display.*;
import fl.motion.*;
import flash.geom.*;
public class key extends MovieClip {
var startLayer:Number;
var myStart:Array;
var currentTint:Number;
var fastDes:Number;// = 0.8
var BL:Boolean;
var BR:Boolean;
var starty:Number;
var slowDes:Number;// = 0.5
var startx:Number;
var speed:Number;// = 4
var SpeedDes:Number;
var xTileLeft:Number;
var xTileRight:Number;
var TR:Boolean;
var TL:Boolean;
public var xSpeed:Number;// = 0
var isFlip:Boolean;// = false
var arrayTile:Number;
var slowSpeed:Number;// = 0.07
var yTile:Number;
public var charFollow:Boolean;// = false
var jumpSpeed:Number;// = -11.8
var jumping:Boolean;// = false
var yTileTop:Number;
public var pushDir:String;// = "right"
public var setWalker:Boolean;// = false
var blockWidth:Number;// = 25
var xTile:Number;
public var ySpeed:Number;// = 0
public var currentLayer:Number;
var kill:Boolean;// = false
var telePage:Number;
var tileHeight:Number;// = 30
var myParent:MovieClip;
public var teleCount:Number;// = 0
var fallSpeed:Number;// = 1
var tele:Boolean;// = false
var tileWidth:Number;// = 30
var yTileBottom:Number;
var win:Boolean;// = false
var landCount:Number;// = 6
var teleX:Number;
public var isTele:Boolean;// = false
var teleY:Number;
public function key(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number){
myStart = new Array(5, 5);
xSpeed = 0;
ySpeed = 0;
fallSpeed = 1;
slowSpeed = 0.07;
speed = 4;
fastDes = 0.8;
slowDes = 0.5;
SpeedDes = fastDes;
blockWidth = 25;
tileWidth = 30;
tileHeight = 30;
win = false;
kill = false;
tele = false;
isTele = false;
isFlip = false;
jumping = false;
jumpSpeed = -11.8;
landCount = 6;
setWalker = false;
charFollow = false;
teleCount = 0;
pushDir = "right";
super();
myParent = _arg1;
startLayer = _arg2;
startx = _arg3;
starty = _arg4;
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
startKey();
}
function getTele(_arg1, _arg2){
tele = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleport;
teleX = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleX;
teleY = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleY;
telePage = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].telePage;
}
function restart(){
myParent.resetMap();
}
function getMyDeathCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (blockWidth / 4)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (blockWidth / 4)) / tileWidth));
yTileTop = Math.floor((((_arg2 - (blockWidth / 2)) + 1) / tileHeight));
yTileBottom = Math.floor((((_arg2 + (blockWidth / 2)) + 1) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].killer;
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].killer;
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].killer;
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].killer;
}
public function setTint(_arg1:Number){
var _local2:Color;
if (_arg1 != currentTint){
_local2 = new Color();
_local2.setTint(_arg1, 0.5);
transform.colorTransform = _local2;
currentTint = _arg1;
};
}
public function startKey(){
xSpeed = 0;
ySpeed = 1;
xTile = startx;
yTile = starty;
setWalker = false;
currentLayer = startLayer;
x = ((startx * tileWidth) + (tileWidth / 2));
y = ((starty * tileHeight) + (tileHeight / 2));
}
public function spinKey(_arg1:String){
var _local2:Number;
var _local3:Number;
if (_arg1 == "l"){
_local2 = ((myParent.mapWidth - yTile) - 1);
_local3 = xTile;
xTile = _local2;
yTile = _local3;
x = ((_local2 * tileWidth) + (tileWidth / 2));
y = ((_local3 * tileWidth) + (tileWidth / 2));
} else {
if (_arg1 == "r"){
_local2 = yTile;
_local3 = ((myParent.mapWidth - xTile) - 1);
xTile = _local2;
yTile = _local3;
x = ((_local2 * tileWidth) + (tileWidth / 2));
y = ((_local3 * tileWidth) + (tileWidth / 2));
} else {
if (_arg1 == "v"){
if (currentLayer == myParent.offsetCount){
_local3 = ((myParent.mapWidth - yTile) - 1);
yTile = _local3;
y = ((_local3 * tileWidth) + (tileWidth / 2));
};
} else {
if (_arg1 == "f"){
if (currentLayer == myParent.offsetCount){
_local2 = ((myParent.mapWidth - xTile) - 1);
xTile = _local2;
x = ((_local2 * tileWidth) + (tileWidth / 2));
};
};
};
};
};
}
function getMyCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (blockWidth / 2)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (blockWidth / 2)) / tileWidth));
yTileTop = Math.floor(((_arg2 - (blockWidth / 2)) / tileHeight));
yTileBottom = Math.floor(((_arg2 + (blockWidth / 2)) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].isWalkable();
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].isWalkable();
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].isWalkable();
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].isWalkable();
}
public function moveKey():void{
getTele(x, y);
if (!tele){
isTele = false;
};
if (((tele) && (!(isTele)))){
myParent.theChar.breakPush();
isTele = true;
myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].setNotWalk();
x = ((teleX * tileWidth) + (tileWidth / 2));
y = ((teleY * tileHeight) + (tileHeight / 2));
};
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
getMyCorners(x, (y + ySpeed));
if (ySpeed < 0){
if (((TL) && (TR))){
} else {
y = ((yTile * tileHeight) + (blockWidth / 2));
if ((((ySpeed < -5)) && (!(myParent.grav)))){
myParent.playSoundFX("keyLand");
};
ySpeed = 0;
if (!myParent.grav){
jumping = false;
};
};
} else {
if (ySpeed > 0){
if (((BL) && (BR))){
} else {
y = ((((yTile + 1) * tileHeight) - (blockWidth / 2)) - 0.05);
if ((((ySpeed > 5)) && (myParent.grav))){
trace("boom");
myParent.playSoundFX("keyLand");
};
ySpeed = 0;
if (myParent.grav){
jumping = false;
};
};
};
};
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
if (myParent.grav){
scaleY = 1;
} else {
scaleY = -1;
};
getMyCorners(x, y);
if (((((((!(TR)) && (!(TL)))) && (!(BL)))) && (!(BR)))){
} else {
if (myParent.grav){
if (ySpeed < 17){
ySpeed = (ySpeed + fallSpeed);
};
} else {
if (ySpeed > -17){
ySpeed = (ySpeed - fallSpeed);
};
};
};
y = (y + ySpeed);
}
function getFlip(){
if (!myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper){
isFlip = false;
};
if (((myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper) && (!(isFlip)))){
isFlip = true;
trace(myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl);
switch (myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl){
case 0:
myParent.flipMap();
break;
case 1:
myParent.flipGrav();
break;
case 2:
myParent.spinMapL();
break;
case 3:
myParent.spinMapR();
break;
};
};
}
public function resetMe(){
xSpeed = 0;
ySpeed = 1;
}
function getChar():Point{
var _local1:Point;
_local1 = new Point(x, y);
return (_local1);
}
function getMyDeath(){
kill = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].killer;
}
public function tintMe(){
trace("tint");
}
}
}//package
Section 148
//keyLand (keyLand)
package {
import flash.media.*;
public dynamic class keyLand extends Sound {
}
}//package
Section 149
//keyPickup (keyPickup)
package {
import flash.media.*;
public dynamic class keyPickup extends Sound {
}
}//package
Section 150
//keyPoof (keyPoof)
package {
import flash.display.*;
import fl.motion.*;
public class keyPoof extends MovieClip {
var colorTint:Number;
var alphaTint:Number;// = 0.5
var tileWidth;// = 30
public function keyPoof(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
tileWidth = 30;
alphaTint = 0.5;
super();
addFrameScript(12, frame13);
x = _arg1;
y = _arg2;
alpha = 0.5;
_local4 = 0;
_local5 = 0;
colorTint = _arg3;
tint();
}
function frame13(){
stop();
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
}
}//package
Section 151
//l (l)
package {
import flash.media.*;
public dynamic class l extends Sound {
}
}//package
Section 152
//l2 (l2)
package {
import flash.media.*;
public dynamic class l2 extends Sound {
}
}//package
Section 153
//layer_change1 (layer_change1)
package {
import flash.media.*;
public dynamic class layer_change1 extends Sound {
}
}//package
Section 154
//layer_change2 (layer_change2)
package {
import flash.media.*;
public dynamic class layer_change2 extends Sound {
}
}//package
Section 155
//layer_change3 (layer_change3)
package {
import flash.media.*;
public dynamic class layer_change3 extends Sound {
}
}//package
Section 156
//layersWindow (layersWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class layersWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
public var l0:MovieClip;
public var l1:MovieClip;
var a:BitmapData;
var myParent:MovieClip;
public var l2:MovieClip;
var image_bitmap;
public var myVar:String;
public var backButton:SimpleButton;
public function layersWindow(_arg1){
var _local2:Number;
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
addFrameScript(0, frame1);
myParent = _arg1;
offPos();
_local2 = 0;
while (_local2 <= 2) {
this[("l" + _local2)].layer = _local2;
this[("l" + _local2)].buttonMode = true;
this[("l" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickLayer);
_local2++;
};
this[("l" + myParent.totalLevel)].gotoAndStop(2);
backButton.addEventListener(MouseEvent.MOUSE_UP, back);
}
function frame1(){
stop();
}
public function offPos(){
x = 1000;
y = 0xFF;
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
function pickLayer(_arg1:MouseEvent){
this[("l" + myParent.totalLevel)].gotoAndStop(1);
myParent.totalLevel = _arg1.currentTarget.layer;
myParent.mapData[3][0] = _arg1.currentTarget.layer;
this[("l" + myParent.totalLevel)].gotoAndStop(2);
myParent.offsetCount = 0;
myParent.resetMap();
}
function mainMenu(_arg1:MouseEvent){
myParent.myParent.gotoAndStop("menu");
}
function back(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.layersPicking = false;
}
function pickScore(_arg1:MouseEvent){
if (myParent.mapScore > 0){
this[("s" + myParent.mapScore)].gotoAndStop(1);
};
myParent.mapScore = _arg1.currentTarget.score;
this[("s" + myParent.mapScore)].gotoAndStop(2);
}
}
}//package
Section 157
//leaderBoard (leaderBoard)
package {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.text.*;
public class leaderBoard extends MovieClip {
var topNew:lister;
public var recentB:SimpleButton;
public var levelNum:TextField;
var myParent:MovieClip;
public var topB:SimpleButton;
public var hardB:SimpleButton;
public var menuB:SimpleButton;
public var playCustom:SimpleButton;
var topScores:lister;
var topDifficulty:lister;
public function leaderBoard(_arg1){
var _local2:NewgroundsAPISaveGroupQuery;
var _local3:NewgroundsAPISaveGroupQuery;
var _local4:NewgroundsAPISaveGroupQuery;
super();
myParent = _arg1;
_local2 = NewgroundsAPI.createSaveQuery("Levels");
_local2.resultsPerPage = 33;
_local2.includeRating("Difficulty");
_local2.includeRating("Overall Fun");
_local2.sortOn(0, true);
_local2.execute();
_local2.addEventListener(NewgroundsAPIEvent.QUERY_COMPLETE, newDone);
_local3 = NewgroundsAPI.createSaveQuery("Levels");
_local3.resultsPerPage = 33;
_local3.includeRating("Difficulty");
_local3.includeRating("Overall Fun");
_local3.addRatingCondition("Overall Fun", ">=", 8, "votes");
_local3.sortOnRating("Overall Fun", true);
_local3.execute();
_local3.addEventListener(NewgroundsAPIEvent.QUERY_COMPLETE, funDone);
_local4 = NewgroundsAPI.createSaveQuery("Levels");
_local4.resultsPerPage = 33;
_local4.includeRating("Difficulty");
_local4.includeRating("Overall Fun");
_local4.addRatingCondition("Difficulty", ">=", 8, "votes");
_local4.sortOnRating("Difficulty", true);
_local4.execute();
_local4.addEventListener(NewgroundsAPIEvent.QUERY_COMPLETE, diffDone);
recentB.addEventListener(MouseEvent.CLICK, activeNew);
recentB.addEventListener(MouseEvent.MOUSE_OVER, hoverSound);
topB.addEventListener(MouseEvent.CLICK, activeScore);
topB.addEventListener(MouseEvent.MOUSE_OVER, hoverSound);
hardB.addEventListener(MouseEvent.CLICK, activeDifficulty);
hardB.addEventListener(MouseEvent.MOUSE_OVER, hoverSound);
playCustom.addEventListener(MouseEvent.CLICK, customLevel);
playCustom.addEventListener(MouseEvent.MOUSE_OVER, hoverSound);
menuB.addEventListener(MouseEvent.CLICK, menu);
menuB.addEventListener(MouseEvent.MOUSE_OVER, hoverSound);
}
function parseLevels(_arg1:Event){
var _local2:XML;
_local2 = new XML(_arg1.target.data);
}
function customLevelE(_arg1:MouseEvent){
var _local2:URLLoader;
var _local3:URLVariables;
var _local4:URLRequest;
if (levelNum.text != ""){
_local2 = new URLLoader();
_local3 = new URLVariables();
_local4 = new URLRequest(((myParent.domain + "grabSingle.php?cachebuster=") + new Date().getTime()));
_local4.method = URLRequestMethod.POST;
_local3.levelID = levelNum.text;
_local4.data = _local3;
_local2.load(_local4);
_local2.addEventListener(Event.COMPLETE, myParent.parseLevelE);
};
}
function loader(_arg1:NewgroundsAPIEvent){
myParent.setMulti();
myParent.loadSingle(_arg1.data, levelNum.text);
trace(_arg1.data);
}
public function activeScore(_arg1:MouseEvent){
topNew.offPos();
topScores.setPos();
topDifficulty.offPos();
clickSound();
}
function diffDone(_arg1:NewgroundsAPIEvent){
topDifficulty = new lister(this, _arg1.data, "Difficult");
addChild(topDifficulty);
topDifficulty.offPos();
}
public function boardActions(){
if (topNew){
topNew.listerActions();
};
if (topScores){
topScores.listerActions();
};
if (topDifficulty){
topDifficulty.listerActions();
};
}
function findLevel(_arg1:NewgroundsAPIEvent){
_arg1.data[0].addEventListener(NewgroundsAPIEvent.FILE_LOADED, loader);
_arg1.data[0].loadContents();
}
function menu(_arg1:MouseEvent){
myParent.goMain();
clickSound();
}
public function activeDifficulty(_arg1:MouseEvent){
topNew.offPos();
topScores.offPos();
topDifficulty.setPos();
clickSound();
}
function newDone(_arg1:NewgroundsAPIEvent){
topNew = new lister(this, _arg1.data, "Recent");
addChild(topNew);
topNew.setPos();
}
function clickSound(){
myParent.playSoundFX("click");
}
function hoverSound(_arg1:Event){
myParent.playSoundFX("mouseover");
}
function customLevel(_arg1:MouseEvent){
var _local2:NewgroundsAPISaveGroupQuery;
trace("click");
if (levelNum.text != ""){
_local2 = NewgroundsAPI.createSaveQuery("Levels");
_local2.resultsPerPage = 1;
_local2.addFileCondition(0, "=", levelNum.text);
_local2.execute();
_local2.addEventListener(NewgroundsAPIEvent.QUERY_COMPLETE, findLevel);
clickSound();
myParent.loadCount = 0;
myParent.gotoAndStop("introTransition");
};
}
function funDone(_arg1:NewgroundsAPIEvent){
topScores = new lister(this, _arg1.data, "Awsome");
addChild(topScores);
topScores.offPos();
}
public function activeNew(_arg1:MouseEvent){
topNew.setPos();
topScores.offPos();
topDifficulty.offPos();
clickSound();
}
}
}//package
Section 158
//levelEnd (levelEnd)
package {
import flash.media.*;
public dynamic class levelEnd extends Sound {
}
}//package
Section 159
//lister (lister)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class lister extends MovieClip {
public var title:TextField;
var myParent:MovieClip;
public var theList:MovieClip;
var isDrag:Boolean;// = false
public var slider:MovieClip;
public function lister(_arg1, _arg2, _arg3){
var _local4:int;
var _local5:listItem;
isDrag = false;
super();
title.text = _arg3;
myParent = _arg1;
_local4 = 0;
while (_local4 < _arg2.length) {
_local5 = new listItem(this, _arg2[_local4], (_local4 + 1));
theList.addChild(_local5);
_local4++;
};
slider.addEventListener(MouseEvent.MOUSE_DOWN, startSlide);
myParent.myParent.stage.addEventListener(MouseEvent.MOUSE_UP, stopSlide);
}
function startSlide(_arg1:MouseEvent){
isDrag = true;
}
public function setPos(){
x = 280;
}
function listerActions(){
var _local1:Number;
if (isDrag){
slider.y = (mouseY - (slider.height / 2));
if (slider.y < 0){
slider.y = 0;
} else {
if (slider.y > (435 - slider.height)){
slider.y = (435 - slider.height);
};
};
_local1 = (slider.y / (435 - slider.height));
if (theList.height > 400){
theList.y = ((-(_local1) * (theList.height - 400)) + 45);
};
};
}
function stopSlide(_arg1:MouseEvent){
isDrag = false;
}
public function offPos(){
x = 1000;
}
}
}//package
Section 160
//listItem (listItem)
package {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class listItem extends MovieClip {
public var diffFace:MovieClip;
public var scoreFace:MovieClip;
var spacer:Number;// = 5
public var levelName:TextField;
var myLevel;
var levelNum:Number;
public var listButton:MovieClip;
var myParent:MovieClip;
public function listItem(_arg1, _arg2, _arg3){
spacer = 5;
super();
myParent = _arg1;
myLevel = _arg2;
levelNum = myLevel.id;
y = ((_arg3 - 1) * (height + spacer));
levelName.text = myLevel.name;
if (myLevel.getRating("Overall Fun").score != 0){
scoreFace.gotoAndStop(Math.round((myLevel.getRating("Overall Fun").score / 2)));
} else {
scoreFace.gotoAndStop(3);
};
if (myLevel.getRating("Difficulty").score != 0){
diffFace.gotoAndStop(Math.round((myLevel.getRating("Difficulty").score / 2)));
} else {
diffFace.gotoAndStop(3);
};
listButton.buttonMode = true;
listButton.addEventListener(MouseEvent.CLICK, loadLevel);
}
function loader(_arg1:NewgroundsAPIEvent){
myParent.myParent.myParent.setMulti();
myParent.myParent.myParent.loadSingle(_arg1.data, levelNum);
trace(_arg1.data);
}
function loadLevel(_arg1:MouseEvent){
trace(levelNum);
trace(myLevel.getRating("Difficulty").score);
myLevel.addEventListener(NewgroundsAPIEvent.FILE_LOADED, loader);
myLevel.loadContents();
myParent.myParent.myParent.loadCount = 0;
myParent.myParent.myParent.gotoAndStop("introTransition");
}
}
}//package
Section 161
//LZW (LZW)
package {
public class LZW {
public static function compress(_arg1:String):String{
var _local2:Number;
var _local3:Number;
var _local4:String;
var _local5:Number;
var _local6:String;
var _local7:Array;
var _local8:String;
var _local9:String;
var _local10:Array;
var _local11:Array;
_local5 = 0x0100;
_local6 = new String(_arg1);
_local7 = new Array();
_local2 = 0;
while (_local2 < _local5) {
_local7[String(_local2)] = _local2;
_local2++;
};
_local9 = new String("");
_local10 = _local6.split("");
_local11 = new Array();
_local3 = _local10.length;
_local2 = 0;
while (_local2 <= _local3) {
_local8 = new String(_local10[_local2]);
_local4 = ((_local11.length)==0) ? String(_local8.charCodeAt(0)) : ((_local11.join("-") + "-") + String(_local8.charCodeAt(0)));
if (_local7[_local4] !== undefined){
_local11.push(_local8.charCodeAt(0));
} else {
_local9 = (_local9 + String.fromCharCode(_local7[_local11.join("-")]));
_local7[_local4] = _local5;
_local5++;
_local11 = new Array();
_local11.push(_local8.charCodeAt(0));
};
_local2++;
};
return (_local9);
}
public static function decompress(_arg1:String):String{
var _local2:Number;
var _local3:Number;
var _local4:Array;
var _local5:String;
var _local6:Array;
var _local7:Number;
var _local8:String;
var _local9:String;
var _local10:String;
var _local11:Number;
var _local12:String;
_local3 = 0x0100;
_local4 = new Array();
_local2 = 0;
while (_local2 < _local3) {
_local4[_local2] = String.fromCharCode(_local2);
_local2++;
};
_local5 = new String(_arg1);
_local6 = _local5.split("");
_local7 = _local6.length;
_local8 = new String("");
_local9 = new String("");
_local10 = new String("");
_local2 = 0;
while (_local2 < _local7) {
_local11 = _local5.charCodeAt(_local2);
_local12 = _local4[_local11];
if (_local8 == ""){
_local8 = _local12;
_local10 = (_local10 + _local12);
} else {
if (_local11 <= 0xFF){
_local10 = (_local10 + _local12);
_local9 = (_local8 + _local12);
_local4[_local3] = _local9;
_local3++;
_local8 = _local12;
} else {
_local9 = _local4[_local11];
if (_local9 == null){
_local9 = (_local8 + _local8.slice(0, 1));
};
_local10 = (_local10 + _local9);
_local4[_local3] = (_local8 + _local9.slice(0, 1));
_local3++;
_local8 = _local9;
};
};
_local2++;
};
return (_local10);
}
}
}//package
Section 162
//m (m)
package {
import flash.media.*;
public dynamic class m extends Sound {
}
}//package
Section 163
//m2 (m2)
package {
import flash.media.*;
public dynamic class m2 extends Sound {
}
}//package
Section 164
//map (map)
package {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import fl.motion.*;
import flash.media.*;
public class map extends MovieClip {
var boardSize;
var theTrail:charTrail;
var introTextArray:Array;
var spinHold:Array;
var introPicking:Boolean;// = true
var portalLinesArray:Array;
var poofMC:MovieClip;
var killSwitch:Boolean;// = false
var keyMC:MovieClip;
var offsetCount:Number;// = 0
var voteCount:Number;// = 0
var tileArray:Array;
var placePortal:Boolean;// = true
public var PWindow:pauseWindow;
var isNG:Boolean;// = false
var greenClick:Boolean;// = false
var totalKey:Number;// = 0
var layersPicking:Boolean;// = false
var resetter:Boolean;// = false
var trailLength:Number;// = 6
public var EWindow:exitWindow;
var breakArray:Array;
var bgMC:MovieClip;
var charArray:Array;
var theSlider:slider;
var blinkCast:Number;// = 50
var colorArray:Array;
var currentDoor:Number;
var flipTileNum:Number;// = 142
var fx:SoundChannel;
var tintCast:Number;// = 50
var doorKeyHolder:Array;
var keyHolder:Array;
var OWindow:optionsWindow;
var timeMC:MovieClip;
var greenArray:Array;
var infade:fade1;
var endScreen:String;
var exitVote:Boolean;// = false
var introTalk:Boolean;// = true
var sliderClick:Boolean;// = false
var voteCast:Number;// = 1800
var portalArray:Array;
var overallBG:background;
var placeDoor:Boolean;// = true
var TWindow:tileWindow;// = null
var doorDoorNum:Number;// = 139
var greenTileNum:Number;// = 147
var myParent:MovieClip;
var InWindow:introWindow;
var shiftCount:Number;// = 0
var backArray:Array;
var holdSaying:String;
var mapWidth:Number;// = 17
var flipArray:Array;
var sliderHolder:Array;
var portalLines:MovieClip;
var doorKeyNum:Number;// = 138
var switchBox:switcher;
var sliderArray:Array;
var spinCount:Number;// = 0
var talkCast:Number;// = 800
var CWindow:colorWindow;// = null
var fgMC:MovieClip;
var headPicking:Boolean;// = false
var SWindow:submitWindow;
var mapHolder:MovieClip;
var textPicking:Boolean;// = false
var sliderMC:MovieClip;
var editInterface:editor_interface;
var HWindow:headWindow;
var mapArray:Array;
var grav:Boolean;// = true
var newOverLay:overLay;
var bgCover:background;
var destroyArray:Array;
var winTileNum:Number;// = 38
var nameArray:Array;
var keyTileNum:Number;// = 148
var mapScore:Number;// = 0
var totalLevel:Number;
var trans:MovieClip;
var staticChannel:SoundChannel;
var lineHolder:MovieClip;
var flipHold:Array;
var breakMC:MovieClip;
var timeHolder:Array;
var tintCount:Number;// = 0
var backMap:MovieClip;
var doorHolder:Array;
var textPick:Number;
var blinkCount:Number;// = 0
var mapData:Array;
var mapBeat:Boolean;// = false
var keyArray:Array;
var colorPicking:Boolean;// = false
var currentPortal:Number;
var doorArray:Array;
var trailHolder:MovieClip;
var LWindow:layersWindow;
public var theChar:char;
var mapID:Number;
var gravTileNum:Number;// = 144
var mapDiff:Number;// = 0
var timeArray:Array;
var TXWindow:textWindow;
var newMap:Boolean;// = false
var optionsPicking:Boolean;// = false
var tileWidth:Number;// = 30
var staticFX:Sound;
var talkCount:Number;// = 720
public var currentTile:Number;// = 0
var theInterface:playInterface;
var SlWindow:sleepWindow;
var doorKey:Boolean;// = false
var charClick:Boolean;// = false
var VWindow:voteWindow;
var holdName:String;
var portalTileNum:Number;// = 149
var trailArray:Array;
var gameLive:Boolean;// = false
public function map(_arg1:MovieClip, _arg2:Array, _arg3:Number, _arg4:String=null){
var _local5:Number;
var _local6:Number;
var _local7:key;
var _local8:Number;
var _local9:timeTile;
var _local10:*;
var _local11:tile_outline;
tileArray = new Array();
backArray = new Array();
mapWidth = 17;
tileWidth = 30;
boardSize = (mapWidth * mapWidth);
totalKey = 0;
offsetCount = 0;
keyHolder = new Array();
greenArray = new Array();
destroyArray = new Array();
sliderHolder = new Array();
timeArray = new Array();
timeHolder = new Array();
doorArray = new Array();
doorHolder = new Array();
doorKeyHolder = new Array();
nameArray = new Array();
introTextArray = new Array();
sliderMC = new MovieClip();
keyMC = new MovieClip();
timeMC = new MovieClip();
backMap = new MovieClip();
mapHolder = new MovieClip();
switchBox = new switcher();
poofMC = new MovieClip();
breakMC = new MovieClip();
breakArray = new Array();
overallBG = new background();
bgCover = new background();
grav = true;
spinCount = 0;
shiftCount = 0;
trailArray = new Array();
trailLength = 6;
trailHolder = new MovieClip();
mapDiff = 0;
mapScore = 0;
newMap = false;
lineHolder = new MovieClip();
portalLines = new MovieClip();
portalLinesArray = new Array();
TWindow = null;
CWindow = null;
placePortal = true;
placeDoor = true;
doorKey = false;
gameLive = false;
currentTile = 0;
colorPicking = false;
optionsPicking = false;
layersPicking = false;
textPicking = false;
headPicking = false;
resetter = false;
introPicking = true;
fx = new SoundChannel();
staticFX = new talkingBg();
staticChannel = new SoundChannel();
mapBeat = false;
portalTileNum = 149;
keyTileNum = 148;
greenTileNum = 147;
flipTileNum = 142;
gravTileNum = 144;
doorDoorNum = 139;
doorKeyNum = 138;
winTileNum = 38;
fgMC = new MovieClip();
bgMC = new MovieClip();
voteCount = 0;
voteCast = 1800;
exitVote = false;
textPick = Math.random();
talkCount = 720;
talkCast = 800;
introTalk = true;
tintCount = 0;
tintCast = 50;
blinkCount = 0;
blinkCast = 50;
charClick = false;
sliderClick = false;
greenClick = false;
killSwitch = false;
isNG = false;
super();
holdName = _arg4;
myParent = _arg1;
if (myParent.gameState == "edit"){
if (NewgroundsAPI.hasUserSession()){
} else {
if (NewgroundsAPI.isNewgrounds()){
killSwitch = true;
isNG = true;
} else {
killSwitch = true;
isNG = false;
};
};
};
editInterface = new editor_interface(this);
mapData = _arg2;
mapID = _arg3;
mapArray = mapData[0];
colorArray = mapData[1];
charArray = mapData[2];
GlobalVarContainer.vars.headFlag = charArray[2];
portalArray = mapData[4];
keyArray = mapData[5];
flipArray = mapData[6];
totalLevel = mapData[3][0];
greenArray = mapData[7];
sliderArray = mapData[8];
timeArray = mapData[9];
doorArray = mapData[10];
nameArray = mapData[11];
introTextArray = mapData[12];
setHolds();
if (myParent.gameState == "edit"){
gameLive = false;
} else {
gameLive = true;
};
totalKey = Math.floor((keyArray.length / 3));
x = -30;
y = -30;
addChild(overallBG);
overallBG.y = 30;
addChild(backMap);
addChild(poofMC);
_local10 = 0;
while (_local10 < Math.floor((sliderArray.length / 3))) {
_local5 = (_local10 * 3);
theSlider = new slider(this, sliderArray[_local5], sliderArray[(_local5 + 1)], sliderArray[(_local5 + 2)]);
sliderHolder.push(theSlider);
_local10++;
};
_local10 = 0;
while (_local10 < Math.floor((keyArray.length / 3))) {
_local6 = (_local10 * 3);
_local7 = new key(this, keyArray[_local6], keyArray[(_local6 + 1)], keyArray[(_local6 + 2)]);
keyHolder.push(_local7);
_local10++;
};
_local10 = 0;
while (_local10 < Math.floor((timeArray.length / 4))) {
_local8 = (_local10 * 4);
_local9 = new timeTile(this, timeArray[_local8], timeArray[(_local8 + 1)], timeArray[(_local8 + 2)], timeArray[(_local8 + 3)]);
timeHolder.push(_local9);
_local10++;
};
addChild(bgMC);
addChild(fgMC);
addChild(mapHolder);
addChild(breakMC);
theChar = new char(this, charArray);
addChild(theChar);
if (myParent.gameState == "edit"){
addChild(lineHolder);
_local10 = 0;
while (_local10 < (mapWidth * mapWidth)) {
_local11 = new tile_outline(getHeight(_local10), getWidth(_local10));
lineHolder.addChild(_local11);
_local10++;
};
};
addChild(bgCover);
bgCover.x = 481;
bgCover.y = 20;
if (myParent.gameState == "edit"){
addChild(editInterface);
addChild(portalLines);
HWindow = new headWindow(this);
addChild(HWindow);
TXWindow = new textWindow(this);
addChild(TXWindow);
LWindow = new layersWindow(this);
addChild(LWindow);
OWindow = new optionsWindow(this);
addChild(OWindow);
TWindow = new tileWindow(this, offsetCount);
addChild(TWindow);
CWindow = new colorWindow(this);
addChild(CWindow);
CWindow.offPos();
SWindow = new submitWindow(this);
addChild(SWindow);
InWindow = new introWindow(this);
addChild(InWindow);
if (!myParent._sharedObj.data.editIntro){
introPicking = true;
myParent._sharedObj.data.editIntro = true;
};
} else {
if (myParent.gameState == "play"){
newOverLay = new overLay();
addChild(newOverLay);
trace((myParent.currentLevel + 1));
newOverLay.gotoAndStop((myParent.currentLevel + 1));
newOverLay.x = 30;
newOverLay.y = 30;
};
theInterface = new playInterface(this);
PWindow = new pauseWindow(this);
addChild(PWindow);
SlWindow = new sleepWindow(this);
addChild(SlWindow);
VWindow = new voteWindow(this);
addChild(VWindow);
addChild(theInterface);
theInterface.gameVocals.setInGame();
getLevelName();
infade = new fade1();
infade.x = 30;
infade.y = 30;
shiftCount = infade.totalFrames;
addChild(infade);
};
EWindow = new exitWindow(this);
addChild(EWindow);
switchBox.x = 30;
switchBox.y = 30;
switchBox.mouseEnabled = false;
switchBox.mouseChildren = false;
addChild(switchBox);
buildMap(offsetCount);
setActive();
holdSaying = getSaying("randomVocals");
}
public function checkTime(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:*;
var _local6:*;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((timeArray.length / 4))) {
_local6 = (_local5 * 4);
if ((((((timeArray[_local6] == _arg3)) && ((timeArray[(_local6 + 1)] == _arg1)))) && ((timeArray[(_local6 + 2)] == _arg2)))){
_local4 = true;
};
_local5++;
};
return (_local4);
}
public function checkSlider(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:*;
var _local6:*;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((sliderArray.length / 3))) {
_local6 = (_local5 * 3);
if ((((((sliderArray[_local6] == _arg3)) && ((sliderArray[(_local6 + 1)] == _arg1)))) && ((sliderArray[(_local6 + 2)] == _arg2)))){
_local4 = true;
};
_local5++;
};
return (_local4);
}
function getWidth(_arg1):Number{
return (Math.floor((_arg1 / mapWidth)));
}
public function buildMap(_arg1:Number=0, _arg2:Number=0){
var _local3:*;
var _local4:*;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Color;
var _local9:*;
var _local10:Boolean;
var _local11:tile;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:*;
var _local20:*;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:*;
var _local25:tile;
newMap = true;
_local3 = (_arg1 * boardSize);
_local4 = (_arg1 * mapWidth);
_local7 = _arg1;
_local8 = new Color();
_local8.setTint(colorArray[((_local7 * 3) + 2)], 0.8);
overallBG.transform.colorTransform = _local8;
bgCover.transform.colorTransform = _local8;
if (myParent.gameState == "play"){
newOverLay.transform.colorTransform = _local8;
};
_local8.setTint(colorArray[(_local7 * 3)], 0.5);
if (myParent.gameState == "edit"){
editInterface.transform.colorTransform = _local8;
HWindow.transform.colorTransform = _local8;
TXWindow.transform.colorTransform = _local8;
LWindow.transform.colorTransform = _local8;
OWindow.transform.colorTransform = _local8;
TWindow.transform.colorTransform = _local8;
CWindow.bg.transform.colorTransform = _local8;
SWindow.transform.colorTransform = _local8;
InWindow.transform.colorTransform = _local8;
} else {
PWindow.transform.colorTransform = _local8;
SlWindow.transform.colorTransform = _local8;
VWindow.transform.colorTransform = _local8;
theInterface.transform.colorTransform = _local8;
};
EWindow.transform.colorTransform = _local8;
switchBox.transform.colorTransform = _local8;
_local8.setTint(colorArray[(_local7 * 3)], 0.5);
theChar.transform.colorTransform = _local8;
_local9 = 0;
while (_local9 < boardSize) {
tileArray.push(_local9);
_local9++;
};
_local9 = 0;
while (_local9 < boardSize) {
_local5 = spinX(getHeight(_local9), getWidth(_local9));
_local6 = spinY(getHeight(_local9), getWidth(_local9));
_local11 = new tile(_local5, _local6, mapArray[(_local9 + _local3)], colorArray[(_local7 * 3)], _arg1, spinHold[_arg1], flipHold[_arg1]);
mapHolder.addChild(_local11);
tileArray[((_local6 * mapWidth) + _local5)] = _local11;
if (_local11.currentFrame == 34){
if (totalKey == 0){
_local11.openDoor();
};
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((portalArray.length / 6))) {
_local12 = (_local9 * 6);
if (portalArray[_local12] == _arg1){
_local5 = spinX(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)]);
_local6 = spinY(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)]);
_local13 = spinX(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)], portalArray[(_local12 + 3)]);
_local14 = spinY(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)], portalArray[(_local12 + 3)]);
_local11 = new tile(_local5, _local6, portalTileNum, colorArray[(_local7 * 3)], portalArray[(_local12 + 3)]);
mapHolder.addChild(_local11);
tileArray.push(_local11);
tileArray[((mapWidth * Number(_local6)) + Number(_local5))].setTele(portalArray[(_local12 + 3)], _local13, _local14);
};
if (portalArray[(_local12 + 3)] == _arg1){
_local5 = spinX(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)]);
_local6 = spinY(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)]);
_local13 = spinX(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)], portalArray[_local12]);
_local14 = spinY(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)], portalArray[_local12]);
_local11 = new tile(_local5, _local6, portalTileNum, colorArray[(_local7 * 3)], portalArray[_local12]);
mapHolder.addChild(_local11);
tileArray.push(_local11);
tileArray[((mapWidth * Number(_local6)) + Number(_local5))].setTele(portalArray[_local12], _local13, _local14);
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((flipArray.length / 4))) {
_local15 = (_local9 * 4);
_local5 = spinX(flipArray[(_local15 + 1)], flipArray[(_local15 + 2)]);
_local6 = spinY(flipArray[(_local15 + 1)], flipArray[(_local15 + 2)]);
if (flipArray[_local15] == _arg1){
_local16 = flipArray[(_local15 + 3)];
_local11 = new tile(_local5, _local6, (flipTileNum + _local16), colorArray[(_local7 * 3)]);
mapHolder.addChild(_local11);
tileArray.push(_local11);
if (flipArray[(_local15 + 3)] == 2){
if (grav){
} else {
_local11.y = (_local11.y + 30);
_local11.scaleY = -1;
};
};
tileArray[((_local6 * mapWidth) + _local5)].setFlip(flipArray[(_local15 + 3)]);
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((destroyArray.length / 3))) {
_local17 = (_local9 * 3);
_local5 = spinX(destroyArray[_local17], destroyArray[(_local17 + 1)]);
_local6 = spinY(destroyArray[_local17], destroyArray[(_local17 + 1)]);
if (destroyArray[(_local17 + 2)] == _arg1){
tileArray[((_local6 * mapWidth) + _local5)].setTile(0, _arg1, 0);
};
_local9++;
};
_local9 = 0;
while (_local9 < sliderHolder.length) {
_local5 = sliderHolder[_local9].xTile;
_local6 = sliderHolder[_local9].yTile;
sliderHolder[_local9].setTile();
if (sliderHolder[_local9].currentLayer == offsetCount){
_local24 = 0;
while (_local24 < sliderHolder.length) {
if (sliderHolder[_local9] != sliderHolder[_local24]){
if ((((((sliderHolder[_local9].xTile == sliderHolder[_local24].xTile)) && ((sliderHolder[_local9].yTile == sliderHolder[_local24].yTile)))) && ((sliderHolder[_local9].currentLayer == sliderHolder[_local24].currentLayer)))){
makeBreakPoof(_local5, _local6, sliderHolder[_local9].currentLayer);
sliderHolder[_local9].breakSlider();
setActive();
};
};
_local24++;
};
};
if (((!((_local5 == 0))) && ((sliderHolder[_local9].currentLayer == offsetCount)))){
if (tileArray[((_local6 * mapWidth) + _local5)].isClear()){
destroyTile(_local5, _local6, _local7);
tileArray[((_local6 * mapWidth) + _local5)].setTile(0, offsetCount, colorArray[(_local7 * 3)]);
};
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((doorArray.length / 6))) {
doorHolder.push(0);
doorKeyHolder.push(0);
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((doorArray.length / 6))) {
_local18 = (_local9 * 6);
_local5 = spinX(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)]);
_local6 = spinY(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)]);
if (doorArray[_local18] == _arg1){
_local11 = new tile(_local5, _local6, doorKeyNum, colorArray[(_local7 * 3)]);
mapHolder.addChild(_local11);
doorKeyHolder[_local9] = _local11;
tileArray.push(_local11);
};
_local5 = spinX(doorArray[(_local18 + 4)], doorArray[(_local18 + 5)]);
_local6 = spinY(doorArray[(_local18 + 4)], doorArray[(_local18 + 5)]);
if (doorArray[(_local18 + 3)] == _arg1){
_local11 = new tile(_local5, _local6, doorDoorNum, colorArray[(_local7 * 3)]);
mapHolder.addChild(_local11);
tileArray.push(_local11);
doorHolder[_local9] = _local11;
_local11 = new tile(_local5, _local6, doorKeyNum, colorArray[(_local7 * 3)]);
doorKeyHolder[_local9] = _local11;
_local19 = spinX(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)]);
_local20 = spinY(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)]);
if ((((_local19 == theChar.xTile)) && ((_local20 == theChar.yTile)))){
_local11.startOpen = true;
};
_local24 = 0;
while (_local24 < sliderHolder.length) {
if ((((((_local19 == sliderHolder[_local24].xTile)) && ((_local20 == sliderHolder[_local24].yTile)))) && ((doorArray[_local18] == sliderHolder[_local24].currentLayer)))){
_local11.startOpen = true;
};
_local24++;
};
_local24 = 0;
while (_local24 < Math.floor((greenArray.length / 6))) {
_local23 = (_local24 * 6);
greenSpinX(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
_local21 = greenSpinX(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
_local22 = greenSpinY(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
if ((((((_local19 == _local21)) && ((_local20 == _local22)))) && ((doorArray[_local18] == greenArray[(_local23 + 3)])))){
_local11.startOpen = true;
};
_local24++;
};
};
_local9++;
};
trace(doorKeyHolder);
_local10 = false;
_local9 = 0;
while (_local9 < Math.floor((greenArray.length / 6))) {
_local23 = (_local9 * 6);
_local5 = greenSpinX(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
_local6 = greenSpinY(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
if (greenArray[(_local23 + 3)] == _arg1){
_local24 = 0;
while (_local24 < sliderHolder.length) {
if ((((((sliderHolder[_local24].xTile == _local5)) && ((sliderHolder[_local24].yTile == _local6)))) && ((sliderHolder[_local24].currentLayer == _arg1)))){
if ((((_local24 == theChar.slowTar)) && (theChar.slowPush))){
theChar.breakPush();
};
sliderHolder[_local24].breakSlider();
destroyTile(_local5, _local6, _local7);
};
_local24++;
};
if (tileArray[((_local6 * mapWidth) + _local5)].isClear()){
destroyTile(_local5, _local6, _local7);
};
tileArray[((_local6 * mapWidth) + _local5)].setTile(greenTileNum, _arg1, colorArray[(_local7 * 3)]);
};
_local9++;
};
if (_arg1 >= totalLevel){
_arg1 = 0;
} else {
_arg1++;
};
_local3 = (_arg1 * boardSize);
_local9 = 0;
while (_local9 < boardSize) {
backArray.push(_local9);
_local9++;
};
_local9 = 0;
while (_local9 < boardSize) {
_local5 = spinX(getHeight(_local9), getWidth(_local9), _arg1);
_local6 = spinY(getHeight(_local9), getWidth(_local9), _arg1);
_local25 = new tile(_local5, _local6, mapArray[(_local9 + _local3)], colorArray[((_local7 * 3) + 1)], _arg1, spinHold[_arg1], flipHold[_arg1]);
backMap.addChild(_local25);
backArray[((_local6 * mapWidth) + _local5)] = _local25;
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((portalArray.length / 6))) {
_local12 = (_local9 * 6);
if (portalArray[_local12] == _arg1){
_local5 = spinX(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)], _arg1);
_local6 = spinY(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)], _arg1);
_local13 = spinX(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)], portalArray[(_local12 + 3)]);
_local14 = spinY(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)], portalArray[(_local12 + 3)]);
_local11 = new tile(_local5, _local6, portalTileNum, colorArray[((_local7 * 3) + 1)]);
backMap.addChild(_local11);
backArray.push(_local11);
};
if (portalArray[(_local12 + 3)] == _arg1){
_local5 = spinX(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)], _arg1);
_local6 = spinY(portalArray[(_local12 + 4)], portalArray[(_local12 + 5)], _arg1);
_local13 = spinX(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)], portalArray[_local12]);
_local14 = spinY(portalArray[(_local12 + 1)], portalArray[(_local12 + 2)], portalArray[_local12]);
_local11 = new tile(_local5, _local6, portalTileNum, colorArray[((_local7 * 3) + 1)]);
backMap.addChild(_local11);
backArray.push(_local11);
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((flipArray.length / 4))) {
_local15 = (_local9 * 4);
_local5 = spinX(flipArray[(_local15 + 1)], flipArray[(_local15 + 2)], _arg1);
_local6 = spinY(flipArray[(_local15 + 1)], flipArray[(_local15 + 2)], _arg1);
if (flipArray[_local15] == _arg1){
_local16 = flipArray[(_local15 + 3)];
_local11 = new tile(_local5, _local6, (flipTileNum + _local16), colorArray[((_local7 * 3) + 1)]);
backMap.addChild(_local11);
backArray.push(_local11);
if (flipArray[(_local15 + 3)] == 2){
if (grav){
} else {
_local11.y = (_local11.y + 30);
_local11.scaleY = -1;
};
};
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((doorArray.length / 6))) {
_local18 = (_local9 * 6);
_local5 = spinX(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)], _arg1);
_local6 = spinY(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)], _arg1);
if (doorArray[_local18] == _arg1){
_local11 = new tile(_local5, _local6, doorKeyNum, colorArray[((_local7 * 3) + 1)]);
backMap.addChild(_local11);
backArray.push(_local11);
doorKeyHolder[_local9] = _local11;
};
_local5 = spinX(doorArray[(_local18 + 4)], doorArray[(_local18 + 5)], _arg1);
_local6 = spinY(doorArray[(_local18 + 4)], doorArray[(_local18 + 5)], _arg1);
if (doorArray[(_local18 + 3)] == _arg1){
_local11 = new tile(_local5, _local6, doorDoorNum, colorArray[((_local7 * 3) + 1)]);
backMap.addChild(_local11);
backArray.push(_local11);
doorHolder[_local9] = _local11;
_local11 = new tile(_local5, _local6, doorKeyNum, colorArray[(_local7 * 3)]);
doorKeyHolder[_local9] = _local11;
};
_local19 = spinX(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)]);
_local20 = spinY(doorArray[(_local18 + 1)], doorArray[(_local18 + 2)]);
if (doorArray[(_local18 + 3)] == _arg1){
if ((((_local19 == theChar.xTile)) && ((_local20 == theChar.yTile)))){
_local11.startOpen = true;
};
_local24 = 0;
while (_local24 < sliderHolder.length) {
if ((((((_local19 == sliderHolder[_local24].xTile)) && ((_local20 == sliderHolder[_local24].yTile)))) && ((doorArray[_local18] == sliderHolder[_local24].currentLayer)))){
_local11.startOpen = true;
};
_local24++;
};
_local24 = 0;
while (_local24 < Math.floor((greenArray.length / 6))) {
_local23 = (_local24 * 6);
greenSpinX(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
_local21 = greenSpinX(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
_local22 = greenSpinY(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
if ((((((_local19 == _local21)) && ((_local20 == _local22)))) && ((doorArray[_local18] == greenArray[(_local23 + 3)])))){
_local11.startOpen = true;
};
_local24++;
};
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((destroyArray.length / 3))) {
_local17 = (_local9 * 3);
_local5 = spinX(destroyArray[_local17], destroyArray[(_local17 + 1)], _arg1);
_local6 = spinY(destroyArray[_local17], destroyArray[(_local17 + 1)], _arg1);
if (destroyArray[(_local17 + 2)] == _arg1){
backArray[((_local6 * mapWidth) + _local5)].setTile(0, _arg1, colorArray[(_local7 * 3)]);
};
_local9++;
};
_local9 = 0;
while (_local9 < Math.floor((greenArray.length / 6))) {
_local23 = (_local9 * 6);
_local5 = greenSpinX(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
_local6 = greenSpinY(greenArray[(_local23 + 1)], greenArray[(_local23 + 2)], _local23);
if (greenArray[(_local23 + 3)] == _arg1){
backArray[((_local6 * mapWidth) + _local5)].setTile(greenTileNum, _arg1, colorArray[((_local7 * 3) + 1)]);
};
_local9++;
};
if (theChar.checkDeath()){
theChar.isDead = true;
theChar.deadCount = 0;
shiftCount = 0;
};
}
function tintSliders():void{
var _local1:Boolean;
var _local2:*;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local1 = false;
_local2 = 0;
while (_local2 < sliderHolder.length) {
_local3 = sliderHolder[_local2].x;
_local4 = sliderHolder[_local2].y;
if (sliderHolder[_local2].currentLayer == offsetCount){
_local5 = Math.abs((theChar.y - _local4));
_local6 = Math.abs((theChar.x - _local3));
_local7 = Math.sqrt(((_local6 * _local6) + (_local5 * _local5)));
if ((((((_local6 < 25)) && ((_local5 < 35)))) && ((_local7 < 35)))){
_local1 = true;
sliderHolder[_local2].play();
} else {
if (sliderHolder[_local2].currentFrame != 1){
sliderHolder[_local2].gotoAndStop(1);
};
};
};
_local2++;
};
if (_local1){
playBlink();
};
}
public function checkKey(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((keyArray.length / 3))) {
_local6 = (_local5 * 3);
if ((((((keyArray[_local6] == _arg3)) && ((keyArray[(_local6 + 1)] == _arg1)))) && ((keyArray[(_local6 + 2)] == _arg2)))){
_local4 = true;
};
_local5++;
};
return (_local4);
}
function getHeight(_arg1):Number{
return ((_arg1 % mapWidth));
}
function spinL():void{
var _local1:*;
var _local2:Number;
_local1 = 0;
while (_local1 < spinHold.length) {
if (!flipHold[_local1]){
if (spinHold[_local1] >= 3){
spinHold[_local1] = 0;
} else {
var _local3 = spinHold;
var _local4 = _local1;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
};
} else {
if (spinHold[_local1] <= 0){
spinHold[_local1] = 3;
} else {
_local3 = spinHold;
_local4 = _local1;
_local5 = (_local3[_local4] - 1);
_local3[_local4] = _local5;
};
};
_local1++;
};
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
if (greenArray[(_local2 + 5)] == 0){
if (greenArray[(_local2 + 4)] >= 3){
greenArray[(_local2 + 4)] = 0;
} else {
_local3 = greenArray;
_local4 = (_local2 + 4);
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
};
} else {
if (greenArray[(_local2 + 4)] <= 0){
greenArray[(_local2 + 4)] = 3;
} else {
_local3 = greenArray;
_local4 = (_local2 + 4);
_local5 = (_local3[_local4] - 1);
_local3[_local4] = _local5;
};
};
_local1++;
};
_local1 = 0;
while (_local1 < sliderHolder.length) {
sliderHolder[_local1].spinSlider("l");
_local1++;
};
_local1 = 0;
while (_local1 < keyHolder.length) {
keyHolder[_local1].spinKey("l");
_local1++;
};
_local1 = 0;
while (_local1 < timeHolder.length) {
timeHolder[_local1].spinTime("l");
_local1++;
};
}
public function playSoundFX(_arg1:String):void{
var _local2:Class;
var _local3:Sound;
_local2 = (getDefinitionByName(_arg1) as Class);
_local3 = new (_local2);
fx = _local3.play();
fx.soundTransform = myParent.fxTransform;
}
public function spinY(_arg1:Number, _arg2:Number, _arg3:Number=-1):Number{
if (_arg3 == -1){
_arg3 = offsetCount;
};
switch (spinHold[_arg3]){
case 1:
return (_arg1);
case 2:
return (((mapWidth - _arg2) - 1));
case 3:
return (((mapWidth - _arg1) - 1));
default:
return (_arg2);
};
}
function setHolds():void{
var _local1:*;
flipHold = new Array();
spinHold = new Array();
_local1 = 0;
while (_local1 <= totalLevel) {
flipHold.push(false);
spinHold.push(0);
_local1++;
};
}
public function spinX(_arg1:Number, _arg2:Number, _arg3:Number=-1):Number{
var _local4:Number;
if (_arg3 == -1){
_arg3 = offsetCount;
};
_local4 = _arg1;
switch (spinHold[_arg3]){
case 0:
break;
case 1:
_local4 = ((mapWidth - _arg2) - 1);
break;
case 2:
_local4 = ((mapWidth - _local4) - 1);
break;
case 3:
_local4 = _arg2;
break;
};
if (flipHold[_arg3]){
_local4 = ((mapWidth - _local4) - 1);
};
return (_local4);
}
function spinR():void{
var _local1:*;
var _local2:Number;
_local1 = 0;
while (_local1 < spinHold.length) {
if (flipHold[_local1]){
if (spinHold[_local1] >= 3){
spinHold[_local1] = 0;
} else {
var _local3 = spinHold;
var _local4 = _local1;
var _local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
};
} else {
if (spinHold[_local1] <= 0){
spinHold[_local1] = 3;
} else {
_local3 = spinHold;
_local4 = _local1;
_local5 = (_local3[_local4] - 1);
_local3[_local4] = _local5;
};
};
_local1++;
};
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
if (greenArray[(_local2 + 5)] == 1){
if (greenArray[(_local2 + 4)] >= 3){
greenArray[(_local2 + 4)] = 0;
} else {
_local3 = greenArray;
_local4 = (_local2 + 4);
_local5 = (_local3[_local4] + 1);
_local3[_local4] = _local5;
};
} else {
if (greenArray[(_local2 + 4)] <= 0){
greenArray[(_local2 + 4)] = 3;
} else {
_local3 = greenArray;
_local4 = (_local2 + 4);
_local5 = (_local3[_local4] - 1);
_local3[_local4] = _local5;
};
};
_local1++;
};
_local1 = 0;
while (_local1 < sliderHolder.length) {
sliderHolder[_local1].spinSlider("r");
_local1++;
};
_local1 = 0;
while (_local1 < keyHolder.length) {
keyHolder[_local1].spinKey("r");
_local1++;
};
_local1 = 0;
while (_local1 < timeHolder.length) {
timeHolder[_local1].spinTime("r");
_local1++;
};
}
function flipGrav():void{
if (grav){
playSoundFX("gravityUp");
} else {
playSoundFX("gravityDown");
};
grav = !(grav);
rebuildMap();
theChar.jumping = true;
}
function someCheck(_arg1, _arg2:int, _arg3:Array):Boolean{
if (_arg1 == mapID){
return (true);
};
return (false);
}
public function removeKeyB(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local6 = 0;
while (_local6 < Math.floor((keyArray.length / 3))) {
_local7 = (_local6 * 3);
if ((((((keyArray[_local7] == _arg3)) && ((keyArray[(_local7 + 1)] == _arg1)))) && ((keyArray[(_local7 + 2)] == _arg2)))){
_local5 = _local6;
_local4 = _local7;
};
_local6++;
};
if (_local4 >= 0){
keyArray.splice(_local4, 3);
fgMC.removeChild(keyHolder[_local5]);
keyHolder.splice(_local5, 1);
rebuildMap();
};
}
public function playBlink(){
if (blinkCount > blinkCast){
blinkCount = 0;
} else {
blinkCount++;
};
}
function tintGreens():void{
var _local1:Boolean;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local1 = false;
_local2 = 0;
while (_local2 < Math.floor((greenArray.length / 6))) {
_local3 = (_local2 * 6);
_local4 = greenSpinX(greenArray[(_local3 + 1)], greenArray[(_local3 + 2)], _local3);
_local5 = greenSpinY(greenArray[(_local3 + 1)], greenArray[(_local3 + 2)], _local3);
if (greenArray[(_local3 + 3)] == offsetCount){
if (grav){
if (((((myParent.upLook) && ((Math.abs(theChar.xSpeed) < 1)))) || (theChar.jumping))){
_local8 = Math.abs(((theChar.y - 3) - ((_local5 * tileWidth) + (tileWidth / 2))));
} else {
_local8 = Math.abs(((theChar.y + 6) - ((_local5 * tileWidth) + (tileWidth / 2))));
};
} else {
if (((((myParent.upLook) && ((Math.abs(theChar.xSpeed) < 1)))) || (theChar.jumping))){
_local8 = Math.abs(((theChar.y + 3) - ((_local5 * tileWidth) + (tileWidth / 2))));
} else {
_local8 = Math.abs(((theChar.y - 6) - ((_local5 * tileWidth) + (tileWidth / 2))));
};
};
_local6 = Math.abs((theChar.x - ((_local4 * tileWidth) + (tileWidth / 2))));
_local7 = Math.sqrt(((_local6 * _local6) + (_local8 * _local8)));
if ((((((_local6 < 25)) && ((_local8 < 35)))) && ((_local7 < 35)))){
_local1 = true;
tileArray[((_local5 * mapWidth) + _local4)].green.play();
} else {
tileArray[((_local5 * mapWidth) + _local4)].green.stop();
};
};
_local2++;
};
if (_local1){
playBlink();
};
}
function tileBreakSound(){
var _local1:Number;
_local1 = Math.ceil((Math.random() * 3));
playSoundFX(("blockbreak" + _local1));
}
public function checkDoor(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:*;
var _local6:*;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((doorArray.length / 6))) {
_local6 = (_local5 * 6);
if ((((((((doorArray[_local6] == _arg3)) && ((doorArray[(_local6 + 1)] == _arg1)))) && ((doorArray[(_local6 + 2)] == _arg2)))) || ((((((doorArray[(_local6 + 3)] == _arg3)) && ((doorArray[(_local6 + 4)] == _arg1)))) && ((doorArray[(_local6 + 5)] == _arg2)))))){
_local4 = true;
};
_local5++;
};
return (_local4);
}
public function removeGreen(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:*;
var _local6:Number;
_local5 = 0;
while (_local5 < Math.floor((greenArray.length / 6))) {
_local6 = (_local5 * 6);
if (greenArray[(_local6 + 3)] == _arg3){
if ((((_arg1 == greenArray[(_local6 + 1)])) && ((_arg2 == greenArray[(_local6 + 2)])))){
_local4 = _local6;
};
};
_local5++;
};
if (_local4 >= 0){
greenArray.splice(_local4, 6);
rebuildMap();
};
}
function checkGreens():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
_local3 = greenSpinX(greenArray[(_local2 + 1)], greenArray[(_local2 + 2)], _local2);
_local4 = greenSpinY(greenArray[(_local2 + 1)], greenArray[(_local2 + 2)], _local2);
if (greenArray[(_local2 + 3)] == offsetCount){
if (grav){
if (((((myParent.upLook) && ((Math.abs(theChar.xSpeed) < 1)))) || (theChar.jumping))){
_local7 = Math.abs(((theChar.y - 3) - ((_local4 * tileWidth) + (tileWidth / 2))));
} else {
_local7 = Math.abs(((theChar.y + 6) - ((_local4 * tileWidth) + (tileWidth / 2))));
};
} else {
if (((((myParent.upLook) && ((Math.abs(theChar.xSpeed) < 1)))) || (theChar.jumping))){
_local7 = Math.abs(((theChar.y + 3) - ((_local4 * tileWidth) + (tileWidth / 2))));
} else {
_local7 = Math.abs(((theChar.y - 6) - ((_local4 * tileWidth) + (tileWidth / 2))));
};
};
_local5 = Math.abs((theChar.x - ((_local3 * tileWidth) + (tileWidth / 2))));
_local6 = Math.sqrt(((_local5 * _local5) + (_local7 * _local7)));
if ((((((_local5 < 25)) && ((_local7 < 35)))) && ((_local6 < 35)))){
if (greenArray[(_local2 + 3)] >= totalLevel){
greenArray[(_local2 + 3)] = 0;
} else {
var _local8 = greenArray;
var _local9 = (_local2 + 3);
var _local10 = (_local8[_local9] + 1);
_local8[_local9] = _local10;
};
};
};
_local1++;
};
}
public function exit(){
stopStaticFX();
if (myParent.gameState == "play"){
myParent.stopMusic();
myParent.gotoAndStop("menu");
} else {
if (myParent.gameState == "multi"){
if (voteCount >= voteCast){
mapBeat = true;
endScreen = "submit";
} else {
myParent.stopMusic();
myParent.gotoAndStop("menu");
};
} else {
if (myParent.gameState == "multiC"){
if (voteCount >= voteCast){
mapBeat = true;
exitVote = true;
endScreen = "submit";
} else {
myParent.stopMusic();
myParent.gotoAndStop("menu");
};
} else {
if (myParent.gameState == "edit"){
myParent.stopMusic();
myParent.gotoAndStop("menu");
};
};
};
};
}
function unSpinX(_arg1:Number, _arg2:Number){
var _local3:Number;
_local3 = _arg1;
switch (spinHold[offsetCount]){
case 0:
if (flipHold[offsetCount]){
_local3 = ((mapWidth - _local3) - 1);
};
break;
case 3:
_local3 = ((mapWidth - _arg2) - 1);
break;
case 2:
if (flipHold[offsetCount]){
} else {
_local3 = ((mapWidth - _local3) - 1);
};
break;
case 1:
_local3 = _arg2;
break;
};
return (_local3);
}
function unSpinY(_arg1:Number, _arg2:Number){
var _local3:Number;
_local3 = _arg1;
switch (spinHold[offsetCount]){
case 3:
if (flipHold[offsetCount]){
return (((mapWidth - _arg1) - 1));
};
return (_arg1);
case 2:
return (((mapWidth - _arg2) - 1));
case 1:
if (flipHold[offsetCount]){
return (_arg1);
};
return (((mapWidth - _arg1) - 1));
default:
return (_arg2);
};
}
public function playGame():void{
if (voteCount <= voteCast){
voteCount++;
};
if (trans){
if (trans.currentFrame == trans.totalFrames){
endTrans();
};
};
if (!mapBeat){
if (gameLive){
playGameRoot();
changeMap();
};
} else {
if ((((myParent.gameState == "multi")) || ((myParent.gameState == "multiC")))){
if (endScreen == "submit"){
if (VWindow.x > 600){
stopStaticFX();
VWindow.setPos();
};
};
};
};
}
public function removeTime(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:*;
_local6 = 0;
while (_local6 < Math.floor((timeArray.length / 4))) {
_local7 = (_local6 * 4);
if ((((((timeArray[_local7] == _arg3)) && ((timeArray[(_local7 + 1)] == _arg1)))) && ((timeArray[(_local7 + 2)] == _arg2)))){
_local4 = _local7;
_local5 = _local6;
};
_local6++;
};
if (_local4 >= 0){
timeArray.splice(_local4, 4);
fgMC.removeChild(timeHolder[_local5]);
timeHolder.splice(_local5, 1);
rebuildMap();
};
}
public function getLevelName(){
var _local1:String;
var _local2:*;
_local1 = nameArray[0];
_local2 = 1;
while (_local2 < nameArray.length) {
_local1 = (_local1 + ("," + nameArray[_local2]));
_local2++;
};
theInterface.levelName.text = _local1;
}
function increaseOffset(){
if (offsetCount >= totalLevel){
offsetCount = 0;
} else {
offsetCount++;
};
}
function checkSliders():void{
var _local1:*;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local1 = 0;
while (_local1 < sliderHolder.length) {
_local2 = sliderHolder[_local1].x;
_local3 = sliderHolder[_local1].y;
if (sliderHolder[_local1].currentLayer == offsetCount){
_local4 = Math.abs((theChar.y - _local3));
_local5 = Math.abs((theChar.x - _local2));
_local6 = Math.sqrt(((_local5 * _local5) + (_local4 * _local4)));
if ((((((_local5 < 25)) && ((_local4 < 35)))) && ((_local6 < 35)))){
if (sliderHolder[_local1].currentLayer >= totalLevel){
sliderHolder[_local1].currentLayer = 0;
} else {
sliderHolder[_local1].currentLayer++;
};
};
};
_local1++;
};
}
public function startEdit(){
mapBeat = false;
gameLive = false;
SWindow.offPos();
resetMap();
}
function sendLevelXML(_arg1:Event){
var _local2:XML;
_local2 = new XML(_arg1.target.data);
parseLevelXML(_local2);
}
public function resetMap():void{
var _local1:*;
var _local2:Number;
if (myParent.gameState != "edit"){
stopStaticFX();
if (!theInterface.gameVocals.isPlaying){
theInterface.gameVocals.startSound(getSaying("deathVocals"));
};
};
myParent.mapShift = false;
setHolds();
removeMap();
grav = true;
theChar.resetMe();
_local1 = 0;
while (_local1 < Math.floor((keyArray.length / 3))) {
_local1++;
};
_local1 = 0;
while (_local1 < sliderHolder.length) {
sliderHolder[_local1].startSlider();
_local1++;
};
_local1 = 0;
while (_local1 < keyHolder.length) {
keyHolder[_local1].startKey();
_local1++;
};
_local1 = 0;
while (_local1 < timeHolder.length) {
timeHolder[_local1].startTime();
_local1++;
};
destroyArray = new Array();
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
greenArray[(_local2 + 3)] = greenArray[_local2];
greenArray[(_local2 + 4)] = 0;
greenArray[(_local2 + 5)] = 0;
_local1++;
};
_local1 = poofMC.numChildren;
while (_local1 > 0) {
poofMC.removeChildAt((_local1 - 1));
_local1--;
};
totalKey = Math.floor((keyArray.length / 3));
offsetCount = 0;
setActive();
theChar.startChar();
buildMap(offsetCount);
}
function flipMap():void{
var _local1:*;
var _local2:Number;
removeMap();
flipHold[offsetCount] = !(flipHold[offsetCount]);
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
if (greenArray[(_local2 + 3)] == offsetCount){
greenArray[(_local2 + 5)] = (1 - Number(greenArray[(_local2 + 5)]));
};
_local1++;
};
_local1 = 0;
while (_local1 < sliderHolder.length) {
sliderHolder[_local1].spinSlider("f");
_local1++;
};
_local1 = 0;
while (_local1 < keyHolder.length) {
keyHolder[_local1].spinKey("f");
_local1++;
};
_local1 = 0;
while (_local1 < timeHolder.length) {
timeHolder[_local1].spinTime("f");
_local1++;
};
SFGreens();
buildMap(offsetCount);
switchBox.gotoAndPlay("hor");
shiftCount = 10;
}
public function checkFlip(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:*;
var _local6:Number;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((flipArray.length / 4))) {
_local6 = (_local5 * 4);
if (flipArray[_local6] == _arg3){
if ((((_arg1 == flipArray[(_local6 + 1)])) && ((_arg2 == flipArray[(_local6 + 2)])))){
_local4 = true;
};
};
_local5++;
};
return (_local4);
}
public function playEditor():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:String;
var _local6:Boolean;
var _local7:*;
var _local8:Number;
var _local9:MovieClip;
var _local10:Boolean;
var _local11:Number;
var _local12:key;
var _local13:Boolean;
var _local14:Number;
var _local15:Boolean;
var _local16:Number;
var _local17:slider;
var _local18:Boolean;
var _local19:Number;
var _local20:timeTile;
var _local21:Boolean;
var _local22:Number;
var _local23:Number;
if (!killSwitch){
if (!gameLive){
if (((((((((((!(colorPicking)) && (!(optionsPicking)))) && (!(layersPicking)))) && (!(textPicking)))) && (!(headPicking)))) && (!(introPicking)))){
_local1 = Math.floor((mouseX / 30));
_local2 = Math.floor((mouseY / 30));
if ((((((((mouseX > 30)) && ((mouseX < 480)))) && ((mouseY > 30)))) && ((mouseY < 480)))){
_local5 = "";
if (currentTile == 200){
_local5 = TWindow.charDesc;
} else {
if (currentTile == 201){
_local5 = TWindow.portalDesc;
} else {
if (currentTile == 202){
_local5 = TWindow.keyDesc;
} else {
if (currentTile == 203){
_local5 = TWindow.greenDesc;
} else {
if (currentTile == 204){
_local5 = TWindow.sliderDesc;
} else {
if (currentTile == 205){
_local5 = TWindow.timeDesc;
} else {
if (currentTile == 206){
_local5 = TWindow.doorDesc;
} else {
if (currentTile >= 300){
_local5 = TWindow.flipArray[(currentTile - 300)];
} else {
_local5 = TWindow.descArray[currentTile];
};
};
};
};
};
};
};
};
TWindow.blockDesc.text = _local5;
};
if (myParent.mouseDown){
if ((((((((mouseX > 30)) && ((mouseX < 480)))) && ((mouseY > 30)))) && ((mouseY < 480)))){
if (myParent.shiftHold){
if ((((charArray[0] == _local1)) && ((charArray[1] == _local2)))){
currentTile = 200;
} else {
if (checkPortal(_local1, _local2, offsetCount)){
currentTile = 201;
} else {
if (checkKey(_local1, _local2, offsetCount)){
currentTile = 202;
} else {
if (checkGreen(_local1, _local2, offsetCount)){
currentTile = 203;
} else {
if (checkSlider(_local1, _local2, offsetCount)){
currentTile = 204;
} else {
if (checkTime(_local1, _local2, offsetCount)){
currentTile = 205;
} else {
if (checkDoor(_local1, _local2, offsetCount)){
currentTile = 206;
} else {
if (checkFlip(_local1, _local2, offsetCount)){
currentTile = getFlipNum(_local1, _local2, offsetCount);
} else {
currentTile = mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))];
};
};
};
};
};
};
};
};
TWindow.movePicker();
} else {
if (myParent.upMove){
if (checkPortal(_local1, _local2, offsetCount)){
removePortal(_local1, _local2, offsetCount);
} else {
if (checkKey(_local1, _local2, offsetCount)){
removeKeyB(_local1, _local2, offsetCount);
} else {
if (checkGreen(_local1, _local2, offsetCount)){
removeGreen(_local1, _local2, offsetCount);
} else {
if (checkSlider(_local1, _local2, offsetCount)){
removeSlider(_local1, _local2, offsetCount);
} else {
if (checkTime(_local1, _local2, offsetCount)){
removeTime(_local1, _local2, offsetCount);
} else {
if (checkDoor(_local1, _local2, offsetCount)){
removeDoor(_local1, _local2, offsetCount);
} else {
if (checkFlip(_local1, _local2, offsetCount)){
removeFlip(_local1, _local2, offsetCount);
} else {
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
tileArray[((_local2 * mapWidth) + _local1)].setTile(0, offsetCount, colorArray[(offsetCount * 3)]);
};
};
};
};
};
};
};
} else {
if (currentTile == 200){
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
charArray[0] = _local1;
charArray[1] = _local2;
resetMap();
myParent.mouseDown = false;
} else {
if (currentTile == 201){
if (placePortal){
_local6 = false;
_local7 = 0;
while (_local7 < Math.floor((portalArray.length / 6))) {
trace(_local7);
_local8 = (_local7 * 6);
if ((((((((portalArray[_local8] == offsetCount)) && ((portalArray[(_local8 + 1)] == _local1)))) && ((portalArray[(_local8 + 2)] == _local2)))) || ((((((portalArray[(_local8 + 3)] == offsetCount)) && ((portalArray[(_local8 + 4)] == _local1)))) && ((portalArray[(_local8 + 5)] == _local2)))))){
portalArray[_local8] = offsetCount;
portalArray[(_local8 + 1)] = _local1;
portalArray[(_local8 + 2)] = _local2;
portalArray[(_local8 + 3)] = offsetCount;
portalArray[(_local8 + 4)] = _local1;
portalArray[(_local8 + 5)] = _local2;
rebuildMap();
_local6 = true;
currentPortal = _local7;
};
_local7++;
};
if (_local6){
} else {
currentPortal = Math.floor((portalArray.length / 6));
_local3 = (Math.floor((portalArray.length / 6)) * 6);
_local9 = new MovieClip();
portalArray.push(offsetCount);
portalArray.push(_local1);
portalArray.push(_local2);
portalArray.push(offsetCount);
portalArray.push(_local1);
portalArray.push(_local2);
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
rebuildMap();
};
placePortal = false;
} else {
_local3 = (currentPortal * 6);
if ((((_local1 == portalArray[(_local3 + 1)])) && ((_local2 == portalArray[(_local3 + 2)])))){
portalArray.splice(_local3, 6);
rebuildMap();
} else {
trace("2nd bit");
portalArray[(_local3 + 3)] = offsetCount;
portalArray[(_local3 + 4)] = _local1;
portalArray[(_local3 + 5)] = _local2;
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
rebuildMap();
};
placePortal = true;
};
myParent.mouseDown = false;
} else {
if (currentTile == 202){
_local10 = false;
_local11 = (Math.floor((keyArray.length / 3)) * 3);
_local7 = 0;
while (_local7 < Math.floor((keyArray.length / 3))) {
_local8 = (_local7 * 3);
if ((((((keyArray[_local8] == offsetCount)) && ((keyArray[(_local8 + 1)] == _local1)))) && ((keyArray[(_local8 + 2)] == _local2)))){
_local10 = true;
keyArray.splice(_local8, 3);
fgMC.removeChild(keyHolder[_local7]);
keyHolder.splice(_local7, 1);
rebuildMap();
};
_local7++;
};
if (!_local10){
keyArray.push(offsetCount);
keyArray.push(_local1);
keyArray.push(_local2);
_local12 = new key(this, keyArray[_local11], keyArray[(_local11 + 1)], keyArray[(_local11 + 2)]);
fgMC.addChild(_local12);
keyHolder.push(_local12);
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
rebuildMap();
};
myParent.mouseDown = false;
} else {
if (currentTile == 203){
trace(greenArray);
_local13 = true;
_local7 = 0;
while (_local7 < Math.floor((greenArray.length / 6))) {
_local14 = (_local7 * 6);
if (greenArray[(_local14 + 3)] == offsetCount){
if ((((_local1 == greenArray[(_local14 + 1)])) && ((_local2 == greenArray[(_local14 + 2)])))){
greenArray.splice(_local14, 6);
rebuildMap();
_local13 = false;
};
};
_local7++;
};
if (_local13){
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
tileArray[((_local2 * mapWidth) + _local1)].setTile(greenTileNum, offsetCount, colorArray[(offsetCount * 3)]);
greenArray.push(offsetCount);
greenArray.push(_local1);
greenArray.push(_local2);
greenArray.push(offsetCount);
greenArray.push(0);
greenArray.push(0);
};
myParent.mouseDown = false;
} else {
if (currentTile == 204){
_local15 = false;
_local16 = (Math.floor((sliderArray.length / 3)) * 3);
_local7 = 0;
while (_local7 < Math.floor((sliderArray.length / 3))) {
_local8 = (_local7 * 3);
if ((((((sliderArray[_local8] == offsetCount)) && ((sliderArray[(_local8 + 1)] == _local1)))) && ((sliderArray[(_local8 + 2)] == _local2)))){
_local15 = true;
sliderArray.splice(_local8, 3);
fgMC.removeChild(sliderHolder[_local7]);
sliderHolder.splice(_local7, 1);
rebuildMap();
};
_local7++;
};
if (!_local15){
sliderArray.push(offsetCount);
sliderArray.push(_local1);
sliderArray.push(_local2);
_local17 = new slider(this, sliderArray[_local16], sliderArray[(_local16 + 1)], sliderArray[(_local16 + 2)]);
fgMC.addChild(_local17);
sliderHolder.push(_local17);
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
rebuildMap();
};
myParent.mouseDown = false;
} else {
if (currentTile == 205){
_local18 = false;
_local19 = (Math.floor((timeArray.length / 4)) * 4);
_local7 = 0;
while (_local7 < Math.floor((timeArray.length / 4))) {
_local8 = (_local7 * 4);
if ((((((timeArray[_local8] == offsetCount)) && ((timeArray[(_local8 + 1)] == _local1)))) && ((timeArray[(_local8 + 2)] == _local2)))){
if (timeArray[(_local8 + 3)] < 10){
_local18 = true;
var _local24 = timeArray;
var _local25 = (_local8 + 3);
var _local26 = (_local24[_local25] + 1);
_local24[_local25] = _local26;
timeHolder[_local7].setStartTime(timeArray[(_local8 + 3)]);
timeHolder[_local7].startTime();
rebuildMap();
} else {
_local18 = true;
timeArray.splice(_local8, 4);
fgMC.removeChild(timeHolder[_local7]);
timeHolder.splice(_local7, 1);
rebuildMap();
};
trace(timeArray[(_local8 + 3)]);
};
_local7++;
};
if (!_local18){
timeArray.push(offsetCount);
timeArray.push(_local1);
timeArray.push(_local2);
timeArray.push(1);
_local20 = new timeTile(this, timeArray[_local19], timeArray[(_local19 + 1)], timeArray[(_local19 + 2)], timeArray[(_local19 + 3)]);
fgMC.addChild(_local20);
timeHolder.push(_local20);
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
rebuildMap();
};
myParent.mouseDown = false;
} else {
if (currentTile == 206){
if (placeDoor){
_local21 = false;
_local7 = 0;
while (_local7 < Math.floor((doorArray.length / 6))) {
_local8 = (_local7 * 6);
if ((((((doorArray[_local8] == offsetCount)) && ((doorArray[(_local8 + 1)] == _local1)))) && ((doorArray[(_local8 + 2)] == _local2)))){
_local21 = true;
currentDoor = _local7;
_local4 = (currentDoor * 6);
doorArray[(_local4 + 3)] = offsetCount;
doorArray[(_local4 + 4)] = 0;
doorArray[(_local4 + 5)] = 0;
doorKey = false;
} else {
if ((((((doorArray[(_local8 + 3)] == offsetCount)) && ((doorArray[(_local8 + 4)] == _local1)))) && ((doorArray[(_local8 + 5)] == _local2)))){
_local21 = true;
currentDoor = _local7;
_local4 = (currentDoor * 6);
doorArray[_local4] = offsetCount;
doorArray[(_local4 + 1)] = 0;
doorArray[(_local4 + 2)] = 0;
doorKey = true;
};
};
if (_local21){
_local7 = (doorArray.length / 6);
};
_local7++;
};
if (_local21){
} else {
currentDoor = Math.floor((doorArray.length / 6));
doorArray.push(offsetCount);
doorArray.push(_local1);
doorArray.push(_local2);
doorArray.push(offsetCount);
doorArray.push(0);
doorArray.push(0);
doorKey = false;
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
};
rebuildMap();
placeDoor = false;
} else {
_local21 = false;
_local4 = (currentDoor * 6);
if ((((((((offsetCount == doorArray[_local4])) && ((_local1 == doorArray[(_local4 + 1)])))) && ((_local2 == doorArray[(_local4 + 2)])))) || ((((((offsetCount == doorArray[(_local4 + 3)])) && ((_local1 == doorArray[(_local4 + 4)])))) && ((_local2 == doorArray[(_local4 + 5)])))))){
doorArray.splice(_local4, 6);
rebuildMap();
} else {
_local7 = 0;
while (_local7 < Math.floor((doorArray.length / 6))) {
_local8 = (_local7 * 6);
if ((((((doorArray[_local8] == offsetCount)) && ((doorArray[(_local8 + 1)] == _local1)))) && ((doorArray[(_local8 + 2)] == _local2)))){
_local21 = true;
} else {
if ((((((doorArray[(_local8 + 3)] == offsetCount)) && ((doorArray[(_local8 + 4)] == _local1)))) && ((doorArray[(_local8 + 5)] == _local2)))){
_local21 = true;
};
};
if (_local21){
_local7 = (doorArray.length / 6);
};
_local7++;
};
if (_local21){
} else {
trace("2nd bit");
if (doorKey){
doorArray[_local4] = offsetCount;
doorArray[(_local4 + 1)] = _local1;
doorArray[(_local4 + 2)] = _local2;
} else {
doorArray[(_local4 + 3)] = offsetCount;
doorArray[(_local4 + 4)] = _local1;
doorArray[(_local4 + 5)] = _local2;
};
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
rebuildMap();
};
};
if (!_local21){
placeDoor = true;
};
};
trace(doorArray);
myParent.mouseDown = false;
} else {
if ((((((((((currentTile == 300)) || ((currentTile == 301)))) || ((currentTile == 302)))) || ((currentTile == 303)))) || ((currentTile == 304)))){
_local22 = (currentTile - 300);
_local13 = true;
_local7 = 0;
while (_local7 < Math.floor((flipArray.length / 4))) {
_local23 = (_local7 * 4);
if (flipArray[_local23] == offsetCount){
if ((((_local1 == flipArray[(_local23 + 1)])) && ((_local2 == flipArray[(_local23 + 2)])))){
flipArray.splice(_local23, 4);
rebuildMap();
_local13 = false;
};
};
_local7++;
};
if (_local13){
if (tileArray[((mapWidth * _local2) + _local1)].isClear()){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = 0;
};
flipArray.push(offsetCount);
flipArray.push(_local1);
flipArray.push(_local2);
flipArray.push(_local22);
rebuildMap();
};
myParent.mouseDown = false;
} else {
if ((((((charArray[0] == _local1)) && ((charArray[1] == _local2)))) && ((offsetCount == 0)))){
_local13 = false;
} else {
if (checkPortal(_local1, _local2, offsetCount)){
_local13 = false;
} else {
if (checkKey(_local1, _local2, offsetCount)){
_local13 = false;
} else {
if (checkGreen(_local1, _local2, offsetCount)){
_local13 = false;
} else {
if (checkSlider(_local1, _local2, offsetCount)){
_local13 = false;
} else {
if (checkTime(_local1, _local2, offsetCount)){
_local13 = false;
} else {
if (checkDoor(_local1, _local2, offsetCount)){
_local13 = false;
} else {
if (checkFlip(_local1, _local2, offsetCount)){
_local13 = false;
} else {
_local13 = true;
};
};
};
};
};
};
};
};
if (_local13){
mapArray[(((_local2 * mapWidth) + _local1) + (offsetCount * boardSize))] = currentTile;
tileArray[((_local2 * mapWidth) + _local1)].setTile(currentTile, offsetCount, colorArray[(offsetCount * 3)]);
};
};
};
};
};
};
};
};
};
};
};
};
};
};
} else {
if (mapBeat){
if (endScreen == "submit"){
if (SWindow.x > 600){
SWindow.setPos();
ToString.trace2DArray(mapData);
};
};
} else {
if (SWindow.x < 600){
SWindow.offPos();
};
playGameRoot();
myParent.shifted = false;
};
};
if (resetter){
resetMap();
resetter = false;
};
if (!mapBeat){
if (SWindow.x < 500){
SWindow.offPos();
};
if (((((((((((!(colorPicking)) && (!(optionsPicking)))) && (!(layersPicking)))) && (!(textPicking)))) && (!(headPicking)))) && (!(introPicking)))){
if (changeMap()){
};
};
if (colorPicking){
if (CWindow.x > 900){
CWindow.setPos();
};
} else {
if (CWindow.x < 500){
CWindow.offPos();
rebuildMap();
myParent.shifted = false;
};
};
if (optionsPicking){
if (OWindow.x > 900){
OWindow.setPos();
};
} else {
if (OWindow.x < 500){
OWindow.offPos();
rebuildMap();
};
};
if (layersPicking){
if (LWindow.x > 900){
LWindow.setPos();
};
} else {
if (LWindow.x < 500){
LWindow.offPos();
rebuildMap();
};
};
if (textPicking){
TXWindow.editVocals.playSound();
if (TXWindow.x > 900){
TXWindow.setPos();
};
} else {
if (TXWindow.x < 500){
TXWindow.offPos();
};
};
if (headPicking){
if (HWindow.x > 900){
HWindow.setPos();
};
} else {
if (HWindow.x < 500){
HWindow.offPos();
};
};
if (introPicking){
if (InWindow.x > 900){
InWindow.setPos();
};
} else {
if (InWindow.x < 500){
InWindow.offPos();
};
};
};
};
}
public function destroyTile(_arg1, _arg2, _arg3){
var _local4:Number;
var _local5:Number;
_local4 = unSpinX(_arg1, _arg2);
_local5 = unSpinY(_arg1, _arg2);
destroyArray.push(_local4);
destroyArray.push(_local5);
destroyArray.push(offsetCount);
makeBreakPoof(_arg1, _arg2, _arg3);
}
function parseLevelXML(_arg1:XML):void{
SWindow.gotoAndStop(3);
trace(_arg1.level.id.text());
SWindow.myVar = _arg1.level.id.text();
}
function spinMapL():void{
removeMap();
spinL();
SFGreens();
buildMap(offsetCount);
switchBox.gotoAndPlay("cw");
shiftCount = 10;
}
function spinMapR():void{
removeMap();
spinR();
SFGreens();
buildMap(offsetCount);
switchBox.gotoAndPlay("ccw");
shiftCount = 10;
}
public function stopStaticFX(){
staticChannel.stop();
}
function SFGreens():void{
var _local1:*;
var _local2:Number;
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
_local1++;
};
}
function setActive(){
var _local1:*;
var _local2:*;
var _local3:Color;
_local1 = (offsetCount + 1);
if (_local1 > totalLevel){
_local1 = (_local1 - (totalLevel + 1));
};
_local2 = (fgMC.numChildren - 1);
while (_local2 >= 0) {
fgMC.removeChildAt(_local2);
_local2--;
};
_local2 = (bgMC.numChildren - 1);
while (_local2 >= 0) {
bgMC.removeChildAt(_local2);
_local2--;
};
_local3 = new Color();
_local3.setTint(colorArray[(offsetCount * 3)], 0.5);
fgMC.transform.colorTransform = _local3;
_local3.setTint(colorArray[((offsetCount * 3) + 1)], 0.5);
bgMC.transform.colorTransform = _local3;
_local2 = 0;
while (_local2 < sliderHolder.length) {
if (sliderHolder[_local2].currentLayer == offsetCount){
fgMC.addChild(sliderHolder[_local2]);
} else {
if (sliderHolder[_local2].currentLayer == _local1){
bgMC.addChild(sliderHolder[_local2]);
};
};
_local2++;
};
_local2 = 0;
while (_local2 < timeHolder.length) {
if (timeHolder[_local2].currentLayer == offsetCount){
fgMC.addChild(timeHolder[_local2]);
} else {
if (timeHolder[_local2].currentLayer == _local1){
bgMC.addChild(timeHolder[_local2]);
};
};
_local2++;
};
_local2 = 0;
while (_local2 < keyHolder.length) {
if (keyHolder[_local2].currentLayer == offsetCount){
fgMC.addChild(keyHolder[_local2]);
} else {
if (keyHolder[_local2].currentLayer == _local1){
bgMC.addChild(keyHolder[_local2]);
};
};
_local2++;
};
}
public function removePortal(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local5 = 0;
while (_local5 < Math.floor((portalArray.length / 6))) {
_local6 = (_local5 * 6);
if ((((((((portalArray[_local6] == _arg3)) && ((portalArray[(_local6 + 1)] == _arg1)))) && ((portalArray[(_local6 + 2)] == _arg2)))) || ((((((portalArray[(_local6 + 3)] == _arg3)) && ((portalArray[(_local6 + 4)] == _arg1)))) && ((portalArray[(_local6 + 5)] == _arg2)))))){
_local4 = _local6;
};
_local5++;
};
if (_local4 >= 0){
portalArray.splice(_local4, 6);
rebuildMap();
};
}
function removeMap(){
var _local1:*;
doorHolder = new Array();
_local1 = (tileArray.length - 1);
while (_local1 >= 0) {
if (tileArray[_local1]){
mapHolder.removeChild(tileArray[_local1]);
};
tileArray.pop();
_local1--;
};
_local1 = (backArray.length - 1);
while (_local1 >= 0) {
if (backArray[_local1]){
backMap.removeChild(backArray[_local1]);
};
backArray.pop();
_local1--;
};
}
public function offsetInc(_arg1:Number=-1){
if (_arg1 == -1){
if (offsetCount >= totalLevel){
offsetCount = 0;
} else {
offsetCount++;
};
} else {
offsetCount = _arg1;
};
}
public function removeDoor(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:*;
var _local6:*;
_local5 = 0;
while (_local5 < Math.floor((doorArray.length / 6))) {
_local6 = (_local5 * 6);
if ((((((((doorArray[_local6] == _arg3)) && ((doorArray[(_local6 + 1)] == _arg1)))) && ((doorArray[(_local6 + 2)] == _arg2)))) || ((((((doorArray[(_local6 + 3)] == _arg3)) && ((doorArray[(_local6 + 4)] == _arg1)))) && ((doorArray[(_local6 + 5)] == _arg2)))))){
_local4 = _local6;
};
_local5++;
};
if (_local4 >= 0){
doorArray.splice(_local4, 6);
rebuildMap();
};
}
public function submitLevel(){
var _local1:String;
var _local2:NewgroundsAPISaveFile;
var _local3:BitmapData;
var _local4:MovieClip;
var _local5:Bitmap;
var _local6:BitmapData;
var _local7:Bitmap;
var _local8:BitmapData;
var _local9:Bitmap;
nameArray[0] = SWindow.levelName.text;
introTextArray[0] = TXWindow.introText.text;
_local1 = ToString.makeString(mapData);
trace(_local1);
_local2 = NewgroundsAPI.newSaveFile("Levels");
_local2.name = nameArray[0];
_local2.contents = _local1;
_local3 = new BitmapData(510, 510);
_local4 = new MovieClip();
SWindow.offPos();
_local3.draw(this);
SWindow.setPos();
_local3.scroll(-30, -30);
_local5 = new Bitmap(_local3);
_local6 = new BitmapData(450, 450);
_local6.draw(_local3);
_local7 = new Bitmap(_local6);
_local7.width = 90;
_local7.height = 90;
_local4.addChild(_local7);
_local8 = new BitmapData(90, 90);
_local8.draw(_local4);
_local9 = new Bitmap(_local8);
_local2.thumbnail = _local8;
_local2.setKey("Layers", (mapData[3][0] + 1));
_local2.save();
_local2.addEventListener(NewgroundsAPIEvent.FILE_SAVED, onFileSaved);
SWindow.gotoAndStop(2);
}
function moveBreaks(){
var _local1:*;
_local1 = (breakArray.length - 1);
while (_local1 >= 0) {
breakArray[_local1].falling();
if (breakArray[_local1].removeCheck()){
breakMC.removeChild(breakArray[_local1]);
breakArray.splice(_local1, 1);
};
_local1--;
};
}
public function removeSlider(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:*;
_local6 = 0;
while (_local6 < Math.floor((sliderArray.length / 3))) {
_local7 = (_local6 * 3);
if ((((((sliderArray[_local7] == _arg3)) && ((sliderArray[(_local7 + 1)] == _arg1)))) && ((sliderArray[(_local7 + 2)] == _arg2)))){
_local4 = _local7;
_local5 = _local6;
};
_local6++;
};
if (_local4 >= 0){
sliderArray.splice(_local4, 3);
fgMC.removeChild(sliderHolder[_local5]);
sliderHolder.splice(_local5, 1);
rebuildMap();
};
}
public function endTrans(){
myParent.gotoAndStop("nextLevel");
}
public function checkGreen(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:*;
var _local6:Number;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((greenArray.length / 6))) {
_local6 = (_local5 * 6);
if (greenArray[(_local6 + 3)] == _arg3){
if ((((_arg1 == greenArray[(_local6 + 1)])) && ((_arg2 == greenArray[(_local6 + 2)])))){
_local4 = true;
};
};
_local5++;
};
return (_local4);
}
function getSaying(_arg1:String):String{
var _local2:String;
_local2 = myParent[_arg1][Math.floor((Math.random() * myParent[_arg1].length))];
return (_local2);
}
public function removeFlip(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:*;
var _local6:Number;
_local5 = 0;
while (_local5 < Math.floor((flipArray.length / 4))) {
_local6 = (_local5 * 4);
if (flipArray[_local6] == _arg3){
if ((((_arg1 == flipArray[(_local6 + 1)])) && ((_arg2 == flipArray[(_local6 + 2)])))){
_local4 = _local6;
};
};
_local5++;
};
if (_local4 >= 0){
flipArray.splice(_local4, 4);
rebuildMap();
};
}
function greenSpinY(_arg1:Number, _arg2:Number, _arg3:Number){
switch (greenArray[(_arg3 + 4)]){
case 1:
return (_arg1);
case 2:
return (((mapWidth - _arg2) - 1));
case 3:
return (((mapWidth - _arg1) - 1));
default:
return (_arg2);
};
}
function greenSpinX(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
_local4 = _arg1;
switch (greenArray[(_arg3 + 4)]){
case 0:
break;
case 1:
_local4 = ((mapWidth - _arg2) - 1);
break;
case 2:
_local4 = ((mapWidth - _local4) - 1);
break;
case 3:
_local4 = _arg2;
break;
};
if (greenArray[(_arg3 + 5)] == 1){
_local4 = ((mapWidth - _local4) - 1);
};
return (_local4);
}
public function playStaticFX(){
staticChannel = staticFX.play(0, 100000);
staticChannel.soundTransform = myParent.fxTransform;
}
public function submitVote(){
var _local1:NewgroundsAPISaveFile;
if (!trans){
VWindow.offPos();
_local1 = NewgroundsAPI.newSaveFile("Levels");
_local1.id = mapID;
_local1.sendRating("Difficulty", (mapDiff * 2));
_local1.sendRating("Overall Fun", (mapScore * 2));
if (myParent.gameState == "multi"){
myParent.gotoAndStop("menu");
myParent.stopMusic();
} else {
if (myParent.gameState == "multiC"){
stopStaticFX();
if (exitVote){
trace("boom");
myParent.stopMusic();
myParent.gotoAndStop("menu");
} else {
startTrans();
};
};
};
if (!myParent._sharedObj.data.voteArray.some(someCheck)){
myParent._sharedObj.data.voteArray.push(mapID);
};
if (myParent._sharedObj.data.voteArray.length > 333){
myParent.unlockMedal("O)))");
} else {
if (myParent._sharedObj.data.voteArray.length > 33){
myParent.unlockMedal("Obsessed");
} else {
if (myParent._sharedObj.data.voteArray.length > 3){
myParent.unlockMedal("Opinionated");
};
};
};
trace(myParent._sharedObj.data.voteArray);
};
}
public function getKey(_arg1:Number){
playSoundFX("keyPickup");
keyHolder[_arg1].currentLayer = 100;
totalKey--;
if (totalKey == 0){
playSoundFX("portalOpen");
};
rebuildMap();
}
public function removeKey(_arg1):void{
mapHolder.removeChild(_arg1);
tileArray.splice(tileArray.indexOf(_arg1), 1, null);
}
public function playGameRoot():void{
var _local1:Number;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
var _local5:Number;
var _local6:*;
var _local7:*;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Boolean;
var _local12:*;
var _local13:*;
if (myParent.gameState != "edit"){
theInterface.gameVocals.playSound();
if (!theInterface.gameVocals.isPlaying){
if (talkCount > talkCast){
talkCount = 0;
if (introTalk){
sayText();
introTalk = false;
} else {
theInterface.gameVocals.startSound(getSaying("randomVocals"));
};
} else {
talkCount++;
};
};
};
tintGreens();
tintSliders();
_local13 = 0;
while (_local13 < Math.floor((doorArray.length / 6))) {
_local1 = _local13;
_local2 = (_local13 * 6);
_local3 = false;
_local4 = spinX(doorArray[(_local2 + 1)], doorArray[(_local2 + 2)]);
_local5 = spinY(doorArray[(_local2 + 1)], doorArray[(_local2 + 2)]);
if (doorArray[_local2] == offsetCount){
if ((((_local4 == theChar.xTile)) && ((_local5 == theChar.yTile)))){
_local3 = true;
};
};
_local4 = spinX(doorArray[(_local2 + 1)], doorArray[(_local2 + 2)], doorArray[_local2]);
_local5 = spinY(doorArray[(_local2 + 1)], doorArray[(_local2 + 2)], doorArray[_local2]);
_local6 = 0;
while (_local6 < sliderHolder.length) {
if ((((((_local4 == sliderHolder[_local6].xTile)) && ((_local5 == sliderHolder[_local6].yTile)))) && ((doorArray[_local2] == sliderHolder[_local6].currentLayer)))){
_local3 = true;
};
_local6++;
};
_local6 = 0;
while (_local6 < Math.floor((greenArray.length / 6))) {
_local8 = (_local6 * 6);
greenSpinX(greenArray[(_local8 + 1)], greenArray[(_local8 + 2)], _local8);
_local9 = greenSpinX(greenArray[(_local8 + 1)], greenArray[(_local8 + 2)], _local8);
_local10 = greenSpinY(greenArray[(_local8 + 1)], greenArray[(_local8 + 2)], _local8);
if ((((((_local4 == _local9)) && ((_local5 == _local10)))) && ((doorArray[_local2] == greenArray[(_local8 + 3)])))){
_local3 = true;
};
_local6++;
};
_local7 = (offsetCount + 1);
if (_local7 > totalLevel){
_local7 = (_local7 - (totalLevel + 1));
};
if (doorArray[(_local2 + 3)] == offsetCount){
_local4 = spinX(doorArray[(_local2 + 4)], doorArray[(_local2 + 5)]);
_local5 = spinY(doorArray[(_local2 + 4)], doorArray[(_local2 + 5)]);
if (_local3){
if (doorHolder[_local13].door.currentFrame <= 7){
if (doorHolder[_local13].door.currentFrame == 1){
playSoundFX("door_open");
};
doorHolder[_local13].door.play();
};
_local11 = false;
_local12 = 0;
while (_local12 < sliderHolder.length) {
if ((((((sliderHolder[_local12].xTile == _local4)) && ((sliderHolder[_local12].yTile == _local5)))) && ((sliderHolder[_local12].currentLayer == offsetCount)))){
_local11 = true;
};
_local12++;
};
if (!_local11){
tileArray[((_local5 * mapWidth) + _local4)].setNotWalk();
};
doorKeyHolder[_local13].doorKey.play();
} else {
if (doorHolder[_local13].door.currentFrame > 7){
trace(doorHolder[_local13].door.currentFrame);
if (doorHolder[_local13].door.currentFrame == 8){
};
doorHolder[_local13].door.play();
};
_local12 = 0;
while (_local12 < sliderHolder.length) {
if ((((((sliderHolder[_local12].xTile == _local4)) && ((sliderHolder[_local12].yTile == _local5)))) && ((sliderHolder[_local12].currentLayer == offsetCount)))){
setActive();
};
_local12++;
};
tileArray[((_local5 * mapWidth) + _local4)].setWalk();
doorKeyHolder[_local13].doorKey.gotoAndStop(1);
};
} else {
if (doorArray[(_local2 + 3)] == _local7){
if (_local3){
if (doorHolder[_local13].door.currentFrame <= 7){
doorHolder[_local13].door.play();
};
doorKeyHolder[_local13].doorKey.play();
} else {
if (doorHolder[_local13].door.currentFrame > 7){
doorHolder[_local13].door.play();
};
doorKeyHolder[_local13].doorKey.gotoAndStop(1);
};
};
};
_local13++;
};
moveBreaks();
if (newMap){
newMap = false;
};
if (shiftCount <= 0){
theChar.moveChar();
if (infade){
removeChild(infade);
infade = null;
};
} else {
shiftCount--;
};
_local13 = 0;
while (_local13 < sliderHolder.length) {
if (sliderHolder[_local13].currentLayer == offsetCount){
if (shiftCount <= 0){
sliderHolder[_local13].solidSlider();
};
};
_local13++;
};
if (!theChar.isDead){
_local13 = 0;
while (_local13 < sliderHolder.length) {
if (sliderHolder[_local13].currentLayer == offsetCount){
if (shiftCount <= 0){
sliderHolder[_local13].moveSlider();
};
};
_local13++;
};
};
_local13 = 0;
while (_local13 < keyHolder.length) {
if (keyHolder[_local13].currentLayer == offsetCount){
if (shiftCount <= 0){
keyHolder[_local13].moveKey();
};
};
_local13++;
};
_local13 = 0;
while (_local13 < timeHolder.length) {
if (timeHolder[_local13].currentLayer == offsetCount){
if (shiftCount <= 0){
timeHolder[_local13].moveTime();
};
};
_local13++;
};
}
function onFileSaved(_arg1:NewgroundsAPIEvent){
var _local2:NewgroundsAPISaveFile;
SWindow.gotoAndStop(3);
SWindow.myVar = _arg1.data.save_id;
_local2 = new NewgroundsAPISaveFile(NewgroundsAPI.getSaveGroupById(_arg1.data.group_id));
_local2.id = _arg1.data.save_id;
_local2.sendRating("Difficulty", (mapDiff * 2));
_local2.sendRating("Overall Fun", 6);
}
function vertFlipMap():void{
var _local1:*;
var _local2:Number;
removeMap();
flipHold[offsetCount] = !(flipHold[offsetCount]);
spinHold[offsetCount] = (spinHold[offsetCount] + 2);
if (spinHold[offsetCount] >= 4){
spinHold[offsetCount] = (spinHold[offsetCount] - 4);
};
_local1 = 0;
while (_local1 < Math.floor((greenArray.length / 6))) {
_local2 = (_local1 * 6);
if (greenArray[(_local2 + 3)] == offsetCount){
trace(greenArray[(_local2 + 4)]);
greenArray[(_local2 + 4)] = (Number(greenArray[(_local2 + 4)]) + 2);
if (greenArray[(_local2 + 4)] >= 4){
greenArray[(_local2 + 4)] = (greenArray[(_local2 + 4)] - 4);
};
trace(greenArray[(_local2 + 4)]);
greenArray[(_local2 + 5)] = (1 - Number(greenArray[(_local2 + 5)]));
};
_local1++;
};
_local1 = 0;
while (_local1 < sliderHolder.length) {
sliderHolder[_local1].spinSlider("v");
_local1++;
};
_local1 = 0;
while (_local1 < keyHolder.length) {
keyHolder[_local1].spinKey("v");
_local1++;
};
_local1 = 0;
while (_local1 < timeHolder.length) {
timeHolder[_local1].spinTime("v");
_local1++;
};
SFGreens();
buildMap(offsetCount);
switchBox.gotoAndPlay("vert");
shiftCount = 10;
}
function rebuildMap():void{
removeMap();
setActive();
buildMap(offsetCount);
}
function checkTiles():Boolean{
var _local1:Boolean;
_local1 = true;
if (currentTile == 0){
};
return (_local1);
}
public function startTrans(){
var _local1:Number;
var _local2:Class;
var _local3:Color;
var _local4:*;
stopStaticFX();
gameLive = false;
_local1 = Math.random();
if (_local1 < 0.33){
playSoundFX("intro_tune_1");
_local4 = "testpattern01";
} else {
if (_local1 < 0.66){
playSoundFX("intro_tune_2");
_local4 = "testpattern02";
} else {
if (_local1 < 1){
playSoundFX("intro_tune_3");
_local4 = "testpattern03";
};
};
};
_local2 = (getDefinitionByName(_local4) as Class);
trans = new (_local2);
_local3 = new Color();
_local3.setTint(colorArray[(offsetCount * 3)], 0.5);
trans.transform.colorTransform = _local3;
trans.x = 379;
trans.y = 263;
addChild(trans);
}
function makeBreakPoof(_arg1, _arg2, _arg3, _arg4:Number=10){
var _local5:*;
var _local6:breakPoof;
var _local7:tile_chunk;
_local5 = 0;
while (_local5 <= _arg4) {
_local7 = new tile_chunk(this, _arg1, _arg2, colorArray[(_arg3 * 3)]);
breakArray.push(_local7);
breakMC.addChild(_local7);
_local5++;
};
_local6 = new breakPoof(_arg1, _arg2, colorArray[(_arg3 * 3)]);
poofMC.addChild(_local6);
tileBreakSound();
}
public function getFlipNum(_arg1:Number, _arg2:Number, _arg3:Number):Number{
var _local4:Number;
var _local5:*;
var _local6:Number;
_local4 = 0;
_local5 = 0;
while (_local5 < Math.floor((flipArray.length / 4))) {
_local6 = (_local5 * 4);
if (flipArray[_local6] == _arg3){
if ((((_arg1 == flipArray[(_local6 + 1)])) && ((_arg2 == flipArray[(_local6 + 2)])))){
_local4 = (300 + flipArray[(_local6 + 3)]);
};
};
_local5++;
};
return (_local4);
}
public function checkPortal(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
_local4 = false;
_local5 = 0;
while (_local5 < Math.floor((portalArray.length / 6))) {
_local6 = (_local5 * 6);
if ((((((((portalArray[_local6] == _arg3)) && ((portalArray[(_local6 + 1)] == _arg1)))) && ((portalArray[(_local6 + 2)] == _arg2)))) || ((((((portalArray[(_local6 + 3)] == _arg3)) && ((portalArray[(_local6 + 4)] == _arg1)))) && ((portalArray[(_local6 + 5)] == _arg2)))))){
_local4 = true;
};
_local5++;
};
return (_local4);
}
function changeMap(_arg1:Boolean=false):Boolean{
var _local2:Number;
if (((myParent.mapShift) || (_arg1))){
if (totalLevel != 0){
checkGreens();
checkSliders();
myParent.mapShift = false;
shiftCount = 10;
switchBox.gotoAndPlay("layer");
_local2 = Math.ceil((Math.random() * 3));
playSoundFX(("layer_change" + _local2));
removeMap();
offsetInc();
buildMap(offsetCount);
setActive();
return (true);
};
playSoundFX("error");
myParent.mapShift = false;
return (false);
//unresolved jump
};
return (false);
}
public function sayText(){
var _local1:String;
var _local2:*;
if (myParent.gameState == "play"){
talkCount = 0;
introTalk = false;
if (textPick > 0.5){
_local1 = myParent.campainTextA[myParent.currentLevel];
} else {
_local1 = myParent.campainTextB[myParent.currentLevel];
};
} else {
if ((((introTextArray[0] == "")) && ((introTextArray.length <= 1)))){
_local1 = holdSaying;
} else {
_local1 = introTextArray[0];
_local2 = 1;
while (_local2 < introTextArray.length) {
_local1 = (_local1 + ("," + introTextArray[_local2]));
_local2++;
};
};
};
theInterface.gameVocals.startSound(_local1);
}
function pickLevel(_arg1:MouseEvent){
myParent.currentLevel = (_arg1.currentTarget.levelChoose - 2);
myParent.gotoAndStop("nextLevel");
}
}
}//package
Section 165
//mouseover (mouseover)
package {
import flash.media.*;
public dynamic class mouseover extends Sound {
}
}//package
Section 166
//n (n)
package {
import flash.media.*;
public dynamic class n extends Sound {
}
}//package
Section 167
//n2 (n2)
package {
import flash.media.*;
public dynamic class n2 extends Sound {
}
}//package
Section 168
//NGintro (NGintro)
package {
import flash.display.*;
public dynamic class NGintro extends MovieClip {
public var myParent:MovieClip;
public function NGintro(){
addFrameScript(0, frame1, 115, frame116);
}
function frame1(){
}
function frame116(){
stop();
myParent.gotoAndStop("credits");
}
}
}//package
Section 169
//o (o)
package {
import flash.media.*;
public dynamic class o extends Sound {
}
}//package
Section 170
//o2 (o2)
package {
import flash.media.*;
public dynamic class o2 extends Sound {
}
}//package
Section 171
//optionsWindow (optionsWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class optionsWindow extends MovieClip {
var curTile:Array;
public var layersButton:SimpleButton;
var colMC:MovieClip;
var a:BitmapData;
public var colorButton:SimpleButton;
var myParent:MovieClip;
var image_bitmap;
public var charButton:SimpleButton;
public var textButton:SimpleButton;
public var myVar:String;
public var backButton:SimpleButton;
public function optionsWindow(_arg1){
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
addFrameScript(0, frame1);
myParent = _arg1;
offPos();
backButton.addEventListener(MouseEvent.CLICK, back);
colorButton.addEventListener(MouseEvent.CLICK, color);
layersButton.addEventListener(MouseEvent.CLICK, layers);
textButton.addEventListener(MouseEvent.CLICK, textB);
charButton.addEventListener(MouseEvent.CLICK, charB);
}
function color(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.colorPicking = true;
}
function frame1(){
stop();
}
function layers(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.layersPicking = true;
}
public function offPos(){
x = 1000;
y = 555;
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
function charB(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.headPicking = true;
}
function textB(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.textPicking = true;
}
function mainMenu(_arg1:MouseEvent){
myParent.myParent.gotoAndStop("menu");
}
function back(_arg1:MouseEvent){
myParent.optionsPicking = false;
}
}
}//package
Section 172
//overLay (overLay)
package {
import flash.display.*;
public dynamic class overLay extends MovieClip {
}
}//package
Section 173
//p (p)
package {
import flash.media.*;
public dynamic class p extends Sound {
}
}//package
Section 174
//p2 (p2)
package {
import flash.media.*;
public dynamic class p2 extends Sound {
}
}//package
Section 175
//pauseWindow (pauseWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class pauseWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var myVar:String;
public function pauseWindow(_arg1){
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
myParent = _arg1;
stop();
offPos();
}
public function offPos(){
myParent.gameLive = true;
myParent.theInterface.playButton.visible = false;
myParent.theInterface.pauseButton.visible = true;
x = 1000;
y = 0xFF;
}
public function setPos(){
myParent.EWindow.offPos();
myParent.SlWindow.offPos();
myParent.gameLive = false;
myParent.theInterface.playButton.visible = true;
myParent.theInterface.pauseButton.visible = false;
x = 0xFF;
y = 0xFF;
}
public function togglePos(){
if (x > 900){
setPos();
} else {
offPos();
};
}
}
}//package
Section 176
//playerLand1 (playerLand1)
package {
import flash.media.*;
public dynamic class playerLand1 extends Sound {
}
}//package
Section 177
//playerLand2 (playerLand2)
package {
import flash.media.*;
public dynamic class playerLand2 extends Sound {
}
}//package
Section 178
//playerLand3 (playerLand3)
package {
import flash.media.*;
public dynamic class playerLand3 extends Sound {
}
}//package
Section 179
//playInterface (playInterface)
package {
import com.newgrounds.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class playInterface extends MovieClip {
public var helpText:MovieClip;
public var lb11:MovieClip;
public var lb12:MovieClip;
public var lb15:MovieClip;
public var lb16:MovieClip;
public var lb17:MovieClip;
public var lb18:MovieClip;
public var lb19:MovieClip;
public var lb14:MovieClip;
public var lb10:MovieClip;
public var lb13:MovieClip;
public var lb21:MovieClip;
public var lb23:MovieClip;
public var lb24:MovieClip;
public var lb20:MovieClip;
public var lb28:MovieClip;
public var levelName:TextField;
public var lb29:MovieClip;
public var lb22:MovieClip;
public var lb25:MovieClip;
public var lb26:MovieClip;
public var lb27:MovieClip;
public var lb31:MovieClip;
public var lb33:MovieClip;
public var lb30:MovieClip;
public var lb32:MovieClip;
public var muteButton:SimpleButton;
public var introButton:SimpleButton;
public var pauseButton:SimpleButton;
public var sleepButton:SimpleButton;
public var playerName:TextField;
public var gameVocals:vocals;
var myParent:MovieClip;
public var lb1:MovieClip;
public var lb3:MovieClip;
public var lb5:MovieClip;
public var lb7:MovieClip;
public var lb8:MovieClip;
public var lb2:MovieClip;
public var lb4:MovieClip;
public var lb6:MovieClip;
public var lb9:MovieClip;
public var playButton:SimpleButton;
public var NGB:SimpleButton;
public var cover:MovieClip;
public var pillButton:SimpleButton;
public var exitButton:SimpleButton;
public function playInterface(_arg1){
var _local2:*;
super();
addFrameScript(0, frame1);
myParent = _arg1;
if (myParent.myParent.gameState == "play"){
_local2 = 1;
while (_local2 <= (myParent.myParent._sharedObj.data.currentLevel + 1)) {
this[("lb" + _local2)].buttonMode = true;
this[("lb" + _local2)].levelChoose = _local2;
this[("lb" + _local2)].frameNum = 3;
this[("lb" + _local2)].gotoAndStop(3);
this[("lb" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickLevel);
if (_local2 != (myParent.myParent.currentLevel + 1)){
this[("lb" + _local2)].addEventListener(MouseEvent.MOUSE_OVER, hoverLevel);
this[("lb" + _local2)].addEventListener(MouseEvent.MOUSE_OUT, hoverOutLevel);
};
_local2++;
};
_local2 = 0;
while (_local2 < myParent.myParent._sharedObj.data.skipInfo.length) {
this[("lb" + (myParent.myParent._sharedObj.data.skipInfo[_local2] + 1))].frameNum = 5;
this[("lb" + (myParent.myParent._sharedObj.data.skipInfo[_local2] + 1))].gotoAndStop(5);
_local2++;
};
if (myParent.myParent._sharedObj.data.currentLevel < 32){
lb33.visible = false;
};
this[("lb" + (myParent.myParent.currentLevel + 1))].gotoAndStop(2);
} else {
if (myParent.myParent.gameState == "multiC"){
_local2 = 1;
while (_local2 <= (myParent.myParent._sharedObj.data.currentMultiLevel + 1)) {
this[("lb" + _local2)].buttonMode = true;
this[("lb" + _local2)].levelChoose = _local2;
this[("lb" + _local2)].frameNum = 3;
this[("lb" + _local2)].gotoAndStop(3);
this[("lb" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickLevel);
if (_local2 != (myParent.myParent.currentMultiLevel + 1)){
this[("lb" + _local2)].addEventListener(MouseEvent.MOUSE_OVER, hoverLevel);
this[("lb" + _local2)].addEventListener(MouseEvent.MOUSE_OUT, hoverOutLevel);
};
this[("lb" + (myParent.myParent.currentLevel + 1))].gotoAndStop(2);
_local2++;
};
if (myParent.myParent._sharedObj.data.currentMultiLevel < 32){
lb33.visible = false;
};
};
};
sleepButton.addEventListener(MouseEvent.CLICK, sleepFun);
pillButton.addEventListener(MouseEvent.CLICK, pillRestart);
exitButton.addEventListener(MouseEvent.CLICK, exit);
playButton.addEventListener(MouseEvent.CLICK, pauseGame);
pauseButton.addEventListener(MouseEvent.CLICK, pauseGame);
introButton.addEventListener(MouseEvent.CLICK, sayText);
muteButton.addEventListener(MouseEvent.CLICK, toggleMute);
sleepButton.addEventListener(MouseEvent.MOUSE_OVER, sleepHover);
pillButton.addEventListener(MouseEvent.MOUSE_OVER, pillHover);
exitButton.addEventListener(MouseEvent.MOUSE_OVER, exitHover);
playButton.addEventListener(MouseEvent.MOUSE_OVER, playHover);
pauseButton.addEventListener(MouseEvent.MOUSE_OVER, pauseHover);
introButton.addEventListener(MouseEvent.MOUSE_OVER, introHover);
muteButton.addEventListener(MouseEvent.MOUSE_OVER, muteHover);
sleepButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
pillButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
exitButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
playButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
pauseButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
introButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
muteButton.addEventListener(MouseEvent.MOUSE_OUT, resetHover);
NGB.addEventListener(MouseEvent.CLICK, goNG);
x = 5;
y = 30;
}
function hoverOutLevel(_arg1:MouseEvent){
_arg1.currentTarget.gotoAndStop(_arg1.currentTarget.frameNum);
}
function introHover(_arg1:MouseEvent){
helpText.gotoAndStop(9);
}
function frame1(){
gameVocals.myParent = this;
}
function playHover(_arg1:MouseEvent){
helpText.gotoAndStop(3);
}
function pillRestart(_arg1:MouseEvent){
myParent.theChar.startSuicide();
}
function goNG(_arg1:MouseEvent){
NewgroundsAPI.loadNewgrounds();
}
function muteHover(_arg1:MouseEvent){
if (myParent.myParent.musicTransform.volume > 0){
helpText.gotoAndStop(4);
} else {
if (myParent.myParent.fxTransform.volume > 0){
helpText.gotoAndStop(5);
} else {
helpText.gotoAndStop(10);
};
};
}
function sleepHover(_arg1:MouseEvent){
helpText.gotoAndStop(8);
}
function exitHover(_arg1:MouseEvent){
helpText.gotoAndStop(6);
}
function pauseHover(_arg1:MouseEvent){
helpText.gotoAndStop(2);
}
function pauseGame(_arg1:MouseEvent){
myParent.PWindow.togglePos();
}
function exit(_arg1:MouseEvent){
myParent.EWindow.togglePos();
}
function resetHover(_arg1:MouseEvent){
helpText.gotoAndStop(1);
}
function sleepFun(_arg1:MouseEvent){
myParent.SlWindow.togglePos();
}
function pillHover(_arg1:MouseEvent){
helpText.gotoAndStop(7);
}
function toggleMute(_arg1:MouseEvent){
myParent.myParent.muteCount++;
myParent.myParent.muteCount = (myParent.myParent.muteCount % 3);
trace(myParent.myParent.muteCount);
if (myParent.myParent.muteCount == 0){
helpText.gotoAndStop(4);
myParent.myParent.musicTransform.volume = 1;
myParent.myParent.music.soundTransform = myParent.myParent.musicTransform;
myParent.myParent.fxTransform.volume = 1;
myParent.fx.soundTransform = myParent.myParent.fxTransform;
myParent.staticChannel.soundTransform = myParent.myParent.fxTransform;
};
if (myParent.myParent.muteCount == 1){
helpText.gotoAndStop(5);
myParent.myParent.musicTransform.volume = 0;
myParent.myParent.music.soundTransform = myParent.myParent.musicTransform;
myParent.myParent.fxTransform.volume = 1;
myParent.fx.soundTransform = myParent.myParent.fxTransform;
myParent.staticChannel.soundTransform = myParent.myParent.fxTransform;
};
if (myParent.myParent.muteCount == 2){
helpText.gotoAndStop(10);
myParent.myParent.musicTransform.volume = 0;
myParent.myParent.music.soundTransform = myParent.myParent.musicTransform;
myParent.myParent.fxTransform.volume = 0;
myParent.fx.soundTransform = myParent.myParent.fxTransform;
myParent.staticChannel.soundTransform = myParent.myParent.fxTransform;
};
}
function hoverLevel(_arg1:MouseEvent){
_arg1.currentTarget.gotoAndStop(4);
}
function sayText(_arg1:MouseEvent){
myParent.sayText();
}
function pickLevel(_arg1:MouseEvent){
myParent.myParent.currentLevel = (_arg1.currentTarget.levelChoose - 2);
myParent.startTrans();
gameVocals.stopSound();
}
}
}//package
Section 180
//pop (pop)
package {
import flash.display.*;
import fl.motion.*;
public class pop extends MovieClip {
var colorTint:Number;
var alphaTint:Number;// = 0.5
var tileWidth;// = 30
public function pop(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
tileWidth = 30;
alphaTint = 0.5;
super();
addFrameScript(22, frame23);
x = _arg1;
y = _arg2;
alpha = 0.5;
rotation = (Math.round((Math.random() * 3)) * 90);
_local4 = 0;
_local5 = 0;
colorTint = _arg3;
tint();
}
function frame23(){
stop();
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
}
}//package
Section 181
//portalOpen (portalOpen)
package {
import flash.media.*;
public dynamic class portalOpen extends Sound {
}
}//package
Section 182
//pushblock (pushblock)
package {
import flash.media.*;
public dynamic class pushblock extends Sound {
}
}//package
Section 183
//pushPoof (pushPoof)
package {
import flash.display.*;
import fl.motion.*;
public class pushPoof extends MovieClip {
var colorTint:Number;
var alphaTint:Number;// = 0.5
var tileWidth;// = 30
public function pushPoof(_arg1:Number, _arg2:Number, _arg3:Number){
var _local4:Number;
var _local5:Number;
tileWidth = 30;
alphaTint = 0.5;
super();
addFrameScript(24, frame25);
x = _arg1;
y = _arg2;
alpha = 0.5;
_local4 = 0;
_local5 = 0;
colorTint = _arg3;
tint();
}
function frame25(){
stop();
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
}
}//package
Section 184
//q (q)
package {
import flash.media.*;
public dynamic class q extends Sound {
}
}//package
Section 185
//q2 (q2)
package {
import flash.media.*;
public dynamic class q2 extends Sound {
}
}//package
Section 186
//r (r)
package {
import flash.media.*;
public dynamic class r extends Sound {
}
}//package
Section 187
//r2 (r2)
package {
import flash.media.*;
public dynamic class r2 extends Sound {
}
}//package
Section 188
//s (s)
package {
import flash.media.*;
public dynamic class s extends Sound {
}
}//package
Section 189
//s2 (s2)
package {
import flash.media.*;
public dynamic class s2 extends Sound {
}
}//package
Section 190
//sleepWindow (sleepWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class sleepWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
public var yesB:SimpleButton;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var noB:SimpleButton;
public var myVar:String;
public function sleepWindow(_arg1){
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
myParent = _arg1;
stop();
offPos();
if (myParent.myParent.gameState == "multiC"){
gotoAndStop(4);
} else {
gotoAndStop((myParent.myParent._sharedObj.data.skipInfo.length + 1));
};
if (currentFrame < 3){
yesB.addEventListener(MouseEvent.CLICK, slYes);
noB.addEventListener(MouseEvent.CLICK, slNo);
};
}
public function slNo(_arg1:MouseEvent){
offPos();
}
public function offPos(){
myParent.gameLive = true;
x = 1000;
y = 0xFF;
}
public function setPos(){
myParent.EWindow.offPos();
myParent.PWindow.offPos();
myParent.gameLive = false;
x = 0xFF;
y = 0xFF;
}
public function togglePos(){
trace(myParent.myParent.gameState);
if ((((myParent.myParent.gameState == "play")) || ((myParent.myParent.gameState == "multiC")))){
if (x > 900){
setPos();
} else {
offPos();
};
};
}
public function slYes(_arg1:MouseEvent){
myParent.theChar.startSleep();
offPos();
}
}
}//package
Section 191
//slider (slider)
package {
import flash.display.*;
import fl.motion.*;
import flash.geom.*;
public class slider extends MovieClip {
var startLayer:Number;
var myStart:Array;
var currentTint:Number;
var fastDes:Number;// = 0.8
var BL:Boolean;
var BR:Boolean;
var starty:Number;
var slowDes:Number;// = 0.5
var startx:Number;
var speed:Number;// = 4
var key:Boolean;// = false
var SpeedDes:Number;
var xTileLeft:Number;
var xTileRight:Number;
var TR:Boolean;
var TL:Boolean;
public var xSpeed:Number;// = 0
var isFlip:Boolean;// = false
var arrayTile:Number;
var slowSpeed:Number;// = 0.07
var yTile:Number;
public var charFollow:Boolean;// = false
var jumpSpeed:Number;// = -11.8
var jumping:Boolean;// = false
var yTileTop:Number;
public var pushDir:String;// = "right"
public var setWalker:Boolean;// = false
var blockWidth:Number;// = 25
var xTile:Number;
public var ySpeed:Number;// = 0
public var currentLayer:Number;
var kill:Boolean;// = false
var telePage:Number;
var tileHeight:Number;// = 30
var myParent:MovieClip;
public var teleCount:Number;// = 0
var fallSpeed:Number;// = 1
var tele:Boolean;// = false
var tileWidth:Number;// = 30
var yTileBottom:Number;
var win:Boolean;// = false
var landCount:Number;// = 6
var teleX:Number;
public var isTele:Boolean;// = false
var teleY:Number;
public function slider(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number){
myStart = new Array(5, 5);
xSpeed = 0;
ySpeed = 0;
fallSpeed = 1;
slowSpeed = 0.07;
speed = 4;
fastDes = 0.8;
slowDes = 0.5;
SpeedDes = fastDes;
blockWidth = 25;
tileWidth = 30;
tileHeight = 30;
win = false;
kill = false;
key = false;
tele = false;
isTele = false;
isFlip = false;
jumping = false;
jumpSpeed = -11.8;
landCount = 6;
setWalker = false;
charFollow = false;
teleCount = 0;
pushDir = "right";
super();
myParent = _arg1;
startLayer = _arg2;
startx = _arg3;
starty = _arg4;
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
startSlider();
}
public function moveSlider():void{
var _local1:Number;
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
getMyDeathCorners(x, y);
if (((((((TL) || (TR))) || (BL))) || (BR))){
trace("block death");
myParent.makeBreakPoof(xTile, yTile, currentLayer);
if (charFollow){
myParent.theChar.breakPush();
};
breakSlider();
myParent.setActive();
};
if (teleCount > 5){
getTele(x, y);
if (!tele){
isTele = false;
};
if (((tele) && (!(isTele)))){
if (charFollow){
myParent.theChar.breakPush();
};
currentLayer = telePage;
isTele = true;
x = ((teleX * tileWidth) + (tileWidth / 2));
y = ((teleY * tileHeight) + (tileHeight / 2));
setTile();
myParent.rebuildMap();
};
} else {
teleCount++;
};
getMyCorners(x, (y + ySpeed));
if (ySpeed < 0){
if (((TL) && (TR))){
} else {
y = ((yTile * tileHeight) + (blockWidth / 2));
if (ySpeed < -5){
};
ySpeed = 0;
if (!myParent.grav){
jumping = false;
};
};
} else {
if (ySpeed > 0){
if (((BL) && (BR))){
} else {
y = ((((yTile + 1) * tileHeight) - (blockWidth / 2)) - 0.05);
if (ySpeed > 5){
};
ySpeed = 0;
if (myParent.grav){
jumping = false;
};
};
};
};
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
if (myParent.grav){
scaleY = 1;
} else {
scaleY = -1;
};
getFlip();
rotation = 0;
if (!charFollow){
if (myParent.grav){
if (ySpeed < 17){
ySpeed = (ySpeed + fallSpeed);
};
} else {
if (ySpeed > -17){
ySpeed = (ySpeed - fallSpeed);
};
};
y = (y + ySpeed);
} else {
if (myParent.theChar.pushDir == "right"){
x = (myParent.theChar.x + 23);
y = myParent.theChar.y;
} else {
if (myParent.theChar.pushDir == "left"){
x = (myParent.theChar.x - 23);
y = myParent.theChar.y;
} else {
x = myParent.theChar.x;
if (myParent.grav){
y = (myParent.theChar.y - 30);
} else {
y = (myParent.theChar.y + 30);
};
};
};
};
if (myParent.grav){
_local1 = 2.5;
} else {
_local1 = -2.5;
};
}
function getTele(_arg1, _arg2){
tele = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleport;
teleX = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleX;
teleY = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleY;
telePage = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].telePage;
}
function restart(){
myParent.resetMap();
}
public function setTile(){
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
}
function getMyDeathCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (blockWidth / 4)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (blockWidth / 4)) / tileWidth));
yTileTop = Math.floor((((_arg2 - (blockWidth / 2)) + 1) / tileHeight));
yTileBottom = Math.floor((((_arg2 + (blockWidth / 2)) + 1) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].killer;
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].killer;
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].killer;
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].killer;
}
public function setTint(_arg1:Number){
var _local2:Color;
if (_arg1 != currentTint){
_local2 = new Color();
_local2.setTint(_arg1, 0.5);
transform.colorTransform = _local2;
currentTint = _arg1;
};
}
function getMyCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (blockWidth / 2)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (blockWidth / 2)) / tileWidth));
yTileTop = Math.floor(((_arg2 - (blockWidth / 2)) / tileHeight));
yTileBottom = Math.floor(((_arg2 + (blockWidth / 2)) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].isWalkable();
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].isWalkable();
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].isWalkable();
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].isWalkable();
}
function spawnDust(){
var _local1:blockLandPoof;
var _local2:Number;
_local1 = new blockLandPoof(x, y, myParent.colorArray[(currentLayer * 3)]);
_local1.scaleY = scaleY;
myParent.poofMC.addChild(_local1);
_local2 = Math.ceil((Math.random() * 2));
myParent.playSoundFX(("blockLand" + _local2));
}
function breakSlider(){
currentLayer = 100;
}
function getFlip(){
if (!myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper){
isFlip = false;
};
if (((myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper) && (!(isFlip)))){
isFlip = true;
trace(myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl);
switch (myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl){
case 0:
myParent.flipMap();
break;
case 1:
myParent.vertFlipMap();
break;
case 2:
myParent.flipGrav();
break;
case 3:
myParent.spinMapL();
break;
case 4:
myParent.spinMapR();
break;
};
};
}
function getKey(_arg1, _arg2){
var _local3:Number;
key = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].key;
if (key){
_local3 = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].getKey();
myParent.removeKey(myParent.tileArray[_local3]);
myParent.keyArray[((myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].arrayLoc * 4) + 3)] = 0;
myParent.totalKey--;
myParent.rebuildMap();
trace(myParent.totalKey);
};
}
public function resetMe(){
xSpeed = 0;
ySpeed = 1;
}
public function solidSlider(){
if (!charFollow){
if (ySpeed != 0){
myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].setNotWalk();
};
if (myParent.grav){
if (((!(BL)) && (!(BR)))){
myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].setWalk();
};
} else {
if (((!(TL)) && (!(TR)))){
myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].setWalk();
};
};
};
}
public function spinSlider(_arg1:String){
var _local2:Number;
var _local3:Number;
if (_arg1 == "l"){
_local2 = ((myParent.mapWidth - yTile) - 1);
_local3 = xTile;
xTile = _local2;
yTile = _local3;
x = ((_local2 * tileWidth) + (tileWidth / 2));
y = (((_local3 * tileWidth) + (tileWidth / 2)) + 2.5);
} else {
if (_arg1 == "r"){
_local2 = yTile;
_local3 = ((myParent.mapWidth - xTile) - 1);
xTile = _local2;
yTile = _local3;
x = ((_local2 * tileWidth) + (tileWidth / 2));
y = (((_local3 * tileWidth) + (tileWidth / 2)) + ((tileWidth - blockWidth) / 2));
} else {
if (_arg1 == "v"){
if (currentLayer == myParent.offsetCount){
_local3 = ((myParent.mapWidth - yTile) - 1);
yTile = _local3;
y = (((_local3 * tileWidth) + (tileWidth / 2)) + ((tileWidth - blockWidth) / 2));
};
} else {
if (_arg1 == "f"){
if (currentLayer == myParent.offsetCount){
_local2 = ((myParent.mapWidth - xTile) - 1);
xTile = _local2;
x = ((_local2 * tileWidth) + (tileWidth / 2));
};
};
};
};
};
}
function getChar():Point{
var _local1:Point;
_local1 = new Point(x, y);
return (_local1);
}
public function startSlider(){
xSpeed = 0;
ySpeed = 1;
xTile = startx;
yTile = starty;
setWalker = false;
charFollow = false;
currentLayer = startLayer;
x = ((startx * tileWidth) + (tileWidth / 2));
y = ((starty * tileHeight) + (tileHeight / 2));
}
public function tintMe(){
trace("tint");
}
function getMyDeath(){
kill = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].killer;
}
}
}//package
Section 192
//Story_End (Story_End)
package {
import flash.display.*;
public dynamic class Story_End extends MovieClip {
public var myParent:MovieClip;
public function Story_End(){
addFrameScript(0, frame1, 629, frame630);
}
function frame1(){
}
function frame630(){
myParent.gotoAndStop("intro");
stop();
}
}
}//package
Section 193
//Story_End2 (Story_End2)
package {
import flash.display.*;
public dynamic class Story_End2 extends MovieClip {
public var myParent:MovieClip;
public function Story_End2(){
addFrameScript(0, frame1, 629, frame630);
}
function frame1(){
}
function frame630(){
myParent.gotoAndStop("intro");
stop();
}
}
}//package
Section 194
//Story_Intro (Story_Intro)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Story_Intro extends MovieClip {
public var introVocals:vocals;
public var myParent:MovieClip;
public function Story_Intro(){
addFrameScript(0, frame1, 432, frame433, 1040, frame1041, 1460, frame1461, 2302, frame2303, 2413, frame2414, 2484, frame2485, 2599, frame2600);
}
function frame1461(){
introVocals.x = -310;
introVocals.y = -165;
introVocals.setWidth(170, 435);
introVocals.startSound("Getting in this box is whats best for all of us, you will learn so much.. yet experience so little.\n\nIts quite a wild ride my friend, well worth the time spent.. and i wouldn't lie to a fellow \"Me\" now would i?\n\nbut time is ticking...\n\nyou need to get into this box now!");
}
function frame433(){
introVocals.displayText.textColor = 0xCCCCCC;
introVocals.x = 130;
introVocals.y = -140;
introVocals.setWidth(250, 200);
introVocals.startSound("OMG WHAT YEAR IS THIS!?!!\n\nHey man, listen to me very carefully. Im you.. You from the future, sent back in time 20 minutes from now to tell you that you need to get into this box now!");
}
function frame2600(){
stop();
myParent.gotoAndStop("game");
}
function frame1(){
}
function frame2485(){
if (myParent._sharedObj.data.currentLevel >= 32){
myParent.gotoAndPlay("outro");
stop();
};
}
function frame1041(){
introVocals.x = -140;
introVocals.y = 20;
introVocals.setWidth(120, 440);
introVocals.startSound("Its imperative that you get into this box our existence depends on it, and lets face it..\n\nyou dont have much else to do these days anyway.");
}
function frame2414(){
introVocals.x = -1000;
introVocals.y = -1900;
}
function frame2303(){
introVocals.x = -100;
introVocals.y = -190;
introVocals.setWidth(179, 200);
introVocals.startSound("I SAID GET\nIN THE\nDAMN BOX!!");
}
}
}//package
Section 195
//Story_Outro (Story_Outro)
package {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
import flash.text.*;
import flash.system.*;
import flash.errors.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.external.*;
import flash.filters.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Story_Outro extends MovieClip {
public var introVocals:vocals;
public var myParent:MovieClip;
public function Story_Outro(){
addFrameScript(0, frame1, 527, frame528, 535, frame536);
}
function frame1(){
}
function frame528(){
introVocals.displayText.textColor = 0x999999;
introVocals.displayText.autoSize = "right";
introVocals.x = 30;
introVocals.y = -210;
introVocals.setWidth(420, 310);
if (myParent.endText == 1){
introVocals.startSound("This wall of text means nothing, about as much as the basic rules others set in place for you.The more you read the more you realize you will follow any direction given regardless of the time spent doing so, or eventual outcome. You are simply looking for answers. And even though you have been told there will be no answers here you continue to read, following the basic rules set in place by the people around you. The path you're on will only lead to an end. this text will stop, the game will be concluded and the curtain will eventually fall. We all follow, we all want instruction and comfort, getting stuck in repetition because its simply easier then taking a risk and just not reading the text before you.Please stop reading this, it means nothing, about as much as the basic rules others set in place for you.");
} else {
if (myParent.endText == 2){
introVocals.startSound("When i was 4 my mother put me inside a cardboard box with a black marker.\nI drew on the walls for days, making a world i felt was much more interesting then the one i currently subscribed to. I cut a small hole it the front of it, well more of a flap that would let me peak out into the world to see how things were going, this is also how my mom kept me fed.\nWhen i turned 10 my mom got me a much larger one and with my black marker i drew my future.\n\"i cant see what im drawing mom, its too dark in here\" i said.\n\"turn on the light\" she said.\nWhen i turned on the light a chill when up my spine when i saw the bodies. Bodies of my future selves covering the walls of the box, scratching in their sleep.. whispering secrets. Each one wandering in the darkness in the world i created, the world i had made for myself.\nI turned off the light, and asked for another box... and a different marker.");
};
};
}
function frame536(){
stop();
}
}
}//package
Section 196
//submitWindow (submitWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class submitWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
public var submit:SimpleButton;
public var levelName:TextField;
public var d4:MovieClip;
public var d2:MovieClip;
public var d5:MovieClip;
public var more:SimpleButton;
var a:BitmapData;
public var d3:MovieClip;
public var levelCode:TextField;
var myParent:MovieClip;
public var d1:MovieClip;
var image_bitmap;
public var MMbutton:SimpleButton;
public var myVar:String;// = ""
public function submitWindow(_arg1){
var _local2:Number;
curTile = new Array(1, 1);
colMC = new MovieClip();
myVar = "";
super();
addFrameScript(0, frame1, 2, frame3);
myParent = _arg1;
offPos();
_local2 = 1;
while (_local2 <= 5) {
this[("d" + _local2)].diff = _local2;
this[("d" + _local2)].buttonMode = true;
this[("d" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickDiff);
_local2++;
};
more.addEventListener(MouseEvent.MOUSE_UP, back);
submit.addEventListener(MouseEvent.MOUSE_UP, submitMap);
}
function submitMap(_arg1:MouseEvent){
if (((!((levelName.text == ""))) && (!((myParent.mapDiff == 0))))){
myParent.submitLevel();
};
}
function frame3(){
levelCode.text = myVar;
MMbutton.addEventListener(MouseEvent.MOUSE_UP, mainMenu);
}
function frame1(){
stop();
}
public function offPos(){
x = 1000;
y = 0xFF;
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
function pickDiff(_arg1:MouseEvent){
if (myParent.mapDiff > 0){
this[("d" + myParent.mapDiff)].gotoAndStop(1);
};
myParent.mapDiff = _arg1.currentTarget.diff;
this[("d" + myParent.mapDiff)].gotoAndStop(2);
}
function mainMenu(_arg1:MouseEvent){
myParent.myParent.stopMusic();
myParent.myParent.gotoAndStop("menu");
}
function back(_arg1:MouseEvent){
myParent.startEdit();
}
}
}//package
Section 197
//switcher (switcher)
package {
import flash.display.*;
public dynamic class switcher extends MovieClip {
public function switcher(){
addFrameScript(0, frame1, 12, frame13, 29, frame30, 44, frame45, 59, frame60, 74, frame75, 84, frame85);
}
function frame75(){
gotoAndStop(1);
}
function frame85(){
gotoAndStop(1);
}
function frame1(){
stop();
}
function frame13(){
gotoAndStop(1);
}
function frame30(){
gotoAndStop(1);
}
function frame45(){
gotoAndStop(1);
}
function frame60(){
gotoAndStop(1);
}
}
}//package
Section 198
//t (t)
package {
import flash.media.*;
public dynamic class t extends Sound {
}
}//package
Section 199
//t2 (t2)
package {
import flash.media.*;
public dynamic class t2 extends Sound {
}
}//package
Section 200
//talkie1 (talkie1)
package {
import flash.media.*;
public dynamic class talkie1 extends Sound {
}
}//package
Section 201
//talkie2 (talkie2)
package {
import flash.media.*;
public dynamic class talkie2 extends Sound {
}
}//package
Section 202
//talkie3 (talkie3)
package {
import flash.media.*;
public dynamic class talkie3 extends Sound {
}
}//package
Section 203
//talkingBg (talkingBg)
package {
import flash.media.*;
public dynamic class talkingBg extends Sound {
}
}//package
Section 204
//testpattern01 (testpattern01)
package {
import flash.display.*;
public dynamic class testpattern01 extends MovieClip {
public function testpattern01(){
addFrameScript(115, frame116);
}
function frame116(){
stop();
}
}
}//package
Section 205
//testpattern02 (testpattern02)
package {
import flash.display.*;
public dynamic class testpattern02 extends MovieClip {
public function testpattern02(){
addFrameScript(81, frame82);
}
function frame82(){
stop();
}
}
}//package
Section 206
//testpattern03 (testpattern03)
package {
import flash.display.*;
public dynamic class testpattern03 extends MovieClip {
public function testpattern03(){
addFrameScript(115, frame116);
}
function frame116(){
stop();
}
}
}//package
Section 207
//textWindow (textWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class textWindow extends MovieClip {
var curTile:Array;
var colMC:MovieClip;
public var editVocals:vocals;
var a:BitmapData;
var myParent:MovieClip;
var image_bitmap;
public var testSound:SimpleButton;
public var introText:TextField;
public var myVar:String;
public var backButton:SimpleButton;
public function textWindow(_arg1){
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
addFrameScript(0, frame1);
myParent = _arg1;
offPos();
backButton.addEventListener(MouseEvent.MOUSE_UP, back);
testSound.addEventListener(MouseEvent.MOUSE_UP, sendText);
}
function frame1(){
stop();
}
public function offPos(){
x = 1000;
y = 0xFF;
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
function pickLayer(_arg1:MouseEvent){
this[("l" + myParent.totalLevel)].gotoAndStop(1);
myParent.totalLevel = _arg1.currentTarget.layer;
myParent.mapData[3][0] = _arg1.currentTarget.layer;
this[("l" + myParent.totalLevel)].gotoAndStop(2);
myParent.offsetCount = 0;
myParent.resetMap();
}
function mainMenu(_arg1:MouseEvent){
myParent.myParent.gotoAndStop("menu");
}
function sendText(_arg1:MouseEvent){
editVocals.startSound(introText.text);
}
function back(_arg1:MouseEvent){
myParent.optionsPicking = false;
myParent.textPicking = false;
myParent.resetMap();
}
function pickScore(_arg1:MouseEvent){
if (myParent.mapScore > 0){
this[("s" + myParent.mapScore)].gotoAndStop(1);
};
myParent.mapScore = _arg1.currentTarget.score;
this[("s" + myParent.mapScore)].gotoAndStop(2);
}
}
}//package
Section 208
//tile (tile)
package {
import flash.display.*;
import fl.motion.*;
public class tile extends MovieClip {
var yHold:Number;
var win:Boolean;// = false
var colorTint:Number;
public var green:MovieClip;
var teleport:Boolean;// = false
public var isMoveing:Boolean;// = false
var arrayLoc:MovieClip;
var flipControl:Number;// = 0
var xHold:Number;
var key:Boolean;// = false
var keyLoc:Number;
var telePage:Number;
var tileHeight;// = 30
var flipper:Boolean;// = false
var alphaTint:Number;// = 0.5
var killer:Boolean;// = false
public var door:MovieClip;
var walkable:Boolean;// = false
var colorArray:Array;
public var startOpen:Boolean;// = false
public var doorKey:MovieClip;
var tileWidth;// = 30
var teleX:Number;
var teleY:Number;
var tileNum:Number;
public function tile(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=0, _arg6:Number=0, _arg7:Boolean=false, _arg8:Boolean=true){
var _local9:Number;
var _local10:Number;
walkable = false;
win = false;
killer = false;
teleport = false;
key = false;
tileWidth = 30;
tileHeight = 30;
colorArray = new Array(0xCCCCCC, 0x3300CC, 0x990000);
alphaTint = 0.5;
flipper = false;
flipControl = 0;
startOpen = false;
isMoveing = false;
super();
addFrameScript(0, frame1, 139, frame140);
x = (_arg1 * tileWidth);
y = (_arg2 * tileHeight);
_local9 = 0;
_local10 = 0;
switch (_arg6){
case 0:
if (_arg7){
_local9 = (_local9 + tileWidth);
scaleX = -1;
};
break;
case 1:
rotation = 90;
if (_arg7){
scaleY = -1;
} else {
_local9 = tileWidth;
};
break;
case 2:
rotation = 180;
if (_arg7){
scaleX = -1;
_local10 = tileWidth;
} else {
_local9 = tileWidth;
_local10 = tileWidth;
};
break;
case 3:
rotation = 270;
if (_arg7){
_local10 = tileWidth;
_local9 = tileWidth;
scaleY = -1;
} else {
_local10 = tileWidth;
};
break;
};
x = (x + _local9);
y = (y + _local10);
setTile(_arg3, _arg5, _arg4);
}
public function getFlip():Number{
var _local1:Number;
_local1 = 100;
if (flipper){
_local1 = flipControl;
};
return (_local1);
}
public function setFlip(_arg1:Number):void{
flipper = true;
flipControl = _arg1;
}
public function getKey():MovieClip{
key = false;
return (arrayLoc);
}
public function setTele(_arg1:Number, _arg2:Number, _arg3:Number){
teleport = true;
telePage = _arg1;
teleX = _arg2;
teleY = _arg3;
}
public function setTile(_arg1, _arg2, _arg3){
tileNum = _arg1;
colorTint = _arg3;
tint();
gotoAndStop((tileNum + 1));
switch (tileNum){
case 0:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 33:
case 142:
case 143:
case 144:
case 145:
case 146:
case 149:
walkable = true;
killer = false;
win = false;
break;
case 34:
case 35:
walkable = true;
killer = false;
win = true;
break;
case 29:
case 30:
case 31:
case 32:
walkable = true;
killer = true;
win = false;
break;
default:
walkable = false;
killer = false;
win = false;
};
}
public function isClear():Boolean{
if (((!(walkable)) || (killer))){
return (true);
};
return (false);
}
public function openDoor():void{
setTile(34, 0, colorTint);
}
function frame1(){
stop();
}
public function setWalk(){
walkable = false;
}
public function setNotKey(){
key = false;
arrayLoc = null;
}
public function setKey(_arg1:MovieClip){
key = true;
arrayLoc = _arg1;
}
public function setNotWalk(){
walkable = true;
}
public function tint(_arg1:Number=-1){
var _local2:Color;
if (_arg1 == -1){
_arg1 = alphaTint;
};
_local2 = new Color();
_local2.setTint(colorTint, _arg1);
this.transform.colorTransform = _local2;
}
public function closeDoor():void{
}
function frame140(){
if (startOpen){
door.gotoAndPlay(7);
};
}
public function isWalkable():Boolean{
return (walkable);
}
}
}//package
Section 209
//tile_chunk (tile_chunk)
package {
import flash.display.*;
import fl.motion.*;
public class tile_chunk extends MovieClip {
var colorTint:Number;
var ySpeed:Number;
var myParent:MovieClip;
var alphaTint:Number;// = 0.5
var xSpeed:Number;
var fallSpeed:Number;// = 1
var tileWidth;// = 30
public function tile_chunk(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number){
fallSpeed = 1;
alphaTint = 0.5;
tileWidth = 30;
super();
myParent = _arg1;
x = ((_arg2 * tileWidth) + (Math.random() * tileWidth));
y = ((_arg3 * tileWidth) + (Math.random() * tileWidth));
rotation = (Math.random() * 360);
ySpeed = ((-(Math.random()) * 6) - 7);
xSpeed = ((Math.random() * 8) - 4);
colorTint = _arg4;
tint();
}
public function removeCheck():Boolean{
if ((((y > 500)) || ((y < 0)))){
return (true);
};
return (false);
}
public function tint(){
var _local1:Color;
_local1 = new Color();
_local1.setTint(colorTint, alphaTint);
this.transform.colorTransform = _local1;
}
public function falling():void{
if (myParent.grav){
ySpeed = (ySpeed + fallSpeed);
} else {
ySpeed = (ySpeed - fallSpeed);
};
y = (y + ySpeed);
x = (x + xSpeed);
rotation = (rotation + (xSpeed * 5));
}
}
}//package
Section 210
//tile_outline (tile_outline)
package {
import flash.display.*;
public class tile_outline extends MovieClip {
var tileHeight;// = 30
var tileWidth;// = 30
public function tile_outline(_arg1:Number, _arg2:Number){
tileWidth = 30;
tileHeight = 30;
super();
x = (_arg1 * tileWidth);
y = (_arg2 * tileHeight);
}
}
}//package
Section 211
//tileWindow (tileWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class tileWindow extends MovieClip {
var greenDesc:String;// = "green tile, if close enough will travel with you to the next level"
public var t0:MovieClip;
public var t2:MovieClip;
public var t3:MovieClip;
public var t5:MovieClip;
public var t7:MovieClip;
public var t1:MovieClip;
public var t9:MovieClip;
var descArray:Array;
public var t4:MovieClip;
public var key:MovieClip;
public var t8:MovieClip;
public var t6:MovieClip;
public var portal:MovieClip;
var offset;
public var blockDesc:TextField;
public var time:MovieClip;
public var slider:MovieClip;
var tileCount:Number;// = 40
public var green:MovieClip;
var timeDesc:String;// = "block disapears after a certain amount of time"
var charDesc:String;// = "place your character, your character always starts on the first screen"
var sliderDesc:String;// = "slider block, you can move this around with you"
public var newChar:MovieClip;
var portalDesc:String;// = "place a portal, click once to put down the portal, and click again to pick the portal exit. Portal exit can be on any screen. To get rid of a portal click on the portal (while you have this tool selected) and set the portal exit to the portal itself."
var doorDesc:String;// = "key door combo, put down key first, then put down door"
public var flip1:MovieClip;
public var flip2:MovieClip;
public var flip3:MovieClip;
var myParent:MovieClip;
public var flip4:MovieClip;
public var flip0:MovieClip;
var keyDesc:String;// = "place a key, all keys must be collected before the final door is opened"
public var t12:MovieClip;
public var t14:MovieClip;
public var t15:MovieClip;
public var t16:MovieClip;
public var t17:MovieClip;
public var t18:MovieClip;
public var t19:MovieClip;
public var t13:MovieClip;
public var t11:MovieClip;
public var t20:MovieClip;
public var t21:MovieClip;
public var t22:MovieClip;
public var t23:MovieClip;
public var t24:MovieClip;
public var t25:MovieClip;
public var t27:MovieClip;
public var t28:MovieClip;
public var t29:MovieClip;
public var door:MovieClip;
public var t10:MovieClip;
var mapWidth:Number;// = 10
public var t26:MovieClip;
public var t30:MovieClip;
public var t31:MovieClip;
public var t32:MovieClip;
public var t33:MovieClip;
public var tilePick:MovieClip;
var flipArray:Array;
public function tileWindow(_arg1, _arg2){
var _local3:*;
mapWidth = 10;
tileCount = 40;
flipArray = new Array("flip1", "flip2", "flip3", "flip4", "flip5");
descArray = new Array("Blank Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Ground Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile", "Generic Background Tile Last", "Killer saw tile (die if you touch it)", "Killer saw tile (die if you touch it)", "Killer saw tile (die if you touch it)", "Killer saw tile (die if you touch it)", "Exit tile (get all keys to open this bitch)");
charDesc = "place your character, your character always starts on the first screen";
portalDesc = "place a portal, click once to put down the portal, and click again to pick the portal exit. Portal exit can be on any screen. To get rid of a portal click on the portal (while you have this tool selected) and set the portal exit to the portal itself.";
keyDesc = "place a key, all keys must be collected before the final door is opened";
greenDesc = "green tile, if close enough will travel with you to the next level";
sliderDesc = "slider block, you can move this around with you";
timeDesc = "block disapears after a certain amount of time";
doorDesc = "key door combo, put down key first, then put down door";
super();
myParent = _arg1;
offset = _arg2;
setPos();
_local3 = 0;
while (_local3 <= 33) {
this[("t" + _local3)].args = _local3;
this[("t" + _local3)].quote = descArray[_local3];
this[("t" + _local3)].buttonMode = true;
this[("t" + _local3)].addEventListener(MouseEvent.MOUSE_UP, pickTile);
this[("t" + _local3)].addEventListener(MouseEvent.ROLL_OVER, hoverTile);
_local3++;
};
newChar.gotoAndStop(151);
newChar.quote = charDesc;
newChar.buttonMode = true;
newChar.addEventListener(MouseEvent.MOUSE_UP, placeChar);
newChar.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
portal.quote = portalDesc;
portal.buttonMode = true;
portal.addEventListener(MouseEvent.MOUSE_UP, placePortal);
portal.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
key.quote = keyDesc;
key.buttonMode = true;
key.addEventListener(MouseEvent.MOUSE_UP, placeKey);
key.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
green.quote = greenDesc;
green.buttonMode = true;
green.addEventListener(MouseEvent.MOUSE_UP, placeGreen);
green.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
slider.quote = sliderDesc;
slider.buttonMode = true;
slider.addEventListener(MouseEvent.MOUSE_UP, placeSlider);
slider.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
time.quote = timeDesc;
time.buttonMode = true;
time.addEventListener(MouseEvent.MOUSE_UP, placeTime);
time.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
door.quote = doorDesc;
door.buttonMode = true;
door.addEventListener(MouseEvent.MOUSE_UP, placeDoor);
door.addEventListener(MouseEvent.ROLL_OVER, hoverTile);
_local3 = 0;
while (_local3 <= 4) {
this[("flip" + _local3)].args = _local3;
this[("flip" + _local3)].quote = flipArray[_local3];
this[("flip" + _local3)].buttonMode = true;
this[("flip" + _local3)].addEventListener(MouseEvent.MOUSE_UP, pickFlip);
this[("flip" + _local3)].addEventListener(MouseEvent.ROLL_OVER, hoverTile);
this[("flip" + _local3)].gotoAndStop((_local3 + 143));
_local3++;
};
_local3 = 0;
while (_local3 <= 33) {
this[("t" + _local3)].gotoAndStop((_local3 + 1));
_local3++;
};
portal.gotoAndStop(150);
key.gotoAndStop(149);
green.gotoAndStop(148);
slider.gotoAndStop(142);
time.gotoAndStop(141);
door.gotoAndStop(139);
movePicker();
}
function hoverTile(_arg1:MouseEvent){
blockDesc.text = _arg1.target.quote;
}
function getWidth(_arg1):Number{
return (Math.floor((_arg1 / mapWidth)));
}
function getHeight(_arg1):Number{
return ((_arg1 % mapWidth));
}
function pickFlip(_arg1:MouseEvent){
myParent.currentTile = (300 + Number(_arg1.currentTarget.args));
movePicker();
myParent.myParent.shifted = false;
}
function placePortal(_arg1:MouseEvent){
myParent.currentTile = 201;
movePicker();
myParent.myParent.shifted = false;
}
public function offPos(){
x = 1000;
}
function placeGreen(_arg1:MouseEvent){
myParent.currentTile = 203;
movePicker();
myParent.myParent.shifted = false;
}
function placeTime(_arg1:MouseEvent){
myParent.currentTile = 205;
movePicker();
myParent.myParent.shifted = false;
}
function pickTile(_arg1:MouseEvent){
myParent.currentTile = _arg1.currentTarget.args;
movePicker();
myParent.myParent.shifted = false;
}
public function setPos(){
x = 490;
y = 45;
}
function placeSlider(_arg1:MouseEvent){
myParent.currentTile = 204;
movePicker();
myParent.myParent.shifted = false;
}
function placeChar(_arg1:MouseEvent){
myParent.currentTile = 200;
movePicker();
myParent.myParent.shifted = false;
}
function placeDoor(_arg1:MouseEvent){
myParent.currentTile = 206;
movePicker();
myParent.myParent.shifted = false;
}
public function movePicker(){
var _local1:Number;
var _local2:Number;
switch (myParent.currentTile){
case 200:
_local1 = newChar.x;
_local2 = newChar.y;
break;
case 201:
_local1 = portal.x;
_local2 = portal.y;
break;
case 202:
_local1 = key.x;
_local2 = key.y;
break;
case 203:
_local1 = green.x;
_local2 = green.y;
break;
case 204:
_local1 = slider.x;
_local2 = slider.y;
break;
case 205:
_local1 = time.x;
_local2 = time.y;
break;
case 206:
_local1 = door.x;
_local2 = door.y;
break;
case 300:
case 301:
case 302:
case 303:
case 304:
_local1 = this[("flip" + (myParent.currentTile - 300))].x;
_local2 = this[("flip" + (myParent.currentTile - 300))].y;
break;
default:
_local1 = this[("t" + myParent.currentTile)].x;
_local2 = this[("t" + myParent.currentTile)].y;
break;
};
tilePick.x = _local1;
tilePick.y = _local2;
}
function placeKey(_arg1:MouseEvent){
myParent.currentTile = 202;
movePicker();
myParent.myParent.shifted = false;
}
}
}//package
Section 212
//timeTile (timeTile)
package {
import flash.display.*;
import fl.motion.*;
import flash.geom.*;
public class timeTile extends MovieClip {
var startLayer:Number;
var myStart:Array;
var currentTint:Number;
var fastDes:Number;// = 0.8
var BL:Boolean;
var BR:Boolean;
var starty:Number;
var slowDes:Number;// = 0.5
var startx:Number;
var speed:Number;// = 4
var SpeedDes:Number;
var xTileLeft:Number;
var totalTimeSet:Number;
var xTileRight:Number;
var TR:Boolean;
var TL:Boolean;
public var xSpeed:Number;// = 0
var isFlip:Boolean;// = false
var arrayTile:Number;
var slowSpeed:Number;// = 0.07
var yTile:Number;
public var charFollow:Boolean;// = false
var jumpSpeed:Number;// = -11.8
var jumping:Boolean;// = false
var yTileTop:Number;
public var pushDir:String;// = "right"
public var setWalker:Boolean;// = false
var blockWidth:Number;// = 30
var xTile:Number;
public var ySpeed:Number;// = 0
public var currentLayer:Number;
var kill:Boolean;// = false
var telePage:Number;
var tileHeight:Number;// = 30
var myParent:MovieClip;
public var teleCount:Number;// = 0
var totalTimeCount:Number;
var fallSpeed:Number;// = 1
var tele:Boolean;// = false
var tileWidth:Number;// = 30
var yTileBottom:Number;
var win:Boolean;// = false
var landCount:Number;// = 6
var teleX:Number;
public var isTele:Boolean;// = false
var teleY:Number;
public function timeTile(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number){
myStart = new Array(5, 5);
xSpeed = 0;
ySpeed = 0;
fallSpeed = 1;
slowSpeed = 0.07;
speed = 4;
fastDes = 0.8;
slowDes = 0.5;
SpeedDes = fastDes;
blockWidth = 30;
tileWidth = 30;
tileHeight = 30;
win = false;
kill = false;
tele = false;
isTele = false;
isFlip = false;
jumping = false;
jumpSpeed = -11.8;
landCount = 6;
setWalker = false;
charFollow = false;
teleCount = 0;
pushDir = "right";
super();
addFrameScript(0, frame1);
myParent = _arg1;
startLayer = _arg2;
startx = _arg3;
starty = _arg4;
totalTimeSet = (_arg5 * 30);
xTile = Math.floor((x / tileWidth));
yTile = Math.floor((y / tileHeight));
startTime();
}
public function setStartTime(_arg1){
totalTimeSet = (_arg1 * 30);
}
function getTele(_arg1, _arg2){
tele = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleport;
teleX = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleX;
teleY = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].teleY;
telePage = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].telePage;
}
function restart(){
myParent.resetMap();
}
public function spinTime(_arg1:String){
var _local2:Number;
var _local3:Number;
if (_arg1 == "l"){
_local2 = ((myParent.mapWidth - yTile) - 1);
_local3 = xTile;
xTile = _local2;
yTile = _local3;
x = ((_local2 * tileWidth) + (tileWidth / 2));
y = (((_local3 * tileWidth) + (tileWidth / 2)) + 2.5);
} else {
if (_arg1 == "r"){
_local2 = yTile;
_local3 = ((myParent.mapWidth - xTile) - 1);
xTile = _local2;
yTile = _local3;
x = ((_local2 * tileWidth) + (tileWidth / 2));
y = (((_local3 * tileWidth) + (tileWidth / 2)) + ((tileWidth - blockWidth) / 2));
} else {
if (_arg1 == "v"){
if (currentLayer == myParent.offsetCount){
_local3 = ((myParent.mapWidth - yTile) - 1);
yTile = _local3;
y = (((_local3 * tileWidth) + (tileWidth / 2)) + ((tileWidth - blockWidth) / 2));
};
} else {
if (_arg1 == "f"){
if (currentLayer == myParent.offsetCount){
_local2 = ((myParent.mapWidth - xTile) - 1);
xTile = _local2;
x = ((_local2 * tileWidth) + (tileWidth / 2));
};
};
};
};
};
}
public function moveTime():void{
if (totalTimeCount < 0){
myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].setNotWalk();
currentLayer = 100;
myParent.setActive();
} else {
myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].setWalk();
gotoAndStop(Math.ceil((totalTimeCount / 30)));
totalTimeCount--;
};
}
public function startTime(){
xSpeed = 0;
setWalker = false;
currentLayer = startLayer;
totalTimeCount = totalTimeSet;
xTile = startx;
yTile = starty;
x = ((xTile * tileWidth) + (tileWidth / 2));
y = ((yTile * tileHeight) + (tileHeight / 2));
gotoAndStop(Math.ceil((totalTimeCount / 30)));
}
function getMyDeathCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (blockWidth / 4)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (blockWidth / 4)) / tileWidth));
yTileTop = Math.floor((((_arg2 - (blockWidth / 2)) + 1) / tileHeight));
yTileBottom = Math.floor((((_arg2 + (blockWidth / 2)) + 1) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].killer;
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].killer;
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].killer;
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].killer;
}
function frame1(){
stop();
}
public function setTint(_arg1:Number){
var _local2:Color;
if (_arg1 != currentTint){
_local2 = new Color();
_local2.setTint(_arg1, 0.5);
transform.colorTransform = _local2;
currentTint = _arg1;
};
}
function getMyCorners(_arg1, _arg2){
xTileLeft = Math.floor(((_arg1 - (blockWidth / 2)) / tileWidth));
xTileRight = Math.floor(((_arg1 + (blockWidth / 2)) / tileWidth));
yTileTop = Math.floor(((_arg2 - (blockWidth / 2)) / tileHeight));
yTileBottom = Math.floor(((_arg2 + (blockWidth / 2)) / tileHeight));
TL = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileLeft)].isWalkable();
BL = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileLeft)].isWalkable();
TR = myParent.tileArray[((myParent.mapWidth * yTileTop) + xTileRight)].isWalkable();
BR = myParent.tileArray[((myParent.mapWidth * yTileBottom) + xTileRight)].isWalkable();
}
function getFlip(){
if (!myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper){
isFlip = false;
};
if (((myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipper) && (!(isFlip)))){
isFlip = true;
trace(myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl);
switch (myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].flipControl){
case 0:
myParent.flipMap();
break;
case 1:
myParent.flipGrav();
break;
case 2:
myParent.spinMapL();
break;
case 3:
myParent.spinMapR();
break;
};
};
}
public function resetMe(){
xSpeed = 0;
ySpeed = 1;
}
function getChar():Point{
var _local1:Point;
_local1 = new Point(x, y);
return (_local1);
}
function getMyDeath(){
kill = myParent.tileArray[((myParent.mapWidth * yTile) + xTile)].killer;
}
public function tintMe(){
trace("tint");
}
}
}//package
Section 213
//ToString (ToString)
package {
public class ToString {
public static function breakString(_arg1:String):Array{
var _local2:Array;
var _local3:Array;
var _local4:*;
var _local5:Array;
_local2 = new Array();
_local3 = _arg1.split(";");
_local4 = 0;
while (_local4 < (_local3.length - 1)) {
_local5 = _local3[_local4].split(",");
_local2.push(_local5);
_local4++;
};
return (_local2);
}
public static function trace2DArray(_arg1:Array):void{
var _local2:String;
var _local3:int;
_local2 = "[";
_local3 = 0;
while (_local3 < _arg1.length) {
if (_local3 != 0){
_local2 = (_local2 + " ");
};
_local2 = (_local2 + (("[" + _arg1[_local3].join(",")) + "]"));
if (_local3 != (_arg1.length - 1)){
_local2 = (_local2 + ",\n");
};
_local3++;
};
trace((_local2 + "]"));
}
public static function makeString(_arg1:Array):String{
var _local2:String;
var _local3:*;
var _local4:Array;
var _local5:*;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1[_local3];
_local5 = 0;
while (_local5 < _local4.length) {
_local2 = (_local2 + String(_local4[_local5]));
if (_local5 < (_local4.length - 1)){
_local2 = (_local2 + ",");
};
_local5++;
};
if (_local3 <= _arg1.length){
_local2 = (_local2 + ";");
};
_local3++;
};
return (_local2);
}
}
}//package
Section 214
//u (u)
package {
import flash.media.*;
public dynamic class u extends Sound {
}
}//package
Section 215
//u2 (u2)
package {
import flash.media.*;
public dynamic class u2 extends Sound {
}
}//package
Section 216
//v (v)
package {
import flash.media.*;
public dynamic class v extends Sound {
}
}//package
Section 217
//w (w)
package {
import flash.media.*;
public dynamic class w extends Sound {
}
}//package
Section 218
//v2 (v2)
package {
import flash.media.*;
public dynamic class v2 extends Sound {
}
}//package
Section 219
//w2 (w2)
package {
import flash.media.*;
public dynamic class w2 extends Sound {
}
}//package
Section 220
//walk1 (walk1)
package {
import flash.media.*;
public dynamic class walk1 extends Sound {
}
}//package
Section 221
//walk2 (walk2)
package {
import flash.media.*;
public dynamic class walk2 extends Sound {
}
}//package
Section 222
//walk3 (walk3)
package {
import flash.media.*;
public dynamic class walk3 extends Sound {
}
}//package
Section 223
//walk4 (walk4)
package {
import flash.media.*;
public dynamic class walk4 extends Sound {
}
}//package
Section 224
//warp1 (warp1)
package {
import flash.media.*;
public dynamic class warp1 extends Sound {
}
}//package
Section 225
//warp2 (warp2)
package {
import flash.media.*;
public dynamic class warp2 extends Sound {
}
}//package
Section 226
//vocals (vocals)
package {
import flash.display.*;
import flash.utils.*;
import flash.media.*;
import flash.text.*;
public class vocals extends MovieClip {
var soundPlay:Number;// = 0
var talkCast:Number;// = 8
public var displayText:TextField;
var endCount:Number;// = 0
var setTalk:Number;
var endTalk:Boolean;// = false
var displayChar:String;
var talkAlt:Number;// = 0
var soundCount:Number;// = 0
var myParent:MovieClip;
var displayHeight:Number;// = 100
public var headGfx:MovieClip;
var displayString:String;// = ""
var commaCount:Number;// = -4
var totalSounds:Array;
var spaceCount:Number;// = -2
var alphabet:Array;
var isPlaying:Boolean;// = false
public var VM:MovieClip;
var endCast:Number;// = 100
var talkCount:Number;// = 0
var periodCount:Number;// = -12
public function vocals(){
soundCount = 0;
soundPlay = 0;
periodCount = -12;
commaCount = -4;
spaceCount = -2;
displayString = "";
isPlaying = false;
talkAlt = 0;
talkCount = 0;
talkCast = 8;
endTalk = false;
endCount = 0;
endCast = 100;
displayHeight = 100;
alphabet = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
super();
displayText.autoSize = "left";
headGfx.visible = false;
headGfx.stop();
setTalk = (Math.floor((Math.random() * 15)) + 1);
if (setTalk == 16){
setTalk = 15;
};
setTalk = ((setTalk * 2) - 1);
}
public function playSound(){
var _local1:Class;
var _local2:Sound;
var _local3:Number;
if (headGfx.currentFrame == 21){
if (isPlaying){
if (talkCount >= talkCast){
headGfx.headTalk.gotoAndStop((setTalk + talkAlt));
talkAlt = (1 - talkAlt);
talkCount = 0;
} else {
talkCount++;
};
if (soundCount > soundPlay){
displayChar = totalSounds.shift();
displayString = (displayString + displayChar);
displayText.text = displayString;
if (alphabet.some(checkAlphabet)){
if (myParent){
if ((((myParent.myParent.myParent.gameState == "play")) && ((myParent.myParent.myParent.currentLevel >= 28)))){
myParent.myParent.playSoundFX(displayChar.toLowerCase());
} else {
myParent.myParent.playSoundFX((displayChar.toLowerCase() + "2"));
};
} else {
_local1 = (getDefinitionByName((displayChar.toLowerCase() + "2")) as Class);
_local2 = new (_local1);
_local2.play();
};
};
if ((((((displayChar == ".")) || ((displayChar == "!")))) || ((displayChar == "?")))){
soundCount = periodCount;
} else {
if (displayChar == ","){
soundCount = commaCount;
} else {
if (displayChar == " "){
soundCount = spaceCount;
} else {
soundCount = 0;
};
};
};
if (totalSounds.length <= 0){
isPlaying = false;
endTalk = true;
};
} else {
soundCount++;
};
};
};
if (endTalk){
if (endCount > endCast){
if (myParent){
_local3 = Math.ceil((Math.random() * 3));
myParent.myParent.playSoundFX(("talkie" + _local3));
myParent.myParent.stopStaticFX();
displayText.text = "";
};
endCount = 0;
endTalk = false;
headGfx.play();
} else {
endCount++;
};
};
if ((displayText.height + displayText.y) > displayHeight){
displayText.y = (displayText.y - 2);
};
}
public function stopSound(){
isPlaying = false;
}
public function setWidth(_arg1:Number, _arg2:Number){
displayText.width = _arg2;
displayHeight = _arg1;
VM.width = _arg2;
VM.height = _arg1;
}
public function setInGame(){
headGfx.visible = true;
}
public function checkAlphabet(_arg1, _arg2:int, _arg3:Array):Boolean{
return ((_arg1 == displayChar.toLowerCase()));
}
public function startSound(_arg1:String):void{
var _local2:Number;
totalSounds = _arg1.split("");
displayString = "";
displayText.y = 0;
displayText.text = "";
isPlaying = true;
talkCount = (talkCast - 1);
if (headGfx.currentFrame != 21){
if (myParent){
_local2 = Math.ceil((Math.random() * 3));
myParent.myParent.playSoundFX(("talkie" + _local2));
myParent.myParent.playStaticFX();
};
headGfx.gotoAndPlay(2);
};
endCount = 0;
endTalk = false;
}
}
}//package
Section 227
//voteWindow (voteWindow)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class voteWindow extends MovieClip {
var curTile:Array;
public var s1:MovieClip;
public var s5:MovieClip;
var colMC:MovieClip;
public var s2:MovieClip;
public var s4:MovieClip;
public var s3:MovieClip;
public var d4:MovieClip;
public var d2:MovieClip;
public var d5:MovieClip;
var a:BitmapData;
public var d3:MovieClip;
var myParent:MovieClip;
public var skip:MovieClip;
public var d1:MovieClip;
var image_bitmap;
public var myVar:String;
public function voteWindow(_arg1){
var _local2:Number;
curTile = new Array(1, 1);
colMC = new MovieClip();
super();
myParent = _arg1;
offPos();
_local2 = 1;
while (_local2 <= 5) {
this[("d" + _local2)].diff = _local2;
this[("d" + _local2)].buttonMode = true;
this[("d" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickDiff);
_local2++;
};
_local2 = 1;
while (_local2 <= 5) {
this[("s" + _local2)].score = _local2;
this[("s" + _local2)].buttonMode = true;
this[("s" + _local2)].addEventListener(MouseEvent.MOUSE_UP, pickScore);
_local2++;
};
skip.buttonMode = true;
skip.addEventListener(MouseEvent.MOUSE_UP, mainMenu);
}
function submitVote(){
if (((!((myParent.mapDiff == 0))) && (!((myParent.mapScore == 0))))){
myParent.submitVote();
};
}
public function offPos(){
x = 1000;
y = 0xFF;
}
public function setPos(){
x = 0xFF;
y = 0xFF;
}
function pickDiff(_arg1:MouseEvent){
if (myParent.mapDiff > 0){
this[("d" + myParent.mapDiff)].gotoAndStop(1);
};
myParent.mapDiff = _arg1.currentTarget.diff;
this[("d" + myParent.mapDiff)].gotoAndStop(2);
submitVote();
}
function mainMenu(_arg1:MouseEvent){
if (myParent.myParent.gameState == "multi"){
myParent.stopStaticFX();
myParent.myParent.stopMusic();
myParent.myParent.gotoAndStop("menu");
} else {
if (myParent.myParent.gameState == "multiC"){
myParent.stopStaticFX();
if (myParent.exitVote){
myParent.myParent.stopMusic();
myParent.myParent.gotoAndStop("menu");
} else {
myParent.startTrans();
};
};
};
}
function back(_arg1:MouseEvent){
myParent.startEdit();
}
function pickScore(_arg1:MouseEvent){
if (myParent.mapScore > 0){
this[("s" + myParent.mapScore)].gotoAndStop(1);
};
myParent.mapScore = _arg1.currentTarget.score;
this[("s" + myParent.mapScore)].gotoAndStop(2);
submitVote();
}
}
}//package
Section 228
//x (x)
package {
import flash.media.*;
public dynamic class x extends Sound {
}
}//package
Section 229
//x2 (x2)
package {
import flash.media.*;
public dynamic class x2 extends Sound {
}
}//package
Section 230
//y (y)
package {
import flash.media.*;
public dynamic class y extends Sound {
}
}//package
Section 231
//y2 (y2)
package {
import flash.media.*;
public dynamic class y2 extends Sound {
}
}//package
Section 232
//z (z)
package {
import flash.media.*;
public dynamic class z extends Sound {
}
}//package
Section 233
//z2 (z2)
package {
import flash.media.*;
public dynamic class z2 extends Sound {
}
}//package