In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: WORLD 1-2 / KINOKO_CLICK

おなじみ 

スーパー○リオ WORLD:1-2 のブルブルきのこ

ただ、それだけですw

http://blog.quq.jp/
http://twitter.com/quqjp

あとで 上のコイン、?ボック をキラキラアニメするようにする
音が付いたら最高なんだけどなぁ。。。

dizgid: ひとまず。もとのをあんまりいじらないで3D化
音あるとほんとに最高
キノコクリックで..
Get Adobe Flash player
by dizgid 25 May 2009
/**
 * Copyright dizgid ( http://wonderfl.net/user/dizgid )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/36Ls
 */

// forked from quqjp's WORLD 1-2
package 
{
       /*
       * おなじみ 
       *
       * スーパー○リオ WORLD:1-2 のブルブルきのこ
       *
       * ただ、それだけですw
       *
       * http://blog.quq.jp/
       * http://twitter.com/quqjp
       *
       * あとで 上のコイン、?ボック をキラキラアニメするようにする
       * 音が付いたら最高なんだけどなぁ。。。
       */
       /*
       dizgid: ひとまず。もとのをあんまりいじらないで3D化
       音あるとほんとに最高
       キノコクリックで..
       */
       

	import flash.display.Sprite;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.StageQuality;
	import flash.events.Event;
	import flash.geom.Matrix;
	import caurina.transitions.Tweener;
	import flash.display.StageScaleMode;
	
	[SWF(width = "512", height = "448", backgroundColor = "0x000000", frameRate = "30")]
	public class  FlashTest extends Sprite
	{
		private var canvasBitmapData:BitmapData;
		private var canvasBitmap:Bitmap;
		private var layerlist:Array = [];

		private var view3D:View3D;
		
		public function FlashTest() {
		    this.stage.scaleMode = StageScaleMode.NO_SCALE;
			this.stage.quality = StageQuality.LOW;
			build();
		}
		
		public function build():void {
			
			canvasBitmapData = new BitmapData(256, 224, false, 0x000000);
			
    			canvasBitmap = new Bitmap(canvasBitmapData); 
			canvasBitmap.scaleX = canvasBitmap.scaleY = 2;
			this.addChild(canvasBitmap);
    			
			
		var YUKA:MyTilingBitmap	= new MyTilingBitmap(XX.yuka.w, XX.yuka.h, XX.yuka.cl, XX.yuka.map, new Matrix(1, 0, 0, 1, 0, 200), 16, 2);
		var ASSET0:MyBitmap = new MyBitmap(XX.asset0.w, XX.asset0.h, XX.asset0.cl, XX.asset0.map, new Matrix(1, 0, 0, 1, 24, 8));
		ASSET0.type = "board";
		var COIN:MyBitmap = new MyBitmap(XX.coin_f0.w, XX.coin_f0.h, XX.coin_f0.cl, XX.coin_f0.map, new Matrix(1, 0, 0, 1, 90, 16));
		COIN.type = "board";
		var QRYBO:MyBitmap = new MyBitmap(XX.tn_f0.w, XX.tn_f0.h, XX.tn_f0.cl, XX.tn_f0.map, new Matrix(1, 0, 0, 1, 90, 185));
		var BLOCKA:MyBitmap = new MyBitmap(XX.block.w, XX.block.h, XX.block.cl, XX.block.map, new Matrix(1, 0, 0, 1, 181, 184));
		BLOCKA.type = "cube";
		var BLOCKB:MyTilingBitmap = new MyTilingBitmap(XX.block.w, XX.block.h, XX.block.cl, XX.block.map, new Matrix(1, 0, 0, 1, 213, 168), 1, 2);
		var BLOCKC:MyTilingBitmap = new MyTilingBitmap(XX.block.w, XX.block.h, XX.block.cl, XX.block.map, new Matrix(1, 0, 0, 1, 245, 152), 1, 3);
		var BLOCK2:MyTilingBitmap = new MyTilingBitmap(XX.block2.w, XX.block2.h, XX.block2.cl, XX.block2.map, new Matrix(1, 0, 0, 1, 16, 24), 15, 1);
		var BLOCK3:MyTilingBitmap = new MyTilingBitmap(XX.hb_f0.w, XX.hb_f0.h, XX.hb_f0.cl, XX.hb_f0.map, new Matrix(1, 0, 0, 1, 69, 144), 3, 1);
		var BLOCK4:MyBitmap = new MyBitmap(XX.empblock.w, XX.empblock.h, XX.empblock.cl, XX.empblock.map, new Matrix(1, 0, 0, 1, 53, 144));
		BLOCK4.type = "cube";
		var BLOCK5:MyBitmap = new MyBitmap(XX.empblock.w, XX.empblock.h, XX.empblock.cl, XX.empblock.map, new Matrix(1, 0, 0, 1, 117, 144));
		BLOCK5.type = "cube";
		var BLOCK6:MyBitmap = new MyBitmap(XX.hb_f0.w, XX.hb_f0.h, XX.hb_f0.cl, XX.hb_f0.map, new Matrix(1, 0, 0, 1, 133, 144));
		BLOCK6.type = "cube";
		var KINOKO:MyBuru2Bitmap = new MyBuru2Bitmap(XX.kinoko.w, XX.kinoko.h, XX.kinoko.cl, XX.kinoko.map, new Matrix(1, 0, 0, 1, 196, 185));
		var MERIO:MyBitmap = new MyBitmap(XX.merio.w, XX.merio.h, XX.merio.cl, XX.merio.map, new Matrix(1, 0, 0, 1, 101, 128));
		KINOKO.name = "kinoko";
		MERIO.name = "merio";
			
			layerlist = [];
			layerlist.push(YUKA);
			layerlist.push(ASSET0);
			layerlist.push(COIN);
			layerlist.push(QRYBO);
			layerlist.push(BLOCKA);
			layerlist.push(BLOCKB);//
			layerlist.push(BLOCKC);
			layerlist.push(BLOCK2);
			layerlist.push(BLOCK3);
			layerlist.push(BLOCK4);
			layerlist.push(BLOCK5);
			layerlist.push(BLOCK6);
			layerlist.push(KINOKO);
			layerlist.push(MERIO);
			
			startRender()

 			view3D = new View3D(canvasBitmapData);
 			view3D.setupPv3d(layerlist);
 			this.addChild(view3D); 
		}
		
		public function startRender():void {
			this.addEventListener(Event.ENTER_FRAME, render);
		}
		
		public function stopRender():void {
			
		}
		
		public function render(e:Event):void {
			/*
			canvasBitmapData.fillRect(canvasBitmapData.rect, 0x000000);
			
			var li:Array = layerlist;
			var l:uint = li.length;
			for (var i:uint = 0; i < l; i++) {
				li[i].render();
				canvasBitmapData.draw(li[i],li[i].matrix)
			}
			*/
			view3D.render();

		}

	
	}
	
}

//________________________________________________________
// pv3d
import flash.display.Stage;
import flash.events.Event;
import flash.events.MouseEvent;
import org.papervision3d.core.proto.CameraObject3D;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.special.ParticleField;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.view.BasicView;
//import org.papervision3d.core.effects.view.ReflectionView;
import org.papervision3d.core.math.Matrix3D;
import org.papervision3d.events.InteractiveScene3DEvent;

class View3D extends BasicView{

	private var field:DisplayObject3D;
	private var _canvasBitmapData:BitmapData;
	public function View3D(canvasBitmapData:BitmapData){
		_canvasBitmapData = canvasBitmapData;
	}
	public function setupPv3d(layerlist:Array):void
	{
		camera.ortho = true;
		field = new DisplayObject3D();
		//field.scale = 5.5;
		field.scale = 2.0;
		for(var i:int = 0; i < layerlist.length; i++){
			var li:MyBitmap = layerlist[i];
			var obj:DisplayObject3D = buildByType(li);
			obj.transform = toMatrix3D(li);
			field.addChild(obj);
		}
		scene.addChild(field);


		viewport.interactive = true;
		var keyObj:DisplayObject3D = field.getChildByName("kinoko");
		keyObj.material.interactive = true;
		keyObj.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, onChange);

		this.addEventListener(Event.ADDED_TO_STAGE, onAddAct);
	}
	private function onAddAct(e:Event):void
	{
    		var cameraOrbit:CameraOrbit = new CameraOrbit(stage, camera, field);
		cameraOrbit.start();
	}
	public function buildByType(li:MyBitmap):DisplayObject3D
	{
		var srcBmp:BitmapData = li.bitmapData;
		var type:String = li.type;
		var mat:BitmapMaterial= new BitmapMaterial(srcBmp);
		var obj3D:DisplayObject3D;
		if(type == "cube"){
			obj3D = new Cube(new MaterialsList({all : mat}), srcBmp.width, srcBmp.height, srcBmp.width);
		}else if(type == "tilingCube"){
			var tempObj:Cube = new Cube(new MaterialsList({all : mat}), srcBmp.width, srcBmp.height, srcBmp.width);
			obj3D = buildTilingCube(MyTilingBitmap(li), tempObj);
    		}else{
    		 	mat.doubleSided = true;
    			obj3D = new Plane(mat, srcBmp.width, srcBmp.height);
    		}
    		obj3D.name = li.name;
		return obj3D;
	}
	private function buildTilingCube(li:MyTilingBitmap, tempObj:Cube):DisplayObject3D
	{
    		var obj:DisplayObject3D = new DisplayObject3D();

		for(var i:int = 0; i < li.tileW; i++){
			for(var j:int = 0; j < li.tileH; j++){
				var block:DisplayObject3D = tempObj.clone();
				block.x = i * li.bitmapData.width;
				block.y = -j * li.bitmapData.height;
				obj.addChild(block);
			}
		}
    		return obj;
	}

	private function toMatrix3D(li:MyBitmap):Matrix3D
	{
		var matrix:Matrix = li.matrix;
		var matrix3D:Matrix3D = new Matrix3D();
		matrix3D.n14 = matrix.tx + li.bitmapData.width/2 - _canvasBitmapData.width/2;
		matrix3D.n24 = -(matrix.ty + li.bitmapData.height/2 - _canvasBitmapData.height/2);
		return matrix3D;
	}
	public function render():void
	{
		//field.yaw(0.5);
		singleRender();
	}
	private function onChange(e:Event):void
	{
		camera.ortho = !camera.ortho;
                field.scale = camera.ortho ? 2.0 : 5.5;
	}
}

class CameraOrbit
{
	private var _camera:CameraObject3D;
	private var _target:DisplayObject3D;
	private var _stage:Stage;
	
	private var isOribiting:Boolean;
	private var cameraPitch:Number = 90;
	private var cameraYaw:Number = 270;
	private var previousMouseX:Number;
	private var previousMouseY:Number;
	
	private var mouseDown:Boolean;
	
	public function CameraOrbit(stage:Stage, camera:CameraObject3D, target:DisplayObject3D)
	{
		_camera = camera;
		_target = target;
		_stage = stage;
	}

	public function start():void
	{
		_stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
		_stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
		_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
	}
	
	private function onMouseDown(event:MouseEvent):void
	{
		isOribiting = true;
		previousMouseX = event.stageX;
		previousMouseY = event.stageY;
	}

	private function onMouseUp(event:MouseEvent):void
	{
		isOribiting = false;
	}

	private function onMouseMove(event:MouseEvent):void
	{
		var differenceX:Number = event.stageX - previousMouseX;
		var differenceY:Number = event.stageY - previousMouseY;

		if(isOribiting)
		{
			//cameraPitch += differenceY;
			cameraPitch = 90;
			cameraYaw += differenceX;

			cameraPitch %= 360;
			cameraYaw %= 360;

			cameraPitch = cameraPitch > 0 ? cameraPitch : 0.0001;
			cameraPitch = cameraPitch < 90 ? cameraPitch : 89.9999;

			previousMouseX = event.stageX;
			previousMouseY = event.stageY;

			_camera.orbit(cameraPitch, cameraYaw, true, _target);
		}
	}

}
//________________________________________________________
// 


import flash.display.Bitmap;
import flash.display.BitmapData;
import adobe.utils.CustomActions;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Matrix;

//基本Bitmap
class MyBitmap extends Bitmap
{
			
	public var sizew:uint;
	public var sizeh:uint;
	public var colorlist:Array;
	public var map:Array;
	public var matrix:Matrix;

	public var type:String = "Plane";
			
	public function MyBitmap(sizew:uint, sizeh:uint, colorlist:Array, map:Array, matrix:Matrix) {
		this.sizew = sizew;
		this.sizeh = sizeh;
		this.colorlist = colorlist;
		this.map = map;
		this.matrix = matrix;
		makeBitmapData();
		this.build();
	}
			
	public function makeBitmapData():void {
		this.bitmapData = new BitmapData(this.sizew, this.sizeh, true, 0x00000000);		
	}		
			
	public function build():void {
		this.bitmapData.unlock();
		var cli:Array = this.colorlist;
		var li:Array = this.map;
		var l:uint = li.length;
		for (var i:uint = 0; i < l; i++) {
			var x:uint = i - (Math.floor(i / sizew) * sizew);
			var y:uint = Math.floor(i / sizew);
			if (li[i] != 0) this.bitmapData.setPixel32(x, y, cli[li[i]]);
		}
		this.bitmapData.lock();
	}
		
	public function render():void {
			
	}
		
}

//ぶるるBitmap
class MyBuru2Bitmap extends MyBitmap
{
	public function MyBuru2Bitmap(sizew:uint, sizeh:uint, colorlist:Array, map:Array , matrix:Matrix) {
		super(sizew, sizeh, colorlist, map, matrix);
	}
	
	private var flg:Boolean = false;
	
	public override function render():void {
		flg ? this.matrix.tx -= 2 : this.matrix.tx += 2;
		flg = !flg;
	}
	
}

//タイリングBitmap
class MyTilingBitmap extends MyBitmap
{
	private var tilewc:uint;
	private var tilehc:uint;
	
	public function MyTilingBitmap(sizew:uint, sizeh:uint, colorlist:Array, map:Array , matrix:Matrix, tilewc:uint = 1, tilehc:uint = 1) {

		this.tilewc = tilewc;
		this.tilehc = tilehc;
		super(sizew, sizeh, colorlist, map, matrix);

		super.type = "tilingCube";
	}
	public function get tileW():uint{ return tilewc };
	public function get tileH():uint{ return tilehc };
/*	
	public override function makeBitmapData():void {
		this.bitmapData = new BitmapData(this.sizew * tilewc, this.sizeh * tilehc, true, 0x00000000);
	}

	public override function build():void{
		super.build();
		
		if(tilewc>1){
			var ma:Matrix = new Matrix();
			ma.translate(this.sizew,0)
			this.bitmapData.draw(this, ma)	//?
		}
		
		if(tilehc>1){
			ma = new Matrix();
			ma.translate(0,this.sizeh)
			this.bitmapData.draw(this, ma)	//?
		}
	}
*/	
}

//アニメBitmap
//未完成
/*class MyAnimBitmap extends Bitmap
{
	public var sizew:uint;
	public var sizeh:uint;
	public var matrix:Matrix;
	
	private var framlist:Array;
	private var frmcnt:uint = 0;
	private var frmcntmax:uint = 0;

	public var name:String;
		
	public function MyAnimBitmap(sizew:uint, sizeh:uint, matrix:Matrix) {
		this.sizew = sizew;
		this.sizeh = sizeh;
		this.matrix = matrix;
		framlist = [];
		makeBitmapData();
		this.build();
	}
		
	public function makeBitmapData() {
		this.bitmapData = new BitmapData(this.sizew, this.sizeh, true, 0x00000000);		
	}
	
	public function addFrame(param:MyBitmap) {
		framlist.push(param);
		frmcntmax = framlist.length;
	}
		
	public function build() {
		this.bitmapData.unlock();
		this.bitmapData.lock();
	}
		
	public function render() {
	}
}*/


//data
class XX 
{

static public var kinoko:Object = {
w:16,
h:16,
map:[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,2,2,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,1,1,0,0,0,1,1,2,2,2,1,1,1,1,1,1,1,1,1,0,0,1,2,2,2,2,2,1,1,1,1,1,1,1,1,0,1,1,2,2,2,2,2,1,1,1,1,1,2,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,1,1,1,1,2,2,2,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,2,2,3,3,3,3,3,3,2,2,2,1,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3,1,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3,1,3,0,0,0,0,0,0,0,0,0,3,3,3,3,1,3,0,0,0,0,0],
cl:[0xFFff0000, 0xFFffa000, 0xFFe05000, 0xFFffffff]
};

static public var merio:Object = {
w:16,
h:16,
map:[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,1,1,0,0,0,0,0,0,0,2,2,2,3,3,2,3,0,0,0,0,0,0,0,0,2,3,2,3,3,3,2,3,3,3,0,0,0,0,0,0,2,3,2,2,3,3,3,2,3,3,3,0,0,0,0,0,2,2,3,3,3,3,2,2,2,2,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,2,2,1,2,2,2,0,0,0,0,0,0,0,0,0,2,2,2,1,2,2,1,2,2,2,0,0,0,0,0,2,2,2,2,1,1,1,1,2,2,2,2,0,0,0,0,3,3,2,1,3,1,1,3,1,2,3,3,0,0,0,0,3,3,3,1,1,1,1,1,1,3,3,3,0,0,0,0,3,3,1,1,1,1,1,1,1,1,3,3,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,2,2,2,0,0,0,0,2,2,2,0,0,0,0,0,2,2,2,2,0,0,0,0,2,2,2,2,0,0,0],
cl:[0xFFff0000, 0xFFe05000, 0xFF888800, 0xFFffa000]
};

static public var coin_f0:Object = {
w:5,
h:8,
map:[0,1,1,2,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,2,1,1,2,3,0,2,2,3,0],
cl:[0xFFff0000, 0xFFffa000, 0xFF0, 0xFFc07000]
};

static public var coin_f1:Object = {
w:5,
h:8,
map:[0,1,1,2,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,2,1,1,2,1,0,2,2,1,0],
cl:[0xFFff0000, 0xFFc07000, 0xFF0]
};

static public var coin_f2:Object = {
w:5,
h:8,
map:[0,1,1,2,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,2,1,1,2,3,0,2,2,3,0],
cl:[0xFFff0000,0xFF784000,0xFF0,0xFFc07000]
};

static public var block:Object = {
w:16,
h:16,
map:[1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,1,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,1,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,2,2,2,3,3,3,3,3,3,3,3,3,1,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1],
cl:[0xFFff0000, 0xFF4090c0, 0xFFa0fff0, 0xFF000000]
};

static public var block2:Object = {
w:16,
h:15,
map:[1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1],
cl:[0xFFff0000,0xFF4090c0,0xFF000000]
};

static public var empblock:Object = {
w:16,
h:16,
map:[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0],
cl:[0xFFff0000, 0xFF4090c0, 0xFFc07000]
};

static public var yuka:Object = {
w:16,
h:16,
map:[1,2,2,2,2,1,1,2,2,2,2,2,2,2,2,3,2,1,1,1,1,3,2,1,1,1,1,1,1,1,1,3,2,1,1,1,1,3,2,1,1,1,1,1,1,1,1,3,2,1,1,1,1,3,2,1,1,1,1,1,1,1,1,3,2,3,1,1,1,3,2,1,1,1,1,1,1,1,1,3,1,3,3,3,3,1,2,1,1,1,1,1,1,1,1,3,2,2,2,2,2,3,2,1,1,1,1,1,1,1,1,3,2,1,1,1,1,3,2,1,1,1,1,1,1,1,1,3,2,1,1,1,1,3,2,1,1,1,1,1,1,1,1,3,2,1,1,1,1,3,2,1,1,1,1,1,1,1,1,3,1,1,1,1,1,3,3,3,1,1,1,1,1,1,3,2,1,1,1,1,1,3,2,2,3,3,1,1,1,1,3,2,1,1,1,1,1,3,2,1,2,2,3,3,3,3,2,1,1,1,1,1,1,3,2,1,1,1,2,2,2,3,2,1,1,1,1,1,3,3,2,1,1,1,1,1,1,3,2,1,3,3,3,3,3,1,1,3,3,3,3,3,3,1,2,3],
cl:[0xFFff0000, 0xFF4090c0, 0xFFa0fff0, 0xFF000000]
};

static public var asset0:Object = {
w:207,
h:15,
map:[1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,1,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0],
cl:[0xFFff0000, 0xFFffffff]
};

static public var tn_f0:Object = {
w:33,
h:16,
map:[0,0,0,0,0,0,1,1,1,1,0,0,0,0,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,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,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,0,1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,1,1,1,3,2,1,1,1,1,2,3,1,1,1,0,0,0,1,1,1,3,2,1,1,1,1,2,3,1,1,1,0,0,1,1,1,3,2,2,2,2,2,2,3,1,1,1,0,0,0,1,1,1,3,2,2,2,2,2,2,3,1,1,1,0,1,1,1,1,3,2,3,1,1,3,2,3,1,1,1,1,0,1,1,1,1,3,2,3,1,1,3,2,3,1,1,1,1,1,1,1,1,3,3,3,1,1,3,3,3,1,1,1,1,0,1,1,1,1,3,3,3,1,1,3,3,3,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,3,3,3,3,3,3,1,1,1,1,0,0,0,1,1,1,1,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,2,2,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,2,2,3,3,3,3,3,3,3,3,0,0,0,0,0,2,2,2,2,2,3,3,3,3,3,2,2,0,0,0,0,0,2,2,2,2,2,3,3,3,3,3,2,2,0,0,0,0,2,2,2,2,2,2,3,3,3,2,2,2,0,0,0,0,0,2,2,2,2,2,2,3,3,3,2,2,2,0,0,0,0,0,2,2,2,2,2,1,3,2,2,2,0,0,0,0,0,0,0,2,2,2,2,2,3,3,2,2,2,0,0,0,0],
cl:[0xFFff0000, 0xFF4090c0, 0xFF305080, 0xFFa0fff0]
};

static public var tn_f1:Object = {
w:33,
h:16,
map:[0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,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,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,1,2,2,1,1,1,1,1,1,2,2,1,0,0,0,0,1,1,1,3,2,1,1,1,1,2,3,1,1,1,0,0,1,1,1,3,2,1,1,1,1,2,3,1,1,1,0,0,0,1,1,1,3,2,2,2,2,2,2,3,1,1,1,0,0,1,1,1,3,2,2,2,2,2,2,3,1,1,1,0,0,1,1,1,1,3,2,3,1,1,3,2,3,1,1,1,1,1,1,1,1,3,2,3,1,1,3,2,3,1,1,1,1,0,1,1,1,1,3,3,3,1,1,3,3,3,1,1,1,1,1,1,1,1,3,3,3,1,1,3,3,3,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,0,0,1,1,1,1,3,3,3,3,3,3,1,1,1,1,0,0,1,1,1,1,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,2,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,2,0,0,0,0,0,0,2,2,3,3,3,3,3,2,2,2,2,2,0,0,0,0,2,2,3,3,3,3,3,2,2,2,2,2,0,0,0,0,0,2,2,2,3,3,3,2,2,2,2,2,2,0,0,0,0,2,2,2,3,3,3,2,2,2,2,2,2,0,0,0,0,0,0,2,2,2,3,3,2,2,2,2,2,0,0,0,0,0,0,2,2,2,3,3,2,2,2,2,2,0,0,0],
cl:[0xFFff0000,0xFF4090c0,0xFF305080,0xFFa0fff0]
};

static public var hb_f0:Object = {
w:16,
h:16,
map:[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,2,3,2,2,2,2,2,2,2,2,2,2,3,2,3,1,2,2,2,2,1,1,1,1,1,2,2,2,2,2,3,1,2,2,2,1,1,3,3,3,1,1,2,2,2,2,3,1,2,2,2,1,1,3,2,2,1,1,3,2,2,2,3,1,2,2,2,1,1,3,2,2,1,1,3,2,2,2,3,1,2,2,2,2,3,3,2,1,1,1,3,2,2,2,3,1,2,2,2,2,2,2,1,1,3,3,3,2,2,2,3,1,2,2,2,2,2,2,1,1,3,2,2,2,2,2,3,1,2,2,2,2,2,2,2,3,3,2,2,2,2,2,3,1,2,2,2,2,2,2,1,1,2,2,2,2,2,2,3,1,2,2,2,2,2,2,1,1,3,2,2,2,2,2,3,1,2,3,2,2,2,2,2,3,3,2,2,2,3,2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
cl:[0xFFff0000, 0xFFc07000, 0xFFffa000, 0xFF4090c0]
};

static public var hb:Object = {
w:16,
h:16,
map:[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,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,1,1,1,2,1,1,1,1,1,2,2,1,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,2,1,1,1,1,1,2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
cl:[0xFFff0000,0xFFc07000,0xFF4090c0]
};

static public var hb_f2:Object = {
w:16,
h:16,
map:[0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,1,2,3,2,2,2,2,2,2,2,2,2,2,3,2,3,1,2,2,2,2,1,1,1,1,1,2,2,2,2,2,3,1,2,2,2,1,1,3,3,3,1,1,2,2,2,2,3,1,2,2,2,1,1,3,2,2,1,1,3,2,2,2,3,1,2,2,2,1,1,3,2,2,1,1,3,2,2,2,3,1,2,2,2,2,3,3,2,1,1,1,3,2,2,2,3,1,2,2,2,2,2,2,1,1,3,3,3,2,2,2,3,1,2,2,2,2,2,2,1,1,3,2,2,2,2,2,3,1,2,2,2,2,2,2,2,3,3,2,2,2,2,2,3,1,2,2,2,2,2,2,1,1,2,2,2,2,2,2,3,1,2,2,2,2,2,2,1,1,3,2,2,2,2,2,3,1,2,3,2,2,2,2,2,3,3,2,2,2,3,2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],
cl:[0xFFff0000, 0xFFc07000, 0xFF784000, 0xFF4090c0]
};

}