Section 1
//Card3d (card3d.Card3d)
package card3d {
import flash.events.*;
import gs.*;
import flash.filters.*;
import five3D.display.*;
import five3D.typography.*;
public class Card3d extends Sprite3D {
private var __colorizationcolor:uint;// = 3454692
private var __color:int;// = 0x666666
private var __letter:DynamicText3D;
private var __symbol:Sprite3D;
private var __rolledover:Boolean;// = false
private var __zone:Sprite3D;
private var __stroke:Shape3D;
public var __colorizationratio:Number;// = 0.7
private var __iconTop:DynamicText3D;
public var __backward:DynamicText3D;
private var __parameters:Object;
private var __letterBottom:DynamicText3D;
public var __strokethickness:Number;// = 1.5
private var __backColor:int;// = 13421823
private var __iconBottom:DynamicText3D;
private var tween:TweenMax;
private var __letterTop:DynamicText3D;
public function Card3d(_arg1:Number, _arg2:Number, _arg3:Object){
x = _arg1;
y = _arg2;
__parameters = _arg3;
if ((((_arg3.type == "h")) || ((_arg3.type == "d")))){
__color = 16729153;
};
createZone();
createStroke();
createSymbol();
createBackward();
initEvents();
}
public function setBack(_arg1:Boolean=true, _arg2:Boolean=false):void{
if (!_arg1){
if (!_arg2){
rotationX = 180;
TweenMax.to(this, (0.5 + Math.random()), {z:0, overwrite:1, rotationX:0});
};
rotationY = 0;
} else {
rotationY = 180;
};
}
private function drawZone():void{
__zone.graphics3D.clear();
__zone.graphics3D.beginFill(15725757, 1);
var _local1:Object = {};
trace(80);
_local1.width = 46;
_local1.height = 78;
__zone.graphics3D.drawRoundRect((-46 / 2), (-78 / 2), 46, 78, 16, 16);
__zone.graphics3D.endFill();
__zone.singleSided = true;
}
public function drawStroke(_arg1:int):void{
__stroke.graphics3D.clear();
__stroke.graphics3D.beginFill(0x9C9C9C, 1);
__stroke.graphics3D.drawRoundRect((-48 / 2), (-80 / 2), 48, 80, 16, 16);
__stroke.graphics3D.drawRoundRect(((-48 / 2) + __strokethickness), ((-80 / 2) + __strokethickness), (48 - (__strokethickness * 2)), (80 - (__strokethickness * 2)), (16 - (__strokethickness * 2)), (16 - (__strokethickness * 2)));
__stroke.graphics3D.endFill();
}
private function createSymbol():void{
__symbol = new Sprite3D();
__symbol.mouseEnabled = false;
__symbol.mouseChildren = false;
addChild(__symbol);
createLetter();
}
private function rollOverZone():void{
}
private function createLetter():void{
if (__parameters.letter == ""){
return;
};
if ((((__parameters.letter < 11)) && (!((__parameters.letter == 1))))){
__letter = new DynamicText3D(Cards);
__letter.color = __color;
__letter.size = 35;
__letter.text = __parameters.type;
__letter.x = -10;
__letter.y = -17;
__letter.filters = [new GlowFilter(0xFFFFFF, 0.8)];
__letter.singleSided = true;
__symbol.addChild(__letter);
} else {
addPictures();
};
__iconTop = createSmallIconLetter(-25, -30);
__iconBottom = createSmallIconLetter(5, 27);
__letterTop = createSmallTextLetter(13, -22);
__letterBottom = createSmallTextLetter(-10, 35);
}
private function initEvents():void{
this.mouseChildren = true;
this.mouseEnabled = false;
}
private function zoneRollOverHandler(_arg1:MouseEvent):void{
__stroke.z = 4;
}
private function createZone():void{
__zone = new Sprite3D();
addChild(__zone);
drawZone();
}
private function createSmallIconLetter(_arg1:int, _arg2:int):DynamicText3D{
var _local3:DynamicText3D = new DynamicText3D(Cards);
_local3.color = __color;
_local3.size = 15;
_local3.text = __parameters.type;
_local3.x = ((29 + _arg1) - (_local3.textWidth / 3));
_local3.y = (-5 + _arg2);
_local3.filters = [new GlowFilter(0xFFFFFF, 0.8)];
_local3.singleSided = true;
__symbol.addChild(_local3);
return (_local3);
}
private function createStroke():void{
__stroke = new Shape3D();
drawStroke(__color);
addChild(__stroke);
}
private function onClick(_arg1:Event):void{
var _local2:TweenMax = new TweenMax(this, 1, {x:137, y:0, rotationZ:0, rotationY:0, rotationX:45, yoyo:true, z:-45, tint:5635925, scaleX:2, scaleY:2, bezierThrough:[{z:110, rotationZ:100, rotationX:350, rotationZ:5, y:80}, {z:210, rotationZ:0, rotationX:350, rotationZ:-5, y:80}]});
}
override public function set z(_arg1:Number):void{
super.z = _arg1;
}
private function addPictures():void{
var _local2:int;
var _local1 = "";
switch (__parameters.letter){
case 11:
_local1 = "y";
__parameters.letter = "J";
_local2 = 0;
break;
case 12:
_local1 = "q";
__parameters.letter = "Q";
_local2 = 12;
break;
case 13:
_local1 = "w";
__parameters.letter = "K";
_local2 = 5;
break;
case 1:
_local1 = "d";
__parameters.letter = "A";
_local2 = 12;
break;
};
__letter = new DynamicText3D(Chickabiddies);
__letter.color = __color;
__letter.size = 35;
__letter.text = _local1;
__letter.x = ((25 - (__letter.textWidth / 2)) + _local2);
__letter.y = -20;
__letter.singleSided = true;
__letter.filters = [new GlowFilter(0xFFFFFF, 0.8)];
__symbol.addChild(__letter);
}
private function rollOutHandler(_arg1:MouseEvent):void{
__stroke.z = 0;
trace(this);
}
private function createSmallTextLetter(_arg1:int, _arg2:int):DynamicText3D{
var _local3:DynamicText3D = new DynamicText3D(ArialRoundedMTBold);
_local3.color = __color;
_local3.size = 15;
_local3.text = __parameters.letter;
if (__parameters.letter == "A"){
_arg1 = (_arg1 + 7);
};
if (__parameters.letter == "K"){
_arg1 = (_arg1 + 8);
};
if (__parameters.letter == "J"){
_arg1 = (_arg1 + 0);
};
if (__parameters.letter == "Q"){
_arg1 = (_arg1 + 10);
};
_local3.x = ((22 + _arg1) - (_local3.textWidth / 2));
_local3.y = (-15 + _arg2);
_local3.singleSided = true;
__symbol.addChild(_local3);
_local3.filters = [new GlowFilter(0xFFFFFF, 0.8)];
return (_local3);
}
private function createBackward():void{
__backward = new DynamicText3D(MarquisDeSadeOrnaments);
__backward.color = 0xDDDDDD;
__backward.size = 98;
__backward.text = "0";
__backward.alpha = 0.5;
__backward.x = -27;
__backward.y = 60;
__symbol.addChild(__backward);
__backward.singleSided = true;
__backward.rotationX = 180;
}
}
}//package card3d
Section 2
//DynamicMenu (card3d.DynamicMenu)
package card3d {
import flash.events.*;
import gs.*;
import flash.filters.*;
import five3D.display.*;
import five3D.typography.*;
public class DynamicMenu extends Sprite3D {
private var __colorizationcolor:uint;// = 3454692
private var __color:int;// = 10066431
public var __letter:DynamicText3D;
public var __symbol:Sprite3D;
public var __parameters:Object;
private var __rolledover:Boolean;// = false
private var __backward:DynamicText3D;
public var __zone:Sprite3D;
private var __text:String;
private var __backColor:int;// = 15658751
public var __stroke:Shape3D;
private var __enabled:Boolean;// = true
public var __colorizationratio:Number;// = 0
public var __strokethickness:Number;// = 2
public static var arrOther:Array = new Array();
public function DynamicMenu(_arg1:Number, _arg2:Number, _arg3:String){
x = _arg1;
y = _arg2;
__text = _arg3;
__parameters = {};
init();
}
public function get enabled():Boolean{
return (__enabled);
}
private function zoneRollOverHandler2(_arg1:Event):void{
filters = [new GlowFilter(0xFFFFFF, 0.8)];
}
private function createZone():void{
__zone = new Sprite3D();
addChildAt(__zone, 0);
drawZone();
}
private function rollOverZone():void{
}
private function init():void{
createSymbol();
createLetter();
__parameters = {width:(__letter.textWidth + 100), height:(__letter.size + 10)};
createZone();
createStroke();
__stroke.filters = [new GlowFilter(__color, 0.4, 8, 8, 2, 2)];
initEvents();
reInitEvents();
}
public function createLetter():void{
__letter = new DynamicText3D(ArialRoundedMTBold);
__letter.color = 14527112;
__letter.size = 30;
__letter.text = __text;
__letter.x = (22 - (__letter.textWidth / 2));
__letter.y = (-3 - (__letter.size / 2));
__symbol.addChild(__letter);
}
public function zoneRollOverHandler(_arg1:MouseEvent):void{
filters = [new GlowFilter(16777028, 0.5)];
__stroke.rotationX = 20;
__letter.color = 16777028;
return;
}
private function drawZone():void{
__zone.graphics3D.clear();
__zone.graphics3D.beginFill(0xDDDDDD, 0);
__zone.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 20, 20);
__zone.graphics3D.endFill();
}
public function onClick(_arg1:Event):void{
var _local2:TweenMax = new TweenMax(this, 1, {x:137, y:0, rotationZ:0, rotationY:0, rotationX:45, yoyo:true, z:-45, tint:5635925, scaleX:2, scaleY:2, bezierThrough:[{z:110, rotationZ:100, rotationX:350, rotationZ:50, y:80}, {z:210, rotationZ:0, rotationX:350, rotationZ:50, y:80}]});
}
private function createStroke():void{
__stroke = new Shape3D();
drawStroke(__color);
addChild(__stroke);
}
public function set enabled(_arg1:Boolean):void{
__enabled = _arg1;
}
public function reInitEvents():void{
}
private function initEvents():void{
__zone.addEventListener(MouseEvent.ROLL_OVER, zoneRollOverHandler);
__zone.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
}
public function rollOutHandler(_arg1:MouseEvent):void{
filters = null;
__stroke.rotationX = 0;
__letter.color = 14527112;
return;
}
private function createSymbol():void{
__symbol = new Sprite3D();
__symbol.mouseEnabled = false;
__symbol.mouseChildren = false;
addChild(__symbol);
}
public function removeEvents():void{
__zone.removeEventListener(MouseEvent.ROLL_OVER, zoneRollOverHandler);
__zone.removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
}
private function drawStroke(_arg1:int):void{
__stroke.graphics3D.clear();
__stroke.graphics3D.beginFill(_arg1, 0.7);
__stroke.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 20, 20);
__stroke.graphics3D.drawRoundRect(((-(__parameters.width) / 2) + __strokethickness), ((-(__parameters.height) / 2) + __strokethickness), (__parameters.width - (__strokethickness * 2)), (__parameters.height - (__strokethickness * 2)), (16 - (__strokethickness * 2)), (16 - (__strokethickness * 2)));
__stroke.graphics3D.endFill();
}
}
}//package card3d
Section 3
//SoundIconu (card3d.SoundIconu)
package card3d {
import flash.events.*;
import gs.*;
import flash.filters.*;
import five3D.display.*;
import five3D.typography.*;
public class SoundIconu extends Sprite3D {
private var __colorizationcolor:uint;// = 8161905
private var __color:int;// = 0x555555
private var _isSoundOn:Boolean;
private var __letter:DynamicText3D;
private var __symbol:Sprite3D;
private var __parameters:Object;
private var __rolledover:Boolean;// = false
private var __backward:DynamicText3D;
private var __zone:Sprite3D;
private var __text:String;
private var __backColor:int;// = 15658751
private var __stroke:Shape3D;
public var __colorizationratio:Number;// = 0
public var __strokethickness:Number;// = 1.5
public function SoundIconu(_arg1:Number, _arg2:Number, _arg3:String="e"){
x = _arg1;
y = _arg2;
__text = _arg3;
createSymbol();
createLetter();
__parameters = {width:30, height:30};
createZone();
createStroke();
initEvents();
}
private function createZone():void{
__zone = new Sprite3D();
addChildAt(__zone, 0);
drawZone();
}
private function initEvents():void{
__zone.addEventListener(MouseEvent.ROLL_OVER, zoneRollOverHandler);
__zone.addEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
}
public function get isSoundOn():Boolean{
return (_isSoundOn);
}
public function set isSoundOn(_arg1:Boolean):void{
if (_arg1){
__letter.color = 14527112;
} else {
__letter.color = 0xAAAAAA;
};
_isSoundOn = _arg1;
}
private function drawZone():void{
__zone.graphics3D.beginFill(0xFFFFFF, 0);
__zone.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 5, 5);
__zone.graphics3D.endFill();
}
private function createLetter():void{
__letter = new DynamicText3D(SoundIcon);
__letter.color = 8161905;
__letter.size = 30;
__letter.text = __text;
__letter.x = (60 - (__letter.textWidth / 2));
__letter.y = (-20 - (__letter.size / 2));
__symbol.addChild(__letter);
}
private function zoneRollOverHandler(_arg1:MouseEvent):void{
filters = [new GlowFilter(0xFFFFFF, 0.8)];
}
public function onClick(_arg1:Event=null):void{
var _local2:TweenMax = new TweenMax(this, 0.2, {rotationZ:0, rotationY:360, yoyo:true, z:-45, tint:0xFFFFFF, scaleX:1.5, scaleY:1.5});
}
private function createStroke():void{
__stroke = new Shape3D();
drawStroke(__color);
addChild(__stroke);
}
private function createSymbol():void{
__symbol = new Sprite3D();
__symbol.mouseEnabled = false;
__symbol.mouseChildren = false;
addChild(__symbol);
}
private function rollOutHandler(_arg1:MouseEvent):void{
filters = null;
}
private function rollOverZone():void{
}
private function drawStroke(_arg1:int):void{
__stroke.graphics3D.clear();
__stroke.graphics3D.beginFill(_arg1, 0);
__stroke.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 10, 10);
__stroke.graphics3D.drawRoundRect(((-(__parameters.width) / 2) + __strokethickness), ((-(__parameters.height) / 2) + __strokethickness), (__parameters.width - (__strokethickness * 2)), (__parameters.height - (__strokethickness * 2)), (10 - (__strokethickness * 2)), (10 - (__strokethickness * 2)));
__stroke.graphics3D.endFill();
}
}
}//package card3d
Section 4
//Bitmap3D (five3D.display.Bitmap3D)
package five3D.display {
import flash.display.*;
import five3D.geom.*;
import flash.geom.*;
import fl.motion.*;
public class Bitmap3D extends Shape {
private var __height:int;
private var __renderbitmap:Boolean;// = true
private var __flatshading:Boolean;// = false
private var __bitmapdata:BitmapData;
private var __matrices:Array;
private var __drawing:Boolean;// = false
private var __renderprojection:Boolean;// = true
private var __scalex:Number;// = 1
private var __scaley:Number;// = 1
private var __scalez:Number;// = 1
private var __culling:Boolean;// = false
private var __flatshaded:Boolean;// = false
private var __rendershading:Boolean;// = false
private var __render:Boolean;// = true
private var __rendertessellation:Boolean;// = true
private var __triangles:Array;
private var __visible:Boolean;// = true
private var __smoothing:Boolean;
private var __x:Number;// = 0
private var __y:Number;// = 0
private var __z:Number;// = 0
private var __matrix:Matrix3D;
private var __subdivisionshorizontal:int;
var __concatenatedmatrix:Matrix3D;
private var __subdivisionsvertical:int;
private var __points:Array;
private var __singlesided:Boolean;// = false
private var __normal:Point3D;
private var __rotationx:Number;// = 0
private var __rotationy:Number;// = 0
private var __rotationz:Number;// = 0
private var __width:int;
private var __renderculling:Boolean;// = false
public function Bitmap3D(_arg1:BitmapData=null, _arg2:Boolean=true, _arg3:int=3, _arg4:int=3){
__matrix = new Matrix3D();
__bitmapdata = _arg1;
__smoothing = _arg2;
__subdivisionshorizontal = _arg3;
__subdivisionsvertical = _arg4;
}
private function getCulling(_arg1:Number):void{
var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0));
var _local3:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1));
__normal = _local3.subtract(_local2);
var _local4:Point3D = new Point3D(_local2.x, _local2.y, (_local2.z + _arg1));
__culling = (__normal.dot(_local4) < 0);
}
public function set singleSided(_arg1:Boolean):void{
__singlesided = _arg1;
if (__singlesided){
__renderculling = true;
} else {
__renderculling = false;
__culling = false;
};
}
function askRendering():void{
__render = true;
if (__singlesided){
__renderculling = true;
};
__renderprojection = true;
__renderbitmap = true;
if (__flatshaded){
__rendershading = true;
};
}
override public function get scale9Grid():Rectangle{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
function askRenderingShading():void{
if (__flatshaded){
__rendershading = true;
};
}
override public function get height():Number{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
override public function set scale9Grid(_arg1:Rectangle):void{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
private function setFlatShading(_arg1:Scene3D):void{
var _local5:Point3D;
var _local6:Point3D;
if (__normal == null){
_local5 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0));
_local6 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1));
__normal = _local6.subtract(_local5);
};
var _local2:Number = __normal.dot(_arg1.ambientLightVectorNormalized);
var _local3:Number = (_local2 * _arg1.ambientLightIntensity);
var _local4:Color = new Color();
_local4.brightness = _local3;
_local4.alphaMultiplier = alpha;
transform.colorTransform = _local4;
__flatshading = true;
}
public function set rotationY(_arg1:Number):void{
__rotationy = formatRotation(_arg1);
askRendering();
}
public function set rotationZ(_arg1:Number):void{
__rotationz = formatRotation(_arg1);
askRendering();
}
public function set rotationX(_arg1:Number):void{
__rotationx = formatRotation(_arg1);
askRendering();
}
private function getTessellationPoints():void{
var _local3:Number;
var _local4:Number;
var _local6:int;
__points = [];
var _local1:Number = (__width / __subdivisionshorizontal);
var _local2:Number = (__height / __subdivisionsvertical);
var _local5:int;
while (_local5 < (__subdivisionsvertical + 1)) {
_local6 = 0;
while (_local6 < (__subdivisionshorizontal + 1)) {
_local3 = (_local6 * _local1);
_local4 = (_local5 * _local2);
__points.push({x:_local3, y:_local4, xp:_local3, yp:_local4});
_local6++;
};
_local5++;
};
}
private function getProjection(_arg1:Number):void{
projectPoints(_arg1);
getProjectionMatrices();
}
override public function get scrollRect():Rectangle{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
override public function get mouseX():Number{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).x);
}
override public function get scaleX():Number{
return (__scalex);
}
override public function get scaleY():Number{
return (__scaley);
}
override public function get mouseY():Number{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).y);
}
private function projectPoints(_arg1:Number):void{
var _local3:Object;
var _local4:Point3D;
var _local2:int = __points.length;
while (--_local2 > -1) {
_local3 = __points[_local2];
_local4 = __concatenatedmatrix.transformPoint(new Point3D(_local3.x, _local3.y));
__concatenatedmatrix.transformPoint(new Point3D(_local3.x, _local3.y)).project(_local4.getPerspective(_arg1));
_local3.xp = _local4.x;
_local3.yp = _local4.y;
};
}
override public function set height(_arg1:Number):void{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
public function get scaleZ():Number{
return (__scalez);
}
public function get mouseXY():Point{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance));
}
public function set flatShaded(_arg1:Boolean):void{
__flatshaded = _arg1;
if (__flatshaded){
__rendershading = true;
} else {
__rendershading = false;
if (__flatshading){
removeFlatShading();
};
};
}
public function set subdivisionsVertical(_arg1:int):void{
__subdivisionsvertical = _arg1;
__rendertessellation = true;
__renderprojection = true;
__renderbitmap = true;
}
override public function get y():Number{
return (__y);
}
public function get z():Number{
return (__z);
}
public function get smoothing():Boolean{
return (__smoothing);
}
private function getTessellation():void{
__width = __bitmapdata.width;
__height = __bitmapdata.height;
getTessellationPoints();
getTessellationTriangles();
}
override public function get x():Number{
return (__x);
}
public function get bitmapData():BitmapData{
return (__bitmapdata);
}
override public function get visible():Boolean{
return (__visible);
}
public function get singleSided():Boolean{
return (__singlesided);
}
override public function localToGlobal(_arg1:Point):Point{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
override public function set width(_arg1:Number):void{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
override public function get rotation():Number{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
private function drawBitmap():void{
var _local2:Array;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local1:int = __triangles.length;
super.graphics.clear();
while (--_local1 > -1) {
_local2 = __triangles[_local1];
_local3 = _local2[0];
_local4 = _local2[1];
_local5 = _local2[2];
_local6 = _local3.xp;
_local7 = _local3.yp;
_local8 = _local4.xp;
_local9 = _local4.yp;
_local10 = _local5.xp;
_local11 = _local5.yp;
super.graphics.beginBitmapFill(__bitmapdata, __matrices[_local1], false, __smoothing);
super.graphics.moveTo(_local6, _local7);
super.graphics.lineTo(_local8, _local9);
super.graphics.lineTo(_local10, _local11);
super.graphics.lineTo(_local6, _local7);
super.graphics.endFill();
};
__drawing = true;
}
function render(_arg1:Scene3D):void{
if (((!(__visible)) && (super.visible))){
super.visible = false;
} else {
if (__visible){
if (__render){
getMatrices();
__render = false;
};
if (__renderculling){
getCulling(_arg1.viewDistance);
__renderculling = false;
};
if (__culling){
if (super.visible){
super.visible = false;
};
} else {
if (!super.visible){
super.visible = true;
};
if (__bitmapdata != null){
if (__rendertessellation){
getTessellation();
__rendertessellation = false;
};
if (__renderprojection){
getProjection(_arg1.viewDistance);
__renderprojection = false;
};
if (__renderbitmap){
drawBitmap();
__renderbitmap = false;
};
if (__rendershading){
setFlatShading(_arg1);
__rendershading = false;
};
};
};
};
};
}
public function get rotationY():Number{
return (__rotationy);
}
override public function set scrollRect(_arg1:Rectangle):void{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
override public function set scaleX(_arg1:Number):void{
__scalex = _arg1;
askRendering();
}
override public function set scaleY(_arg1:Number):void{
__scaley = _arg1;
askRendering();
}
public function get rotationX():Number{
return (__rotationx);
}
public function get rotationZ():Number{
return (__rotationz);
}
override public function get graphics():Graphics{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
public function set scaleZ(_arg1:Number):void{
__scalez = _arg1;
askRendering();
}
public function get flatShaded():Boolean{
return (__flatshaded);
}
override public function globalToLocal(_arg1:Point):Point{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
private function getTessellationTriangles():void{
var _local2:int;
__triangles = [];
var _local1:int;
while (_local1 < __subdivisionsvertical) {
_local2 = 0;
while (_local2 < __subdivisionshorizontal) {
__triangles.push([__points[(_local2 + (_local1 * (__subdivisionshorizontal + 1)))], __points[((_local2 + (_local1 * (__subdivisionshorizontal + 1))) + 1)], __points[(_local2 + ((_local1 + 1) * (__subdivisionshorizontal + 1)))]]);
__triangles.push([__points[((_local2 + ((_local1 + 1) * (__subdivisionshorizontal + 1))) + 1)], __points[(_local2 + ((_local1 + 1) * (__subdivisionshorizontal + 1)))], __points[((_local2 + (_local1 * (__subdivisionshorizontal + 1))) + 1)]]);
_local2++;
};
_local1++;
};
}
public function get subdivisionsVertical():int{
return (__subdivisionsvertical);
}
private function getProjectionMatrices():void{
var _local2:Array;
var _local3:Object;
var _local4:Object;
var _local5:Object;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
__matrices = [];
var _local1:int = __triangles.length;
var _local18:Matrix = new Matrix();
var _local19:Matrix = new Matrix();
while (--_local1 > -1) {
_local2 = __triangles[_local1];
_local3 = _local2[0];
_local4 = _local2[1];
_local5 = _local2[2];
_local6 = _local3.x;
_local7 = _local3.y;
_local8 = _local4.x;
_local9 = _local4.y;
_local10 = _local5.x;
_local11 = _local5.y;
_local12 = _local3.xp;
_local13 = _local3.yp;
_local14 = _local4.xp;
_local15 = _local4.yp;
_local16 = _local5.xp;
_local17 = _local5.yp;
_local18.a = (_local8 - _local6);
_local18.b = (_local9 - _local7);
_local18.c = (_local10 - _local6);
_local18.d = (_local11 - _local7);
_local18.tx = _local6;
_local18.ty = _local7;
_local19.a = (_local14 - _local12);
_local19.b = (_local15 - _local13);
_local19.c = (_local16 - _local12);
_local19.d = (_local17 - _local13);
_local19.tx = _local12;
_local19.ty = _local13;
_local18.invert();
_local18.concat(_local19);
__matrices.unshift(_local18.clone());
};
}
override public function get width():Number{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
private function removeFlatShading():void{
transform.colorTransform = new ColorTransform();
__flatshading = false;
}
private function getMatrices():void{
__matrix.createBox(__scalex, __scaley, __scalez, degreesToRadians(__rotationx), degreesToRadians(__rotationy), degreesToRadians(__rotationz), __x, __y, __z);
if ((parent is Scene3D)){
__concatenatedmatrix = __matrix.clone();
} else {
__concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone();
__concatenatedmatrix.concat(__matrix);
};
__normal = null;
}
private function removeBitmap():void{
super.graphics.clear();
__drawing = false;
}
public function set subdivisionsHorizontal(_arg1:int):void{
__subdivisionshorizontal = _arg1;
__rendertessellation = true;
__renderprojection = true;
__renderbitmap = true;
}
private function getScene():Scene3D{
var _local1:DisplayObjectContainer = DisplayObjectContainer(this);
while (_local1) {
if ((_local1 is Scene3D)){
return (Scene3D(_local1));
};
_local1 = _local1.parent;
};
return (null);
}
override public function set visible(_arg1:Boolean):void{
__visible = _arg1;
}
public function get subdivisionsHorizontal():int{
return (__subdivisionshorizontal);
}
public function set smoothing(_arg1:Boolean):void{
__smoothing = _arg1;
__renderbitmap = true;
}
override public function set x(_arg1:Number):void{
__x = _arg1;
askRendering();
}
override public function set y(_arg1:Number):void{
__y = _arg1;
askRendering();
}
public function set z(_arg1:Number):void{
__z = _arg1;
askRendering();
}
public function set bitmapData(_arg1:BitmapData):void{
__bitmapdata = _arg1;
if (__bitmapdata == null){
if (__drawing){
removeBitmap();
};
} else {
if (((!((__bitmapdata.width == __width))) || (!((__bitmapdata.height == __height))))){
__rendertessellation = true;
__renderprojection = true;
};
};
__renderbitmap = true;
}
override public function set rotation(_arg1:Number):void{
throw (new Error("The Bitmap3D class does not implement this property or method."));
}
private static function degreesToRadians(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
private static function formatRotation(_arg1:Number):Number{
var _local2:Number = (_arg1 % 360);
if (_local2 < -180){
return ((_local2 + 360));
};
if (_local2 > 180){
return ((_local2 - 360));
};
return (_local2);
}
}
}//package five3D.display
Section 5
//DynamicText3D (five3D.display.DynamicText3D)
package five3D.display {
import flash.geom.*;
public class DynamicText3D extends Sprite3D {
private var __color:uint;// = 0
private var __text:String;// = ""
private var __typography:Object;
private var __textwidth:Number;// = 0
private var __size:Number;// = 10
private var __letterspacing:Number;// = 0
public function DynamicText3D(_arg1:Object){
__typography = _arg1;
if (!__typography.__initialized){
__typography.initialize();
};
}
public function get size():Number{
return (__size);
}
public function get letterSpacing():Number{
return (__letterspacing);
}
public function set size(_arg1:Number):void{
__size = _arg1;
resizeGlyphs();
placeGlyphs();
}
private function createGlyph(_arg1:Number, _arg2:String):void{
var _local3:Shape3D = new Shape3D();
_local3.graphics3D.addMotif([["B", [__color, 1]]].concat(Graphics3D.clone(__typography.__motifs[_arg2])).concat([["E"]]));
_local3.scaleX = (_local3.scaleY = (__size / 100));
addChildAt(_local3, _arg1);
}
public function set letterSpacing(_arg1:Number):void{
__letterspacing = _arg1;
placeGlyphs();
}
public function set color(_arg1:uint):void{
__color = _arg1;
colorateGlyphs();
}
private function reinitText(_arg1:String):void{
__text = "";
this.text = _arg1;
}
private function resizeGlyphs():void{
var _local2:Shape3D;
var _local1:int;
while (_local1 < numChildren) {
_local2 = Shape3D(getChildAt(_local1));
_local2.scaleX = (_local2.scaleY = (__size / 100));
_local1++;
};
}
public function set typography(_arg1:Object):void{
__typography = _arg1;
if (!__typography.__initialized){
__typography.initialize();
};
reinitText(__text);
}
public function get textWidth():Number{
return (__textwidth);
}
private function createGlyphs(_arg1:String):void{
var _local2:int;
while (_local2 < _arg1.length) {
if (_arg1.charAt(_local2) != __text.charAt(_local2)){
createGlyph(_local2, _arg1.charAt(_local2));
};
_local2++;
};
}
public function set text(_arg1:String):void{
createGlyphs(_arg1);
__text = _arg1;
removeAdditionalGlyphs();
placeGlyphs();
}
public function get color():uint{
return (__color);
}
public function get text():String{
return (__text);
}
private function placeGlyphs():void{
var _local3:Shape3D;
var _local1:Number = 0;
var _local2:int;
while (_local2 < numChildren) {
_local3 = Shape3D(getChildAt(_local2));
if (_local3.x != _local1){
_local3.x = _local1;
};
if (_local2 == (numChildren - 1)){
__textwidth = (_local1 + __typography.__widths[__text.charAt(_local2)]);
} else {
_local1 = (_local1 + (((__typography.__widths[__text.charAt(_local2)] + __letterspacing) * __size) / 100));
};
_local2++;
};
}
public function get typography():Object{
return (__typography);
}
private function colorateGlyphs():void{
var _local3:Shape3D;
var _local1:ColorTransform = new ColorTransform();
_local1.color = __color;
var _local2:int;
while (_local2 < numChildren) {
_local3 = Shape3D(getChildAt(_local2));
_local3.transform.colorTransform = _local1;
_local2++;
};
}
private function removeAdditionalGlyphs():void{
var _local1:int = (numChildren - 1);
while (_local1 >= __text.length) {
removeChildAt(_local1);
_local1--;
};
}
override public function get graphics3D():Graphics3D{
throw (new Error("The DynamicText3D class does not implement this property or method."));
}
}
}//package five3D.display
Section 6
//Graphics3D (five3D.display.Graphics3D)
package five3D.display {
import flash.display.*;
import five3D.geom.*;
public final class Graphics3D {
private var __motif:Array;
private var __render:Boolean;// = false
public function Graphics3D(){
__motif = [];
}
public function moveToSpace(_arg1:Number, _arg2:Number, _arg3:Number):void{
__motif.push(["M", [_arg1, _arg2, _arg3]]);
askRendering();
}
function askRendering():void{
__render = true;
}
public function lineStyle(_arg1:Number, _arg2:uint=0, _arg3:Number=1, _arg4:Boolean=false, _arg5:String="normal", _arg6:String=null, _arg7:String=null, _arg8:Number=3):void{
__motif.push(["S", [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8]]);
askRendering();
}
public function endFill():void{
__motif.push(["E"]);
askRendering();
}
public function lineTo(_arg1:Number, _arg2:Number):void{
__motif.push(["L", [_arg1, _arg2]]);
askRendering();
}
public function drawRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
__motif.push(["M", [_arg1, _arg2]], ["L", [(_arg1 + _arg3), _arg2]], ["L", [(_arg1 + _arg3), (_arg2 + _arg4)]], ["L", [_arg1, (_arg2 + _arg4)]], ["L", [_arg1, _arg2]]);
askRendering();
}
public function curveTo(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
__motif.push(["C", [_arg1, _arg2, _arg3, _arg4]]);
askRendering();
}
private function draw(_arg1:Graphics, _arg2:Matrix3D, _arg3:Number):void{
var _local4:int;
var _local5:Point3D;
var _local6:Point3D;
var _local7:Point3D;
var _local8:Point3D;
_arg1.clear();
_local4 = 0;
while (_local4 < __motif.length) {
switch (__motif[_local4][0]){
case "B":
_arg1.beginFill(__motif[_local4][1][0], __motif[_local4][1][1]);
break;
case "S":
_arg1.lineStyle(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2], __motif[_local4][1][3], __motif[_local4][1][4], __motif[_local4][1][5], __motif[_local4][1][6], __motif[_local4][1][7]);
break;
case "M":
_local5 = ((__motif[_local4][1].length)==2) ? new Point3D(__motif[_local4][1][0], __motif[_local4][1][1]) : new Point3D(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2]);
var _temp1 = _arg2.transformPoint(_local5);
_local5 = _arg2.transformPoint(_local5);
_temp1.project(_local5.getPerspective(_arg3));
_arg1.moveTo(_local5.x, _local5.y);
break;
case "L":
_local6 = ((__motif[_local4][1].length)==2) ? new Point3D(__motif[_local4][1][0], __motif[_local4][1][1]) : new Point3D(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2]);
var _temp2 = _arg2.transformPoint(_local6);
_local6 = _arg2.transformPoint(_local6);
_temp2.project(_local6.getPerspective(_arg3));
_arg1.lineTo(_local6.x, _local6.y);
break;
case "C":
if (__motif[_local4][1].length == 4){
_local7 = new Point3D(__motif[_local4][1][0], __motif[_local4][1][1]);
_local8 = new Point3D(__motif[_local4][1][2], __motif[_local4][1][3]);
} else {
_local7 = new Point3D(__motif[_local4][1][0], __motif[_local4][1][1], __motif[_local4][1][2]);
_local8 = new Point3D(__motif[_local4][1][3], __motif[_local4][1][4], __motif[_local4][1][5]);
};
_local7 = _arg2.transformPoint(_local7);
_local8 = _arg2.transformPoint(_local8);
_local7.project(_local7.getPerspective(_arg3));
_local8.project(_local8.getPerspective(_arg3));
_arg1.curveTo(_local7.x, _local7.y, _local8.x, _local8.y);
break;
case "E":
_arg1.endFill();
break;
};
_local4++;
};
}
public function clear():void{
__motif = [];
askRendering();
}
public function drawRoundRect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
var _local7:Number = (_arg1 + _arg3);
var _local8:Number = (_arg2 + _arg4);
var _local9:Number = Math.min((_arg5 / 2), (_arg3 / 2));
var _local10:Number = Math.min((_arg6 / 2), (_arg4 / 2));
var _local11:Number = (_local9 * (Math.SQRT2 - 1));
var _local12:Number = (_local9 / Math.SQRT2);
var _local13:Number = (_local10 * (Math.SQRT2 - 1));
var _local14:Number = (_local10 / Math.SQRT2);
__motif.push(["M", [(_arg1 + _local9), _arg2]], ["L", [(_local7 - _local9), _arg2]], ["C", [((_local7 - _local9) + _local11), _arg2, ((_local7 - _local9) + _local12), ((_arg2 + _local10) - _local14)]], ["C", [_local7, ((_arg2 + _local10) - _local13), _local7, (_arg2 + _local10)]], ["L", [_local7, (_local8 - _local10)]], ["C", [_local7, ((_local8 - _local10) + _local13), ((_local7 - _local9) + _local12), ((_local8 - _local10) + _local14)]], ["C", [((_local7 - _local9) + _local11), _local8, (_local7 - _local9), _local8]], ["L", [(_arg1 + _local9), _local8]], ["C", [((_arg1 + _local9) - _local11), _local8, ((_arg1 + _local9) - _local12), ((_local8 - _local10) + _local14)]], ["C", [_arg1, ((_local8 - _local10) + _local13), _arg1, (_local8 - _local10)]], ["L", [_arg1, (_arg2 + _local10)]], ["C", [_arg1, ((_arg2 + _local10) - _local13), ((_arg1 + _local9) - _local12), ((_arg2 + _local10) - _local14)]], ["C", [((_arg1 + _local9) - _local11), _arg2, (_arg1 + _local9), _arg2]]);
askRendering();
}
public function drawCircle(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Number = (_arg3 * (Math.SQRT2 - 1));
var _local5:Number = (_arg3 / Math.SQRT2);
__motif.push(["M", [_arg1, (_arg2 - _arg3)]], ["C", [(_arg1 + _local4), (_arg2 - _arg3), (_arg1 + _local5), (_arg2 - _local5)]], ["C", [(_arg1 + _arg3), (_arg2 - _local4), (_arg1 + _arg3), _arg2]], ["C", [(_arg1 + _arg3), (_arg2 + _local4), (_arg1 + _local5), (_arg2 + _local5)]], ["C", [(_arg1 + _local4), (_arg2 + _arg3), _arg1, (_arg2 + _arg3)]], ["C", [(_arg1 - _local4), (_arg2 + _arg3), (_arg1 - _local5), (_arg2 + _local5)]], ["C", [(_arg1 - _arg3), (_arg2 + _local4), (_arg1 - _arg3), _arg2]], ["C", [(_arg1 - _arg3), (_arg2 - _local4), (_arg1 - _local5), (_arg2 - _local5)]], ["C", [(_arg1 - _local4), (_arg2 - _arg3), _arg1, (_arg2 - _arg3)]]);
trace(__motif);
askRendering();
}
public function addMotif(_arg1:Array):void{
__motif = __motif.concat(_arg1);
askRendering();
}
public function lineToSpace(_arg1:Number, _arg2:Number, _arg3:Number):void{
__motif.push(["L", [_arg1, _arg2, _arg3]]);
askRendering();
}
function render(_arg1:Graphics, _arg2:Matrix3D, _arg3:Number):void{
if (__render){
draw(_arg1, _arg2, _arg3);
__render = false;
};
}
public function moveTo(_arg1:Number, _arg2:Number):void{
__motif.push(["M", [_arg1, _arg2]]);
askRendering();
}
public function drawEllipse(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Number = (_arg1 + (_arg3 / 2));
var _local6:Number = (_arg2 + (_arg4 / 2));
var _local7:Number = (_arg3 / 2);
var _local8:Number = (_arg4 / 2);
var _local9:Number = (_local7 * (Math.SQRT2 - 1));
var _local10:Number = (_local7 / Math.SQRT2);
var _local11:Number = (_local8 * (Math.SQRT2 - 1));
var _local12:Number = (_local8 / Math.SQRT2);
__motif.push(["M", [_local5, (_local6 - _local8)]], ["C", [(_local5 + _local9), (_local6 - _local8), (_local5 + _local10), (_local6 - _local12)]], ["C", [(_local5 + _local7), (_local6 - _local11), (_local5 + _local7), _local6]], ["C", [(_local5 + _local7), (_local6 + _local11), (_local5 + _local10), (_local6 + _local12)]], ["C", [(_local5 + _local9), (_local6 + _local8), _local5, (_local6 + _local8)]], ["C", [(_local5 - _local9), (_local6 + _local8), (_local5 - _local10), (_local6 + _local12)]], ["C", [(_local5 - _local7), (_local6 + _local11), (_local5 - _local7), _local6]], ["C", [(_local5 - _local7), (_local6 - _local11), (_local5 - _local10), (_local6 - _local12)]], ["C", [(_local5 - _local9), (_local6 - _local8), _local5, (_local6 - _local8)]]);
askRendering();
}
public function beginFill(_arg1:uint, _arg2:Number=1):void{
__motif.push(["B", [_arg1, _arg2]]);
askRendering();
}
public function curveToSpace(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number):void{
__motif.push(["C", [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6]]);
askRendering();
}
public function drawSomething(_arg1:Array):void{
var _local2:Number = _arg1.length;
while (_local2--) {
__motif.push(_arg1[_local2]);
};
askRendering();
}
public static function clone(_arg1:Array):Array{
var _local2:Array = [];
var _local3:int;
while (_local3 < _arg1.length) {
switch (_arg1[_local3][0]){
case "B":
_local2.push(["B", [_arg1[_local3][1][0], _arg1[_local3][1][1]]]);
break;
case "S":
_local2.push(["S", [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2], _arg1[_local3][1][3], _arg1[_local3][1][4], _arg1[_local3][1][5], _arg1[_local3][1][6], _arg1[_local3][1][7]]]);
break;
case "M":
_local2.push(["M", ((_arg1[_local3][1].length)==2) ? [_arg1[_local3][1][0], _arg1[_local3][1][1]] : [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2]]]);
break;
case "L":
_local2.push(["L", ((_arg1[_local3][1].length)==2) ? [_arg1[_local3][1][0], _arg1[_local3][1][1]] : [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2]]]);
break;
case "C":
_local2.push(["C", ((_arg1[_local3][1].length)==4) ? [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2], _arg1[_local3][1][3]] : [_arg1[_local3][1][0], _arg1[_local3][1][1], _arg1[_local3][1][2], _arg1[_local3][1][3], _arg1[_local3][1][4], _arg1[_local3][1][5]]]);
break;
case "E":
_local2.push(["E"]);
break;
};
_local3++;
};
return (_local2);
}
}
}//package five3D.display
Section 7
//Scene3D (five3D.display.Scene3D)
package five3D.display {
import flash.display.*;
import flash.events.*;
import five3D.geom.*;
public class Scene3D extends Sprite {
private var __ambientlightvector:Point3D;
private var __ambientlightintensity:Number;// = 0.5
private var __ambientlightvectornormalized:Point3D;
private var __viewdistance:Number;// = 1000
public function Scene3D(){
__ambientlightvector = new Point3D(1, 1, 1);
__ambientlightvectornormalized = new Point3D(0.577350269189626, 0.577350269189626, 0.577350269189626);
initializeRendering();
}
private function enterFrameHandler(_arg1:Event):void{
render();
}
public function get ambientLightVector():Point3D{
return (__ambientlightvector);
}
public function get viewDistance():Number{
return (__viewdistance);
}
private function askRendering():void{
var _local1:int;
while (_local1 < numChildren) {
getChildAtCasted(_local1).askRendering();
_local1++;
};
}
public function get ambientLightIntensity():Number{
return (__ambientlightintensity);
}
public function set ambientLightVector(_arg1:Point3D):void{
__ambientlightvector = _arg1;
__ambientlightvectornormalized = __ambientlightvector.clone();
__ambientlightvectornormalized.normalize(1);
askRenderingShading();
}
public function render():void{
var _local1:int;
while (_local1 < numChildren) {
getChildAtCasted(_local1).render(this);
_local1++;
};
}
private function askRenderingShading():void{
var _local1:int;
while (_local1 < numChildren) {
getChildAtCasted(_local1).askRenderingShading();
_local1++;
};
}
public function set ambientLightIntensity(_arg1:Number):void{
__ambientlightintensity = _arg1;
askRenderingShading();
}
public function set viewDistance(_arg1:Number):void{
__viewdistance = _arg1;
askRendering();
}
private function initializeRendering():void{
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function getChildAtCasted(_arg1:int){
if ((getChildAt(_arg1) is Sprite3D)){
return (Sprite3D(getChildAt(_arg1)));
};
if ((getChildAt(_arg1) is Shape3D)){
return (Shape3D(getChildAt(_arg1)));
};
if ((getChildAt(_arg1) is Bitmap3D)){
return (Bitmap3D(getChildAt(_arg1)));
};
if ((getChildAt(_arg1) is Sprite2D)){
return (Sprite2D(getChildAt(_arg1)));
};
}
public function get ambientLightVectorNormalized():Point3D{
return (__ambientlightvectornormalized);
}
}
}//package five3D.display
Section 8
//Shape3D (five3D.display.Shape3D)
package five3D.display {
import flash.display.*;
import five3D.geom.*;
import flash.geom.*;
import fl.motion.*;
public class Shape3D extends Shape {
private var __visible:Boolean;// = true
private var __x:Number;// = 0
private var __y:Number;// = 0
private var __z:Number;// = 0
private var __matrix:Matrix3D;
private var __flatshading:Boolean;// = false
var __concatenatedmatrix:Matrix3D;
private var __singlesided:Boolean;// = false
private var __normal:Point3D;
private var __scalex:Number;// = 1
private var __scaley:Number;// = 1
private var __scalez:Number;// = 1
private var __culling:Boolean;// = false
private var __rotationx:Number;// = 0
private var __rotationy:Number;// = 0
private var __rotationz:Number;// = 0
private var __graphics:Graphics3D;
private var __render:Boolean;// = true
private var __flatshaded:Boolean;// = false
private var __renderculling:Boolean;// = false
private var __rendershading:Boolean;// = false
public function Shape3D(){
__matrix = new Matrix3D();
__graphics = new Graphics3D();
}
override public function set y(_arg1:Number):void{
__y = _arg1;
askRendering();
}
public function set z(_arg1:Number):void{
__z = _arg1;
askRendering();
}
public function get singleSided():Boolean{
return (__singlesided);
}
override public function set height(_arg1:Number):void{
throw (new Error("The Shape3D class does not implement this property or method."));
}
public function get z():Number{
return (__z);
}
override public function get graphics():Graphics{
throw (new Error("The Shape3D class does not implement this property or method (use \"graphics3D\" instead)."));
}
override public function set width(_arg1:Number):void{
throw (new Error("The Shape3D class does not implement this property or method."));
}
override public function globalToLocal(_arg1:Point):Point{
throw (new Error("The Shape3D class does not implement this property or method."));
}
override public function localToGlobal(_arg1:Point):Point{
throw (new Error("The Shape3D class does not implement this property or method."));
}
public function set singleSided(_arg1:Boolean):void{
__singlesided = _arg1;
if (__singlesided){
__renderculling = true;
} else {
__renderculling = false;
__culling = false;
};
}
function askRendering():void{
__render = true;
__graphics.askRendering();
if (__singlesided){
__renderculling = true;
};
if (__flatshaded){
__rendershading = true;
};
}
override public function get scale9Grid():Rectangle{
throw (new Error("The Shape3D class does not implement this property or method."));
}
function render(_arg1:Scene3D):void{
if (((!(__visible)) && (super.visible))){
super.visible = false;
} else {
if (__visible){
if (__render){
getMatrices();
__render = false;
};
if (__renderculling){
getCulling(_arg1.viewDistance);
__renderculling = false;
};
if (__culling){
if (super.visible){
super.visible = false;
};
} else {
if (!super.visible){
super.visible = true;
};
__graphics.render(super.graphics, __concatenatedmatrix, _arg1.viewDistance);
if (__rendershading){
setFlatShading(_arg1);
__rendershading = false;
};
};
};
};
}
function askRenderingShading():void{
if (__flatshaded){
__rendershading = true;
};
}
public function get rotationY():Number{
return (__rotationy);
}
override public function set scrollRect(_arg1:Rectangle):void{
throw (new Error("The Shape3D class does not implement this property or method."));
}
override public function set scaleX(_arg1:Number):void{
__scalex = _arg1;
askRendering();
}
override public function set scaleY(_arg1:Number):void{
__scaley = _arg1;
askRendering();
}
public function get rotationX():Number{
return (__rotationx);
}
override public function set scale9Grid(_arg1:Rectangle):void{
throw (new Error("The Shape3D class does not implement this property or method."));
}
public function get rotationZ():Number{
return (__rotationz);
}
override public function get height():Number{
throw (new Error("The Shape3D class does not implement this property or method."));
}
public function set scaleZ(_arg1:Number):void{
__scalez = _arg1;
askRendering();
}
public function get graphics3D():Graphics3D{
return (__graphics);
}
public function set rotationY(_arg1:Number):void{
__rotationy = formatRotation(_arg1);
askRendering();
}
private function setFlatShading(_arg1:Scene3D):void{
var _local5:Point3D;
var _local6:Point3D;
if (__normal == null){
_local5 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0));
_local6 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1));
__normal = _local6.subtract(_local5);
};
var _local2:Number = __normal.dot(_arg1.ambientLightVectorNormalized);
var _local3:Number = (_local2 * _arg1.ambientLightIntensity);
var _local4:Color = new Color();
_local4.brightness = _local3;
_local4.alphaMultiplier = alpha;
transform.colorTransform = _local4;
__flatshading = true;
}
public function set rotationZ(_arg1:Number):void{
__rotationz = formatRotation(_arg1);
askRendering();
}
private function getCulling(_arg1:Number):void{
var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0));
var _local3:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1));
__normal = _local3.subtract(_local2);
var _local4:Point3D = new Point3D(_local2.x, _local2.y, (_local2.z + _arg1));
__culling = (__normal.dot(_local4) < 0);
}
public function set rotationX(_arg1:Number):void{
__rotationx = formatRotation(_arg1);
askRendering();
}
override public function get width():Number{
throw (new Error("The Shape3D class does not implement this property or method."));
}
public function get flatShaded():Boolean{
return (__flatshaded);
}
private function removeFlatShading():void{
transform.colorTransform = new ColorTransform();
__flatshading = false;
}
override public function get scrollRect():Rectangle{
throw (new Error("The Shape3D class does not implement this property or method."));
}
override public function get mouseX():Number{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).x);
}
override public function get mouseY():Number{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).y);
}
override public function get scaleX():Number{
return (__scalex);
}
private function getScene():Scene3D{
var _local1:DisplayObjectContainer = DisplayObjectContainer(this);
while (_local1) {
if ((_local1 is Scene3D)){
return (Scene3D(_local1));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get scaleY():Number{
return (__scaley);
}
public function get scaleZ():Number{
return (__scalez);
}
override public function set visible(_arg1:Boolean):void{
__visible = _arg1;
}
public function get mouseXY():Point{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance));
}
public function set flatShaded(_arg1:Boolean):void{
__flatshaded = _arg1;
if (__flatshaded){
__rendershading = true;
} else {
__rendershading = false;
if (__flatshading){
removeFlatShading();
};
};
}
override public function set x(_arg1:Number):void{
__x = _arg1;
askRendering();
}
override public function get visible():Boolean{
return (__visible);
}
override public function get x():Number{
return (__x);
}
override public function get y():Number{
return (__y);
}
override public function set rotation(_arg1:Number):void{
throw (new Error("The Shape3D class does not implement this property or method."));
}
private function getMatrices():void{
__matrix.createBox(__scalex, __scaley, __scalez, degreesToRadians(__rotationx), degreesToRadians(__rotationy), degreesToRadians(__rotationz), __x, __y, __z);
if ((parent is Scene3D)){
__concatenatedmatrix = __matrix.clone();
} else {
__concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone();
__concatenatedmatrix.concat(__matrix);
};
__normal = null;
}
override public function get rotation():Number{
throw (new Error("The Shape3D class does not implement this property or method."));
}
private static function degreesToRadians(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
private static function formatRotation(_arg1:Number):Number{
var _local2:Number = (_arg1 % 360);
if (_local2 < -180){
return ((_local2 + 360));
};
if (_local2 > 180){
return ((_local2 - 360));
};
return (_local2);
}
}
}//package five3D.display
Section 9
//Sprite2D (five3D.display.Sprite2D)
package five3D.display {
import flash.display.*;
import five3D.geom.*;
import flash.geom.*;
public class Sprite2D extends Sprite {
private var __scalex:Number;// = 1
private var __scaley:Number;// = 1
private var __renderscaling:Boolean;// = true
private var __visible:Boolean;// = true
private var __x:Number;// = 0
private var __y:Number;// = 0
private var __z:Number;// = 0
private var __perspective:Number;
private var __matrix:Matrix3D;
private var __scaling:Boolean;// = false
private var __render:Boolean;// = true
var __concatenatedmatrix:Matrix3D;
private var __scaled:Boolean;// = true
public function Sprite2D(){
__matrix = new Matrix3D();
}
override public function get y():Number{
return (__y);
}
override public function set y(_arg1:Number):void{
__y = _arg1;
askRendering();
}
public function set z(_arg1:Number):void{
__z = _arg1;
askRendering();
}
private function setScaling():void{
super.scaleX = (__scalex * __perspective);
super.scaleY = (__scaley * __perspective);
__scaling = true;
}
private function removeScaling():void{
super.scaleX = __scalex;
super.scaleY = __scaley;
__scaling = false;
}
override public function set x(_arg1:Number):void{
__x = _arg1;
askRendering();
}
public function get z():Number{
return (__z);
}
public function set scaled(_arg1:Boolean):void{
__scaled = _arg1;
if (__scaled){
__renderscaling = true;
} else {
__renderscaling = false;
if (__scaling){
removeScaling();
};
};
}
private function getMatrices():void{
__matrix.createBox(1, 1, 1, 0, 0, 0, __x, __y, __z);
if ((parent is Scene3D)){
__concatenatedmatrix = __matrix.clone();
} else {
__concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone();
__concatenatedmatrix.concat(__matrix);
};
}
function askRendering():void{
__render = true;
if (__scaled){
__renderscaling = true;
};
}
override public function get scaleY():Number{
return (__scaley);
}
override public function get scaleX():Number{
return (__scalex);
}
override public function set scaleY(_arg1:Number):void{
__scaley = _arg1;
if (__scaled){
__renderscaling = true;
} else {
super.scaleY = __scaley;
};
}
override public function stopDrag():void{
throw (new Error("The Sprite2D class does not implement this property or method."));
}
public function get scaled():Boolean{
return (__scaled);
}
private function setPlacement(_arg1:Number):void{
var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D());
__perspective = _local2.getPerspective(_arg1);
_local2.project(__perspective);
super.x = _local2.x;
super.y = _local2.y;
}
override public function set visible(_arg1:Boolean):void{
__visible = _arg1;
}
function render(_arg1:Scene3D):void{
if (((!(__visible)) && (super.visible))){
super.visible = false;
} else {
if (__visible){
if (!super.visible){
super.visible = true;
};
if (__render){
getMatrices();
setPlacement(_arg1.viewDistance);
__render = false;
};
if (__renderscaling){
setScaling();
__renderscaling = false;
};
};
};
}
override public function get dropTarget():DisplayObject{
throw (new Error("The Sprite2D class does not implement this property or method."));
}
override public function get visible():Boolean{
return (__visible);
}
override public function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void{
throw (new Error("The Sprite2D class does not implement this property or method."));
}
override public function set scaleX(_arg1:Number):void{
__scalex = _arg1;
if (__scaled){
__renderscaling = true;
} else {
super.scaleX = __scalex;
};
}
override public function get x():Number{
return (__x);
}
}
}//package five3D.display
Section 10
//Sprite3D (five3D.display.Sprite3D)
package five3D.display {
import flash.display.*;
import five3D.geom.*;
import flash.geom.*;
import fl.motion.*;
public class Sprite3D extends Sprite {
private var __visible:Boolean;// = true
private var __x:Number;// = 0
private var __y:Number;// = 0
private var __z:Number;// = 0
private var __matrix:Matrix3D;
private var __flatshading:Boolean;// = true
var __concatenatedmatrix:Matrix3D;
private var __singlesided:Boolean;// = false
private var __normal:Point3D;
private var __scalex:Number;// = 1
private var __scaley:Number;// = 1
private var __scalez:Number;// = 1
private var __culling:Boolean;// = false
private var __rotationx:Number;// = 0
private var __rotationy:Number;// = 0
private var __rotationz:Number;// = 0
private var __childrensorted:Boolean;// = false
private var __graphics:Graphics3D;
private var __flatshaded:Boolean;// = false
private var __render:Boolean;// = true
private var __renderculling:Boolean;// = false
private var __rendershading:Boolean;// = false
public function Sprite3D(){
__matrix = new Matrix3D();
__graphics = new Graphics3D();
}
override public function set y(_arg1:Number):void{
__y = _arg1;
askRendering();
}
override public function get dropTarget():DisplayObject{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function set z(_arg1:Number):void{
__z = _arg1;
askRendering();
}
public function get singleSided():Boolean{
return (__singlesided);
}
override public function set height(_arg1:Number):void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function get z():Number{
return (__z);
}
override public function get graphics():Graphics{
throw (new Error("The Sprite3D class does not implement this property or method (use \"graphics3D\" instead)."));
}
override public function set width(_arg1:Number):void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
override public function globalToLocal(_arg1:Point):Point{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
override public function localToGlobal(_arg1:Point):Point{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function set singleSided(_arg1:Boolean):void{
__singlesided = _arg1;
if (__singlesided){
__renderculling = true;
} else {
__renderculling = false;
__culling = false;
};
}
function askRendering():void{
__render = true;
__graphics.askRendering();
if (__singlesided){
__renderculling = true;
};
if (__flatshaded){
__rendershading = true;
};
var _local1:int;
while (_local1 < numChildren) {
getChildAtCasted(_local1).askRendering();
_local1++;
};
}
override public function get scale9Grid():Rectangle{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
function render(_arg1:Scene3D):void{
var _local2:int;
if (((!(__visible)) && (super.visible))){
super.visible = false;
} else {
if (__visible){
if (__render){
getMatrices();
__render = false;
};
if (__renderculling){
getCulling(_arg1.viewDistance);
__renderculling = false;
};
if (__culling){
if (super.visible){
super.visible = false;
};
} else {
if (!super.visible){
super.visible = true;
};
__graphics.render(super.graphics, __concatenatedmatrix, _arg1.viewDistance);
if (__rendershading){
setFlatShading(_arg1);
__rendershading = false;
};
_local2 = 0;
while (_local2 < numChildren) {
getChildAtCasted(_local2).render(_arg1);
_local2++;
};
if (__childrensorted){
sortChildren();
};
};
};
};
}
function askRenderingShading():void{
if (__flatshaded){
__rendershading = true;
};
var _local1:int;
while (_local1 < numChildren) {
if (getChildAtCasted(_local1).alpha != 0){
getChildAtCasted(_local1).askRenderingShading();
};
_local1++;
};
}
public function get rotationY():Number{
return (__rotationy);
}
override public function set scrollRect(_arg1:Rectangle):void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
override public function set scaleX(_arg1:Number):void{
__scalex = _arg1;
askRendering();
}
override public function set scaleY(_arg1:Number):void{
__scaley = _arg1;
askRendering();
}
public function get rotationX():Number{
return (__rotationx);
}
override public function set scale9Grid(_arg1:Rectangle):void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function get rotationZ():Number{
return (__rotationz);
}
override public function get height():Number{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function set scaleZ(_arg1:Number):void{
__scalez = _arg1;
askRendering();
}
override public function startDrag(_arg1:Boolean=false, _arg2:Rectangle=null):void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function get graphics3D():Graphics3D{
return (__graphics);
}
public function set rotationY(_arg1:Number):void{
__rotationy = formatRotation(_arg1);
askRendering();
}
public function get childrenSorted():Boolean{
return (__childrensorted);
}
private function getCulling(_arg1:Number):void{
var _local2:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0));
var _local3:Point3D = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1));
__normal = _local3.subtract(_local2);
var _local4:Point3D = new Point3D(_local2.x, _local2.y, (_local2.z + _arg1));
__culling = (__normal.dot(_local4) < 0);
}
public function set rotationX(_arg1:Number):void{
__rotationx = formatRotation(_arg1);
askRendering();
}
private function sortChildren():void{
var _local2:*;
var _local1:Array = [];
var _local3:int;
while (_local3 < numChildren) {
_local2 = getChildAtCasted(_local3);
if (_local2.visible){
_local1.push({child:_local2, z:_local2.__concatenatedmatrix.tz});
};
_local3++;
};
_local1.sortOn("z", (Array.DESCENDING | Array.NUMERIC));
_local3 = 0;
while (_local3 < _local1.length) {
setChildIndex(_local1[_local3].child, _local3);
_local3++;
};
}
private function getChildAtCasted(_arg1:int){
if ((getChildAt(_arg1) is Sprite3D)){
return (Sprite3D(getChildAt(_arg1)));
};
if ((getChildAt(_arg1) is Shape3D)){
return (Shape3D(getChildAt(_arg1)));
};
if ((getChildAt(_arg1) is Bitmap3D)){
return (Bitmap3D(getChildAt(_arg1)));
};
if ((getChildAt(_arg1) is Sprite2D)){
return (Sprite2D(getChildAt(_arg1)));
};
}
public function get flatShaded():Boolean{
return (__flatshaded);
}
private function removeFlatShading():void{
transform.colorTransform = new ColorTransform();
__flatshading = false;
}
private function setFlatShading(_arg1:Scene3D):void{
var _local5:Point3D;
var _local6:Point3D;
if (__normal == null){
_local5 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 0));
_local6 = __concatenatedmatrix.transformPoint(new Point3D(0, 0, 1));
__normal = _local6.subtract(_local5);
};
var _local2:Number = __normal.dot(_arg1.ambientLightVectorNormalized);
var _local3:Number = (_local2 * _arg1.ambientLightIntensity);
var _local4:Color = new Color();
_local4.brightness = _local3;
_local4.alphaMultiplier = alpha;
transform.colorTransform = _local4;
__flatshading = true;
}
override public function get mouseX():Number{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).x);
}
override public function get mouseY():Number{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance).y);
}
override public function get scaleX():Number{
return (__scalex);
}
override public function get scrollRect():Rectangle{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
private function getScene():Scene3D{
var _local1:DisplayObjectContainer = DisplayObjectContainer(this);
while (_local1) {
if ((_local1 is Scene3D)){
return (Scene3D(_local1));
};
_local1 = _local1.parent;
};
return (null);
}
override public function get scaleY():Number{
return (__scaley);
}
public function get scaleZ():Number{
return (__scalez);
}
override public function set visible(_arg1:Boolean):void{
__visible = _arg1;
}
public function set rotationZ(_arg1:Number):void{
__rotationz = formatRotation(_arg1);
askRendering();
}
public function get mouseXY():Point{
var _local1:Scene3D = getScene();
if (_local1 == null){
throw (new Error("Cannot access this property without having the class connected to the Scene3D class through the display list hierarchy."));
};
if (__concatenatedmatrix == null){
throw (new Error("Cannot access this property before the class has been rendered once."));
};
return (__concatenatedmatrix.getInverseCoordinates(_local1.mouseX, _local1.mouseY, _local1.viewDistance));
}
override public function stopDrag():void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
public function set flatShaded(_arg1:Boolean):void{
__flatshaded = _arg1;
if (__flatshaded){
__rendershading = true;
} else {
__rendershading = false;
if (__flatshading){
removeFlatShading();
};
};
}
public function set childrenSorted(_arg1:Boolean):void{
__childrensorted = _arg1;
}
override public function get visible():Boolean{
return (__visible);
}
override public function get width():Number{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
override public function set x(_arg1:Number):void{
__x = _arg1;
askRendering();
}
override public function get x():Number{
return (__x);
}
override public function get y():Number{
return (__y);
}
override public function set rotation(_arg1:Number):void{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
private function getMatrices():void{
__matrix.createBox(__scalex, __scaley, __scalez, degreesToRadians(__rotationx), degreesToRadians(__rotationy), degreesToRadians(__rotationz), __x, __y, __z);
if ((parent is Scene3D)){
__concatenatedmatrix = __matrix.clone();
} else {
__concatenatedmatrix = Sprite3D(parent).__concatenatedmatrix.clone();
__concatenatedmatrix.concat(__matrix);
};
__normal = null;
}
override public function get rotation():Number{
throw (new Error("The Sprite3D class does not implement this property or method."));
}
private static function degreesToRadians(_arg1:Number):Number{
return (((_arg1 * Math.PI) / 180));
}
private static function formatRotation(_arg1:Number):Number{
var _local2:Number = (_arg1 % 360);
if (_local2 < -180){
return ((_local2 + 360));
};
if (_local2 > 180){
return ((_local2 - 360));
};
return (_local2);
}
}
}//package five3D.display
Section 11
//Matrix3D (five3D.geom.Matrix3D)
package five3D.geom {
import flash.geom.*;
public class Matrix3D {
public var ty:Number;
public var tx:Number;
public var tz:Number;
public var a:Number;
public var b:Number;
public var c:Number;
public var d:Number;
public var e:Number;
public var f:Number;
public var g:Number;
public var h:Number;
public var i:Number;
public function Matrix3D(_arg1:Number=1, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=1, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=1, _arg10:Number=0, _arg11:Number=0, _arg12:Number=0){
this.a = _arg1;
this.b = _arg2;
this.c = _arg3;
this.d = _arg4;
this.e = _arg5;
this.f = _arg6;
this.g = _arg7;
this.h = _arg8;
this.i = _arg9;
this.tx = _arg10;
this.ty = _arg11;
this.tz = _arg12;
}
public function concat(_arg1:Matrix3D):void{
var _local2:Object = {};
_local2.a = (((a * _arg1.a) + (b * _arg1.d)) + (c * _arg1.g));
_local2.b = (((a * _arg1.b) + (b * _arg1.e)) + (c * _arg1.h));
_local2.c = (((a * _arg1.c) + (b * _arg1.f)) + (c * _arg1.i));
_local2.d = (((d * _arg1.a) + (e * _arg1.d)) + (f * _arg1.g));
_local2.e = (((d * _arg1.b) + (e * _arg1.e)) + (f * _arg1.h));
_local2.f = (((d * _arg1.c) + (e * _arg1.f)) + (f * _arg1.i));
_local2.g = (((g * _arg1.a) + (h * _arg1.d)) + (i * _arg1.g));
_local2.h = (((g * _arg1.b) + (h * _arg1.e)) + (i * _arg1.h));
_local2.i = (((g * _arg1.c) + (h * _arg1.f)) + (i * _arg1.i));
_local2.tx = ((((a * _arg1.tx) + (b * _arg1.ty)) + (c * _arg1.tz)) + tx);
_local2.ty = ((((d * _arg1.tx) + (e * _arg1.ty)) + (f * _arg1.tz)) + ty);
_local2.tz = ((((g * _arg1.tx) + (h * _arg1.ty)) + (i * _arg1.tz)) + tz);
initialize(_local2);
}
public function translate(_arg1:Number, _arg2:Number, _arg3:Number):void{
tx = (tx + _arg1);
ty = (ty + _arg2);
tz = (tz + _arg3);
}
private function initialize(_arg1:Object):void{
var _local2:String;
for (_local2 in _arg1) {
this[_local2] = _arg1[_local2];
};
}
private function extractMatrix3(_arg1:Array, _arg2:Number, _arg3:Number):Array{
var _local6:int;
var _local4:Array = [];
var _local5:int;
while (_local5 < 4) {
if (_local5 != _arg3){
_local6 = 0;
while (_local6 < 4) {
if (_local6 != _arg2){
_local4.push(_arg1[(_local6 + (_local5 * 4))]);
};
_local6++;
};
};
_local5++;
};
return (_local4);
}
public function scale(_arg1:Number, _arg2:Number, _arg3:Number):void{
concat(new Matrix3D(_arg1, 0, 0, 0, _arg2, 0, 0, 0, _arg3, 0, 0, 0));
}
public function transformPoint(_arg1:Point3D):Point3D{
return (new Point3D(((((a * _arg1.x) + (b * _arg1.y)) + (c * _arg1.z)) + tx), ((((d * _arg1.x) + (e * _arg1.y)) + (f * _arg1.z)) + ty), ((((g * _arg1.x) + (h * _arg1.y)) + (i * _arg1.z)) + tz)));
}
public function clone():Matrix3D{
return (new Matrix3D(a, b, c, d, e, f, g, h, i, tx, ty, tz));
}
public function rotateY(_arg1:Number):void{
concat(new Matrix3D(Math.cos(_arg1), 0, Math.sin(_arg1), 0, 1, 0, -(Math.sin(_arg1)), 0, Math.cos(_arg1), 0, 0, 0));
}
public function rotateZ(_arg1:Number):void{
concat(new Matrix3D(Math.cos(_arg1), -(Math.sin(_arg1)), 0, Math.sin(_arg1), Math.cos(_arg1), 0, 0, 0, 1, 0, 0, 0));
}
public function rotateX(_arg1:Number):void{
concat(new Matrix3D(1, 0, 0, 0, Math.cos(_arg1), -(Math.sin(_arg1)), 0, Math.sin(_arg1), Math.cos(_arg1), 0, 0, 0));
}
public function createBox(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number=0, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0):void{
identity();
if (_arg4 != 0){
rotateX(_arg4);
};
if (_arg5 != 0){
rotateY(_arg5);
};
if (_arg6 != 0){
rotateZ(_arg6);
};
if (((((!((_arg1 == 1))) || (!((_arg2 == 1))))) || (!((_arg3 == 1))))){
scale(_arg1, _arg2, _arg3);
};
if (((((!((_arg7 == 0))) || (!((_arg8 == 0))))) || (!((_arg9 == 0))))){
translate(_arg7, _arg8, _arg9);
};
}
public function getInverseCoordinates(_arg1:Number, _arg2:Number, _arg3:Number):Point{
var _local4:Array = [a, b, c, tx, d, e, f, ty, 0, 0, 1, 0, (g / _arg3), (h / _arg3), (i / _arg3), ((tz / _arg3) + 1)];
var _local5:Array = invertTraditional(_local4);
var _local6:Number = (((_local5[12] * _arg1) + (_local5[13] * _arg2)) + _local5[15]);
return (new Point(((((_local5[0] * _arg1) + (_local5[1] * _arg2)) + _local5[3]) / _local6), ((((_local5[4] * _arg1) + (_local5[5] * _arg2)) + _local5[7]) / _local6)));
}
private function invertTraditional(_arg1:Array):Array{
var _local5:int;
var _local2:Array = [];
var _local3:Number = getDeterminant4(_arg1);
var _local4:int;
while (_local4 < 4) {
_local5 = 0;
while (_local5 < 4) {
_local2[((_local5 * 4) + _local4)] = ((getDeterminant3(extractMatrix3(_arg1, _local5, _local4)) * (1 - (((_local5 + _local4) % 2) * 2))) / _local3);
_local5++;
};
_local4++;
};
return (_local2);
}
private function getDeterminant3(_arg1:Array):Number{
return ((((_arg1[0] * ((_arg1[4] * _arg1[8]) - (_arg1[7] * _arg1[5]))) - (_arg1[1] * ((_arg1[3] * _arg1[8]) - (_arg1[6] * _arg1[5])))) + (_arg1[2] * ((_arg1[3] * _arg1[7]) - (_arg1[6] * _arg1[4])))));
}
private function getDeterminant4(_arg1:Array):Number{
return (((((_arg1[0] * getDeterminant3(extractMatrix3(_arg1, 0, 0))) - (_arg1[1] * getDeterminant3(extractMatrix3(_arg1, 1, 0)))) + (_arg1[2] * getDeterminant3(extractMatrix3(_arg1, 2, 0)))) - (_arg1[3] * getDeterminant3(extractMatrix3(_arg1, 3, 0)))));
}
public function toString():String{
return ((((((((((((((((((((((((("(a=" + a) + ", b=") + b) + ", c=") + c) + ", d=") + d) + ", e=") + e) + ", f=") + f) + ", g=") + g) + ", h=") + h) + ", i=") + i) + ", tx=") + tx) + ", ty=") + ty) + ", tz=") + tz) + ")"));
}
public function identity():void{
initialize({a:1, b:0, c:0, d:0, e:1, f:0, g:0, h:0, i:1, tx:0, ty:0, tz:0});
}
}
}//package five3D.geom
Section 12
//Point3D (five3D.geom.Point3D)
package five3D.geom {
public class Point3D {
public var x:Number;
public var y:Number;
public var z:Number;
public function Point3D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
this.x = _arg1;
this.y = _arg2;
this.z = _arg3;
}
public function project(_arg1:Number):void{
x = (x * _arg1);
y = (y * _arg1);
z = 0;
}
public function get length():Number{
return (Math.sqrt((((x * x) + (y * y)) + (z * z))));
}
public function dot(_arg1:Point3D):Number{
return ((((x * _arg1.x) + (y * _arg1.y)) + (z * _arg1.z)));
}
private function scale(_arg1:Number):void{
x = (x * _arg1);
y = (y * _arg1);
z = (z * _arg1);
}
public function toString():String{
return ((((((("(x=" + x) + ", y=") + y) + ", z=") + z) + ")"));
}
public function normalize(_arg1:Number):void{
var _local2:Number = length;
if (_local2){
scale((_arg1 / _local2));
} else {
z = _arg1;
};
}
public function getPerspective(_arg1:Number):Number{
return ((_arg1 / (z + _arg1)));
}
public function subtract(_arg1:Point3D):Point3D{
return (new Point3D((x - _arg1.x), (y - _arg1.y), (z - _arg1.z)));
}
public function clone():Point3D{
return (new Point3D(x, y, z));
}
}
}//package five3D.geom
Section 13
//ArialRoundedMTBold (five3D.typography.ArialRoundedMTBold)
package five3D.typography {
public class ArialRoundedMTBold {
public static var __motifs:Object = {};
public static var __heights:Number = 116;
public static var __widths:Object = {};
public static var __initialized:Boolean = false;
private static function initializeMotifsPunctuation():void{
__motifs[" "] = [];
__motifs["!"] = [["M", [11.5, 93.85]], ["C", [9.3, 91.9, 9.3, 88.45]], ["C", [9.3, 85.4, 11.45, 83.3]], ["C", [13.55, 81.15, 16.6, 81.15]], ["C", [19.7, 81.15, 21.9, 83.3]], ["C", [24, 85.4, 24, 88.45]], ["C", [24, 91.85, 21.85, 93.8]], ["C", [19.65, 95.75, 16.7, 95.75]], ["C", [13.7, 95.75, 11.5, 93.85]], ["M", [9.3, 30.45]], ["C", [9.3, 26.4, 11.45, 24.15]], ["C", [13.55, 21.85, 17, 21.85]], ["C", [21.2, 21.85, 22.6, 24.8]], ["C", [24, 27.65, 24, 33.15]], ["C", [24, 36.35, 23.7, 39.65]], ["L", [21.6, 63.75]], ["C", [21.25, 68.05, 20.1, 70.35]], ["C", [19, 72.65, 16.4, 72.65]], ["C", [13.75, 72.65, 12.75, 70.45]], ["C", [11.7, 68.2, 11.3, 63.65]], ["L", [9.7, 40.25]], ["C", [9.3, 33.4, 9.3, 30.45]]];
__motifs["\""] = [["M", [8.1, 48.55]], ["L", [5.5, 35.15]], ["L", [5.5, 23.05]], ["L", [20.5, 23.05]], ["L", [20.5, 35.15]], ["L", [18.2, 48.55]], ["L", [8.1, 48.55]], ["M", [42.5, 35.15]], ["L", [40.2, 48.55]], ["L", [30.1, 48.55]], ["L", [27.5, 35.15]], ["L", [27.5, 23.05]], ["L", [42.5, 23.05]], ["L", [42.5, 35.15]]];
__motifs["#"] = [["M", [34.3, 51.75]], ["L", [23.5, 51.75]], ["L", [20.6, 65.95]], ["L", [31.5, 65.95]], ["L", [34.3, 51.75]], ["M", [44.6, 21.85]], ["C", [47.1, 21.85, 48.55, 23.15]], ["C", [49.9, 24.5, 49.9, 26.75]], ["C", [49.9, 27.75, 49.8, 28.75]], ["C", [49.65, 29.7, 49.45, 30.65]], ["C", [49.25, 31.5, 49.2, 31.75]], ["L", [47.4, 40.95]], ["C", [54.4, 41.1, 54.4, 46.35]], ["C", [54.4, 48.8, 52.75, 50.25]], ["C", [51.05, 51.75, 47.8, 51.75]], ["L", [45.3, 51.75]], ["L", [42.4, 65.95]], ["L", [47.8, 65.95]], ["C", [51.05, 65.95, 52.75, 67.5]], ["C", [54.4, 69.05, 54.4, 71.45]], ["C", [54.4, 73.85, 52.8, 75.35]], ["C", [51.1, 76.85, 47.8, 76.85]], ["L", [40.3, 76.85]], ["L", [38, 88.05]], ["C", [37.45, 90.75, 37.05, 92.2]], ["C", [36.6, 93.65, 35.45, 94.8]], ["C", [34.3, 95.85, 32.1, 95.85]], ["C", [29.65, 95.85, 28.2, 94.5]], ["C", [26.8, 93.15, 26.8, 90.95]], ["C", [26.8, 88.95, 27.5, 85.95]], ["L", [29.3, 76.85]], ["L", [18.5, 76.85]], ["L", [16.2, 88.05]], ["C", [15.35, 92.2, 14.4, 94.05]], ["C", [13.45, 95.85, 10.3, 95.85]], ["C", [7.8, 95.85, 6.4, 94.5]], ["C", [5, 93.15, 5, 90.95]], ["C", [5, 89.8, 5.25, 88.45]], ["C", [5.5, 87.05, 5.7, 85.95]], ["L", [7.5, 76.85]], ["C", [0.8, 76.7, 0.8, 71.45]], ["C", [0.8, 69, 2.5, 67.5]], ["C", [4.15, 65.95, 7.4, 65.95]], ["L", [9.7, 65.95]], ["L", [12.5, 51.75]], ["L", [7.4, 51.75]], ["C", [4.25, 51.75, 2.55, 50.15]], ["C", [0.8, 48.55, 0.8, 46.25]], ["C", [0.8, 43.8, 2.5, 42.35]], ["C", [4.15, 40.85, 7.4, 40.85]], ["L", [14.7, 40.85]], ["L", [17, 29.65]], ["C", [17.55, 26.85, 18.2, 25.2]], ["C", [18.85, 23.6, 20, 22.8]], ["C", [21.15, 21.95, 23, 21.95]], ["C", [25.6, 21.95, 26.95, 23.3]], ["C", [28.3, 24.7, 28.3, 26.85]], ["C", [28.3, 27.3, 27.5, 31.75]], ["L", [25.7, 40.85]], ["L", [36.4, 40.85]], ["L", [38.7, 29.65]], ["C", [39.2, 27.1, 39.65, 25.55]], ["C", [40.1, 24, 41.25, 22.9]], ["C", [42.4, 21.85, 44.6, 21.85]]];
__motifs["$"] = [["M", [32.7, 64.85]], ["L", [32.7, 86.25]], ["C", [37.65, 85.3, 40.35, 82.3]], ["C", [43, 79.3, 43, 75.35]], ["C", [43, 71.1, 40.45, 68.8]], ["C", [37.8, 66.5, 32.7, 64.85]], ["M", [17.8, 40.95]], ["C", [17.8, 44.8, 19.95, 46.8]], ["C", [22.1, 48.75, 26.5, 50.35]], ["L", [26.5, 31.65]], ["C", [22.4, 32.9, 20.1, 34.9]], ["C", [17.8, 36.9, 17.8, 40.95]], ["M", [48.2, 29.15]], ["C", [50.4, 31.65, 51.6, 34.3]], ["C", [52.8, 36.95, 52.8, 39.15]], ["C", [52.8, 41.55, 51.05, 43.4]], ["C", [49.2, 45.15, 46.7, 45.15]], ["C", [41.9, 45.15, 40.5, 39.95]], ["C", [38.85, 33.85, 32.7, 31.85]], ["L", [32.7, 52.15]], ["C", [38.75, 53.85, 42.4, 55.2]], ["C", [45.95, 56.55, 48.8, 59.15]], ["C", [51.8, 61.85, 53.45, 65.6]], ["C", [55.1, 69.3, 55.1, 73.75]], ["C", [55.1, 79.3, 52.5, 84.2]], ["C", [49.85, 89.05, 44.8, 92.1]], ["C", [39.7, 95.2, 32.7, 95.75]], ["L", [32.7, 107.95]], ["C", [32.7, 110.8, 32.2, 112.15]], ["C", [31.6, 113.45, 29.7, 113.45]], ["C", [27.95, 113.45, 27.25, 112.35]], ["C", [26.5, 111.3, 26.5, 109.05]], ["L", [26.5, 95.85]], ["C", [20.8, 95.25, 16.55, 93.2]], ["C", [12.25, 91.15, 9.4, 88.1]], ["C", [6.55, 85.05, 5.2, 81.75]], ["C", [3.8, 78.45, 3.8, 75.25]], ["C", [3.8, 72.9, 5.65, 71.05]], ["C", [7.45, 69.15, 10.2, 69.15]], ["C", [12.4, 69.15, 13.9, 70.2]], ["C", [15.45, 71.2, 16, 73.05]], ["C", [17.35, 77.05, 18.3, 79.2]], ["C", [19.3, 81.3, 21.3, 83.1]], ["C", [23.25, 84.85, 26.5, 85.75]], ["L", [26.5, 63.05]], ["C", [19.95, 61.25, 15.6, 59.05]], ["C", [11.2, 56.8, 8.45, 52.7]], ["C", [5.7, 48.6, 5.7, 42.15]], ["C", [5.7, 33.75, 11.1, 28.4]], ["C", [16.4, 23, 26.5, 22.15]], ["L", [26.5, 16.95]], ["C", [26.5, 12.85, 29.6, 12.85]], ["C", [32.7, 12.85, 32.7, 16.85]], ["L", [32.7, 22.15]], ["C", [37.95, 22.7, 41.7, 24.3]], ["C", [45.4, 25.9, 48.2, 29.15]]];
__motifs["%"] = [["M", [12.05, 48.2]], ["C", [12.55, 50.95, 13.9, 52.35]], ["C", [15.3, 53.75, 17.7, 53.75]], ["C", [21.3, 53.75, 22.6, 50.65]], ["C", [23.9, 47.6, 23.9, 40.95]], ["C", [23.9, 34.55, 22.5, 31.65]], ["C", [21.15, 28.75, 17.7, 28.75]], ["C", [15.35, 28.75, 13.95, 30.15]], ["C", [12.55, 31.5, 12.05, 34.25]], ["C", [11.5, 36.95, 11.5, 41.15]], ["C", [11.5, 45.5, 12.05, 48.2]], ["M", [3.9, 31.25]], ["C", [5.4, 27, 8.85, 24.85]], ["C", [12.2, 22.65, 17.5, 22.65]], ["C", [21.3, 22.65, 24.15, 23.8]], ["C", [27.05, 24.95, 29.05, 27.4]], ["C", [31.05, 29.8, 32.05, 33.25]], ["C", [33, 36.75, 33, 41.45]], ["C", [33, 50.75, 28.9, 55.3]], ["C", [24.8, 59.85, 17.7, 59.85]], ["C", [13.3, 59.85, 9.8, 57.95]], ["C", [6.3, 56, 4.35, 51.9]], ["C", [2.4, 47.8, 2.4, 41.85]], ["C", [2.4, 35.5, 3.9, 31.25]], ["M", [61.8, 22.95]], ["C", [62.6, 22.05, 64.1, 22.05]], ["C", [65.6, 22.05, 66.5, 22.9]], ["C", [67.4, 23.75, 67.4, 25.15]], ["C", [67.4, 26.2, 65.6, 29.05]], ["L", [24.9, 94.65]], ["C", [23.35, 97.35, 21.4, 97.35]], ["C", [20.25, 97.35, 19.15, 96.5]], ["C", [18, 95.65, 18, 94.25]], ["C", [18, 93.25, 19, 91.75]], ["L", [59.9, 25.65]], ["C", [61, 23.85, 61.8, 22.95]], ["M", [61.95, 69.55]], ["C", [61.4, 72.2, 61.4, 76.45]], ["C", [61.4, 83, 62.8, 86]], ["C", [64.15, 89.05, 67.7, 89.05]], ["C", [71.25, 89.05, 72.55, 85.95]], ["C", [73.9, 82.85, 73.9, 76.25]], ["C", [73.9, 69.95, 72.5, 67.05]], ["C", [71.15, 64.15, 67.7, 64.15]], ["C", [65.25, 64.15, 63.85, 65.5]], ["C", [62.5, 66.85, 61.95, 69.55]], ["M", [83, 76.75]], ["C", [83, 86.05, 78.9, 90.6]], ["C", [74.8, 95.15, 67.7, 95.15]], ["C", [63.25, 95.15, 59.75, 93.2]], ["C", [56.25, 91.25, 54.3, 87.2]], ["C", [52.3, 83.15, 52.3, 77.15]], ["C", [52.3, 67.65, 55.95, 62.85]], ["C", [59.55, 58.05, 67.5, 58.05]], ["C", [71.3, 58.05, 74.15, 59.2]], ["C", [77, 60.35, 79.05, 62.7]], ["C", [81.05, 65.05, 82.05, 68.6]], ["C", [83, 72.05, 83, 76.75]]];
__motifs["&"] = [["M", [29.3, 61.65]], ["C", [24.3, 64.5, 21.9, 67.4]], ["C", [19.4, 70.3, 19.4, 74.25]], ["C", [19.4, 76.5, 20.3, 78.55]], ["C", [21.2, 80.6, 22.95, 82.35]], ["C", [24.65, 84.1, 26.95, 85.05]], ["C", [29.25, 85.95, 31.8, 85.95]], ["C", [34.3, 85.95, 36.6, 85.2]], ["C", [38.95, 84.4, 41.05, 83]], ["C", [43.15, 81.5, 45.4, 79.35]], ["C", [41.05, 75.35, 37.6, 71.45]], ["C", [34.15, 67.5, 29.3, 61.65]], ["M", [43.7, 37.65]], ["C", [43.7, 34.65, 41.5, 32.6]], ["C", [39.25, 30.55, 35.9, 30.55]], ["C", [32.5, 30.55, 30.25, 32.65]], ["C", [28, 34.75, 28, 37.55]], ["C", [28, 39.05, 28.85, 40.75]], ["C", [29.7, 42.4, 30.95, 44.05]], ["C", [32.25, 45.7, 34.3, 48.25]], ["C", [39.25, 45.1, 41.5, 42.95]], ["C", [43.7, 40.75, 43.7, 37.65]], ["M", [53, 30.15]], ["C", [55.2, 33.85, 55.2, 37.85]], ["C", [55.2, 43.35, 51.55, 47.4]], ["C", [47.95, 51.45, 40.9, 55.65]], ["C", [43.35, 58.5, 45.45, 61.05]], ["C", [47.55, 63.6, 49.5, 65.8]], ["C", [51.45, 68, 53.1, 69.55]], ["C", [53.8, 68.2, 55.35, 64.45]], ["C", [56.9, 60.65, 58.25, 59]], ["C", [59.55, 57.35, 62, 57.35]], ["C", [64.3, 57.35, 66.05, 59]], ["C", [67.8, 60.6, 67.8, 62.95]], ["C", [67.8, 65.1, 66.3, 69.05]], ["C", [64.8, 72.95, 61.9, 77.75]], ["C", [63.7, 79.3, 67.7, 82.5]], ["C", [71.6, 85.65, 72.5, 86.85]], ["C", [73.4, 87.95, 73.4, 89.85]], ["C", [73.4, 92.4, 71.6, 94.15]], ["C", [69.75, 95.85, 67.5, 95.85]], ["C", [65.2, 95.85, 63.05, 94.4]], ["C", [60.9, 92.95, 53.9, 87.25]], ["C", [50.75, 90.2, 47.35, 92.1]], ["C", [43.95, 94, 40.1, 94.95]], ["C", [36.2, 95.85, 31.4, 95.85]], ["C", [25.3, 95.85, 20.45, 94.1]], ["C", [15.6, 92.3, 12.35, 89.3]], ["C", [9.15, 86.25, 7.55, 82.6]], ["C", [6, 78.9, 6, 75.05]], ["C", [6, 71.4, 7.2, 68.4]], ["C", [8.35, 65.3, 10.5, 62.85]], ["C", [12.6, 60.35, 15.7, 58.2]], ["C", [18.8, 55.95, 22.9, 53.85]], ["C", [19.25, 49.25, 17.4, 45.7]], ["C", [15.5, 42.05, 15.5, 38.25]], ["C", [15.5, 33.7, 17.85, 30]], ["C", [20.2, 26.25, 24.8, 24.05]], ["C", [29.4, 21.85, 35.6, 21.85]], ["C", [41.75, 21.85, 46.25, 24.15]], ["C", [50.75, 26.45, 53, 30.15]]];
__motifs["'"] = [["M", [7.1, 48.55]], ["L", [4.5, 35.15]], ["L", [4.5, 23.05]], ["L", [19.5, 23.05]], ["L", [19.5, 35.15]], ["L", [17.2, 48.55]], ["L", [7.1, 48.55]]];
__motifs["("] = [["M", [17.8, 29.85]], ["C", [20.1, 26.05, 21.7, 24.4]], ["C", [23.25, 22.7, 24.65, 22.3]], ["C", [26.05, 21.85, 28.2, 21.85]], ["C", [30.6, 21.85, 30.6, 23.15]], ["C", [30.6, 23.6, 28.35, 28.5]], ["C", [26.1, 33.3, 24.15, 38.65]], ["C", [22.15, 43.95, 20.5, 51.95]], ["C", [18.8, 59.9, 18.8, 68.75]], ["C", [18.8, 77.55, 20.45, 85.4]], ["C", [22.1, 93.3, 24.25, 99.05]], ["C", [26.35, 104.8, 28.5, 109.4]], ["C", [30.6, 113.95, 30.6, 114.35]], ["C", [30.6, 115.65, 28.2, 115.65]], ["C", [26, 115.65, 24.6, 115.2]], ["C", [23.2, 114.7, 21.7, 113]], ["C", [20.15, 111.3, 17.8, 107.55]], ["C", [13.95, 101.1, 11.45, 95.15]], ["C", [8.95, 89.15, 7.6, 82.7]], ["C", [6.3, 76.25, 6.3, 68.75]], ["C", [6.3, 61.4, 7.55, 55]], ["C", [8.85, 48.55, 11.45, 42.35]], ["C", [14, 36.1, 17.8, 29.85]]];
__motifs[")"] = [["M", [6.95, 27.9]], ["C", [4.9, 23.55, 4.9, 23.15]], ["C", [4.9, 21.85, 7.3, 21.85]], ["C", [10.75, 21.85, 12.6, 23.15]], ["C", [14.45, 24.45, 17.7, 29.85]], ["C", [20.55, 34.65, 22.7, 39.3]], ["C", [24.85, 43.9, 26.3, 48.55]], ["C", [27.75, 53.2, 28.45, 58.2]], ["C", [29.2, 63.25, 29.2, 68.75]], ["C", [29.2, 79.5, 26.35, 88.75]], ["C", [23.5, 97.95, 17.7, 107.55]], ["C", [14.4, 112.9, 12.5, 114.3]], ["C", [10.6, 115.65, 7.3, 115.65]], ["C", [4.9, 115.65, 4.9, 114.35]], ["C", [4.9, 113.9, 6.95, 109.65]], ["C", [9, 105.35, 11.25, 99.45]], ["C", [13.45, 93.55, 15.1, 85.55]], ["C", [16.7, 77.55, 16.7, 68.75]], ["C", [16.7, 59.95, 15.05, 51.95]], ["C", [13.4, 43.9, 11.2, 38.05]], ["C", [9, 32.2, 6.95, 27.9]]];
__motifs["*"] = [["M", [42.2, 33.25]], ["C", [42.2, 34.25, 41.6, 35.3]], ["C", [40.95, 36.35, 40.3, 36.65]], ["C", [34, 39.15, 26.4, 40.25]], ["C", [27.8, 41.55, 29.8, 43.6]], ["C", [31.8, 45.7, 31.9, 45.85]], ["C", [32.6, 46.9, 33.95, 48.4]], ["C", [35.25, 49.9, 35.8, 50.8]], ["C", [36.3, 51.65, 36.3, 52.85]], ["C", [36.3, 54.4, 35.1, 55.6]], ["C", [33.95, 56.75, 32.1, 56.75]], ["C", [30.2, 56.75, 27.95, 53.9]], ["C", [25.6, 51, 21.9, 43.55]], ["C", [18.2, 50.25, 16.95, 52.4]], ["C", [15.65, 54.55, 14.5, 55.7]], ["C", [13.35, 56.75, 11.8, 56.75]], ["C", [10, 56.75, 8.85, 55.55]], ["C", [7.6, 54.25, 7.6, 52.85]], ["C", [7.6, 51.55, 8.1, 50.85]], ["C", [12.6, 44.75, 17.5, 40.25]], ["C", [13.4, 39.6, 10.15, 38.85]], ["C", [6.95, 38.05, 3.3, 36.55]], ["C", [2.75, 36.25, 2.2, 35.25]], ["C", [1.6, 34.15, 1.6, 33.25]], ["C", [1.6, 31.55, 2.9, 30.45]], ["C", [4.1, 29.25, 5.7, 29.25]], ["C", [6.9, 29.25, 8.65, 30]], ["C", [10.4, 30.7, 13.15, 32.05]], ["C", [15.8, 33.35, 19.3, 35.05]], ["C", [18.65, 31.95, 18.25, 28]], ["C", [17.8, 24, 17.8, 22.55]], ["C", [17.8, 20.7, 19, 19.45]], ["C", [20.1, 18.15, 21.9, 18.15]], ["C", [23.7, 18.15, 24.85, 19.45]], ["C", [26, 20.7, 26, 22.85]], ["C", [26, 23.45, 25.85, 25.2]], ["C", [25.65, 26.95, 25.35, 29.4]], ["C", [25, 31.85, 24.6, 35.05]], ["C", [27.8, 33.55, 30.65, 32.1]], ["C", [33.55, 30.65, 35.25, 29.95]], ["C", [36.95, 29.25, 38, 29.25]], ["C", [39.7, 29.25, 40.95, 30.45]], ["C", [42.2, 31.55, 42.2, 33.25]]];
__motifs["+"] = [["M", [35.4, 34.25]], ["L", [35.4, 52.95]], ["L", [54.2, 52.95]], ["L", [54.2, 65.75]], ["L", [35.4, 65.75]], ["L", [35.4, 84.35]], ["L", [22.8, 84.35]], ["L", [22.8, 65.75]], ["L", [4.1, 65.75]], ["L", [4.1, 52.95]], ["L", [22.8, 52.95]], ["L", [22.8, 34.25]], ["L", [35.4, 34.25]]];
__motifs[","] = [["M", [10.35, 94]], ["C", [8, 92, 8, 88.45]], ["C", [8, 85.35, 10.3, 83.25]], ["C", [12.6, 81.15, 15.7, 81.15]], ["C", [18.05, 81.15, 19.95, 82.45]], ["C", [21.9, 83.7, 22.95, 86.2]], ["C", [24, 88.65, 24, 92.25]], ["C", [24, 97.1, 21.95, 101.35]], ["C", [19.9, 105.55, 17, 108.05]], ["C", [14, 110.45, 11.6, 110.45]], ["C", [10.1, 110.45, 9.2, 109.5]], ["C", [8.2, 108.45, 8.2, 107.15]], ["C", [8.2, 105.15, 10.2, 103.95]], ["C", [15.9, 100.75, 15.9, 95.95]], ["C", [12.7, 95.95, 10.35, 94]]];
__motifs["-"] = [["M", [29.85, 64.45]], ["C", [31.6, 66.05, 31.6, 68.65]], ["C", [31.6, 71.25, 29.85, 72.9]], ["C", [28.1, 74.55, 24.4, 74.55]], ["L", [9, 74.55]], ["C", [5.45, 74.55, 3.65, 72.9]], ["C", [1.8, 71.25, 1.8, 68.65]], ["C", [1.8, 66.05, 3.6, 64.45]], ["C", [5.35, 62.75, 9, 62.75]], ["L", [24.4, 62.75]], ["C", [28.05, 62.75, 29.85, 64.45]]];
__motifs["."] = [["M", [10.5, 93.9]], ["C", [8.3, 91.95, 8.3, 88.45]], ["C", [8.3, 85.45, 10.4, 83.3]], ["C", [12.5, 81.15, 15.6, 81.15]], ["C", [18.65, 81.15, 20.85, 83.3]], ["C", [23, 85.4, 23, 88.45]], ["C", [23, 91.9, 20.85, 93.9]], ["C", [18.65, 95.85, 15.7, 95.85]], ["C", [12.7, 95.85, 10.5, 93.9]]];
__motifs["/"] = [["M", [17.95, 23.5]], ["C", [18.95, 21.85, 21.8, 21.85]], ["C", [24.2, 21.85, 25.55, 23]], ["C", [26.8, 24.2, 26.8, 26.25]], ["C", [26.8, 27.75, 25.8, 31.75]], ["L", [12.1, 88.05]], ["C", [11.45, 90.85, 10.95, 92.45]], ["C", [10.4, 94.05, 9.4, 95]], ["C", [8.3, 95.85, 6.3, 95.85]], ["C", [1.3, 95.85, 1.3, 91.55]], ["C", [1.3, 90.45, 2.3, 85.95]], ["L", [15.9, 29.65]], ["C", [17, 25.15, 17.95, 23.5]]];
__motifs[":"] = [["M", [10.5, 93.9]], ["C", [8.3, 91.95, 8.3, 88.45]], ["C", [8.3, 85.45, 10.4, 83.3]], ["C", [12.5, 81.15, 15.6, 81.15]], ["C", [18.65, 81.15, 20.85, 83.3]], ["C", [23, 85.4, 23, 88.45]], ["C", [23, 91.9, 20.85, 93.9]], ["C", [18.65, 95.85, 15.7, 95.85]], ["C", [12.7, 95.85, 10.5, 93.9]], ["M", [10.5, 43.6]], ["C", [12.65, 41.65, 15.7, 41.65]], ["C", [18.7, 41.65, 20.85, 43.6]], ["C", [23, 45.55, 23, 48.95]], ["C", [23, 51.7, 20.65, 54]], ["C", [18.3, 56.25, 15.6, 56.25]], ["C", [12.6, 56.25, 10.45, 54.05]], ["C", [8.3, 51.9, 8.3, 48.95]], ["C", [8.3, 45.5, 10.5, 43.6]]];
__motifs[";"] = [["M", [9.4, 94]], ["C", [7.1, 92, 7.1, 88.45]], ["C", [7.1, 85.35, 9.4, 83.25]], ["C", [11.65, 81.15, 14.8, 81.15]], ["C", [17.15, 81.15, 19.05, 82.45]], ["C", [20.95, 83.7, 22, 86.2]], ["C", [23.1, 88.65, 23.1, 92.25]], ["C", [23.1, 97.1, 21.05, 101.35]], ["C", [19, 105.55, 16.05, 108.05]], ["C", [13.1, 110.45, 10.7, 110.45]], ["C", [9.2, 110.45, 8.25, 109.5]], ["C", [7.3, 108.45, 7.3, 107.15]], ["C", [7.3, 105.15, 9.3, 103.95]], ["C", [15, 100.8, 15, 95.95]], ["C", [11.75, 95.95, 9.4, 94]], ["M", [10.5, 43.6]], ["C", [12.65, 41.65, 15.7, 41.65]], ["C", [18.7, 41.65, 20.85, 43.6]], ["C", [23, 45.55, 23, 48.95]], ["C", [23, 51.75, 20.75, 54.05]], ["C", [18.45, 56.25, 15.7, 56.25]], ["C", [13.65, 56.25, 12, 55.3]], ["C", [10.3, 54.3, 9.35, 52.7]], ["C", [8.3, 51.05, 8.3, 48.95]], ["C", [8.3, 45.5, 10.5, 43.6]]];
__motifs["<"] = [["M", [53.7, 45.95]], ["L", [19.5, 59.15]], ["L", [53.7, 72.65]], ["L", [53.7, 86.45]], ["L", [4.6, 65.15]], ["L", [4.6, 53.35]], ["L", [53.7, 32.05]], ["L", [53.7, 45.95]]];
__motifs["="] = [["M", [4.1, 54.85]], ["L", [4.1, 42.05]], ["L", [54.2, 42.05]], ["L", [54.2, 54.85]], ["L", [4.1, 54.85]], ["M", [4.1, 63.75]], ["L", [54.2, 63.75]], ["L", [54.2, 76.55]], ["L", [4.1, 76.55]], ["L", [4.1, 63.75]]];
__motifs[">"] = [["M", [4.6, 32.25]], ["L", [53.7, 53.45]], ["L", [53.7, 65.15]], ["L", [4.6, 86.55]], ["L", [4.6, 72.75]], ["L", [38.9, 59.25]], ["L", [4.6, 45.95]], ["L", [4.6, 32.25]]];
__motifs["?"] = [["M", [28.2, 81.15]], ["C", [31.3, 81.15, 33.4, 83.25]], ["C", [35.5, 85.35, 35.5, 88.45]], ["C", [35.5, 91.85, 33.3, 93.8]], ["C", [31.1, 95.75, 28.2, 95.75]], ["C", [25.25, 95.75, 23.05, 93.85]], ["C", [20.8, 91.9, 20.8, 88.45]], ["C", [20.8, 85.35, 22.95, 83.25]], ["C", [25.1, 81.15, 28.2, 81.15]], ["M", [50.3, 31.55]], ["C", [53.2, 36.05, 53.2, 41.35]], ["C", [53.2, 45.5, 51.55, 48.6]], ["C", [49.85, 51.75, 47.55, 54.05]], ["C", [45.2, 56.25, 39.2, 61.65]], ["C", [37.55, 63.15, 36.55, 64.35]], ["C", [35.55, 65.45, 35.05, 66.45]], ["C", [34.55, 67.35, 34.35, 68.35]], ["C", [34.05, 69.25, 33.5, 71.65]], ["C", [32.55, 76.75, 27.7, 76.75]], ["C", [25.15, 76.75, 23.45, 75.05]], ["C", [21.7, 73.4, 21.7, 70.15]], ["C", [21.7, 66.05, 22.95, 63.05]], ["C", [24.2, 60.05, 26.3, 57.8]], ["C", [28.4, 55.5, 32, 52.35]], ["C", [35.1, 49.65, 36.5, 48.25]], ["C", [37.9, 46.85, 38.85, 45.15]], ["C", [39.8, 43.45, 39.8, 41.45]], ["C", [39.8, 37.5, 36.9, 34.85]], ["C", [34, 32.15, 29.4, 32.15]], ["C", [24, 32.15, 21.5, 34.9]], ["C", [18.95, 37.55, 17.2, 42.85]], ["C", [15.55, 48.35, 10.9, 48.35]], ["C", [8.15, 48.35, 6.3, 46.45]], ["C", [4.4, 44.5, 4.4, 42.25]], ["C", [4.4, 37.6, 7.35, 32.9]], ["C", [10.35, 28.1, 16.05, 24.95]], ["C", [21.8, 21.85, 29.4, 21.85]], ["C", [36.45, 21.85, 41.9, 24.5]], ["C", [47.3, 27.05, 50.3, 31.55]]];
__motifs["@"] = [["M", [34, 73.65]], ["C", [34, 79.5, 36.45, 82.65]], ["C", [38.85, 85.75, 42.8, 85.75]], ["C", [47.4, 85.75, 50.95, 82.1]], ["C", [54.4, 78.45, 56.2, 72.85]], ["C", [58, 67.25, 58, 62.05]], ["C", [58, 59.45, 57.4, 57.4]], ["C", [56.8, 55.3, 55.6, 53.75]], ["C", [54.4, 52.15, 52.75, 51.4]], ["C", [51.05, 50.55, 48.9, 50.55]], ["C", [44.6, 50.55, 41.15, 53.95]], ["C", [37.7, 57.25, 35.85, 62.6]], ["C", [34, 67.95, 34, 73.65]], ["M", [91.7, 44.4]], ["C", [94.6, 51.35, 94.6, 59.75]], ["C", [94.6, 66.3, 92.25, 72.6]], ["C", [89.9, 78.85, 85.55, 83.85]], ["C", [81.15, 88.85, 75.25, 91.75]], ["C", [69.35, 94.65, 62.5, 94.65]], ["C", [58.55, 94.65, 56.35, 93.35]], ["C", [54.15, 91.95, 53.4, 89.05]], ["C", [49.15, 93.25, 43.65, 94.35]], ["C", [38.15, 95.45, 32.95, 93.35]], ["C", [27.8, 91.2, 24.6, 86.15]], ["C", [21.4, 81.1, 21.4, 73.75]], ["C", [21.4, 66.1, 24.7, 58.65]], ["C", [28, 51.25, 34.1, 46.5]], ["C", [40.15, 41.75, 47.8, 41.75]], ["C", [56.6, 41.75, 60.7, 48.35]], ["L", [61.9, 42.95]], ["L", [74.8, 42.95]], ["L", [67.4, 77.95]], ["C", [66.7, 81.25, 66.7, 82.35]], ["C", [66.7, 83.45, 67.3, 84.1]], ["C", [67.8, 84.75, 68.6, 84.75]], ["C", [71.25, 84.75, 75.45, 81.3]], ["C", [79.6, 77.85, 82.7, 71.95]], ["C", [85.8, 66, 85.8, 58.95]], ["C", [85.8, 53.1, 83.6, 47.9]], ["C", [81.35, 42.75, 77.15, 38.95]], ["C", [72.95, 35.15, 66.8, 33]], ["C", [60.6, 30.85, 52.8, 30.85]], ["C", [44.8, 30.85, 38.2, 32.95]], ["C", [31.55, 35, 26.5, 38.9]], ["C", [21.5, 42.75, 18.1, 48.45]], ["C", [15.15, 53.45, 13.55, 59.5]], ["C", [12, 65.55, 12, 71.85]], ["C", [12, 80.25, 15.4, 87.25]], ["C", [18.7, 94.15, 25.1, 98.9]], ["C", [31.45, 103.6, 40.5, 105.6]], ["C", [49.5, 107.55, 60.9, 106.35]], ["C", [69.9, 105.3, 76.2, 102.25]], ["C", [82.45, 99.25, 86.8, 93.75]], ["L", [97.2, 93.75]], ["C", [94.7, 99, 90.65, 103.1]], ["C", [86.5, 107.2, 81.05, 110.05]], ["C", [75.6, 112.8, 68.8, 114.3]], ["C", [62, 115.75, 54, 115.75]], ["C", [42, 115.75, 32.35, 112.6]], ["C", [22.75, 109.45, 16.2, 103.55]], ["C", [9.6, 97.6, 6.25, 89.4]], ["C", [2.9, 81.1, 2.9, 71.15]], ["C", [2.9, 60.75, 6.35, 51.75]], ["C", [9.8, 42.7, 16.35, 36.05]], ["C", [22.85, 29.35, 32.3, 25.6]], ["C", [41.65, 21.85, 53, 21.85]], ["C", [62.25, 21.85, 70, 24.6]], ["C", [77.75, 27.25, 83.25, 32.35]], ["C", [88.75, 37.4, 91.7, 44.4]]];
__motifs["["] = [["M", [19.8, 32.25]], ["L", [19.8, 103.05]], ["L", [28, 103.05]], ["C", [34.3, 103.05, 34.3, 108.25]], ["C", [34.3, 113.45, 28, 113.45]], ["L", [15.8, 113.45]], ["C", [12.85, 113.45, 10.95, 112.45]], ["C", [9, 111.5, 8.1, 109.55]], ["C", [7.2, 107.55, 7.2, 104.55]], ["L", [7.2, 30.75]], ["C", [7.2, 26.15, 9.25, 24]], ["C", [11.3, 21.85, 15.8, 21.85]], ["L", [28, 21.85]], ["C", [31.15, 21.85, 32.7, 23.25]], ["C", [34.3, 24.7, 34.3, 27.05]], ["C", [34.3, 32.25, 28, 32.25]], ["L", [19.8, 32.25]]];
__motifs["\\"] = [["M", [1.3, 26.25]], ["C", [1.3, 24.2, 2.65, 23]], ["C", [3.9, 21.85, 6.3, 21.85]], ["C", [9.2, 21.85, 10.1, 23.5]], ["C", [11.05, 25.15, 12.1, 29.65]], ["L", [25.8, 85.95]], ["C", [26.8, 89.95, 26.8, 91.55]], ["C", [26.8, 95.85, 21.8, 95.85]], ["C", [19.75, 95.85, 18.7, 95]], ["C", [17.65, 94.05, 17.2, 92.8]], ["C", [16.75, 91.5, 15.9, 88.05]], ["L", [2.3, 31.75]], ["C", [1.3, 27.55, 1.3, 26.25]]];
__motifs["]"] = [["M", [7.5, 32.25]], ["C", [4.4, 32.25, 2.8, 30.85]], ["C", [1.1, 29.35, 1.1, 27.05]], ["C", [1.1, 24.75, 2.8, 23.3]], ["C", [4.4, 21.85, 7.5, 21.85]], ["L", [19.6, 21.85]], ["C", [24.05, 21.85, 26.15, 24]], ["C", [28.2, 26.15, 28.2, 30.75]], ["L", [28.2, 104.55]], ["C", [28.2, 109.1, 26.15, 111.3]], ["C", [24.1, 113.45, 19.6, 113.45]], ["L", [7.5, 113.45]], ["C", [4.4, 113.45, 2.8, 112.05]], ["C", [1.1, 110.55, 1.1, 108.25]], ["C", [1.1, 105.95, 2.8, 104.5]], ["C", [4.4, 103.05, 7.5, 103.05]], ["L", [15.6, 103.05]], ["L", [15.6, 32.25]], ["L", [7.5, 32.25]]];
__motifs["^"] = [["M", [34.8, 21.85]], ["L", [52.7, 60.85]], ["L", [38.9, 60.85]], ["L", [29.2, 36.95]], ["L", [19.6, 60.85]], ["L", [5.6, 60.85]], ["L", [24, 21.85]], ["L", [34.8, 21.85]]];
__motifs["_"] = [["M", [50.6, 107.15]], ["L", [-0.6, 107.15]], ["L", [-0.6, 102.15]], ["L", [50.6, 102.15]], ["L", [50.6, 107.15]]];
__motifs["`"] = [["M", [6.5, 22.55]], ["L", [13.1, 22.55]], ["C", [15.95, 22.55, 17.45, 23.55]], ["C", [18.9, 24.6, 20.7, 28.05]], ["L", [22.9, 32.15]], ["C", [24.2, 34.25, 24.2, 35.05]], ["C", [24.2, 36.25, 22.1, 36.25]], ["C", [18.9, 36.25, 16.1, 34.85]], ["C", [14.75, 34.15, 9.4, 29.05]], ["C", [4, 23.9, 4, 23.25]], ["C", [4, 22.55, 6.5, 22.55]]];
}
public static function initialize():void{
initializeMotifsUppercase();
initializeMotifsLowercase();
initializeMotifsNumbers();
initializeMotifsPunctuation();
initializeWidthsUppercase();
initializeWidthsLowercase();
initializeWidthsNumbers();
initializeWidthsPunctuation();
__initialized = true;
}
private static function initializeWidthsUppercase():void{
__widths["A"] = 72;
__widths["B"] = 72;
__widths["C"] = 74;
__widths["D"] = 74;
__widths["E"] = 67;
__widths["F"] = 60;
__widths["G"] = 79;
__widths["H"] = 76;
__widths["I"] = 31;
__widths["J"] = 57;
__widths["K"] = 74;
__widths["L"] = 60;
__widths["M"] = 83;
__widths["N"] = 76;
__widths["O"] = 79;
__widths["P"] = 67;
__widths["Q"] = 79;
__widths["R"] = 72;
__widths["S"] = 67;
__widths["T"] = 63;
__widths["U"] = 76;
__widths["V"] = 69;
__widths["W"] = 94;
__widths["X"] = 60;
__widths["Y"] = 63;
__widths["Z"] = 65;
}
private static function initializeMotifsNumbers():void{
__motifs["0"] = [["M", [36.6, 35.35]], ["C", [34.1, 32.45, 29.6, 32.45]], ["C", [23.15, 32.45, 20.65, 38.95]], ["C", [18.1, 45.45, 18.1, 58.95]], ["C", [18.1, 68.15, 19.2, 74]], ["C", [20.25, 79.85, 22.8, 82.9]], ["C", [25.35, 85.85, 29.7, 85.85]], ["C", [34.2, 85.85, 36.7, 82.75]], ["C", [39.25, 79.6, 40.3, 73.8]], ["C", [41.3, 68, 41.3, 58.55]], ["C", [41.3, 49.65, 40.25, 43.95]], ["C", [39.15, 38.25, 36.6, 35.35]], ["M", [51, 36.75]], ["C", [54.7, 44.8, 54.7, 59.55]], ["C", [54.7, 67.55, 53.7, 73.3]], ["C", [52.75, 79.05, 50.1, 83.75]], ["C", [46.8, 89.5, 41.5, 92.65]], ["C", [36.25, 95.75, 29.8, 95.75]], ["C", [22.35, 95.75, 16.5, 91.55]], ["C", [10.6, 87.35, 7.6, 79.95]], ["C", [6.1, 75.9, 5.4, 71]], ["C", [4.7, 66.1, 4.7, 60.35]], ["C", [4.7, 53, 5.45, 47.1]], ["C", [6.25, 41.2, 7.9, 36.95]], ["C", [10.8, 29.9, 16.3, 26.25]], ["C", [21.8, 22.55, 29.4, 22.55]], ["C", [34.4, 22.55, 38.55, 24.2]], ["C", [42.65, 25.8, 45.75, 29]], ["C", [48.85, 32.1, 51, 36.75]]];
__motifs["1"] = [["M", [7.85, 43.95]], ["C", [9.4, 42.8, 13.4, 40.95]], ["C", [19.3, 38.15, 22.85, 35.1]], ["C", [26.35, 32, 29.1, 28.2]], ["C", [31.85, 24.4, 32.65, 23.5]], ["C", [33.5, 22.65, 35.8, 22.65]], ["C", [38.4, 22.65, 39.95, 24.65]], ["C", [41.5, 26.65, 41.5, 30.15]], ["L", [41.5, 86.05]], ["C", [41.5, 95.85, 34.8, 95.85]], ["C", [31.85, 95.85, 30.05, 93.85]], ["C", [28.2, 91.85, 28.2, 87.95]], ["L", [28.2, 43.55]], ["C", [15.8, 53.05, 11.5, 53.05]], ["C", [9.45, 53.05, 7.9, 51.45]], ["C", [6.3, 49.8, 6.3, 47.65]], ["C", [6.3, 45.15, 7.85, 43.95]]];
__motifs["2"] = [["M", [48.95, 29.25]], ["C", [51.5, 32, 53, 35.6]], ["C", [54.4, 39.2, 54.4, 43.05]], ["C", [54.4, 49.1, 51.4, 54.05]], ["C", [48.4, 59, 45.25, 61.85]], ["C", [42.15, 64.6, 34.8, 70.65]], ["C", [27.45, 76.65, 24.7, 79.95]], ["C", [23.55, 81.25, 22.3, 83.15]], ["L", [47.8, 83.15]], ["C", [51.6, 83.15, 53.6, 84.7]], ["C", [55.6, 86.25, 55.6, 88.95]], ["C", [55.6, 91.35, 54.05, 93]], ["C", [52.45, 94.65, 49.2, 94.65]], ["L", [13.3, 94.65]], ["C", [9.6, 94.65, 7.55, 92.65]], ["C", [5.5, 90.6, 5.5, 87.85]], ["C", [5.5, 86.1, 6.85, 83.2]], ["C", [8.15, 80.3, 9.7, 78.65]], ["C", [16.2, 71.9, 21.45, 67.1]], ["C", [26.65, 62.3, 28.9, 60.75]], ["C", [32.9, 57.95, 35.6, 55.1]], ["C", [38.25, 52.2, 39.65, 49.25]], ["C", [41, 46.2, 41, 43.35]], ["C", [41, 40.2, 39.55, 37.75]], ["C", [38.05, 35.3, 35.5, 33.9]], ["C", [32.9, 32.55, 29.9, 32.55]], ["C", [23.5, 32.55, 19.8, 38.15]], ["C", [19.35, 38.9, 18.2, 42.15]], ["C", [17.05, 45.45, 15.65, 47.2]], ["C", [14.15, 48.95, 11.4, 48.95]], ["C", [8.95, 48.95, 7.3, 47.35]], ["C", [5.7, 45.7, 5.7, 42.95]], ["C", [5.7, 39.55, 7.25, 35.9]], ["C", [8.75, 32.25, 11.75, 29.25]], ["C", [14.75, 26.3, 19.4, 24.5]], ["C", [23.95, 22.65, 30.2, 22.65]], ["C", [37.65, 22.65, 42.9, 24.95]], ["C", [46.35, 26.55, 48.95, 29.25]]];
__motifs["3"] = [["M", [49.95, 33.4]], ["C", [51.4, 36.65, 51.4, 40.35]], ["C", [51.4, 45.25, 49.3, 48.75]], ["C", [47.15, 52.2, 43.2, 55.55]], ["C", [47, 57.6, 49.65, 60.25]], ["C", [52.25, 62.85, 53.55, 66.1]], ["C", [54.9, 69.25, 54.9, 72.95]], ["C", [54.9, 77.4, 53.15, 81.55]], ["C", [51.3, 85.7, 47.85, 89]], ["C", [44.4, 92.2, 39.65, 94.05]], ["C", [34.85, 95.85, 29.1, 95.85]], ["C", [23.25, 95.85, 18.6, 93.75]], ["C", [13.95, 91.65, 11, 88.55]], ["C", [7.95, 85.35, 6.45, 82]], ["C", [4.9, 78.65, 4.9, 76.45]], ["C", [4.9, 73.6, 6.75, 71.9]], ["C", [8.55, 70.15, 11.3, 70.15]], ["C", [12.65, 70.15, 13.9, 70.95]], ["C", [15.2, 71.75, 15.6, 72.85]], ["C", [18.1, 79.65, 21.05, 83]], ["C", [23.95, 86.25, 29.2, 86.25]], ["C", [32.25, 86.25, 35.05, 84.8]], ["C", [37.85, 83.25, 39.7, 80.35]], ["C", [41.5, 77.4, 41.5, 73.55]], ["C", [41.5, 67.85, 38.4, 64.6]], ["C", [35.25, 61.35, 29.7, 61.35]], ["C", [28.7, 61.35, 26.65, 61.55]], ["C", [24.6, 61.75, 24, 61.75]], ["C", [21.35, 61.75, 19.85, 60.4]], ["C", [18.4, 59.05, 18.4, 56.65]], ["C", [18.4, 54.3, 20.15, 52.9]], ["C", [21.9, 51.45, 25.4, 51.45]], ["L", [27.4, 51.45]], ["C", [31.9, 51.45, 35.15, 48.8]], ["C", [38.4, 46.15, 38.4, 41.25]], ["C", [38.4, 37.45, 35.8, 34.8]], ["C", [33.2, 32.05, 28.8, 32.05]], ["C", [25.85, 32.05, 23.95, 32.9]], ["C", [21.95, 33.7, 20.85, 35.1]], ["C", [19.75, 36.45, 18.75, 38.6]], ["C", [17.7, 40.75, 16.9, 42.65]], ["C", [16.4, 43.65, 15.15, 44.25]], ["C", [13.85, 44.85, 12.2, 44.85]], ["C", [10.25, 44.85, 8.65, 43.3]], ["C", [7, 41.65, 7, 39.05]], ["C", [7, 36.5, 8.55, 33.7]], ["C", [10.05, 30.9, 13.05, 28.35]], ["C", [15.95, 25.8, 20.35, 24.3]], ["C", [24.75, 22.75, 30.2, 22.75]], ["C", [34.9, 22.75, 38.8, 24.05]], ["C", [42.7, 25.3, 45.6, 27.75]], ["C", [48.5, 30.2, 49.95, 33.4]]];
__motifs["4"] = [["M", [35, 68.45]], ["L", [35, 40.05]], ["L", [14, 68.45]], ["L", [35, 68.45]], ["M", [35.9, 23.7]], ["C", [37.5, 22.15, 39.8, 22.15]], ["C", [47.2, 22.15, 47.2, 30.65]], ["L", [47.2, 68.45]], ["L", [49.3, 68.45]], ["C", [53.1, 68.45, 55.35, 69.45]], ["C", [57.6, 70.5, 57.6, 73.95]], ["C", [57.6, 76.8, 55.75, 78.1]], ["C", [53.9, 79.35, 50.2, 79.35]], ["L", [47.2, 79.35]], ["L", [47.2, 88.45]], ["C", [47.2, 92.2, 45.55, 94.05]], ["C", [43.9, 95.85, 41.1, 95.85]], ["C", [38.4, 95.85, 36.7, 94]], ["C", [35, 92.1, 35, 88.45]], ["L", [35, 79.35]], ["L", [10.5, 79.35]], ["C", [5.85, 79.35, 3.55, 77.25]], ["C", [1.2, 75.15, 1.2, 71.55]], ["C", [1.2, 70.65, 1.55, 69.7]], ["C", [1.9, 68.7, 2.6, 67.7]], ["C", [3.25, 66.6, 4, 65.65]], ["C", [4.75, 64.65, 5.8, 63.25]], ["L", [31.7, 28.65]], ["C", [34.25, 25.2, 35.9, 23.7]]];
__motifs["5"] = [["M", [53.6, 29.45]], ["C", [53.6, 32, 51.75, 33.55]], ["C", [49.9, 35.15, 46.3, 35.15]], ["L", [23.1, 35.15]], ["L", [20.3, 50.95]], ["C", [27.25, 47.25, 33.1, 47.25]], ["C", [37.8, 47.25, 41.9, 49]], ["C", [45.95, 50.75, 49, 53.9]], ["C", [52.1, 56.95, 53.85, 61.2]], ["C", [55.6, 65.45, 55.6, 70.35]], ["C", [55.6, 77.4, 52.45, 83.2]], ["C", [49.25, 89.05, 43.3, 92.45]], ["C", [37.3, 95.85, 29.5, 95.85]], ["C", [20.75, 95.85, 15.35, 92.65]], ["C", [9.85, 89.45, 7.6, 85.3]], ["C", [5.3, 81.1, 5.3, 77.95]], ["C", [5.3, 76.05, 6.95, 74.35]], ["C", [8.5, 72.65, 10.9, 72.65]], ["C", [15, 72.65, 17, 77.35]], ["C", [18.95, 81.7, 22.25, 84.15]], ["C", [25.6, 86.55, 29.7, 86.55]], ["C", [33.45, 86.55, 36.3, 84.6]], ["C", [39.1, 82.65, 40.65, 79.2]], ["C", [42.2, 75.8, 42.2, 71.45]], ["C", [42.2, 66.75, 40.55, 63.45]], ["C", [38.85, 60.15, 36.1, 58.5]], ["C", [33.3, 56.85, 29.9, 56.85]], ["C", [25.7, 56.85, 23.9, 57.9]], ["C", [22.05, 58.9, 18.7, 61.5]], ["C", [15.3, 64.05, 13.1, 64.05]], ["C", [10.7, 64.05, 8.85, 62.35]], ["C", [7, 60.55, 7, 58.35]], ["C", [7, 58.15, 7.5, 55.05]], ["L", [11.6, 31.65]], ["C", [12.3, 27.45, 14.15, 25.55]], ["C", [16, 23.65, 20.2, 23.65]], ["L", [46, 23.65]], ["C", [53.6, 23.65, 53.6, 29.45]]];
__motifs["6"] = [["M", [31.2, 57.45]], ["C", [28.15, 57.45, 25.45, 59.05]], ["C", [22.65, 60.65, 21, 63.75]], ["C", [19.3, 66.75, 19.3, 70.85]], ["C", [19.3, 77.45, 22.7, 81.85]], ["C", [26.1, 86.25, 31.3, 86.25]], ["C", [36.25, 86.25, 39.45, 82.25]], ["C", [42.7, 78.2, 42.7, 71.65]], ["C", [42.7, 67.2, 41.15, 64.05]], ["C", [39.65, 60.8, 37, 59.15]], ["C", [34.4, 57.45, 31.2, 57.45]], ["M", [50.4, 31.1]], ["C", [52.8, 34.75, 52.8, 38.05]], ["C", [52.8, 40.05, 51.25, 41.7]], ["C", [49.75, 43.35, 47.4, 43.35]], ["C", [45.35, 43.35, 43.6, 42.05]], ["C", [41.85, 40.75, 41, 38.45]], ["C", [39.9, 35.5, 37.45, 33.75]], ["C", [35, 31.95, 31.8, 31.95]], ["C", [29.2, 31.95, 26.65, 33.45]], ["C", [24.05, 34.95, 22.3, 37.45]], ["C", [18.75, 42.65, 18.1, 55.95]], ["C", [21.45, 51.95, 25.35, 50.05]], ["C", [29.25, 48.15, 34.1, 48.15]], ["C", [38.7, 48.15, 42.7, 49.9]], ["C", [46.6, 51.65, 49.55, 54.85]], ["C", [52.5, 58.05, 54.1, 62.35]], ["C", [55.7, 66.7, 55.7, 71.45]], ["C", [55.7, 78.35, 52.6, 83.95]], ["C", [49.4, 89.55, 43.8, 92.75]], ["C", [38.15, 95.85, 31, 95.85]], ["C", [22.8, 95.85, 16.85, 91.85]], ["C", [10.9, 87.85, 7.75, 80.05]], ["C", [4.6, 72.2, 4.6, 60.85]], ["C", [4.6, 51.65, 6.5, 44.35]], ["C", [8.4, 37.1, 11.95, 32.3]], ["C", [15.55, 27.5, 20.6, 25.05]], ["C", [25.7, 22.65, 32.2, 22.65]], ["C", [38.45, 22.65, 43.2, 25.05]], ["C", [47.95, 27.5, 50.4, 31.1]]];
__motifs["7"] = [["M", [54.9, 25.2]], ["C", [57, 26.7, 57, 30.05]], ["C", [57, 32.1, 54.55, 35.45]], ["C", [52.05, 38.85, 48.95, 42.95]], ["C", [45.75, 47, 42.45, 53.05]], ["C", [39.05, 59.1, 36.3, 67.85]], ["C", [35.1, 71.7, 34.6, 74.25]], ["C", [34.15, 76.8, 33.55, 80.85]], ["C", [32.95, 84.9, 32.5, 87.05]], ["C", [31.5, 92, 29.65, 93.95]], ["C", [27.75, 95.85, 24.6, 95.85]], ["C", [21.65, 95.85, 19.8, 93.8]], ["C", [18, 91.7, 18, 87.65]], ["C", [18, 84.55, 19.35, 79.15]], ["C", [20.65, 73.8, 23.65, 66.35]], ["C", [26.6, 58.8, 31.1, 50.95]], ["C", [35.55, 43.05, 41.7, 35.25]], ["L", [15.6, 35.25]], ["C", [11.45, 35.25, 9.45, 33.75]], ["C", [7.4, 32.25, 7.4, 29.05]], ["C", [7.4, 25.7, 9.55, 24.75]], ["C", [11.7, 23.75, 15.6, 23.75]], ["L", [48.1, 23.75]], ["C", [52.8, 23.75, 54.9, 25.2]]];
__motifs["8"] = [["M", [35.75, 62.55]], ["C", [32.9, 61.05, 29.4, 61.05]], ["C", [24.4, 61.05, 21.05, 64.4]], ["C", [17.7, 67.7, 17.7, 73.65]], ["C", [17.7, 77.45, 19.3, 80.4]], ["C", [20.85, 83.25, 23.6, 84.9]], ["C", [26.3, 86.45, 29.7, 86.45]], ["C", [33.1, 86.45, 35.85, 84.85]], ["C", [38.55, 83.2, 40.15, 80.3]], ["C", [41.7, 77.35, 41.7, 73.55]], ["C", [41.7, 69.75, 40.15, 66.9]], ["C", [38.55, 64.1, 35.75, 62.55]], ["M", [29.5, 31.85]], ["C", [24.9, 31.85, 22.1, 34.75]], ["C", [19.3, 37.55, 19.3, 42.05]], ["C", [19.3, 46.2, 22.15, 49]], ["C", [25.05, 51.75, 29.6, 51.75]], ["C", [31.9, 51.75, 33.8, 51]], ["C", [35.65, 50.25, 37, 49]], ["C", [38.35, 47.7, 39.05, 45.9]], ["C", [39.8, 44.1, 39.8, 41.95]], ["C", [39.8, 39.1, 38.55, 36.8]], ["C", [37.2, 34.5, 34.85, 33.2]], ["C", [32.5, 31.85, 29.5, 31.85]], ["M", [51.05, 34.25]], ["C", [52.5, 37.55, 52.5, 41.35]], ["C", [52.5, 46.1, 50.05, 49.85]], ["C", [47.55, 53.65, 42.7, 56.05]], ["C", [46.85, 57.65, 49.55, 60.3]], ["C", [52.3, 62.85, 53.7, 66.35]], ["C", [55.1, 69.75, 55.1, 73.95]], ["C", [55.1, 80.1, 52.1, 85.15]], ["C", [49.1, 90.1, 43.35, 92.95]], ["C", [37.6, 95.75, 29.8, 95.75]], ["C", [21.7, 95.75, 15.9, 92.95]], ["C", [10.15, 90.1, 7.25, 85.2]], ["C", [4.3, 80.2, 4.3, 74.05]], ["C", [4.3, 60.9, 16.7, 56.05]], ["C", [6.7, 51.35, 6.7, 41.25]], ["C", [6.7, 36.35, 9.4, 32.05]], ["C", [12, 27.7, 17.2, 25.1]], ["C", [22.3, 22.55, 29.2, 22.55]], ["C", [35, 22.55, 39.4, 24.05]], ["C", [43.8, 25.55, 46.75, 28.25]], ["C", [49.65, 30.9, 51.05, 34.25]]];
__motifs["9"] = [["M", [16.2, 46.75]], ["C", [16.2, 53.25, 19.45, 57.1]], ["C", [22.65, 60.95, 27.6, 60.95]], ["C", [30.6, 60.95, 33.4, 59.4]], ["C", [36.15, 57.8, 37.9, 54.75]], ["C", [39.6, 51.75, 39.6, 47.65]], ["C", [39.6, 44.3, 38.7, 41.55]], ["C", [37.8, 38.7, 36.2, 36.65]], ["C", [34.5, 34.6, 32.3, 33.4]], ["C", [30, 32.25, 27.3, 32.25]], ["C", [22.65, 32.25, 19.45, 36.25]], ["C", [16.2, 40.2, 16.2, 46.75]], ["M", [52.5, 42.6]], ["C", [54.3, 49.25, 54.3, 57.65]], ["C", [54.3, 67, 52.4, 74.2]], ["C", [50.5, 81.3, 46.9, 86.2]], ["C", [43.2, 91.05, 38.15, 93.45]], ["C", [33.05, 95.75, 26.6, 95.75]], ["C", [20.25, 95.75, 15.6, 93.4]], ["C", [10.9, 90.95, 8.45, 87.35]], ["C", [6, 83.75, 6, 80.45]], ["C", [6, 78.4, 7.5, 76.8]], ["C", [9.05, 75.15, 11.4, 75.15]], ["C", [13.55, 75.15, 15.25, 76.4]], ["C", [16.95, 77.55, 17.8, 79.95]], ["C", [18.9, 82.9, 21.4, 84.7]], ["C", [23.9, 86.45, 27, 86.45]], ["C", [29.8, 86.45, 32.3, 85.05]], ["C", [34.75, 83.6, 36.5, 81.05]], ["C", [40.05, 75.8, 40.7, 62.55]], ["C", [37.5, 66.4, 33.55, 68.35]], ["C", [29.55, 70.25, 24.7, 70.25]], ["C", [20.1, 70.25, 16.15, 68.5]], ["C", [12.15, 66.65, 9.3, 63.5]], ["C", [6.35, 60.3, 4.8, 56.05]], ["C", [3.2, 51.75, 3.2, 47.05]], ["C", [3.2, 42, 5, 37.5]], ["C", [6.75, 33, 10, 29.65]], ["C", [13.3, 26.35, 17.8, 24.5]], ["C", [22.3, 22.65, 27.8, 22.65]], ["C", [34.1, 22.65, 39, 24.9]], ["C", [43.95, 27.2, 47.3, 31.6]], ["C", [50.7, 35.95, 52.5, 42.6]]];
}
private static function initializeWidthsLowercase():void{
__widths["a"] = 59;
__widths["b"] = 63;
__widths["c"] = 59;
__widths["d"] = 63;
__widths["e"] = 59;
__widths["f"] = 33;
__widths["g"] = 63;
__widths["h"] = 60;
__widths["i"] = 27;
__widths["j"] = 27;
__widths["k"] = 57;
__widths["l"] = 27;
__widths["m"] = 88;
__widths["n"] = 60;
__widths["o"] = 60;
__widths["p"] = 63;
__widths["q"] = 63;
__widths["r"] = 44;
__widths["s"] = 54;
__widths["t"] = 35;
__widths["u"] = 60;
__widths["v"] = 54;
__widths["w"] = 81;
__widths["x"] = 52;
__widths["y"] = 54;
__widths["z"] = 52;
}
private static function initializeWidthsNumbers():void{
__widths["0"] = 59;
__widths["1"] = 59;
__widths["2"] = 59;
__widths["3"] = 59;
__widths["4"] = 59;
__widths["5"] = 59;
__widths["6"] = 59;
__widths["7"] = 59;
__widths["8"] = 59;
__widths["9"] = 59;
}
private static function initializeMotifsLowercase():void{
__motifs["a"] = [["M", [39.7, 69.05]], ["C", [36.75, 70.15, 31.2, 71.35]], ["C", [25.6, 72.55, 23.45, 73.1]], ["C", [21.3, 73.65, 19.35, 75.3]], ["C", [17.4, 76.95, 17.4, 79.85]], ["C", [17.4, 82.9, 19.7, 85.05]], ["C", [21.95, 87.15, 25.7, 87.15]], ["C", [29.65, 87.15, 33, 85.4]], ["C", [36.35, 83.65, 37.9, 80.95]], ["C", [39.7, 77.9, 39.7, 70.95]], ["L", [39.7, 69.05]], ["M", [16.65, 43.7]], ["C", [21.9, 41.55, 29.8, 41.55]], ["C", [38.55, 41.55, 43.6, 43.65]], ["C", [48.65, 45.7, 50.75, 50.2]], ["C", [52.8, 54.7, 52.8, 62.15]], ["C", [52.8, 66.8, 52.8, 70.1]], ["C", [52.75, 73.35, 52.7, 77.35]], ["C", [52.7, 81.1, 53.95, 85.25]], ["C", [55.2, 89.3, 55.2, 90.45]], ["C", [55.2, 92.5, 53.25, 94.2]], ["C", [51.3, 95.85, 48.9, 95.85]], ["C", [46.85, 95.85, 44.8, 93.95]], ["C", [42.8, 92, 40.6, 88.35]], ["C", [35.75, 92.1, 31.25, 94]], ["C", [26.7, 95.85, 21.1, 95.85]], ["C", [15.95, 95.85, 12.1, 93.85]], ["C", [8.2, 91.8, 6.1, 88.35]], ["C", [4, 84.9, 4, 80.85]], ["C", [4, 75.35, 7.45, 71.5]], ["C", [10.95, 67.65, 17, 66.35]], ["C", [18.25, 66.05, 23.3, 65]], ["C", [28.3, 64, 31.95, 63.15]], ["C", [35.5, 62.3, 39.7, 61.05]], ["C", [39.45, 55.8, 37.6, 53.35]], ["C", [35.7, 50.85, 29.8, 50.85]], ["C", [24.7, 50.85, 22.15, 52.25]], ["C", [19.6, 53.7, 17.75, 56.5]], ["C", [15.9, 59.35, 15.2, 60.3]], ["C", [14.4, 61.15, 11.9, 61.15]], ["C", [9.65, 61.15, 8.05, 59.75]], ["C", [6.4, 58.25, 6.4, 56.05]], ["C", [6.4, 52.5, 8.9, 49.2]], ["C", [11.4, 45.85, 16.65, 43.7]]];
__motifs["b"] = [["M", [21.55, 59.75]], ["C", [19.8, 63.65, 19.8, 69.05]], ["C", [19.8, 77, 23.5, 81.3]], ["C", [27.1, 85.55, 33, 85.55]], ["C", [38.05, 85.55, 41.7, 81.2]], ["C", [45.3, 76.85, 45.3, 68.65]], ["C", [45.3, 63.4, 43.8, 59.6]], ["C", [42.3, 55.8, 39.5, 53.75]], ["C", [36.7, 51.65, 33, 51.65]], ["C", [29.2, 51.65, 26.2, 53.75]], ["C", [23.25, 55.8, 21.55, 59.75]], ["M", [36.5, 41.75]], ["C", [43.15, 41.75, 48.2, 44.95]], ["C", [53.15, 48.05, 55.95, 54.05]], ["C", [58.7, 60.05, 58.7, 68.25]], ["C", [58.7, 74.3, 57.2, 79.35]], ["C", [55.6, 84.4, 52.7, 88.1]], ["C", [49.75, 91.8, 45.6, 93.85]], ["C", [41.4, 95.85, 36.4, 95.85]], ["C", [33.3, 95.85, 30.6, 95.15]], ["C", [27.9, 94.4, 26, 93.25]], ["C", [24.05, 92, 22.75, 90.75]], ["C", [21.4, 89.45, 19.2, 86.95]], ["L", [19.2, 88.25]], ["C", [19.2, 92, 17.4, 93.95]], ["C", [15.6, 95.85, 12.8, 95.85]], ["C", [9.95, 95.85, 8.3, 93.95]], ["C", [6.6, 92, 6.6, 88.25]], ["L", [6.6, 30.05]], ["C", [6.6, 26, 8.25, 23.95]], ["C", [9.85, 21.85, 12.8, 21.85]], ["C", [15.85, 21.85, 17.55, 23.85]], ["C", [19.2, 25.8, 19.2, 29.45]], ["L", [19.2, 49.85]], ["C", [22.95, 45.9, 26.85, 43.85]], ["C", [30.75, 41.75, 36.5, 41.75]]];
__motifs["c"] = [["M", [47.85, 47]], ["C", [50.85, 49.4, 52.45, 52.1]], ["C", [54, 54.8, 54, 57.15]], ["C", [54, 59.55, 52.25, 61.2]], ["C", [50.45, 62.85, 47.9, 62.85]], ["C", [46.25, 62.85, 45.15, 62.05]], ["C", [44.05, 61.15, 42.7, 59.25]], ["C", [40.25, 55.55, 37.6, 53.7]], ["C", [34.9, 51.85, 30.8, 51.85]], ["C", [24.9, 51.85, 21.3, 56.45]], ["C", [17.7, 61.05, 17.7, 69.05]], ["C", [17.7, 72.8, 18.6, 76]], ["C", [19.55, 79.1, 21.3, 81.35]], ["C", [23.05, 83.55, 25.55, 84.75]], ["C", [28.05, 85.85, 31, 85.85]], ["C", [35, 85.85, 37.9, 84]], ["C", [40.7, 82.15, 42.9, 78.35]], ["C", [44.15, 76.1, 45.55, 74.85]], ["C", [46.95, 73.55, 49, 73.55]], ["C", [51.45, 73.55, 53.1, 75.4]], ["C", [54.7, 77.25, 54.7, 79.35]], ["C", [54.7, 81.85, 53.2, 84.7]], ["C", [51.7, 87.5, 48.7, 90.1]], ["C", [45.6, 92.65, 40.95, 94.2]], ["C", [36.35, 95.75, 30.5, 95.75]], ["C", [18.15, 95.75, 11.25, 88.6]], ["C", [4.3, 81.35, 4.3, 69.25]], ["C", [4.3, 61.05, 7.45, 54.75]], ["C", [10.65, 48.45, 16.65, 45.05]], ["C", [22.65, 41.55, 31, 41.55]], ["C", [36.2, 41.55, 40.55, 43.1]], ["C", [44.8, 44.6, 47.85, 47]]];
__motifs["d"] = [["M", [23.25, 53.75]], ["C", [20.35, 55.8, 18.8, 59.7]], ["C", [17.2, 63.55, 17.2, 68.65]], ["C", [17.2, 74.1, 18.9, 77.9]], ["C", [20.55, 81.7, 23.5, 83.65]], ["C", [26.4, 85.55, 29.9, 85.55]], ["C", [33.4, 85.55, 36.35, 83.75]], ["C", [39.2, 81.9, 40.95, 78.15]], ["C", [42.7, 74.35, 42.7, 68.65]], ["C", [42.7, 63.35, 40.95, 59.55]], ["C", [39.2, 55.7, 36.3, 53.7]], ["C", [33.3, 51.65, 29.8, 51.65]], ["C", [26.1, 51.65, 23.25, 53.75]], ["M", [45.05, 23.95]], ["C", [46.7, 21.85, 49.7, 21.85]], ["C", [52.75, 21.85, 54.4, 23.8]], ["C", [56, 25.7, 56, 29.45]], ["L", [56, 88.25]], ["C", [56, 92.05, 54.25, 93.95]], ["C", [52.5, 95.85, 49.7, 95.85]], ["C", [46.95, 95.85, 45.2, 93.9]], ["C", [43.4, 91.9, 43.4, 88.25]], ["L", [43.4, 86.95]], ["C", [40.7, 90, 38.15, 91.95]], ["C", [35.5, 93.85, 32.45, 94.9]], ["C", [29.4, 95.85, 25.8, 95.85]], ["C", [21, 95.85, 16.95, 93.85]], ["C", [12.85, 91.8, 9.85, 88.05]], ["C", [6.9, 84.3, 5.35, 79.2]], ["C", [3.8, 74.15, 3.8, 68.25]], ["C", [3.8, 55.75, 9.9, 48.75]], ["C", [16, 41.75, 26, 41.75]], ["C", [31.75, 41.75, 35.7, 43.75]], ["C", [39.65, 45.7, 43.4, 49.85]], ["L", [43.4, 30.15]], ["C", [43.4, 26.05, 45.05, 23.95]]];
__motifs["e"] = [["M", [21.9, 54.3]], ["C", [18.7, 57.75, 18, 64.45]], ["L", [42.2, 64.45]], ["C", [41.7, 57.65, 38.55, 54.25]], ["C", [35.3, 50.85, 30.1, 50.85]], ["C", [25.1, 50.85, 21.9, 54.3]], ["M", [19.6, 43.55]], ["C", [24.5, 41.55, 30.5, 41.55]], ["C", [38.35, 41.55, 43.95, 44.9]], ["C", [49.5, 48.15, 52.3, 53.4]], ["C", [55.1, 58.6, 55.1, 64.05]], ["C", [55.1, 69.05, 52.2, 70.6]], ["C", [49.3, 72.05, 44.1, 72.05]], ["L", [18, 72.05]], ["C", [18.05, 76.6, 19.85, 80.05]], ["C", [21.65, 83.5, 24.6, 85.3]], ["C", [27.55, 87.05, 31.1, 87.05]], ["C", [33.5, 87.05, 35.5, 86.5]], ["C", [37.45, 85.9, 39.3, 84.75]], ["C", [41.15, 83.5, 42.7, 82.15]], ["C", [44.3, 80.8, 46.8, 78.45]], ["C", [47.8, 77.55, 49.7, 77.55]], ["C", [51.75, 77.55, 53.05, 78.7]], ["C", [54.3, 79.8, 54.3, 81.85]], ["C", [54.3, 83.65, 52.9, 86.1]], ["C", [51.45, 88.5, 48.65, 90.75]], ["C", [45.75, 92.95, 41.45, 94.4]], ["C", [37.1, 95.85, 31.5, 95.85]], ["C", [18.65, 95.85, 11.5, 88.55]], ["C", [4.4, 81.2, 4.4, 68.65]], ["C", [4.4, 62.75, 6.15, 57.75]], ["C", [7.9, 52.65, 11.3, 49.05]], ["C", [14.65, 45.45, 19.6, 43.55]]];
__motifs["f"] = [["M", [9, 42.85]], ["L", [9, 38.85]], ["C", [9, 32.6, 10.6, 28.95]], ["C", [12.15, 25.2, 15.95, 23.55]], ["C", [19.75, 21.85, 26.3, 21.85]], ["C", [38, 21.85, 38, 27.55]], ["C", [38, 29.4, 36.75, 30.75]], ["C", [35.55, 32.05, 33.9, 32.05]], ["C", [33.1, 32.05, 31.2, 31.75]], ["C", [29.3, 31.45, 28, 31.45]], ["C", [24.35, 31.45, 23.35, 33.6]], ["C", [22.3, 35.7, 22.3, 39.65]], ["L", [22.3, 42.85]], ["L", [25.6, 42.85]], ["C", [33.2, 42.85, 33.2, 47.45]], ["C", [33.2, 50.7, 31.2, 51.6]], ["C", [29.15, 52.45, 25.6, 52.45]], ["L", [22.3, 52.45]], ["L", [22.3, 87.75]], ["C", [22.3, 91.7, 20.45, 93.8]], ["C", [18.55, 95.85, 15.6, 95.85]], ["C", [12.75, 95.85, 10.9, 93.8]], ["C", [9, 91.7, 9, 87.75]], ["L", [9, 52.45]], ["L", [5.3, 52.45]], ["C", [2.35, 52.45, 0.75, 51.15]], ["C", [-0.9, 49.8, -0.9, 47.65]], ["C", [-0.9, 42.85, 5.8, 42.85]], ["L", [9, 42.85]]];
__motifs["g"] = [["M", [20.75, 56]], ["C", [17.3, 60.3, 17.3, 68.35]], ["C", [17.3, 76.45, 20.85, 80.6]], ["C", [24.35, 84.75, 30, 84.75]], ["C", [33.3, 84.75, 36.3, 83]], ["C", [39.2, 81.15, 41.05, 77.6]], ["C", [42.9, 74, 42.9, 68.85]], ["C", [42.9, 60.7, 39.35, 56.15]], ["C", [35.75, 51.65, 29.9, 51.65]], ["C", [24.15, 51.65, 20.75, 56]], ["M", [45.1, 43.6]], ["C", [46.85, 41.65, 49.5, 41.65]], ["C", [53.35, 41.65, 54.65, 44.2]], ["C", [55.9, 46.7, 55.9, 51.45]], ["L", [55.9, 90.15]], ["C", [55.9, 96.8, 54.5, 101.6]], ["C", [53.1, 106.35, 49.95, 109.5]], ["C", [46.85, 112.6, 41.8, 114.15]], ["C", [36.7, 115.65, 29.2, 115.65]], ["C", [22.3, 115.65, 16.9, 113.75]], ["C", [11.45, 111.8, 8.55, 108.75]], ["C", [5.6, 105.7, 5.6, 102.45]], ["C", [5.6, 100, 7.3, 98.5]], ["C", [8.95, 96.95, 11.3, 96.95]], ["C", [14.2, 96.95, 16.4, 99.55]], ["C", [17.5, 100.85, 18.65, 102.2]], ["C", [19.8, 103.55, 21.2, 104.5]], ["C", [22.55, 105.45, 24.5, 105.95]], ["C", [26.45, 106.35, 29, 106.35]], ["C", [34.2, 106.35, 37.05, 104.95]], ["C", [39.9, 103.5, 41.05, 100.9]], ["C", [42.2, 98.3, 42.4, 95.4]], ["C", [42.6, 92.4, 42.7, 85.85]], ["C", [39.6, 90.15, 35.6, 92.4]], ["C", [31.55, 94.65, 26, 94.65]], ["C", [19.3, 94.65, 14.3, 91.25]], ["C", [9.3, 87.8, 6.6, 81.65]], ["C", [3.9, 75.5, 3.9, 67.45]], ["C", [3.9, 61.45, 5.55, 56.6]], ["C", [7.2, 51.8, 10.2, 48.45]], ["C", [13.25, 45.15, 17.2, 43.5]], ["C", [21.15, 41.75, 25.9, 41.75]], ["C", [31.55, 41.75, 35.7, 43.95]], ["C", [39.85, 46.1, 43.4, 50.75]], ["L", [43.4, 48.95]], ["C", [43.4, 45.5, 45.1, 43.6]]];
__motifs["h"] = [["M", [30.2, 42.55]], ["C", [33.15, 41.65, 36.5, 41.65]], ["C", [41.6, 41.65, 45.55, 43.8]], ["C", [49.45, 45.95, 51.7, 50.05]], ["C", [53.15, 52.45, 53.6, 55.45]], ["C", [54.1, 58.35, 54.1, 62.25]], ["L", [54.1, 87.75]], ["C", [54.1, 91.75, 52.3, 93.8]], ["C", [50.45, 95.85, 47.4, 95.85]], ["C", [40.8, 95.85, 40.8, 87.75]], ["L", [40.8, 65.25]], ["C", [40.8, 58.85, 38.9, 55.45]], ["C", [37, 51.95, 31.7, 51.95]], ["C", [28.15, 51.95, 25.3, 54.05]], ["C", [22.4, 56.05, 21, 59.55]], ["C", [19.9, 62.5, 19.9, 70.15]], ["L", [19.9, 87.75]], ["C", [19.9, 91.7, 18.15, 93.8]], ["C", [16.35, 95.85, 13.2, 95.85]], ["C", [6.6, 95.85, 6.6, 87.75]], ["L", [6.6, 29.95]], ["C", [6.6, 25.9, 8.35, 23.9]], ["C", [10.05, 21.85, 13.2, 21.85]], ["C", [16.35, 21.85, 18.15, 23.9]], ["C", [19.9, 25.95, 19.9, 29.95]], ["L", [19.9, 49.75]], ["C", [22.45, 46.8, 24.9, 45.1]], ["C", [27.3, 43.4, 30.2, 42.55]]];
__motifs["i"] = [["M", [13.5, 41.65]], ["C", [16.4, 41.65, 18.3, 43.65]], ["C", [20.2, 45.7, 20.2, 49.25]], ["L", [20.2, 87.75]], ["C", [20.2, 91.75, 18.3, 93.8]], ["C", [16.4, 95.85, 13.5, 95.85]], ["C", [10.55, 95.85, 8.75, 93.75]], ["C", [6.9, 91.65, 6.9, 87.75]], ["L", [6.9, 49.65]], ["C", [6.9, 45.7, 8.75, 43.65]], ["C", [10.55, 41.65, 13.5, 41.65]], ["M", [13.6, 22.45]], ["C", [16.2, 22.45, 18.2, 24.1]], ["C", [20.2, 25.75, 20.2, 28.95]], ["C", [20.2, 32, 18.25, 33.75]], ["C", [16.3, 35.45, 13.6, 35.45]], ["C", [10.85, 35.45, 8.9, 33.75]], ["C", [6.9, 32.05, 6.9, 28.95]], ["C", [6.9, 26.1, 8.95, 24.3]], ["C", [10.95, 22.45, 13.6, 22.45]]];
__motifs["j"] = [["M", [13.7, 41.65]], ["C", [16.65, 41.65, 18.5, 43.65]], ["C", [20.3, 45.65, 20.3, 49.65]], ["L", [20.3, 94.85]], ["C", [20.3, 99.7, 20, 102.75]], ["C", [19.7, 105.8, 19.1, 107.15]], ["C", [15.75, 115.65, 5, 115.65]], ["C", [-1.05, 115.65, -4.2, 114]], ["C", [-7.3, 112.35, -7.3, 109.15]], ["C", [-7.3, 106.8, -5.9, 105.35]], ["C", [-4.5, 103.85, -2.2, 103.85]], ["C", [-1.9, 103.85, -1.2, 103.95]], ["C", [-0.6, 104, 0.75, 104.05]], ["C", [2, 104.15, 2.5, 104.15]], ["C", [5.2, 104.15, 6.1, 102.05]], ["C", [7, 99.95, 7, 94.55]], ["L", [7, 49.65]], ["C", [7, 45.7, 8.85, 43.65]], ["C", [10.7, 41.65, 13.7, 41.65]], ["M", [13.7, 22.45]], ["C", [16.3, 22.45, 18.3, 24.1]], ["C", [20.3, 25.75, 20.3, 28.95]], ["C", [20.3, 32, 18.35, 33.75]], ["C", [16.4, 35.45, 13.7, 35.45]], ["C", [10.95, 35.45, 9, 33.75]], ["C", [7, 32.05, 7, 28.95]], ["C", [7, 26.1, 9.05, 24.3]], ["C", [11.05, 22.45, 13.7, 22.45]]];
__motifs["k"] = [["M", [48.05, 43.3]], ["C", [49.7, 44.85, 49.7, 47.25]], ["C", [49.7, 50.15, 44.3, 55.05]], ["L", [37.2, 61.55]], ["L", [50.9, 83.05]], ["C", [52.4, 85.4, 53.1, 86.7]], ["C", [53.7, 87.9, 53.7, 89.05]], ["C", [53.7, 92.2, 52, 94.05]], ["C", [50.25, 95.85, 47.4, 95.85]], ["C", [44.95, 95.85, 43.65, 94.55]], ["C", [42.35, 93.25, 40.1, 89.75]], ["L", [28.3, 70.45]], ["L", [21.1, 77.25]], ["L", [21.1, 87.85]], ["C", [21.1, 91.7, 19.1, 93.8]], ["C", [17.05, 95.85, 14.4, 95.85]], ["C", [11.35, 95.85, 9.55, 93.8]], ["C", [7.8, 91.75, 7.8, 87.75]], ["L", [7.8, 30.95]], ["C", [7.8, 26.5, 9.5, 24.2]], ["C", [11.25, 21.85, 14.4, 21.85]], ["C", [17.5, 21.85, 19.3, 23.95]], ["C", [21.1, 26.05, 21.1, 30.15]], ["L", [21.1, 62.45]], ["L", [36.1, 46.75]], ["C", [38.85, 43.8, 40.35, 42.75]], ["C", [41.8, 41.65, 43.9, 41.65]], ["C", [46.4, 41.65, 48.05, 43.3]]];
__motifs["l"] = [["M", [8.7, 23.9]], ["C", [10.45, 21.85, 13.5, 21.85]], ["C", [16.5, 21.85, 18.35, 23.9]], ["C", [20.2, 25.9, 20.2, 29.95]], ["L", [20.2, 87.75]], ["C", [20.2, 91.8, 18.35, 93.85]], ["C", [16.45, 95.85, 13.5, 95.85]], ["C", [10.55, 95.85, 8.75, 93.75]], ["C", [6.9, 91.65, 6.9, 87.75]], ["L", [6.9, 29.95]], ["C", [6.9, 25.95, 8.7, 23.9]]];
__motifs["m"] = [["M", [82.4, 87.45]], ["C", [82.4, 91.65, 80.5, 93.75]], ["C", [78.6, 95.85, 75.5, 95.85]], ["C", [72.45, 95.85, 70.55, 93.75]], ["C", [68.6, 91.6, 68.6, 87.45]], ["L", [68.6, 65.05]], ["C", [68.6, 60.75, 68.25, 58.2]], ["C", [67.85, 55.6, 66.25, 53.85]], ["C", [64.65, 52.05, 61.4, 52.05]], ["C", [58.75, 52.05, 56.4, 53.65]], ["C", [54, 55.2, 52.7, 57.85]], ["C", [51.2, 61.2, 51.2, 69.75]], ["L", [51.2, 87.45]], ["C", [51.2, 91.65, 49.3, 93.75]], ["C", [47.4, 95.85, 44.3, 95.85]], ["C", [41.25, 95.85, 39.4, 93.75]], ["C", [37.5, 91.65, 37.5, 87.45]], ["L", [37.5, 66.25]], ["C", [37.5, 61.2, 37.15, 58.4]], ["C", [36.8, 55.65, 35.3, 53.9]], ["C", [33.8, 52.05, 30.5, 52.05]], ["C", [23.95, 52.05, 21.9, 56.55]], ["C", [19.8, 61.05, 19.8, 69.45]], ["L", [19.8, 87.45]], ["C", [19.8, 91.6, 17.95, 93.75]], ["C", [16.05, 95.85, 13, 95.85]], ["C", [9.95, 95.85, 8.05, 93.75]], ["C", [6.1, 91.6, 6.1, 87.45]], ["L", [6.1, 49.35]], ["C", [6.1, 45.6, 7.85, 43.6]], ["C", [9.55, 41.65, 12.4, 41.65]], ["C", [15.15, 41.65, 17, 43.55]], ["C", [18.8, 45.35, 18.8, 48.55]], ["L", [18.8, 49.85]], ["C", [22.25, 45.7, 26.2, 43.7]], ["C", [30.2, 41.75, 35, 41.75]], ["C", [40.05, 41.75, 43.65, 43.75]], ["C", [47.25, 45.75, 49.6, 49.85]], ["C", [53, 45.7, 56.85, 43.75]], ["C", [60.7, 41.75, 65.4, 41.75]], ["C", [70.85, 41.75, 74.8, 43.9]], ["C", [78.75, 46.05, 80.7, 50.05]], ["C", [82.4, 53.7, 82.4, 61.45]], ["L", [82.4, 87.45]]];
__motifs["n"] = [["M", [36.3, 41.65]], ["C", [41.55, 41.65, 45.7, 43.95]], ["C", [49.85, 46.25, 51.9, 50.45]], ["C", [53.2, 52.9, 53.6, 55.75]], ["C", [54, 58.55, 54, 62.95]], ["L", [54, 87.75]], ["C", [54, 91.75, 52.2, 93.8]], ["C", [50.35, 95.85, 47.4, 95.85]], ["C", [44.45, 95.85, 42.6, 93.75]], ["C", [40.7, 91.65, 40.7, 87.75]], ["L", [40.7, 65.55]], ["C", [40.7, 58.95, 38.9, 55.5]], ["C", [37.05, 51.95, 31.6, 51.95]], ["C", [28.05, 51.95, 25.1, 54.1]], ["C", [22.15, 56.2, 20.8, 59.95]], ["C", [19.8, 62.9, 19.8, 71.05]], ["L", [19.8, 87.75]], ["C", [19.8, 91.8, 17.95, 93.85]], ["C", [16.05, 95.85, 13.1, 95.85]], ["C", [10.2, 95.85, 8.35, 93.75]], ["C", [6.5, 91.65, 6.5, 87.75]], ["L", [6.5, 49.25]], ["C", [6.5, 45.45, 8.15, 43.6]], ["C", [9.8, 41.65, 12.7, 41.65]], ["C", [14.45, 41.65, 15.85, 42.5]], ["C", [17.3, 43.35, 18.15, 45]], ["C", [19, 46.65, 19, 49.05]], ["L", [19, 50.65]], ["C", [22.5, 46, 26.7, 43.85]], ["C", [30.85, 41.65, 36.3, 41.65]]];
__motifs["o"] = [["M", [30.2, 51.55]], ["C", [26.25, 51.55, 23.3, 53.6]], ["C", [20.3, 55.6, 18.7, 59.55]], ["C", [17.1, 63.5, 17.1, 68.75]], ["C", [17.1, 74, 18.7, 77.9]], ["C", [20.25, 81.8, 23.25, 83.9]], ["C", [26.15, 85.95, 30.2, 85.95]], ["C", [36.25, 85.95, 39.85, 81.4]], ["C", [43.4, 76.85, 43.4, 68.75]], ["C", [43.4, 60.6, 39.85, 56.1]], ["C", [36.25, 51.55, 30.2, 51.55]], ["M", [49.6, 49.2]], ["C", [53.15, 52.8, 55, 57.8]], ["C", [56.8, 62.75, 56.8, 68.75]], ["C", [56.8, 74.75, 54.95, 79.75]], ["C", [53.1, 84.8, 49.55, 88.4]], ["C", [46.05, 92, 41.15, 93.95]], ["C", [36.3, 95.85, 30.2, 95.85]], ["C", [24.1, 95.85, 19.3, 93.9]], ["C", [14.45, 91.95, 10.95, 88.35]], ["C", [7.35, 84.7, 5.55, 79.75]], ["C", [3.7, 74.8, 3.7, 68.75]], ["C", [3.7, 62.7, 5.55, 57.7]], ["C", [7.4, 52.65, 10.9, 49.1]], ["C", [14.35, 45.55, 19.3, 43.6]], ["C", [24.2, 41.65, 30.2, 41.65]], ["C", [36.25, 41.65, 41.15, 43.6]], ["C", [46.1, 45.6, 49.6, 49.2]]];
__motifs["p"] = [["M", [32.9, 51.65]], ["C", [27.4, 51.65, 23.65, 56]], ["C", [19.8, 60.3, 19.8, 68.75]], ["C", [19.8, 76.75, 23.6, 81.15]], ["C", [27.35, 85.55, 32.9, 85.55]], ["C", [36.25, 85.55, 39.05, 83.65]], ["C", [41.9, 81.7, 43.6, 77.85]], ["C", [45.3, 74, 45.3, 68.55]], ["C", [45.3, 63.25, 43.7, 59.5]], ["C", [42.1, 55.7, 39.25, 53.7]], ["C", [36.4, 51.65, 32.9, 51.65]], ["M", [36.2, 41.75]], ["C", [42.35, 41.75, 47.5, 44.95]], ["C", [52.7, 48.1, 55.7, 54.2]], ["C", [58.7, 60.3, 58.7, 68.65]], ["C", [58.7, 74.85, 57, 80]], ["C", [55.2, 85.15, 52.2, 88.65]], ["C", [49.15, 92.1, 45.05, 94]], ["C", [40.9, 95.85, 36.2, 95.85]], ["C", [30.45, 95.85, 26.6, 93.6]], ["C", [22.7, 91.3, 19.2, 86.85]], ["L", [19.2, 106.85]], ["C", [19.2, 115.65, 12.8, 115.65]], ["C", [9.05, 115.65, 7.8, 113.4]], ["C", [6.6, 111.1, 6.6, 106.75]], ["L", [6.6, 49.25]], ["C", [6.6, 45.45, 8.25, 43.6]], ["C", [9.9, 41.65, 12.8, 41.65]], ["C", [15.65, 41.65, 17.45, 43.6]], ["C", [19.2, 45.55, 19.2, 49.15]], ["L", [19.2, 50.75]], ["C", [22.95, 46.1, 27, 43.95]], ["C", [31.05, 41.75, 36.2, 41.75]]];
__motifs["q"] = [["M", [20.85, 56.1]], ["C", [17.3, 60.5, 17.3, 68.65]], ["C", [17.3, 74.05, 19.05, 77.95]], ["C", [20.75, 81.8, 23.6, 83.7]], ["C", [26.4, 85.55, 29.7, 85.55]], ["C", [33.25, 85.55, 36.25, 83.7]], ["C", [39.2, 81.8, 41, 77.95]], ["C", [42.8, 74.1, 42.8, 68.45]], ["C", [42.8, 64.45, 41.8, 61.2]], ["C", [40.7, 58, 38.9, 55.9]], ["C", [37.1, 53.75, 34.75, 52.7]], ["C", [32.4, 51.65, 29.8, 51.65]], ["C", [24.4, 51.65, 20.85, 56.1]], ["M", [45.15, 43.6]], ["C", [46.9, 41.65, 49.7, 41.65]], ["C", [52.5, 41.65, 54.25, 43.6]], ["C", [56, 45.45, 56, 49.15]], ["L", [56, 106.75]], ["C", [56, 115.65, 49.7, 115.65]], ["C", [45.8, 115.65, 44.65, 113.25]], ["C", [43.4, 110.85, 43.4, 106.75]], ["L", [43.4, 87.95]], ["C", [39.55, 91.8, 35.4, 93.85]], ["C", [31.2, 95.85, 26.1, 95.85]], ["C", [19.9, 95.85, 14.85, 92.6]], ["C", [9.7, 89.35, 6.85, 83.2]], ["C", [3.9, 77.05, 3.9, 68.75]], ["C", [3.9, 60.3, 6.85, 54.2]], ["C", [9.75, 48.1, 15, 44.95]], ["C", [20.15, 41.75, 26.5, 41.75]], ["C", [31.9, 41.75, 36.15, 44]], ["C", [40.4, 46.2, 43.4, 50.75]], ["L", [43.4, 49.15]], ["C", [43.4, 45.5, 45.15, 43.6]]];
__motifs["r"] = [["M", [18.05, 43.75]], ["C", [19.55, 45.85, 19.7, 49.95]], ["C", [22.05, 45.85, 24.6, 43.75]], ["C", [27.1, 41.65, 31.3, 41.65]], ["C", [35.5, 41.65, 39.45, 43.75]], ["C", [43.4, 45.85, 43.4, 49.35]], ["C", [43.4, 51.8, 41.75, 53.4]], ["C", [40.05, 54.95, 38.1, 54.95]], ["C", [37.35, 54.95, 34.55, 54.05]], ["C", [31.75, 53.15, 29.6, 53.15]], ["C", [26.65, 53.15, 24.8, 54.7]], ["C", [22.95, 56.2, 21.9, 59.25]], ["C", [20.9, 62.3, 20.5, 66.5]], ["C", [20.1, 70.65, 20.1, 76.65]], ["L", [20.1, 87.75]], ["C", [20.1, 91.8, 18.2, 93.85]], ["C", [16.3, 95.85, 13.4, 95.85]], ["C", [10.5, 95.85, 8.65, 93.8]], ["C", [6.8, 91.75, 6.8, 87.75]], ["L", [6.8, 50.65]], ["C", [6.8, 41.65, 13.3, 41.65]], ["C", [16.6, 41.65, 18.05, 43.75]]];
__motifs["s"] = [["M", [25.4, 41.65]], ["C", [30.55, 41.65, 34.7, 42.75]], ["C", [38.8, 43.8, 41.6, 45.65]], ["C", [44.35, 47.45, 45.8, 49.65]], ["C", [47.2, 51.85, 47.2, 53.95]], ["C", [47.2, 56.2, 45.7, 57.7]], ["C", [44.15, 59.15, 41.3, 59.15]], ["C", [39.25, 59.15, 37.85, 58]], ["C", [36.4, 56.8, 34.5, 54.45]], ["C", [33, 52.5, 30.95, 51.35]], ["C", [28.9, 50.15, 25.4, 50.15]], ["C", [21.8, 50.15, 19.4, 51.75]], ["C", [17, 53.25, 17, 55.55]], ["C", [17, 57.65, 18.75, 59]], ["C", [20.5, 60.3, 23.5, 61.2]], ["C", [26.45, 62.1, 31.7, 63.35]], ["C", [37.9, 64.85, 41.85, 66.95]], ["C", [45.75, 69.05, 47.8, 71.95]], ["C", [49.8, 74.8, 49.8, 78.45]], ["C", [49.8, 83.95, 47.1, 87.9]], ["C", [44.45, 91.8, 39.2, 93.85]], ["C", [33.95, 95.85, 26.4, 95.85]], ["C", [19.25, 95.85, 14.1, 93.65]], ["C", [9, 91.5, 6.55, 88.2]], ["C", [4.1, 84.9, 4.1, 81.55]], ["C", [4.1, 79.35, 5.65, 77.8]], ["C", [7.25, 76.25, 9.6, 76.25]], ["C", [11.7, 76.25, 12.85, 77.25]], ["C", [13.95, 78.3, 15, 80.15]], ["C", [17.05, 83.7, 19.9, 85.45]], ["C", [22.75, 87.25, 27.7, 87.25]], ["C", [31.7, 87.25, 34.3, 85.45]], ["C", [36.8, 83.65, 36.8, 81.35]], ["C", [36.8, 77.85, 34.2, 76.25]], ["C", [31.5, 74.65, 25.4, 73.15]], ["C", [18.5, 71.45, 14.2, 69.6]], ["C", [9.85, 67.7, 7.3, 64.6]], ["C", [4.7, 61.55, 4.7, 57.05]], ["C", [4.7, 53.05, 7.1, 49.5]], ["C", [9.45, 45.9, 14.15, 43.8]], ["C", [18.8, 41.65, 25.4, 41.65]]];
__motifs["t"] = [["M", [15.7, 23.55]], ["C", [18.25, 23.55, 20.3, 25.45]], ["C", [21.7, 26.75, 22.05, 28.6]], ["C", [22.4, 30.4, 22.4, 33.75]], ["L", [22.4, 42.85]], ["L", [27.3, 42.85]], ["C", [30.15, 42.85, 31.65, 44.2]], ["C", [33.1, 45.55, 33.1, 47.65]], ["C", [33.1, 50.3, 31, 51.4]], ["C", [28.85, 52.45, 24.9, 52.45]], ["L", [22.4, 52.45]], ["L", [22.4, 76.95]], ["C", [22.4, 80.1, 22.65, 81.8]], ["C", [22.85, 83.45, 23.85, 84.55]], ["C", [24.75, 85.55, 26.9, 85.55]], ["C", [28.1, 85.55, 30.1, 85.2]], ["C", [32.1, 84.75, 33.2, 84.75]], ["C", [34.8, 84.75, 36.15, 86.05]], ["C", [37.4, 87.35, 37.4, 89.25]], ["C", [37.4, 92.45, 33.9, 94.15]], ["C", [30.35, 95.85, 23.8, 95.85]], ["C", [17.55, 95.85, 14.3, 93.75]], ["C", [11.1, 91.65, 10.1, 87.95]], ["C", [9.1, 84.25, 9.1, 78.05]], ["L", [9.1, 52.45]], ["L", [7.3, 52.45]], ["C", [4.45, 52.45, 2.95, 51.1]], ["C", [1.4, 49.75, 1.4, 47.65]], ["C", [1.4, 45.55, 3.05, 44.2]], ["C", [4.6, 42.85, 7.6, 42.85]], ["L", [9.1, 42.85]], ["L", [9.1, 34.85]], ["C", [9.1, 31.6, 9.3, 29.8]], ["C", [9.4, 27.95, 10.2, 26.65]], ["C", [11, 25.25, 12.45, 24.45]], ["C", [13.9, 23.55, 15.7, 23.55]]];
__motifs["u"] = [["M", [47.4, 41.65]], ["C", [50.4, 41.65, 52.2, 43.65]], ["C", [54, 45.65, 54, 49.65]], ["L", [54, 88.25]], ["C", [54, 92.05, 52.3, 93.95]], ["C", [50.55, 95.85, 47.8, 95.85]], ["C", [45.05, 95.85, 43.3, 93.9]], ["C", [41.5, 91.9, 41.5, 88.35]], ["L", [41.5, 86.65]], ["C", [39.1, 89.65, 36.45, 91.7]], ["C", [33.85, 93.75, 30.7, 94.8]], ["C", [27.6, 95.75, 23.6, 95.75]], ["C", [18.75, 95.75, 14.95, 93.75]], ["C", [11.1, 91.75, 9, 88.25]], ["C", [6.5, 84, 6.5, 76.05]], ["L", [6.5, 49.65]], ["C", [6.5, 45.65, 8.3, 43.65]], ["C", [10.1, 41.65, 13.1, 41.65]], ["C", [16.1, 41.65, 17.95, 43.65]], ["C", [19.8, 45.7, 19.8, 49.65]], ["L", [19.8, 70.95]], ["C", [19.8, 75.6, 20.6, 78.8]], ["C", [21.4, 81.9, 23.45, 83.7]], ["C", [25.45, 85.45, 28.9, 85.45]], ["C", [32.3, 85.45, 35.25, 83.45]], ["C", [38.25, 81.45, 39.6, 78.25]], ["C", [40.7, 75.4, 40.7, 65.85]], ["L", [40.7, 49.65]], ["C", [40.7, 45.7, 42.6, 43.65]], ["C", [44.45, 41.65, 47.4, 41.65]]];
__motifs["v"] = [["M", [45.4, 41.65]], ["C", [47.95, 41.65, 49.75, 43.4]], ["C", [51.5, 45.1, 51.5, 47.35]], ["C", [51.5, 48.2, 51.2, 49.4]], ["C", [50.9, 50.55, 50.5, 51.6]], ["C", [50.05, 52.6, 49.5, 53.95]], ["L", [36.7, 85.65]], ["C", [36.2, 87.05, 35.35, 89.15]], ["C", [34.45, 91.25, 33.45, 92.75]], ["C", [32.35, 94.2, 30.85, 95.05]], ["C", [29.3, 95.85, 27.1, 95.85]], ["C", [24.25, 95.85, 22.6, 94.6]], ["C", [20.9, 93.3, 20.1, 91.75]], ["C", [19.3, 90.2, 17.4, 85.65]], ["L", [4.7, 54.25]], ["C", [4.25, 53.1, 3.8, 51.95]], ["C", [3.3, 50.75, 3.05, 49.55]], ["C", [2.7, 48.3, 2.7, 47.45]], ["C", [2.7, 46.05, 3.5, 44.75]], ["C", [4.35, 43.4, 5.8, 42.55]], ["C", [7.3, 41.65, 9, 41.65]], ["C", [12.3, 41.65, 13.55, 43.6]], ["C", [14.8, 45.5, 16.3, 49.95]], ["L", [27.1, 80.25]], ["L", [38.7, 48.65]], ["C", [40.1, 44.85, 41.4, 43.3]], ["C", [42.7, 41.65, 45.4, 41.65]]];
__motifs["w"] = [["M", [45.25, 43.15]], ["C", [46.9, 44.55, 47.6, 46.25]], ["C", [48.3, 47.9, 49.5, 52.05]], ["L", [57.4, 79.75]], ["L", [66.2, 49.95]], ["C", [67.1, 46.75, 67.65, 45.35]], ["C", [68.15, 43.85, 69.45, 42.8]], ["C", [70.7, 41.65, 73.1, 41.65]], ["C", [75.5, 41.65, 77.25, 43.35]], ["C", [79, 45, 79, 47.25]], ["C", [79, 49.3, 77.5, 53.45]], ["L", [66.6, 85.35]], ["C", [65.2, 89.45, 64.4, 91.25]], ["C", [63.6, 93.05, 61.95, 94.45]], ["C", [60.25, 95.85, 57.3, 95.85]], ["C", [54.3, 95.85, 52.6, 94.35]], ["C", [50.85, 92.85, 50, 90.65]], ["C", [49.15, 88.45, 48.2, 84.95]], ["L", [40.6, 58.95]], ["L", [33.2, 84.95]], ["C", [31.75, 90.35, 30.05, 93.15]], ["C", [28.3, 95.85, 24, 95.85]], ["C", [21.85, 95.85, 20.3, 95.05]], ["C", [18.75, 94.15, 17.7, 92.6]], ["C", [16.7, 91, 15.9, 88.85]], ["C", [15.15, 86.65, 14.7, 85.35]], ["L", [3.9, 53.45]], ["C", [2.3, 48.95, 2.3, 47.25]], ["C", [2.3, 45.1, 4, 43.4]], ["C", [5.7, 41.65, 8.2, 41.65]], ["C", [11.5, 41.65, 12.7, 43.6]], ["C", [13.85, 45.45, 15.2, 49.95]], ["L", [23.9, 79.75]], ["L", [31.8, 52.05]], ["C", [33.05, 47.75, 33.7, 46.15]], ["C", [34.3, 44.55, 36, 43.15]], ["C", [37.65, 41.65, 40.6, 41.65]], ["C", [43.55, 41.65, 45.25, 43.15]]];
__motifs["x"] = [["M", [46.4, 43.2]], ["C", [48.1, 44.65, 48.1, 46.75]], ["C", [48.1, 48.25, 47.4, 49.7]], ["C", [46.7, 51.05, 45.2, 52.95]], ["L", [34.5, 67.35]], ["L", [46.6, 84.65]], ["C", [49.4, 88.7, 49.4, 90.75]], ["C", [49.4, 92.85, 47.65, 94.35]], ["C", [45.9, 95.85, 43.3, 95.85]], ["C", [41, 95.85, 39.45, 94.55]], ["C", [37.85, 93.25, 35.8, 90.35]], ["L", [26.1, 76.15]], ["L", [16.2, 90.35]], ["C", [14.05, 93.35, 12.6, 94.6]], ["C", [11.1, 95.85, 8.8, 95.85]], ["C", [6.25, 95.85, 4.5, 94.3]], ["C", [2.7, 92.7, 2.7, 90.65]], ["C", [2.7, 88.55, 5.4, 84.65]], ["L", [17.5, 67.35]], ["L", [6.8, 52.95]], ["C", [4, 49.4, 4, 46.75]], ["C", [4, 44.7, 5.65, 43.2]], ["C", [7.3, 41.65, 10, 41.65]], ["C", [12.35, 41.65, 13.9, 43]], ["C", [15.45, 44.3, 17.5, 47.15]], ["L", [26.1, 58.95]], ["L", [34.5, 47.15]], ["C", [36.6, 44.2, 38.2, 42.95]], ["C", [39.7, 41.65, 42, 41.65]], ["C", [44.65, 41.65, 46.4, 43.2]]];
__motifs["y"] = [["M", [45.6, 41.65]], ["C", [47.1, 41.65, 48.55, 42.5]], ["C", [49.9, 43.3, 50.7, 44.65]], ["C", [51.4, 46, 51.4, 47.55]], ["C", [51.2, 48.45, 50.8, 50.15]], ["C", [50.35, 51.9, 49.7, 53.65]], ["L", [32.3, 99.15]], ["C", [30.1, 105.15, 27.95, 108.55]], ["C", [25.8, 112, 22.25, 113.85]], ["C", [18.7, 115.65, 12.7, 115.65]], ["C", [6.85, 115.65, 3.9, 114.4]], ["C", [1, 113.1, 1, 109.75]], ["C", [1, 107.45, 2.4, 106.2]], ["C", [3.75, 104.95, 6.5, 104.95]], ["C", [7.55, 104.95, 8.6, 105.25]], ["C", [9.85, 105.55, 10.8, 105.55]], ["C", [13.1, 105.55, 14.4, 104.85]], ["C", [15.7, 104.15, 16.8, 102.5]], ["C", [17.8, 100.8, 19.2, 97.55]], ["L", [20.4, 94.55]], ["L", [4, 53.25]], ["C", [2.5, 49.7, 2.5, 48.05]], ["C", [2.5, 46.35, 3.35, 44.9]], ["C", [4.25, 43.45, 5.8, 42.55]], ["C", [7.3, 41.65, 9, 41.65]], ["C", [11.85, 41.65, 13.35, 43.55]], ["C", [14.8, 45.35, 15.9, 48.75]], ["L", [27.2, 81.55]], ["L", [37.9, 51.05]], ["C", [39.15, 47.35, 40.2, 45.25]], ["C", [41.2, 43.15, 42.4, 42.4]], ["C", [43.5, 41.65, 45.6, 41.65]]];
__motifs["z"] = [["M", [48.3, 48.55]], ["C", [48.3, 49.65, 47.85, 50.8]], ["C", [47.4, 51.95, 46.9, 52.65]], ["C", [46.35, 53.4, 45.4, 54.45]], ["C", [44.5, 55.5, 43.1, 56.95]], ["L", [18.7, 84.25]], ["L", [44.8, 84.25]], ["C", [48, 84.25, 49.6, 85.75]], ["C", [51.2, 87.25, 51.2, 89.55]], ["C", [51.2, 91.8, 49.65, 93.25]], ["C", [48.05, 94.65, 44.8, 94.65]], ["L", [8.7, 94.65]], ["C", [4.9, 94.65, 3.05, 93]], ["C", [1.1, 91.35, 1.1, 88.45]], ["C", [1.1, 86.75, 2.45, 85.05]], ["C", [3.75, 83.25, 7.9, 78.65]], ["C", [12.3, 73.75, 15.9, 69.8]], ["C", [19.5, 65.85, 22.55, 62.4]], ["C", [25.65, 58.95, 27.7, 56.55]], ["C", [29.7, 54.15, 30.9, 52.45]], ["L", [11.1, 52.45]], ["C", [7, 52.45, 4.9, 51.75]], ["C", [2.8, 51, 2.8, 47.85]], ["C", [2.8, 45.6, 4.4, 44.2]], ["C", [5.95, 42.85, 8.9, 42.85]], ["L", [39.5, 42.85]], ["C", [43.75, 42.85, 46.05, 44.1]], ["C", [48.3, 45.35, 48.3, 48.55]]];
}
private static function initializeMotifsUppercase():void{
__motifs["A"] = [["M", [46.3, 66.65]], ["L", [35.5, 37.15]], ["L", [24.9, 66.65]], ["L", [46.3, 66.65]], ["M", [43.95, 25.95]], ["C", [45.15, 27.75, 46.05, 29.85]], ["C", [46.9, 31.9, 48.2, 35.35]], ["L", [66.9, 81.55]], ["C", [69.1, 86.85, 69.1, 89.25]], ["C", [69.1, 91.7, 67.05, 93.8]], ["C", [64.95, 95.85, 62, 95.85]], ["C", [60.3, 95.85, 59.1, 95.3]], ["C", [57.85, 94.65, 57.05, 93.6]], ["C", [56.2, 92.55, 55.25, 90.4]], ["C", [54.3, 88.2, 53.6, 86.55]], ["L", [50.2, 77.55]], ["L", [21.1, 77.55]], ["L", [17.7, 86.75]], ["C", [15.65, 92.1, 14.25, 94]], ["C", [12.85, 95.85, 9.6, 95.85]], ["C", [6.9, 95.85, 4.8, 93.85]], ["C", [2.7, 91.85, 2.7, 89.35]], ["C", [2.7, 87.85, 3.15, 86.3]], ["C", [3.65, 84.75, 4.8, 81.95]], ["L", [23.1, 35.45]], ["C", [23.9, 33.45, 25, 30.7]], ["C", [26.05, 27.85, 27.35, 26]], ["C", [28.55, 24.15, 30.6, 23]], ["C", [32.6, 21.85, 35.6, 21.85]], ["C", [38.6, 21.85, 40.65, 23]], ["C", [42.7, 24.15, 43.95, 25.95]]];
__motifs["B"] = [["M", [22.2, 62.85]], ["L", [22.2, 83.75]], ["L", [37.8, 83.75]], ["C", [52.5, 83.75, 52.5, 73.15]], ["C", [52.5, 67.75, 48.7, 65.3]], ["C", [44.85, 62.85, 37.3, 62.85]], ["L", [22.2, 62.85]], ["M", [49.6, 42.95]], ["C", [49.6, 37.5, 45.75, 35.75]], ["C", [41.9, 33.95, 34, 33.95]], ["L", [22.2, 33.95]], ["L", [22.2, 52.45]], ["L", [35.5, 52.45]], ["C", [40.9, 52.45, 43.9, 51.45]], ["C", [46.85, 50.4, 48.4, 47.55]], ["C", [49.6, 45.5, 49.6, 42.95]], ["M", [55.3, 26.15]], ["C", [57.85, 27.65, 59.8, 30]], ["C", [61.75, 32.3, 62.8, 35.15]], ["C", [63.8, 37.9, 63.8, 41.05]], ["C", [63.8, 51.8, 53.1, 56.75]], ["C", [67.2, 61.25, 67.2, 74.25]], ["C", [67.2, 80.25, 64.1, 85.1]], ["C", [61.05, 89.85, 55.8, 92.15]], ["C", [52.55, 93.55, 48.3, 94.1]], ["C", [44.05, 94.65, 38.4, 94.65]], ["L", [16.5, 94.65]], ["C", [11.75, 94.65, 9.75, 92.55]], ["C", [7.7, 90.4, 7.7, 85.75]], ["L", [7.7, 31.95]], ["C", [7.7, 27.2, 9.8, 25.15]], ["C", [11.85, 23.05, 16.5, 23.05]], ["L", [39.7, 23.05]], ["C", [44.8, 23.05, 48.6, 23.7]], ["C", [52.35, 24.35, 55.3, 26.15]]];
__motifs["C"] = [["M", [65, 33.9]], ["C", [68.6, 39, 68.6, 43.55]], ["C", [68.6, 46, 66.85, 47.9]], ["C", [65.1, 49.85, 62.6, 49.85]], ["C", [59.8, 49.85, 58.45, 48.5]], ["C", [57.05, 47.2, 55.3, 43.95]], ["C", [52.5, 38.65, 48.7, 36]], ["C", [44.8, 33.35, 39.2, 33.35]], ["C", [30.25, 33.35, 25, 40.15]], ["C", [19.7, 46.95, 19.7, 59.45]], ["C", [19.7, 67.8, 22, 73.35]], ["C", [24.35, 78.9, 28.65, 81.6]], ["C", [32.95, 84.35, 38.7, 84.35]], ["C", [44.95, 84.35, 49.3, 81.25]], ["C", [53.6, 78.15, 55.8, 72.15]], ["C", [56.75, 69.3, 58.1, 67.55]], ["C", [59.45, 65.75, 62.5, 65.75]], ["C", [65.1, 65.75, 66.95, 67.55]], ["C", [68.8, 69.35, 68.8, 72.05]], ["C", [68.8, 75.45, 67.15, 79.45]], ["C", [65.45, 83.4, 61.8, 87.3]], ["C", [58.2, 91.1, 52.6, 93.5]], ["C", [46.95, 95.85, 39.5, 95.85]], ["C", [33.85, 95.85, 29.2, 94.8]], ["C", [24.55, 93.7, 20.8, 91.5]], ["C", [17, 89.2, 13.8, 85.45]], ["C", [11, 82.1, 9, 77.95]], ["C", [7, 73.75, 6, 69]], ["C", [5, 64.3, 5, 58.95]], ["C", [5, 50.3, 7.5, 43.5]], ["C", [10, 36.65, 14.7, 31.8]], ["C", [19.4, 26.95, 25.7, 24.4]], ["C", [32, 21.85, 39.1, 21.85]], ["C", [47.8, 21.85, 54.6, 25.3]], ["C", [61.4, 28.8, 65, 33.9]]];
__motifs["D"] = [["M", [43.3, 36]], ["C", [38.6, 34.55, 32, 34.55]], ["L", [22.4, 34.55]], ["L", [22.4, 83.15]], ["L", [33.4, 83.15]], ["C", [37, 83.15, 39.05, 82.95]], ["C", [41.1, 82.75, 43.3, 81.95]], ["C", [45.5, 81.15, 47.1, 79.75]], ["C", [54.4, 73.6, 54.4, 58.55]], ["C", [54.4, 47.95, 51.2, 42.7]], ["C", [48, 37.4, 43.3, 36]], ["M", [57.9, 29.55]], ["C", [69.1, 39.15, 69.1, 58.65]], ["C", [69.1, 65.1, 67.95, 70.45]], ["C", [66.85, 75.75, 64.5, 80.05]], ["C", [62.15, 84.3, 58.5, 87.65]], ["C", [55.6, 90.25, 52.2, 91.8]], ["C", [48.8, 93.4, 44.85, 94]], ["C", [40.9, 94.65, 36, 94.65]], ["L", [17.1, 94.65]], ["C", [13.15, 94.65, 11.15, 93.5]], ["C", [9.15, 92.25, 8.55, 90.1]], ["C", [7.9, 87.9, 7.9, 84.45]], ["L", [7.9, 31.95]], ["C", [7.9, 27.25, 10, 25.15]], ["C", [12.1, 23.05, 16.8, 23.05]], ["L", [35.7, 23.05]], ["C", [43.05, 23.05, 48.35, 24.45]], ["C", [53.6, 25.8, 57.9, 29.55]]];
__motifs["E"] = [["M", [60.15, 24.65]], ["C", [61.8, 26.15, 61.8, 28.65]], ["C", [61.8, 31.15, 60.15, 32.75]], ["C", [58.45, 34.25, 55, 34.25]], ["L", [22.3, 34.25]], ["L", [22.3, 51.85]], ["L", [52.4, 51.85]], ["C", [55.7, 51.85, 57.35, 53.35]], ["C", [59, 54.8, 59, 57.25]], ["C", [59, 59.7, 57.35, 61.25]], ["C", [55.75, 62.75, 52.4, 62.75]], ["L", [22.3, 62.75]], ["L", [22.3, 83.15]], ["L", [56.1, 83.15]], ["C", [59.5, 83.15, 61.3, 84.75]], ["C", [63, 86.3, 63, 88.95]], ["C", [63, 91.5, 61.3, 93.1]], ["C", [59.5, 94.65, 56.1, 94.65]], ["L", [16.7, 94.65]], ["C", [11.95, 94.65, 9.9, 92.55]], ["C", [7.8, 90.45, 7.8, 85.75]], ["L", [7.8, 31.95]], ["C", [7.8, 28.85, 8.75, 26.9]], ["C", [9.65, 24.85, 11.65, 24]], ["C", [13.6, 23.05, 16.7, 23.05]], ["L", [55, 23.05]], ["C", [58.45, 23.05, 60.15, 24.65]]];
__motifs["F"] = [["M", [55.75, 24.65]], ["C", [57.4, 26.15, 57.4, 28.65]], ["C", [57.4, 31.15, 55.75, 32.75]], ["C", [54.05, 34.25, 50.6, 34.25]], ["L", [22, 34.25]], ["L", [22, 52.55]], ["L", [45.9, 52.55]], ["C", [49.2, 52.55, 50.9, 54.05]], ["C", [52.5, 55.55, 52.5, 58.05]], ["C", [52.5, 60.5, 50.85, 62]], ["C", [49.15, 63.45, 45.9, 63.45]], ["L", [22, 63.45]], ["L", [22, 87.05]], ["C", [22, 91.55, 20, 93.7]], ["C", [17.95, 95.85, 14.8, 95.85]], ["C", [11.55, 95.85, 9.55, 93.65]], ["C", [7.5, 91.5, 7.5, 87.05]], ["L", [7.5, 31.95]], ["C", [7.5, 28.85, 8.45, 26.9]], ["C", [9.4, 24.85, 11.4, 24]], ["C", [13.35, 23.05, 16.4, 23.05]], ["L", [50.6, 23.05]], ["C", [54.05, 23.05, 55.75, 24.65]]];
__motifs["G"] = [["M", [55, 23.8]], ["C", [60.55, 25.7, 64, 28.65]], ["C", [67.5, 31.55, 69.25, 34.85]], ["C", [71, 38.1, 71, 40.65]], ["C", [71, 43.4, 69, 45.35]], ["C", [66.95, 47.25, 64.1, 47.25]], ["C", [62.55, 47.25, 61.15, 46.5]], ["C", [59.65, 45.75, 58.7, 44.45]], ["C", [56, 40.25, 54.15, 38.1]], ["C", [52.3, 35.95, 49.15, 34.5]], ["C", [46, 33.05, 41.1, 33.05]], ["C", [36.1, 33.05, 32.15, 34.8]], ["C", [28.15, 36.5, 25.4, 39.8]], ["C", [22.55, 43.1, 21.1, 47.85]], ["C", [19.6, 52.65, 19.6, 58.45]], ["C", [19.6, 71.05, 25.4, 77.85]], ["C", [31.15, 84.65, 41.5, 84.65]], ["C", [46.55, 84.65, 51, 83.3]], ["C", [55.35, 82, 59.9, 79.55]], ["L", [59.9, 67.95]], ["L", [48.7, 67.95]], ["C", [44.65, 67.95, 42.6, 66.7]], ["C", [40.5, 65.5, 40.5, 62.55]], ["C", [40.5, 60.2, 42.25, 58.6]], ["C", [43.95, 57.05, 46.9, 57.05]], ["L", [63.4, 57.05]], ["C", [66.4, 57.05, 68.5, 57.6]], ["C", [70.6, 58.15, 71.9, 60]], ["C", [73.2, 61.85, 73.2, 65.55]], ["L", [73.2, 79.25]], ["C", [73.2, 82, 72.65, 83.65]], ["C", [72.1, 85.3, 70.7, 86.6]], ["C", [69.25, 87.9, 67, 89.15]], ["C", [60.5, 92.65, 54.5, 94.25]], ["C", [48.5, 95.85, 41.4, 95.85]], ["C", [33.15, 95.85, 26.35, 93.35]], ["C", [19.6, 90.8, 14.8, 85.95]], ["C", [10, 81.1, 7.45, 74.25]], ["C", [4.9, 67.35, 4.9, 58.85]], ["C", [4.9, 50.5, 7.35, 43.6]], ["C", [9.85, 36.65, 14.7, 31.8]], ["C", [19.55, 26.95, 26.45, 24.45]], ["C", [33.4, 21.85, 42.2, 21.85]], ["C", [49.4, 21.85, 55, 23.8]]];
__motifs["H"] = [["M", [55.7, 24.05]], ["C", [57.65, 21.85, 60.9, 21.85]], ["C", [64.15, 21.85, 66.2, 24.05]], ["C", [68.2, 26.2, 68.2, 30.65]], ["L", [68.2, 87.05]], ["C", [68.2, 91.5, 66.15, 93.65]], ["C", [64.1, 95.85, 60.9, 95.85]], ["C", [57.6, 95.85, 55.65, 93.65]], ["C", [53.7, 91.45, 53.7, 87.05]], ["L", [53.7, 62.95]], ["L", [22.4, 62.95]], ["L", [22.4, 87.05]], ["C", [22.4, 91.5, 20.35, 93.65]], ["C", [18.3, 95.85, 15.1, 95.85]], ["C", [11.8, 95.85, 9.85, 93.65]], ["C", [7.9, 91.45, 7.9, 87.05]], ["L", [7.9, 30.65]], ["C", [7.9, 26.25, 9.85, 24.05]], ["C", [11.75, 21.85, 15.1, 21.85]], ["C", [18.35, 21.85, 20.4, 24.05]], ["C", [22.4, 26.2, 22.4, 30.65]], ["L", [22.4, 51.15]], ["L", [53.7, 51.15]], ["L", [53.7, 30.65]], ["C", [53.7, 26.25, 55.7, 24.05]]];
__motifs["I"] = [["M", [10.4, 24.05]], ["C", [12.4, 21.85, 15.6, 21.85]], ["C", [18.85, 21.85, 20.9, 24.05]], ["C", [22.9, 26.2, 22.9, 30.65]], ["L", [22.9, 87.05]], ["C", [22.9, 91.5, 20.9, 93.65]], ["C", [18.85, 95.85, 15.6, 95.85]], ["C", [12.45, 95.85, 10.45, 93.65]], ["C", [8.4, 91.45, 8.4, 87.05]], ["L", [8.4, 30.65]], ["C", [8.4, 26.25, 10.4, 24.05]]];
__motifs["J"] = [["M", [47.45, 24.05]], ["C", [49.4, 26.25, 49.4, 30.65]], ["L", [49.4, 68.15]], ["C", [49.4, 73, 49, 76.45]], ["C", [48.6, 79.85, 47.1, 83.35]], ["C", [44.7, 89.3, 39.05, 92.6]], ["C", [33.45, 95.85, 25.4, 95.85]], ["C", [18.1, 95.85, 13.3, 93.6]], ["C", [8.4, 91.3, 5.4, 86.15]], ["C", [3.85, 83.4, 2.9, 79.85]], ["C", [1.9, 76.3, 1.9, 73.05]], ["C", [1.9, 69.65, 3.8, 67.85]], ["C", [5.7, 66.05, 8.7, 66.05]], ["C", [11.55, 66.05, 13.05, 67.7]], ["C", [14.5, 69.35, 15.3, 72.85]], ["C", [16.1, 76.65, 16.95, 78.9]], ["C", [17.75, 81.1, 19.75, 82.75]], ["C", [21.7, 84.35, 25.3, 84.35]], ["C", [34.9, 84.35, 34.9, 70.25]], ["L", [34.9, 30.65]], ["C", [34.9, 26.25, 36.85, 24.05]], ["C", [38.75, 21.85, 42.1, 21.85]], ["C", [45.45, 21.85, 47.45, 24.05]]];
__motifs["K"] = [["M", [54.4, 22.85]], ["C", [55.8, 21.85, 58.2, 21.85]], ["C", [61.35, 21.85, 63.3, 23.7]], ["C", [65.2, 25.5, 65.2, 28.15]], ["C", [65.2, 31.3, 61.9, 34.45]], ["L", [44.3, 51.15]], ["L", [64.6, 80.25]], ["C", [66.75, 83.25, 67.8, 85.55]], ["C", [68.9, 87.8, 68.9, 89.95]], ["C", [68.9, 92.35, 67.05, 94.1]], ["C", [65.15, 95.85, 61.9, 95.85]], ["C", [58.9, 95.85, 57, 94.6]], ["C", [55.1, 93.3, 53.75, 91.15]], ["C", [52.45, 89, 51.4, 87.25]], ["L", [34.3, 60.85]], ["L", [22.4, 72.25]], ["L", [22.4, 87.05]], ["C", [22.4, 91.55, 20.35, 93.7]], ["C", [18.3, 95.85, 15.1, 95.85]], ["C", [13.25, 95.85, 11.5, 94.9]], ["C", [9.8, 93.9, 8.9, 92.25]], ["C", [8.2, 90.9, 8.05, 89.1]], ["C", [7.9, 87.3, 7.9, 83.85]], ["L", [7.9, 30.65]], ["C", [7.9, 26.25, 9.85, 24.05]], ["C", [11.75, 21.85, 15.1, 21.85]], ["C", [18.35, 21.85, 20.4, 24.05]], ["C", [22.4, 26.2, 22.4, 30.65]], ["L", [22.4, 55.75]], ["L", [50.9, 26.05]], ["C", [52.95, 23.9, 54.4, 22.85]]];
__motifs["L"] = [["M", [9.5, 24.05]], ["C", [11.45, 21.85, 14.7, 21.85]], ["C", [17.95, 21.85, 20, 24.05]], ["C", [22, 26.2, 22, 30.65]], ["L", [22, 82.75]], ["L", [51.4, 82.75]], ["C", [54.95, 82.75, 56.85, 84.45]], ["C", [58.7, 86.15, 58.7, 88.75]], ["C", [58.7, 91.4, 56.85, 93.05]], ["C", [55, 94.65, 51.4, 94.65]], ["L", [16.4, 94.65]], ["C", [11.65, 94.65, 9.6, 92.55]], ["C", [7.5, 90.45, 7.5, 85.75]], ["L", [7.5, 30.65]], ["C", [7.5, 26.25, 9.5, 24.05]]];
__motifs["M"] = [["M", [54.1, 26.45]], ["C", [55, 24.55, 56.85, 23.8]], ["C", [58.65, 23.05, 62.7, 23.05]], ["L", [67.2, 23.05]], ["C", [71.35, 23.05, 73.8, 24.75]], ["C", [76.2, 26.35, 76.2, 31.05]], ["L", [76.2, 87.65]], ["C", [76.2, 91.75, 74.4, 93.8]], ["C", [72.55, 95.85, 69.5, 95.85]], ["C", [66.6, 95.85, 64.75, 93.8]], ["C", [62.9, 91.75, 62.9, 87.65]], ["L", [62.9, 38.25]], ["L", [51.4, 83.85]], ["C", [50.3, 88.3, 49.6, 90.4]], ["C", [48.9, 92.45, 46.95, 94.15]], ["C", [45.05, 95.85, 41.7, 95.85]], ["C", [39.15, 95.85, 37.4, 94.8]], ["C", [35.65, 93.65, 34.65, 91.95]], ["C", [33.7, 90.25, 33.15, 88.2]], ["C", [32.55, 86.1, 32, 83.85]], ["L", [20.5, 38.25]], ["L", [20.5, 87.65]], ["C", [20.5, 91.75, 18.7, 93.8]], ["C", [16.85, 95.85, 13.8, 95.85]], ["C", [10.9, 95.85, 9.05, 93.85]], ["C", [7.2, 91.8, 7.2, 87.65]], ["L", [7.2, 31.05]], ["C", [7.2, 26.35, 9.6, 24.75]], ["C", [12.05, 23.05, 16.2, 23.05]], ["L", [20.7, 23.05]], ["C", [24.75, 23.05, 26.6, 23.8]], ["C", [28.4, 24.55, 29.3, 26.45]], ["C", [30.2, 28.35, 31.3, 32.65]], ["L", [41.7, 71.85]], ["L", [52.1, 32.65]], ["C", [53.2, 28.35, 54.1, 26.45]]];
__motifs["N"] = [["M", [56.4, 23.95]], ["C", [58.15, 21.85, 61.2, 21.85]], ["C", [64.3, 21.85, 66.1, 23.95]], ["C", [67.9, 26, 67.9, 30.15]], ["L", [67.9, 86.45]], ["C", [67.9, 95.85, 60.1, 95.85]], ["C", [58.15, 95.85, 56.6, 95.35]], ["C", [55.05, 94.75, 53.65, 93.55]], ["C", [52.3, 92.3, 51.1, 90.7]], ["C", [49.95, 89.05, 48.8, 87.35]], ["L", [21.6, 45.65]], ["L", [21.6, 87.55]], ["C", [21.6, 91.65, 19.7, 93.75]], ["C", [17.75, 95.85, 14.8, 95.85]], ["C", [11.7, 95.85, 9.85, 93.75]], ["C", [8, 91.6, 8, 87.55]], ["L", [8, 32.35]], ["C", [8, 28.85, 8.8, 26.85]], ["C", [9.7, 24.65, 11.85, 23.25]], ["C", [14, 21.85, 16.5, 21.85]], ["C", [18.45, 21.85, 19.85, 22.5]], ["C", [21.25, 23.1, 22.3, 24.2]], ["C", [23.35, 25.25, 24.45, 26.95]], ["C", [25.55, 28.7, 26.7, 30.55]], ["L", [54.6, 72.75]], ["L", [54.6, 30.15]], ["C", [54.6, 26, 56.4, 23.95]]];
__motifs["O"] = [["M", [50.15, 36.35]], ["C", [45.4, 33.35, 39.3, 33.35]], ["C", [34.95, 33.35, 31.3, 35.05]], ["C", [27.6, 36.65, 24.95, 39.75]], ["C", [22.25, 42.9, 20.75, 47.8]], ["C", [19.2, 52.6, 19.2, 58.65]], ["C", [19.2, 64.75, 20.75, 69.7]], ["C", [22.25, 74.65, 25.1, 77.9]], ["C", [27.9, 81.1, 31.55, 82.75]], ["C", [35.15, 84.35, 39.5, 84.35]], ["C", [45.05, 84.35, 49.75, 81.55]], ["C", [54.4, 78.8, 57.2, 72.95]], ["C", [59.9, 67.15, 59.9, 58.65]], ["C", [59.9, 50.8, 57.35, 45.05]], ["C", [54.85, 39.3, 50.15, 36.35]], ["M", [70.5, 39.25]], ["C", [74.6, 47.55, 74.6, 58.75]], ["C", [74.6, 67.05, 72.35, 73.85]], ["C", [70.1, 80.65, 65.65, 85.6]], ["C", [61.15, 90.6, 54.6, 93.25]], ["C", [48.05, 95.85, 39.6, 95.85]], ["C", [31.2, 95.85, 24.55, 93.2]], ["C", [17.9, 90.45, 13.5, 85.5]], ["C", [9.05, 80.6, 6.8, 73.65]], ["C", [4.5, 66.7, 4.5, 58.65]], ["C", [4.5, 50.4, 6.9, 43.55]], ["C", [9.25, 36.65, 13.7, 31.8]], ["C", [18.2, 26.95, 24.65, 24.45]], ["C", [31.1, 21.85, 39.3, 21.85]], ["C", [50.45, 21.85, 58.45, 26.4]], ["C", [66.4, 30.9, 70.5, 39.25]]];
__motifs["P"] = [["M", [44.9, 37.15]], ["C", [41.8, 33.95, 32.1, 33.95]], ["L", [22.3, 33.95]], ["L", [22.3, 55.85]], ["L", [32.1, 55.85]], ["C", [37.2, 55.85, 40.65, 54.75]], ["C", [44.1, 53.7, 45.9, 51.25]], ["C", [47.7, 48.8, 47.7, 44.85]], ["C", [47.7, 40.1, 44.9, 37.15]], ["M", [55.9, 28.4]], ["C", [59.1, 31.2, 60.75, 35.3]], ["C", [62.4, 39.45, 62.4, 44.55]], ["C", [62.4, 55.5, 55.65, 61.15]], ["C", [48.95, 66.75, 35.6, 66.75]], ["L", [22.3, 66.75]], ["L", [22.3, 87.05]], ["C", [22.3, 91.4, 20.25, 93.6]], ["C", [18.2, 95.85, 15.1, 95.85]], ["C", [11.8, 95.85, 9.8, 93.65]], ["C", [7.8, 91.45, 7.8, 87.15]], ["L", [7.8, 31.95]], ["C", [7.8, 27.15, 10, 25.1]], ["C", [12.2, 23.05, 17, 23.05]], ["L", [35.6, 23.05]], ["C", [43.85, 23.05, 48.3, 24.35]], ["C", [52.7, 25.55, 55.9, 28.4]]];
__motifs["Q"] = [["M", [50.15, 36.35]], ["C", [45.4, 33.35, 39.3, 33.35]], ["C", [34.95, 33.35, 31.3, 35.05]], ["C", [27.6, 36.65, 24.95, 39.75]], ["C", [22.25, 42.9, 20.75, 47.8]], ["C", [19.2, 52.6, 19.2, 58.65]], ["C", [19.2, 71, 24.95, 77.7]], ["C", [30.7, 84.35, 39.5, 84.35]], ["C", [43.1, 84.35, 46.9, 82.85]], ["C", [44.65, 81.1, 41.2, 79.4]], ["C", [37.75, 77.7, 36.45, 76.8]], ["C", [35.2, 75.85, 35.2, 74.15]], ["C", [35.2, 72.7, 36.45, 71.55]], ["C", [37.65, 70.45, 39.1, 70.45]], ["C", [43.55, 70.45, 54, 77.85]], ["C", [57.05, 74.4, 58.5, 69.65]], ["C", [59.9, 64.9, 59.9, 58.65]], ["C", [59.9, 50.8, 57.35, 45.05]], ["C", [54.85, 39.3, 50.15, 36.35]], ["M", [70.5, 39.25]], ["C", [74.6, 47.55, 74.6, 58.75]], ["C", [74.6, 75.8, 65.4, 85.75]], ["C", [68.55, 87.9, 72.3, 89.95]], ["C", [76.05, 91.95, 77.3, 93.2]], ["C", [78.5, 94.35, 78.5, 96.55]], ["C", [78.5, 98.1, 77.1, 99.7]], ["C", [75.65, 101.25, 73.6, 101.25]], ["C", [71.9, 101.25, 69.6, 100.15]], ["C", [67.2, 99.1, 64, 97.05]], ["C", [60.8, 95, 57, 92.25]], ["C", [49.9, 95.85, 39.6, 95.85]], ["C", [31.25, 95.85, 24.65, 93.25]], ["C", [18, 90.55, 13.55, 85.55]], ["C", [9.05, 80.55, 6.8, 73.65]], ["C", [4.5, 66.75, 4.5, 58.65]], ["C", [4.5, 50.4, 6.9, 43.55]], ["C", [9.25, 36.65, 13.7, 31.8]], ["C", [18.2, 26.95, 24.65, 24.45]], ["C", [31.1, 21.85, 39.3, 21.85]], ["C", [50.45, 21.85, 58.45, 26.4]], ["C", [66.4, 30.9, 70.5, 39.25]]];
__motifs["R"] = [["M", [49.8, 38.45]], ["C", [48.3, 36.15, 45.6, 35.05]], ["C", [43.05, 33.95, 35.6, 33.95]], ["L", [22.2, 33.95]], ["L", [22.2, 53.65]], ["L", [35.2, 53.65]], ["C", [40.45, 53.65, 44, 52.75]], ["C", [47.55, 51.85, 49.45, 49.7]], ["C", [51.3, 47.5, 51.3, 43.65]], ["C", [51.3, 40.7, 49.8, 38.45]], ["M", [54.8, 25.15]], ["C", [58.15, 26.6, 60.75, 29.2]], ["C", [63.35, 31.85, 64.7, 35.35]], ["C", [66, 38.85, 66, 42.75]], ["C", [66, 50.75, 61.5, 55.55]], ["C", [57, 60.3, 47.8, 62.35]], ["C", [51.65, 64.4, 55.2, 68.4]], ["C", [58.7, 72.4, 61.45, 76.95]], ["C", [64.2, 81.4, 65.75, 85.1]], ["C", [67.3, 88.7, 67.3, 90.05]], ["C", [67.3, 91.5, 66.4, 92.9]], ["C", [65.5, 94.25, 63.9, 95.1]], ["C", [62.35, 95.85, 60.3, 95.85]], ["C", [57.85, 95.85, 56.2, 94.75]], ["C", [54.55, 93.6, 53.35, 91.8]], ["C", [52.15, 90.05, 50.1, 86.65]], ["L", [44.3, 76.95]], ["C", [41.15, 71.65, 38.7, 68.85]], ["C", [36.25, 66.1, 33.7, 65.05]], ["C", [31.15, 64.05, 27.3, 64.05]], ["L", [22.2, 64.05]], ["L", [22.2, 87.05]], ["C", [22.2, 91.55, 20.2, 93.7]], ["C", [18.2, 95.85, 15, 95.85]], ["C", [11.5, 95.85, 9.6, 93.6]], ["C", [7.7, 91.4, 7.7, 87.05]], ["L", [7.7, 31.95]], ["C", [7.7, 27.25, 9.8, 25.15]], ["C", [11.9, 23.05, 16.6, 23.05]], ["L", [40.2, 23.05]], ["C", [45.05, 23.05, 48.55, 23.5]], ["C", [52, 23.9, 54.8, 25.15]]];
__motifs["S"] = [["M", [53, 27.85]], ["C", [56.15, 30.55, 57.6, 33.5]], ["C", [59.1, 36.5, 59.1, 39.35]], ["C", [59.1, 41.9, 57.3, 44]], ["C", [55.4, 46.05, 52.7, 46.05]], ["C", [50.2, 46.05, 48.95, 44.85]], ["C", [47.6, 43.6, 46.1, 40.75]], ["C", [44.15, 36.7, 41.4, 34.45]], ["C", [38.65, 32.15, 32.6, 32.15]], ["C", [27, 32.15, 23.6, 34.65]], ["C", [20.1, 37.1, 20.1, 40.55]], ["C", [20.1, 42.7, 21.3, 44.25]], ["C", [22.45, 45.8, 24.5, 46.95]], ["C", [26.55, 48.05, 28.65, 48.7]], ["C", [30.75, 49.35, 35.6, 50.55]], ["C", [41.65, 51.95, 46.6, 53.7]], ["C", [51.45, 55.4, 54.95, 57.85]], ["C", [58.35, 60.3, 60.3, 64.05]], ["C", [62.2, 67.75, 62.2, 73.15]], ["C", [62.2, 79.65, 58.9, 84.85]], ["C", [55.5, 90, 49.05, 92.95]], ["C", [42.65, 95.85, 33.8, 95.85]], ["C", [23.2, 95.85, 16.3, 91.85]], ["C", [11.45, 89, 8.4, 84.2]], ["C", [5.3, 79.35, 5.3, 74.85]], ["C", [5.3, 72.2, 7.2, 70.35]], ["C", [9, 68.45, 11.8, 68.45]], ["C", [14.1, 68.45, 15.7, 69.9]], ["C", [17.3, 71.35, 18.4, 74.25]], ["C", [19.8, 77.65, 21.4, 79.95]], ["C", [22.95, 82.25, 25.85, 83.75]], ["C", [28.7, 85.25, 33.4, 85.25]], ["C", [39.85, 85.25, 43.9, 82.25]], ["C", [47.9, 79.2, 47.9, 74.75]], ["C", [47.9, 71.15, 45.75, 68.95]], ["C", [43.55, 66.7, 40.15, 65.55]], ["C", [36.65, 64.4, 30.9, 63.05]], ["C", [23.2, 61.25, 18, 58.85]], ["C", [12.8, 56.4, 9.75, 52.25]], ["C", [6.7, 48.05, 6.7, 41.85]], ["C", [6.7, 35.95, 9.9, 31.35]], ["C", [13.15, 26.8, 19.25, 24.35]], ["C", [25.35, 21.85, 33.6, 21.85]], ["C", [40.2, 21.85, 45, 23.5]], ["C", [49.8, 25.1, 53, 27.85]]];
__motifs["T"] = [["M", [59.9, 24.75]], ["C", [61.7, 26.4, 61.7, 29.05]], ["C", [61.7, 31.75, 59.85, 33.4]], ["C", [58, 35.05, 54.3, 35.05]], ["L", [38.5, 35.05]], ["L", [38.5, 87.05]], ["C", [38.5, 91.55, 36.45, 93.7]], ["C", [34.45, 95.85, 31.3, 95.85]], ["C", [28.1, 95.85, 26.05, 93.65]], ["C", [24, 91.5, 24, 87.05]], ["L", [24, 35.05]], ["L", [8.2, 35.05]], ["C", [4.5, 35.05, 2.7, 33.4]], ["C", [0.9, 31.75, 0.9, 29.05]], ["C", [0.9, 26.3, 2.8, 24.7]], ["C", [4.65, 23.05, 8.2, 23.05]], ["L", [54.3, 23.05]], ["C", [58.05, 23.05, 59.9, 24.75]]];
__motifs["U"] = [["M", [55.55, 24.05]], ["C", [57.5, 21.85, 60.8, 21.85]], ["C", [64.05, 21.85, 66.1, 24.05]], ["C", [68.1, 26.2, 68.1, 30.65]], ["L", [68.1, 65.05]], ["C", [68.1, 73.45, 66.5, 79.05]], ["C", [64.85, 84.7, 60.3, 88.95]], ["C", [56.4, 92.55, 51.2, 94.2]], ["C", [46.05, 95.85, 39.1, 95.85]], ["C", [30.85, 95.85, 24.9, 94.1]], ["C", [18.95, 92.3, 15.2, 88.6]], ["C", [11.45, 84.85, 9.65, 79.05]], ["C", [7.9, 73.15, 7.9, 65.05]], ["L", [7.9, 30.65]], ["C", [7.9, 26.25, 9.9, 24.05]], ["C", [11.85, 21.85, 15.1, 21.85]], ["C", [18.45, 21.85, 20.45, 24.05]], ["C", [22.4, 26.25, 22.4, 30.65]], ["L", [22.4, 65.85]], ["C", [22.4, 71.85, 23.8, 75.9]], ["C", [25.1, 79.9, 28.5, 82.15]], ["C", [31.95, 84.35, 38.1, 84.35]], ["C", [46.6, 84.35, 50.1, 79.85]], ["C", [53.6, 75.3, 53.6, 66.15]], ["L", [53.6, 30.65]], ["C", [53.6, 26.2, 55.55, 24.05]]];
__motifs["V"] = [["M", [58.9, 21.85]], ["C", [60.75, 21.85, 62.35, 22.8]], ["C", [63.9, 23.7, 64.85, 25.25]], ["C", [65.7, 26.8, 65.7, 28.35]], ["C", [65.7, 29.4, 65.45, 30.7]], ["C", [65.15, 31.9, 64.7, 33.15]], ["C", [64.25, 34.3, 63.8, 35.55]], ["L", [46.5, 82.35]], ["C", [45.55, 85.05, 44.65, 87.45]], ["C", [43.7, 89.85, 42.5, 91.7]], ["C", [41.25, 93.55, 39.25, 94.7]], ["C", [37.2, 95.85, 34.3, 95.85]], ["C", [31.35, 95.85, 29.35, 94.75]], ["C", [27.3, 93.6, 26.05, 91.7]], ["C", [24.8, 89.8, 23.9, 87.4]], ["C", [22.95, 85.05, 22, 82.35]], ["L", [5, 35.95]], ["C", [4.55, 34.7, 4.1, 33.45]], ["C", [3.6, 32.25, 3.3, 30.85]], ["C", [3, 29.4, 3, 28.45]], ["C", [3, 25.95, 5, 23.9]], ["C", [7, 21.85, 10, 21.85]], ["C", [13.7, 21.85, 15.3, 24.15]], ["C", [16.8, 26.4, 18.4, 31.35]], ["L", [34.6, 79.35]], ["L", [50.9, 31.05]], ["C", [52.15, 27.2, 52.8, 25.75]], ["C", [53.4, 24.25, 54.9, 23.05]], ["C", [56.35, 21.85, 58.9, 21.85]]];
__motifs["W"] = [["M", [90.05, 23.75]], ["C", [92, 25.6, 92, 28.45]], ["C", [92, 30.45, 90.9, 34.85]], ["L", [79, 83.05]], ["C", [77.8, 87.9, 77, 90.2]], ["C", [76.15, 92.45, 74.25, 94.15]], ["C", [72.3, 95.85, 68.8, 95.85]], ["C", [65.5, 95.85, 63.5, 94.2]], ["C", [61.45, 92.55, 60.7, 90.5]], ["C", [59.9, 88.4, 58.5, 83.35]], ["L", [46.9, 40.45]], ["L", [35.2, 83.35]], ["C", [33.85, 88.25, 33.05, 90.4]], ["C", [32.25, 92.5, 30.2, 94.2]], ["C", [28.2, 95.85, 24.9, 95.85]], ["C", [22.2, 95.85, 20.5, 94.9]], ["C", [18.75, 93.85, 17.7, 92.05]], ["C", [16.6, 90.2, 15.9, 87.7]], ["C", [15.25, 85.2, 14.7, 83.05]], ["L", [2.8, 34.85]], ["C", [1.7, 30.65, 1.7, 28.45]], ["C", [1.7, 25.65, 3.65, 23.75]], ["C", [5.6, 21.85, 8.5, 21.85]], ["C", [12.45, 21.85, 13.8, 24.4]], ["C", [15.2, 26.95, 16.2, 31.75]], ["L", [25.6, 73.55]], ["L", [36.1, 34.45]], ["C", [37.25, 29.95, 38.2, 27.6]], ["C", [39.1, 25.25, 41.2, 23.55]], ["C", [43.3, 21.85, 46.9, 21.85]], ["C", [50.6, 21.85, 52.65, 23.65]], ["C", [54.65, 25.4, 55.4, 27.5]], ["C", [56.2, 29.6, 57.5, 34.45]], ["L", [68.1, 73.55]], ["L", [77.5, 31.75]], ["C", [78.15, 28.5, 78.8, 26.65]], ["C", [79.4, 24.8, 80.9, 23.3]], ["C", [82.35, 21.85, 85.2, 21.85]], ["C", [88.05, 21.85, 90.05, 23.75]]];
__motifs["X"] = [["M", [44.25, 26.5]], ["C", [45.2, 24.9, 46.15, 23.9]], ["C", [47.05, 22.85, 48.25, 22.4]], ["C", [49.35, 21.85, 50.9, 21.85]], ["C", [53.6, 21.85, 55.35, 23.5]], ["C", [57.1, 25.1, 57.1, 27.35]], ["C", [57.1, 30.65, 53.3, 36.25]], ["L", [39.2, 57.35]], ["L", [54.4, 80.75]], ["C", [56.45, 83.8, 57.35, 85.85]], ["C", [58.3, 87.85, 58.3, 89.65]], ["C", [58.3, 91.4, 57.45, 92.8]], ["C", [56.65, 94.2, 55.15, 95.05]], ["C", [53.6, 95.85, 51.7, 95.85]], ["C", [49.65, 95.85, 48.25, 95.05]], ["C", [46.85, 94.15, 45.95, 92.9]], ["C", [45.05, 91.6, 42.7, 87.95]], ["L", [30.1, 68.15]], ["L", [16.7, 88.55]], ["C", [15.15, 91, 14.5, 91.95]], ["C", [13.8, 92.95, 12.9, 93.85]], ["C", [11.95, 94.8, 10.7, 95.35]], ["C", [9.4, 95.85, 7.7, 95.85]], ["C", [5.1, 95.85, 3.35, 94.25]], ["C", [1.6, 92.65, 1.6, 89.55]], ["C", [1.6, 85.95, 5.2, 80.75]], ["L", [21.2, 57.35]], ["L", [7.7, 36.55]], ["C", [5.8, 33.5, 4.9, 31.35]], ["C", [3.9, 29.15, 3.9, 27.15]], ["C", [3.9, 25.1, 5.75, 23.5]], ["C", [7.55, 21.85, 10.2, 21.85]], ["C", [13.25, 21.85, 14.95, 23.65]], ["C", [16.6, 25.4, 19.6, 30.25]], ["L", [30.3, 47.65]], ["L", [41.8, 30.25]], ["C", [43.2, 28.05, 44.25, 26.5]]];
__motifs["Y"] = [["M", [46.9, 26.9]], ["C", [47.7, 25.5, 48.75, 24.35]], ["C", [49.7, 23.1, 50.95, 22.5]], ["C", [52.15, 21.85, 53.9, 21.85]], ["C", [56.65, 21.85, 58.5, 23.65]], ["C", [60.3, 25.4, 60.3, 27.75]], ["C", [60.3, 29.65, 59.4, 31.55]], ["C", [58.45, 33.45, 56.2, 36.85]], ["L", [38.3, 64.35]], ["L", [38.3, 87.05]], ["C", [38.3, 91.5, 36.25, 93.65]], ["C", [34.2, 95.85, 31, 95.85]], ["C", [27.8, 95.85, 25.8, 93.7]], ["C", [23.8, 91.55, 23.8, 87.05]], ["L", [23.8, 64.35]], ["L", [6.3, 37.25]], ["C", [4, 33.55, 3.1, 31.5]], ["C", [2.1, 29.45, 2.1, 27.95]], ["C", [2.1, 25.45, 4.05, 23.65]], ["C", [5.95, 21.85, 8.8, 21.85]], ["C", [11.75, 21.85, 13.35, 23.55]], ["C", [14.85, 25.2, 17.9, 30.25]], ["L", [31.3, 51.95]], ["L", [44.8, 30.25]], ["C", [46.05, 28.25, 46.9, 26.9]]];
__motifs["Z"] = [["M", [59.7, 30.45]], ["C", [59.7, 33.95, 58.4, 36.05]], ["C", [57.1, 38.15, 53.1, 42.85]], ["L", [18.7, 83.75]], ["L", [56.6, 83.75]], ["C", [59.95, 83.75, 61.6, 85.2]], ["C", [63.3, 86.55, 63.3, 89.05]], ["C", [63.3, 91.6, 61.6, 93.15]], ["C", [59.95, 94.65, 56.6, 94.65]], ["L", [10.1, 94.65]], ["C", [5.35, 94.65, 3, 92.55]], ["C", [0.6, 90.4, 0.6, 86.85]], ["C", [0.6, 85.6, 1, 84.6]], ["C", [1.35, 83.55, 2.05, 82.7]], ["C", [2.7, 81.75, 3.85, 80.4]], ["C", [5.05, 79, 5.9, 77.95]], ["L", [42.7, 33.95]], ["L", [11.1, 33.95]], ["C", [7.75, 33.95, 6.1, 32.5]], ["C", [4.4, 31.05, 4.4, 28.65]], ["C", [4.4, 26.15, 6.1, 24.65]], ["C", [7.75, 23.05, 11.1, 23.05]], ["L", [51.8, 23.05]], ["C", [59.7, 23.05, 59.7, 30.45]]];
}
private static function initializeWidthsPunctuation():void{
__widths[" "] = 25;
__widths["!"] = 33;
__widths["\""] = 48;
__widths["#"] = 55;
__widths["$"] = 59;
__widths["%"] = 85;
__widths["&"] = 76;
__widths["'"] = 24;
__widths["("] = 35;
__widths[")"] = 35;
__widths["*"] = 44;
__widths["+"] = 58;
__widths[","] = 31;
__widths["-"] = 33;
__widths["."] = 31;
__widths["/"] = 28;
__widths[":"] = 31;
__widths[";"] = 31;
__widths["<"] = 58;
__widths["="] = 58;
__widths[">"] = 58;
__widths["?"] = 57;
__widths["@"] = 98;
__widths["["] = 35;
__widths["\\"] = 28;
__widths["]"] = 35;
__widths["^"] = 58;
__widths["_"] = 50;
__widths["`"] = 33;
}
}
}//package five3D.typography
Section 14
//Cards (five3D.typography.Cards)
package five3D.typography {
public class Cards {
public static var __motifs:Object = {};
public static var __initialized:Boolean = false;
public static var __heights:Number = 106;
public static var __widths:Object = {};
public static function initialize():void{
initializeMotifs();
initializeWidths();
__initialized = true;
}
private static function initializeMotifs():void{
__motifs["h"] = [["M", [33.45, 26.75]], ["C", [37.45, 16.1, 47.75, 16.1]], ["C", [54.7, 16.1, 58.35, 21.4]], ["C", [61.5, 26, 61.5, 33.25]], ["C", [61.5, 43, 52.7, 54.35]], ["L", [40.95, 69.5]], ["L", [30.35, 84.6]], ["C", [23.6, 74.4, 19.8, 69.5]], ["L", [8.05, 54.35]], ["C", [-1.25, 43, -1.25, 33.25]], ["C", [-1.25, 26, 2.35, 21.4]], ["C", [5.95, 16.1, 3, 16.1]], ["C", [23.4, 16.1, 27.15, 26.75]], ["C", [28.85, 31.6, 30.35, 31.7]], ["C", [31.7, 31.7, 33.45, 26.75]]];
__motifs["d"] = [["M", [27.4, 85.1]], ["L", [-1.3, 49.5]], ["L", [27.4, 14.1]], ["L", [54.75, 49.5]], ["L", [27.4, 85.1]]];
__motifs["c"] = [["M", [68.9, 59.1]], ["C", [68.9, 65.3, 65.7, 69.2]], ["C", [62.3, 73.4, 56.2, 73.4]], ["C", [51.6, 73.4, 47.9, 70.8]], ["C", [46.65, 69.9, 42.9, 65.9]], ["C", [40.7, 63.5, 39, 63.3]], ["C", [37.1, 63.3, 37.1, 69.4]], ["C", [37.1, 75.6, 38.9, 79.2]], ["L", [41.8, 83.8]], ["L", [26.3, 83.8]], ["L", [29.1, 79.25]], ["C", [31.1, 76.05, 31.1, 69.35]], ["C", [31.1, 63.3, 29.3, 63.3]], ["C", [27.7, 63.3, 25.3, 65.95]], ["C", [21.9, 69.65, 20.3, 70.75]], ["C", [16.6, 73.4, 11.8, 73.4]], ["C", [5.6, 73.4, 2.3, 69.1]], ["C", [-1.3, 65.2, -1.3, 58.9]], ["C", [-1.3, 54.7, 1.1, 49.95]], ["C", [3.8, 43, 12.65, 43]], ["C", [16.5, 43, 19.9, 44.95]], ["L", [24.5, 47.55]], ["C", [26.3, 48.4, 27.95, 48.6]], ["C", [29.85, 48.6, 29.85, 46.8]], ["C", [29.85, 45.45, 28.85, 44.4]], ["C", [22.15, 40.7, 19.55, 34.35]], ["C", [18.55, 31.95, 18.55, 29.5]], ["C", [18.55, 23, 23.25, 19.4]], ["C", [27.45, 16.1, 34.15, 16.1]], ["C", [40.8, 16.1, 45, 19.4]], ["C", [49.7, 23.05, 49.7, 29.6]], ["C", [49.7, 32, 48.75, 34.3]], ["C", [46.55, 39.35, 43.7, 41.25]], ["L", [39.4, 44.3]], ["C", [38.6, 45.35, 38.45, 46.8]], ["C", [38.45, 48.6, 40.35, 48.6]], ["C", [41.85, 48.6, 43.75, 47.45]], ["L", [48.25, 44.9]], ["C", [51.5, 43, 55.5, 43]], ["C", [64.3, 43, 67.05, 49.95]], ["C", [68.9, 54.9, 68.9, 59.1]]];
__motifs["s"] = [["M", [37.85, 24.2]], ["C", [39.55, 26.7, 44.7, 33.6]], ["L", [58.15, 51.6]], ["C", [60.65, 54.9, 61.65, 61.4]], ["L", [61.75, 63.2]], ["C", [61.95, 67.5, 59.4, 71.7]], ["C", [56.45, 76.2, 52.25, 76.6]], ["L", [50.25, 76.8]], ["C", [43.65, 76.8, 39.35, 66.2]], ["C", [38.25, 63.5, 36.7, 63.5]], ["C", [33.85, 63.5, 33.85, 70.4]], ["C", [33.85, 75.7, 35.85, 79.7]], ["L", [38.6, 83.8]], ["L", [22.55, 83.8]], ["L", [24.35, 81.3]], ["C", [27.25, 77.3, 27.25, 70.4]], ["C", [27.25, 63.5, 24.35, 63.5]], ["C", [22.75, 63.5, 21.65, 66.2]], ["C", [19.45, 71.5, 17.85, 73.4]], ["C", [15.05, 76.8, 10.75, 76.8]], ["L", [8.75, 76.6]], ["C", [4.45, 76.2, 1.65, 71.8]], ["C", [-1.15, 67.9, -1.35, 63.4]], ["L", [-1.45, 61.4]], ["C", [-1.75, 55.5, 2.8, 51.6]], ["L", [19.85, 28.9]], ["C", [21.7, 26.4, 30.55, 13]], ["L", [37.85, 24.2]]];
}
private static function initializeWidths():void{
__widths["h"] = 69;
__widths["d"] = 62;
__widths["c"] = 77;
__widths["s"] = 69;
}
}
}//package five3D.typography
Section 15
//Chickabiddies (five3D.typography.Chickabiddies)
package five3D.typography {
public class Chickabiddies {
public static var __motifs:Object = {};
public static var __heights:Number = 102;
public static var __widths:Object = {};
public static var __shifts:Object = {};
public static var __initialized:Boolean = false;
private static function initializeShifts():void{
__shifts["h"] = -10;
__shifts["d"] = -10;
__shifts["c"] = -10;
__shifts["s"] = -10;
}
public static function initialize():void{
initializeMotifs();
initializeWidths();
initializeShifts();
__initialized = true;
}
private static function initializeMotifs():void{
__motifs["q"] = [["M", [59.25, 56.1]], ["C", [62.3, 56.1, 62.3, 59.2]], ["C", [62.3, 62.3, 59.25, 62.3]], ["C", [56.1, 62.3, 56.1, 59.2]], ["C", [56.1, 56.1, 59.25, 56.1]], ["M", [62.7, 69.55]], ["C", [64.1, 70.9, 66.1, 70.9]], ["C", [68.1, 70.9, 69.5, 69.55]], ["C", [70.9, 68.3, 70.9, 66.3]], ["L", [70.9, 65.3]], ["L", [72.9, 65.3]], ["L", [72.9, 66.3]], ["C", [72.9, 69.1, 70.9, 71]], ["C", [68.9, 72.9, 66.1, 72.9]], ["C", [63.25, 72.9, 61.25, 71.05]], ["C", [59.25, 69.2, 59.25, 66.3]], ["L", [59.25, 65.3]], ["L", [61.25, 65.3]], ["L", [61.25, 66.3]], ["C", [61.25, 68.3, 62.7, 69.55]], ["M", [76.4, 59.2]], ["C", [76.4, 62.3, 73.35, 62.3]], ["C", [70.2, 62.3, 70.2, 59.2]], ["C", [70.2, 56.1, 73.35, 56.1]], ["C", [76.4, 56.1, 76.4, 59.2]], ["M", [85, 45.6]], ["C", [80.2, 45.6, 76.4, 47.3]], ["C", [73.85, 48.55, 71.75, 48.55]], ["C", [69.55, 48.55, 67.95, 47]], ["C", [66.4, 45.5, 66.1, 43.3]], ["C", [65.45, 48.55, 60.85, 48.55]], ["C", [58.95, 48.55, 56.2, 47.3]], ["C", [52.75, 45.7, 48.15, 45.7]], ["C", [39.65, 45.7, 35.2, 49.1]], ["C", [34.25, 52.1, 34.25, 55.2]], ["C", [34.25, 66.4, 44.9, 73.4]], ["C", [54.45, 79.6, 66.1, 79.6]], ["C", [77.95, 79.6, 87.2, 73.4]], ["C", [97.9, 66.4, 97.9, 55.2]], ["C", [97.9, 51.9, 96.7, 48.7]], ["C", [92.65, 45.6, 85, 45.6]], ["M", [100.1, 44.9]], ["C", [103.7, 37, 110, 37]], ["C", [115.9, 37, 119.35, 43.5]], ["C", [122.1, 48.8, 122.1, 55.2]], ["C", [122.1, 61.6, 119.35, 66.9]], ["C", [115.9, 73.4, 110, 73.4]], ["C", [103.7, 73.4, 100.1, 65.5]], ["C", [95.7, 74.4, 85.85, 79.5]], ["C", [76.7, 84.1, 66.1, 84.1]], ["C", [55.5, 84.1, 46.45, 79.5]], ["C", [36.5, 74.4, 32.15, 65.5]], ["C", [28.5, 73.4, 22.1, 73.4]], ["C", [16.3, 73.4, 12.8, 66.9]], ["C", [10, 61.5, 10, 55.2]], ["C", [10, 48.8, 12.8, 43.5]], ["C", [16.2, 37, 22.1, 37]], ["C", [28.5, 37, 32.15, 44.9]], ["C", [36.45, 35.95, 46.45, 30.9]], ["C", [55.4, 26.3, 66.1, 26.3]], ["C", [76.8, 26.3, 85.85, 30.9]], ["C", [95.8, 35.95, 100.1, 44.9]]];
__motifs["w"] = [["M", [37.55, 39.85]], ["C", [37.3, 39.7, 37.1, 39.7]], ["C", [36.4, 39.7, 35.6, 40.7]], ["C", [34.5, 42.2, 35.3, 42.8]], ["C", [36, 43.4, 37.1, 41.9]], ["C", [37.8, 41, 37.8, 40.4]], ["C", [37.8, 40, 37.55, 39.85]], ["M", [39.1, 40.3]], ["C", [39.2, 41.8, 38.05, 43.05]], ["C", [36.9, 44.3, 35.4, 44.3]], ["C", [33.7, 44.3, 33.6, 42.3]], ["C", [33.5, 39.2, 36.6, 38.4]], ["C", [37.7, 38.1, 38.4, 38.65]], ["C", [39.1, 39.2, 39.1, 40.3]], ["M", [58.1, 29.6]], ["L", [62, 32.1]], ["L", [62.6, 27.2]], ["L", [58, 25.4]], ["L", [58.1, 29.6]], ["M", [63.2, 34.7]], ["L", [56.7, 30.5]], ["L", [56.5, 23.2]], ["L", [64.2, 26.2]], ["L", [63.2, 34.7]], ["M", [42.4, 31.9]], ["L", [41.8, 37.1]], ["L", [45.6, 39.4]], ["L", [46.5, 34.9]], ["L", [42.4, 31.9]], ["M", [48.2, 34.3]], ["L", [46.7, 41.8]], ["L", [40.2, 37.8]], ["L", [41.3, 29.1]], ["L", [48.2, 34.3]], ["M", [51.7, 35.2]], ["C", [53, 35.6, 53.8, 33.2]], ["C", [54.1, 32.3, 54.1, 31.7]], ["C", [54.1, 30.6, 53.3, 30.4]], ["C", [52, 30, 51.2, 32.4]], ["C", [50.9, 33.3, 50.9, 33.9]], ["C", [50.9, 35, 51.7, 35.2]], ["M", [53.7, 28.9]], ["C", [55.5, 29.5, 55.5, 32.1]], ["C", [55.5, 34.8, 53.5, 36.1]], ["C", [52.2, 36.9, 51.2, 36.6]], ["C", [49.5, 36.1, 49.5, 33.5]], ["C", [49.5, 30.9, 51.5, 29.4]], ["C", [52.7, 28.6, 53.7, 28.9]], ["M", [68.6, 25.2]], ["C", [68, 25.9, 69.1, 26.8]], ["C", [69.6, 27.3, 70, 27.3]], ["C", [70.9, 27.3, 70.9, 26.3]], ["C", [70.9, 25.6, 70.1, 25.1]], ["C", [69.2, 24.5, 68.6, 25.2]], ["M", [71.45, 24.2]], ["C", [72.4, 25.1, 72.4, 26.3]], ["C", [72.4, 28.7, 70, 28.7]], ["C", [68.8, 28.7, 67.85, 27.8]], ["C", [66.9, 26.9, 66.9, 25.7]], ["C", [66.9, 23.3, 69.3, 23.3]], ["C", [70.5, 23.3, 71.45, 24.2]], ["M", [62.1, 24.5]], ["L", [36.2, 7]], ["L", [38.2, 34.7]], ["L", [16.2, 35.9]], ["L", [31.1, 49.2]], ["L", [76.4, 29.3]], ["L", [73.6, 8.8]], ["L", [62.1, 24.5]], ["M", [53.5, 59.4]], ["C", [52.7, 61.5, 51.2, 61.5]], ["C", [48.4, 61.5, 48.4, 56]], ["C", [48.4, 54.3, 49, 52.7]], ["C", [49.8, 50.5, 51.2, 50.5]], ["C", [52.7, 50.5, 53.5, 52.6]], ["C", [54.1, 54.3, 54.1, 56]], ["C", [54.1, 57.8, 53.5, 59.4]], ["M", [76.9, 70.3]], ["L", [74.8, 67.9]], ["C", [72.8, 69.5, 72.8, 71.3]], ["C", [72.8, 73.4, 75.3, 73.4]], ["C", [77.3, 73.4, 79.2, 71.85]], ["C", [81.1, 70.3, 81.1, 68.4]], ["C", [81.1, 66.7, 79.6, 66.4]], ["C", [78.2, 66.1, 76.7, 66.7]], ["L", [76.9, 70.3]], ["M", [68.8, 62.5]], ["C", [71.9, 60.3, 75.4, 60.3]], ["C", [78.5, 60.3, 80.5, 62.05]], ["C", [82.5, 63.8, 82.5, 66.8]], ["C", [82.5, 71.8, 77.7, 75.2]], ["C", [74.6, 77.4, 71.1, 77.4]], ["C", [68, 77.4, 66, 75.6]], ["C", [64, 73.8, 64, 70.8]], ["C", [64, 65.9, 68.8, 62.5]], ["M", [64.1, 56]], ["C", [64.1, 57.8, 63.5, 59.4]], ["C", [62.7, 61.5, 61.2, 61.5]], ["C", [59.8, 61.5, 59, 59.3]], ["C", [58.4, 57.7, 58.4, 56]], ["C", [58.4, 54.3, 59, 52.7]], ["C", [59.8, 50.5, 61.2, 50.5]], ["C", [62.7, 50.5, 63.5, 52.6]], ["C", [64.1, 54.3, 64.1, 56]], ["M", [97.7, 55.2]], ["C", [97.7, 46.8, 91, 40.3]], ["C", [85, 34.5, 76.3, 32.1]], ["L", [34.6, 50.4]], ["C", [34, 52.8, 34, 55.2]], ["C", [34, 66.4, 44.7, 73.4]], ["C", [54.2, 79.6, 65.9, 79.6]], ["C", [77.7, 79.6, 87, 73.4]], ["C", [97.7, 66.4, 97.7, 55.2]], ["M", [90.2, 76.6]], ["C", [79.5, 84.1, 65.9, 84.1]], ["C", [52.2, 84.1, 41.5, 76.7]], ["C", [29.5, 68.3, 29.5, 55.2]], ["C", [29.5, 53.3, 29.8, 51.4]], ["L", [10, 33.7]], ["L", [35.5, 32.4]], ["L", [33.4, 2]], ["L", [61.5, 21.1]], ["L", [75.2, 2.3]], ["L", [78.8, 28.2]], ["C", [88.7, 31.1, 95.1, 38]], ["C", [102.2, 45.5, 102.2, 55.2]], ["C", [102.2, 68.3, 90.2, 76.6]]];
__motifs["e"] = [["M", [57.9, 73.7]], ["L", [56.6, 74.7]], ["C", [55.8, 72.2, 53.4, 72.2]], ["C", [51.9, 72.2, 50.4, 76.5]], ["L", [47.5, 77]], ["C", [49.6, 70.5, 53.2, 70.5]], ["C", [55.7, 70.5, 57.9, 73.7]], ["M", [28.8, 53.1]], ["L", [28.8, 53.3]], ["C", [28.8, 57.2, 32.2, 59.7]], ["C", [35.3, 61.9, 39.4, 61.9]], ["C", [43.5, 61.9, 46.75, 59.55]], ["C", [50, 57.2, 50, 53.3]], ["L", [50, 53.1]], ["L", [44.8, 53.1]], ["C", [44.7, 56.2, 41.7, 56.2]], ["C", [38.7, 56.2, 38.5, 53.1]], ["L", [28.8, 53.1]], ["M", [32.9, 46.5]], ["C", [29.7, 48.5, 28.9, 51.8]], ["L", [49.8, 51.8]], ["C", [49, 48.5, 46, 46.6]], ["C", [43, 44.7, 39.4, 44.7]], ["C", [35.8, 44.7, 32.9, 46.5]], ["M", [39.4, 43.2]], ["C", [44.1, 43.2, 47.6, 45.9]], ["C", [51.5, 48.8, 51.5, 53.3]], ["C", [51.5, 58, 47.8, 61.7]], ["C", [44.1, 65.4, 39.4, 65.4]], ["C", [34.7, 65.4, 30.8, 61.4]], ["C", [27.3, 57.7, 27.3, 53.3]], ["C", [27.3, 48.8, 31.2, 45.9]], ["C", [34.7, 43.2, 39.4, 43.2]], ["M", [75.2, 53.3]], ["L", [75.2, 53.1]], ["L", [65.5, 53.1]], ["C", [65.3, 56.2, 62.3, 56.2]], ["C", [59.3, 56.2, 59.2, 53.1]], ["L", [54, 53.1]], ["L", [54, 53.3]], ["C", [54, 57.2, 57.4, 59.7]], ["C", [60.5, 61.9, 64.6, 61.9]], ["C", [68.7, 61.9, 71.95, 59.55]], ["C", [75.2, 57.2, 75.2, 53.3]], ["M", [64.6, 44.7]], ["C", [61, 44.7, 58, 46.6]], ["C", [55, 48.5, 54.2, 51.8]], ["L", [75.1, 51.8]], ["C", [74.3, 48.5, 71.25, 46.6]], ["C", [68.2, 44.7, 64.6, 44.7]], ["M", [64.6, 43.2]], ["C", [69.3, 43.2, 72.8, 45.9]], ["C", [76.7, 48.8, 76.7, 53.3]], ["C", [76.7, 57.8, 72.8, 61.8]], ["C", [69.2, 65.4, 64.6, 65.4]], ["C", [59.9, 65.4, 56.2, 61.7]], ["C", [52.5, 58, 52.5, 53.3]], ["C", [52.5, 48.8, 56.4, 45.9]], ["C", [59.9, 43.2, 64.6, 43.2]], ["M", [46.4, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.4, 79.6]], ["C", [58.2, 79.6, 67.5, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.5, 37]], ["C", [58.2, 30.8, 46.4, 30.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.4, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]];
__motifs["r"] = [["M", [22, 27.7]], ["C", [20.7, 31.1, 20.7, 34.5]], ["C", [20.7, 39.3, 23.3, 42.3]], ["C", [24.2, 42.5, 25, 42.5]], ["C", [28.3, 42.5, 29.1, 38.4]], ["C", [22.8, 34.2, 22.1, 27.3]], ["L", [22, 27.7]], ["M", [71.8, 34.5]], ["C", [71.8, 31.1, 70.5, 27.7]], ["L", [70.4, 27.3]], ["C", [69.7, 34.2, 63.4, 38.4]], ["C", [64.2, 42.5, 67.5, 42.5]], ["C", [68.3, 42.5, 69.2, 42.3]], ["C", [71.8, 39.3, 71.8, 34.5]], ["M", [40.5, 72.3]], ["C", [40.3, 73.9, 43.3, 75]], ["C", [45.7, 75.8, 47.7, 75.8]], ["C", [51.5, 75.8, 51.8, 74]], ["C", [52, 72.4, 49, 71.3]], ["C", [46.6, 70.5, 44.6, 70.5]], ["C", [40.8, 70.5, 40.5, 72.3]], ["M", [42.2, 70]], ["L", [43.5, 68.6]], ["L", [51.4, 68.6]], ["L", [52.6, 70.2]], ["L", [53.7, 68.6]], ["L", [59.7, 68.6]], ["C", [59.7, 72.6, 55.8, 75]], ["C", [52.4, 77.1, 48.2, 77.1]], ["C", [44, 77.1, 40.7, 75]], ["C", [36.8, 72.5, 36.8, 68.6]], ["L", [41.2, 68.6]], ["L", [42.2, 70]], ["M", [58.2, 58.6]], ["C", [58.2, 60.6, 57.4, 62.4]], ["C", [56.4, 64.6, 54.6, 64.6]], ["C", [52.7, 64.6, 51.7, 62.4]], ["C", [50.9, 60.7, 50.9, 58.6]], ["C", [50.9, 56.5, 51.7, 54.8]], ["C", [52.7, 52.6, 54.6, 52.6]], ["C", [56.4, 52.6, 57.4, 54.8]], ["C", [58.2, 56.6, 58.2, 58.6]], ["M", [38, 58.6]], ["C", [38, 56.5, 38.8, 54.8]], ["C", [39.8, 52.6, 41.7, 52.6]], ["C", [43.5, 52.6, 44.5, 54.8]], ["C", [45.3, 56.6, 45.3, 58.6]], ["C", [45.3, 60.6, 44.5, 62.4]], ["C", [43.5, 64.6, 41.7, 64.6]], ["C", [39.8, 64.6, 38.8, 62.4]], ["C", [38, 60.7, 38, 58.6]], ["M", [38.9, 42.9]], ["C", [44.4, 43.3, 46.3, 51.5]], ["C", [44.4, 45.6, 39.7, 45.8]], ["C", [37.3, 45.9, 35.7, 47.7]], ["C", [34.1, 49.5, 33.8, 52]], ["C", [33.6, 47.3, 34.85, 45]], ["C", [36.1, 42.7, 38.9, 42.9]], ["M", [56.5, 45.8]], ["C", [51.8, 45.6, 49.9, 51.5]], ["C", [51.8, 43.3, 57.3, 42.9]], ["C", [60, 42.7, 61.3, 45]], ["C", [62.6, 47.3, 62.4, 52]], ["C", [62.1, 49.5, 60.5, 47.7]], ["C", [58.9, 45.9, 56.5, 45.8]], ["M", [41.1, 39.1]], ["C", [37.9, 37.3, 34, 37.3]], ["C", [32.8, 37.3, 31.2, 37.4]], ["C", [30.5, 44.5, 25, 44.5]], ["C", [23.6, 44.5, 22.2, 44]], ["C", [21.4, 43.1, 20.7, 42.1]], ["C", [19.9, 44.2, 19.9, 46.9]], ["C", [19.9, 51.5, 22.6, 58.8]], ["C", [19.9, 55.7, 14.5, 54.6]], ["L", [14.5, 55.2]], ["C", [14.5, 66.5, 25.2, 73.5]], ["C", [34.6, 79.6, 46.4, 79.6]], ["C", [57.1, 79.6, 66, 74.4]], ["C", [76, 68.5, 77.9, 58.7]], ["C", [77.1, 58.4, 75.8, 58.4]], ["C", [73.5, 58.4, 70.4, 59.4]], ["C", [73.9, 56.8, 73.9, 53.9]], ["C", [73.9, 50.8, 68.4, 44.4]], ["C", [62.1, 45.2, 61.5, 37.2]], ["C", [60, 36.5, 58.4, 36.5]], ["C", [52.9, 36.5, 46.8, 43.9]], ["C", [43.4, 40.5, 41.1, 39.1]], ["M", [68.9, 21.7]], ["C", [71, 21.7, 72.6, 28]], ["C", [73.9, 33.4, 73.7, 36.1]], ["C", [82.7, 44.3, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 44.5, 18.8, 36.3]], ["C", [18.5, 33.5, 19.9, 28]], ["C", [21.5, 21.7, 23.6, 21.7]], ["C", [24.5, 21.7, 24.2, 24.2]], ["C", [23.7, 28.2, 25.4, 31.6]], ["C", [34.8, 26.3, 46.4, 26.3]], ["C", [57.8, 26.3, 67.1, 31.5]], ["C", [68.8, 28.2, 68.3, 24.2]], ["C", [68, 21.7, 68.9, 21.7]]];
__motifs["t"] = [["M", [47.6, 65.9]], ["C", [48.6, 64.5, 54, 63.9]], ["C", [52.95, 63.6, 50.9, 60.3]], ["C", [50.5, 59.9, 50.05, 59.9]], ["C", [48.4, 59.9, 47.6, 65.9]], ["M", [47.6, 70.1]], ["C", [47.6, 73.5, 53.3, 73.5]], ["C", [59, 73.5, 59, 70.1]], ["C", [59, 68.4, 56.85, 67.45]], ["C", [55.2, 66.7, 53.3, 66.7]], ["C", [51.4, 66.7, 49.75, 67.45]], ["C", [47.6, 68.4, 47.6, 70.1]], ["M", [70, 65]], ["C", [73.75, 63, 75.75, 63]], ["C", [78.15, 63, 78.15, 65.4]], ["C", [76.6, 70, 68.9, 73.5]], ["C", [62.8, 76.1, 56.5, 77]], ["C", [55.3, 77.1, 54, 77.1]], ["C", [45.8, 77.1, 45.8, 68.4]], ["C", [45.8, 65.7, 47, 62.2]], ["C", [48.4, 57.8, 50.5, 57.8]], ["C", [51.5, 57.8, 52.1, 59.2]], ["C", [55.3, 66.15, 63.35, 66.15]], ["C", [66.8, 66.15, 70, 65]], ["M", [61.9, 61.7]], ["C", [60.4, 61.7, 59.55, 59.6]], ["C", [59, 57.9, 59, 56.25]], ["C", [59, 54.45, 59.55, 52.85]], ["C", [60.4, 50.75, 61.9, 50.75]], ["C", [64.7, 50.75, 64.7, 56.25]], ["C", [64.7, 57.9, 64.1, 59.5]], ["C", [63.3, 61.7, 61.9, 61.7]], ["M", [74.1, 59.5]], ["C", [73.3, 61.7, 71.9, 61.7]], ["C", [70.4, 61.7, 69.6, 59.6]], ["C", [69, 57.9, 69, 56.25]], ["C", [69, 54.45, 69.6, 52.85]], ["C", [70.4, 50.75, 71.9, 50.75]], ["C", [74.7, 50.75, 74.7, 56.25]], ["C", [74.7, 57.9, 74.1, 59.5]], ["M", [87.55, 47.8]], ["C", [86.65, 47.5, 74.4, 45.2]], ["C", [66, 43.6, 64.8, 40.8]], ["C", [64, 38.9, 69.75, 30.7]], ["L", [68.5, 30.4]], ["C", [61.9, 39.2, 61.9, 41]], ["C", [61.9, 43.1, 53.8, 45.8]], ["C", [46.55, 48.2, 43.4, 48.2]], ["C", [39.85, 48.2, 38.05, 46.7]], ["C", [36.9, 45.8, 35.75, 45.8]], ["C", [32.5, 45.8, 29.35, 51]], ["C", [26.8, 54.95, 25.85, 59.1]], ["C", [28.05, 68.8, 37.95, 74.5]], ["C", [46.75, 79.6, 57.3, 79.6]], ["C", [69.1, 79.6, 78.35, 73.4]], ["C", [89.05, 66.4, 89.05, 55.15]], ["C", [89.05, 51.4, 87.55, 47.8]], ["M", [98, 62.5]], ["C", [97.5, 66.1, 97.5, 67.9]], ["C", [97.5, 73.9, 100.95, 79.5]], ["C", [101.2, 80, 101.2, 80.6]], ["C", [101.2, 82.2, 100, 83.45]], ["C", [98.85, 84.7, 97.2, 84.7]], ["C", [96, 84.7, 94.8, 83.8]], ["C", [92.8, 87, 90.35, 87]], ["C", [88.35, 87, 86.45, 84.6]], ["C", [83.4, 80.7, 83.4, 76.9]], ["C", [83.4, 76, 83.6, 75.1]], ["C", [72.8, 84.1, 57.3, 84.1]], ["C", [48.4, 84.1, 40.55, 80.9]], ["C", [32.05, 77.4, 26.8, 70.9]], ["C", [27, 75.4, 25.85, 78.6]], ["C", [24.2, 83, 20.3, 83.1]], ["C", [15.25, 83.2, 15.25, 80.5]], ["C", [15.25, 79.8, 15.65, 79]], ["C", [14.4, 79.4, 13.25, 79.4]], ["C", [10.1, 79.4, 10, 76.3]], ["C", [9.9, 74.3, 11.45, 73]], ["C", [12.95, 71.7, 14.4, 70.2]], ["C", [15.8, 68.1, 15.55, 64.5]], ["C", [15.05, 59.15, 18.6, 48.95]], ["C", [23.65, 34.8, 32.8, 26.45]], ["C", [43.2, 17.3, 57.4, 17.3]], ["C", [65, 17.3, 73.6, 19.95]], ["C", [85.2, 23.7, 92.1, 34.35]], ["C", [98.5, 44.5, 98.5, 57.05]], ["C", [98.5, 58.9, 98, 62.5]]];
__motifs["y"] = [["M", [43.7, 32.8]], ["C", [44.75, 32.8, 45.2, 32.8]], ["C", [49.7, 32.8, 52.85, 31.25]], ["C", [49.6, 30.8, 46.4, 30.8]], ["C", [37.2, 30.8, 29.5, 34.4]], ["C", [20.9, 38.5, 17, 45.9]], ["C", [14.8, 50.1, 14.8, 55.8]], ["C", [14.8, 58.1, 19.4, 61.5]], ["C", [25.6, 66.1, 26.1, 66.8]], ["C", [28.15, 64, 29.5, 62.6]], ["C", [20, 59.4, 20, 52.8]], ["C", [20, 48.6, 23.5, 47.3]], ["C", [25.75, 46.9, 30.2, 46.1]], ["C", [34.05, 45.3, 34.6, 42.3]], ["C", [35.7, 36.8, 36.25, 35.8]], ["C", [37.8, 32.8, 42.2, 32.8]], ["C", [42.7, 32.8, 43.7, 32.8]], ["M", [66.8, 45]], ["C", [67.65, 47.2, 67.65, 49.4]], ["C", [67.65, 54.3, 64.25, 57.85]], ["C", [60.95, 61.4, 56.1, 61.4]], ["C", [52.2, 61.4, 49.1, 59.1]], ["C", [46, 56.8, 44.65, 53.1]], ["L", [42.65, 54]], ["L", [41, 51.1]], ["L", [47.7, 49.7]], ["L", [48.5, 51.9]], ["L", [46.55, 52.4]], ["C", [47.6, 55.5, 50.2, 57.45]], ["C", [52.85, 59.4, 56.1, 59.4]], ["C", [57.7, 59.4, 59.35, 58.8]], ["C", [65.65, 56.5, 65.65, 49.4]], ["C", [65.65, 47.5, 65.05, 45.7]], ["L", [62.7, 46.1]], ["L", [62.1, 43.7]], ["L", [68.5, 42.4]], ["L", [69, 44.9]], ["L", [66.8, 45]], ["M", [44.55, 45.7]], ["C", [45.9, 45.7, 45.9, 44.2]], ["C", [45.9, 42.7, 44.55, 42.7]], ["C", [43, 42.7, 43, 44.2]], ["C", [43, 45.7, 44.55, 45.7]], ["M", [48.9, 39.1]], ["C", [50.2, 40.35, 50.2, 42.3]], ["C", [50.2, 44.2, 48.9, 45.4]], ["C", [47.6, 46.65, 45.7, 46.65]], ["C", [43.9, 46.65, 42.65, 45.35]], ["C", [41.3, 44.1, 41.3, 42.3]], ["C", [41.3, 40.35, 42.6, 39.1]], ["C", [43.8, 37.8, 45.7, 37.8]], ["C", [47.6, 37.8, 48.9, 39.1]], ["M", [57.9, 39.2]], ["C", [56.5, 39.2, 56.5, 40.55]], ["C", [56.5, 42.1, 57.9, 42.1]], ["C", [59.4, 42.1, 59.4, 40.55]], ["C", [59.4, 39.2, 57.9, 39.2]], ["M", [58.7, 34.5]], ["C", [60.65, 34.5, 61.9, 35.8]], ["C", [63.25, 37, 63.25, 38.9]], ["C", [63.25, 40.8, 61.9, 42.1]], ["C", [60.65, 43.4, 58.7, 43.4]], ["C", [56.9, 43.4, 55.6, 42.1]], ["C", [54.3, 40.8, 54.3, 39]], ["C", [54.3, 37.1, 55.55, 35.85]], ["C", [56.8, 34.5, 58.7, 34.5]], ["M", [43.7, 35.8]], ["C", [42.7, 35.8, 42.2, 35.8]], ["C", [39.3, 35.8, 38.2, 38.95]], ["C", [38.1, 39.15, 37, 44.65]], ["C", [35.4, 48.15, 30.4, 48.9]], ["C", [27.5, 49.45, 25.7, 49.7]], ["C", [23, 50.4, 23, 52.8]], ["C", [23, 58.2, 33, 60.5]], ["C", [34.5, 60.9, 34.5, 61.9]], ["C", [34.5, 62.3, 32.3, 64.5]], ["C", [29.75, 67.2, 29.65, 67.3]], ["C", [27, 70.8, 25.95, 70.8]], ["C", [25.2, 70.8, 24.8, 70.1]], ["C", [23.65, 68, 16.1, 62.7]], ["C", [19.75, 71, 28.7, 75.5]], ["C", [36.7, 79.6, 46.45, 79.6]], ["C", [58.2, 79.6, 67.55, 73.4]], ["C", [78.2, 66.4, 78.2, 55.15]], ["C", [78.2, 46.65, 71.45, 40.1]], ["C", [65.35, 34.3, 56.5, 32]], ["C", [53.2, 35.8, 45.2, 35.8]], ["C", [44.75, 35.8, 43.7, 35.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.45, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.45, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]];
__motifs["u"] = [["M", [16.3, 20.5]], ["C", [16.15, 21.5, 17.15, 24.75]], ["C", [18.6, 29.5, 19.8, 30.55]], ["C", [21, 31.6, 21.1, 33.4]], ["C", [15.4, 28.6, 15.4, 23.7]], ["C", [15.4, 22.1, 16.2, 20.6]], ["C", [16.25, 20.55, 16.3, 20.5]], ["M", [25.1, 6.7]], ["C", [23.6, 6.5, 20.2, 10.1]], ["C", [17.5, 12.9, 16.2, 14.9]], ["C", [13, 20.1, 13, 25.2]], ["C", [13, 29.4, 15.1, 33.6]], ["C", [15.9, 35.2, 20.9, 39.5]], ["C", [24.6, 35, 30.2, 31.7]], ["C", [28.8, 29.6, 26.1, 25.25]], ["C", [23.4, 20.9, 23.7, 19.7]], ["C", [26, 11, 26, 8.8]], ["C", [26, 6.8, 25.1, 6.7]], ["M", [43, 63.9]], ["C", [43, 62.7, 43.5, 61.4]], ["L", [48.2, 62.3]], ["C", [47.1, 66.6, 45.1, 66.6]], ["C", [43, 66.6, 43, 63.9]], ["M", [38.3, 67.8]], ["L", [38.5, 66.8]], ["L", [40.5, 67.1]], ["L", [40.3, 68.1]], ["C", [39.9, 70, 41.2, 71.6]], ["C", [42.5, 73.2, 44.4, 73.5]], ["C", [46.3, 73.8, 48, 72.65]], ["C", [49.7, 71.5, 49.9, 69.6]], ["L", [50, 68.6]], ["L", [52, 69]], ["L", [51.9, 69.9]], ["C", [51.6, 72.6, 49.2, 74.2]], ["C", [46.8, 75.8, 44.1, 75.4]], ["C", [41.4, 75, 39.6, 72.75]], ["C", [37.8, 70.5, 38.3, 67.8]], ["M", [54.6, 58.3]], ["C", [52.1, 58, 50.7, 55.6]], ["C", [49.5, 53.5, 49.7, 50.8]], ["C", [49.5, 51.9, 49.5, 53.1]], ["C", [49.5, 56.2, 51, 58.8]], ["C", [52.8, 61.9, 55.7, 61.9]], ["C", [58.6, 61.9, 60.4, 58.8]], ["C", [61.9, 56.3, 61.9, 53.1]], ["C", [61.9, 49.3, 60, 46.6]], ["C", [61.3, 49, 61, 51.7]], ["C", [60.7, 54.4, 58.95, 56.5]], ["C", [57.2, 58.6, 54.6, 58.3]], ["M", [53.3, 47.2]], ["C", [52.4, 46.8, 51.6, 48.5]], ["C", [50.9, 50.2, 51.8, 50.6]], ["C", [52.7, 51, 53.5, 49.3]], ["C", [54.2, 47.6, 53.3, 47.2]], ["M", [59.7, 44.6]], ["C", [60.7, 43.9, 62.3, 41.6]], ["C", [61.9, 43.6, 61.9, 43.7]], ["C", [61.6, 44.8, 60.7, 45.5]], ["L", [60.9, 45.8]], ["C", [62.3, 45.6, 65, 43.4]], ["C", [62.9, 46.5, 61.6, 46.9]], ["L", [61.7, 47.1]], ["C", [63.8, 47.4, 66.2, 45.7]], ["C", [64.9, 47.1, 64.5, 47.5]], ["C", [63.5, 48.3, 62.4, 48.5]], ["C", [63.1, 50.7, 63.1, 53.1]], ["C", [63.1, 56.8, 61.3, 59.7]], ["C", [59.2, 63.2, 55.7, 63.2]], ["C", [52.2, 63.2, 50.1, 59.7]], ["C", [48.3, 56.8, 48.3, 53.1]], ["C", [48.3, 49.4, 50.1, 46.5]], ["C", [52.2, 43, 55.7, 43]], ["C", [57.9, 43, 59.7, 44.6]], ["M", [32.7, 58.8]], ["C", [34.4, 61.9, 37.3, 61.9]], ["C", [40.2, 61.9, 42, 58.8]], ["C", [43.5, 56.3, 43.5, 53.1]], ["C", [43.5, 49.3, 41.6, 46.6]], ["C", [42.9, 48.9, 42.6, 51.7]], ["C", [42.3, 54.4, 40.7, 56.4]], ["C", [38.8, 58.6, 36.2, 58.3]], ["C", [33.7, 58, 32.4, 55.7]], ["C", [31.1, 53.4, 31.4, 50.8]], ["C", [31.2, 51.9, 31.2, 53.1]], ["C", [31.2, 56.2, 32.7, 58.8]], ["M", [34.9, 47.2]], ["C", [33.9, 46.8, 33.2, 48.5]], ["C", [32.4, 50.2, 33.4, 50.6]], ["C", [34.3, 51, 35.1, 49.3]], ["C", [35.8, 47.6, 34.9, 47.2]], ["M", [42.5, 45.8]], ["C", [43.9, 45.6, 46.6, 43.4]], ["C", [44.6, 46.5, 43.2, 46.9]], ["L", [43.3, 47.1]], ["C", [45.4, 47.4, 47.8, 45.7]], ["C", [46.5, 47.1, 46.1, 47.5]], ["C", [45.1, 48.3, 44, 48.5]], ["C", [44.8, 50.7, 44.8, 53.1]], ["C", [44.8, 56.7, 42.9, 59.7]], ["C", [40.7, 63.2, 37.3, 63.2]], ["C", [33.8, 63.2, 31.7, 59.7]], ["C", [29.9, 56.8, 29.9, 53.1]], ["C", [29.9, 49.4, 31.7, 46.5]], ["C", [33.8, 43, 37.3, 43]], ["C", [39.6, 43, 41.4, 44.6]], ["C", [42.3, 43.9, 43.9, 41.6]], ["C", [43.5, 43.6, 43.5, 43.7]], ["C", [43.2, 44.8, 42.3, 45.5]], ["L", [42.5, 45.8]], ["M", [100.2, 14.7]], ["C", [100.2, 20.6, 91, 28.1]], ["C", [83, 34.6, 78.7, 35.3]], ["C", [79.4, 36.3, 80.4, 38]], ["L", [93.7, 28.6]], ["C", [102.6, 22.3, 102.6, 14.4]], ["C", [102.6, 10.7, 100.1, 7.6]], ["C", [96.8, 3.5, 93, 3.5]], ["C", [87.5, 3.5, 81.2, 12.2]], ["C", [79.6, 14.4, 69.3, 35.2]], ["C", [61.2, 30.8, 51.1, 30.8]], ["C", [39.3, 30.8, 29.9, 37]], ["C", [19.2, 44, 19.2, 55.2]], ["C", [19.2, 66.4, 29.9, 73.4]], ["C", [39.4, 79.6, 51.1, 79.6]], ["C", [62.9, 79.6, 72.2, 73.4]], ["C", [82.9, 66.4, 82.9, 55.2]], ["C", [82.9, 46.5, 75.5, 39.6]], ["C", [77.5, 28.9, 80.7, 20.6]], ["C", [85.9, 6.9, 92.2, 6.9]], ["C", [94.1, 6.9, 96.1, 8.2]], ["C", [100.2, 10.9, 100.2, 14.7]], ["M", [107.5, 12]], ["C", [107.5, 19.8, 94.4, 29.6]], ["C", [89.9, 33, 81.2, 39]], ["C", [87.4, 46.3, 87.4, 55.2]], ["C", [87.4, 68.3, 75.4, 76.6]], ["C", [64.7, 84.1, 51.1, 84.1]], ["C", [37.4, 84.1, 26.7, 76.7]], ["C", [14.7, 68.3, 14.7, 55.2]], ["C", [14.7, 47.7, 19.2, 41.3]], ["C", [15, 38.9, 12.5, 34.4]], ["C", [10, 29.9, 10, 25]], ["C", [10, 16.7, 16.3, 9]], ["C", [22, 2, 25.5, 2.7]], ["C", [28.5, 3.3, 28.5, 9.8]], ["C", [28.5, 12.4, 28.1, 15.7]], ["L", [27.6, 19.9]], ["C", [27.5, 22.5, 33.5, 29.9]], ["C", [41.7, 26.3, 51.1, 26.3]], ["C", [60.9, 26.3, 69.4, 30.2]], ["C", [71, 26.3, 75.2, 17.7]], ["C", [79.9, 8.1, 81.6, 6.4]], ["C", [88.1, 0, 93.9, 0]], ["C", [99.2, 0, 104, 4.6]], ["C", [107.5, 7.9, 107.5, 12]]];
__motifs["i"] = [["M", [54.3, 56.6]], ["C", [55.9, 56.6, 55.9, 58.2]], ["C", [55.9, 59.8, 54.3, 59.8]], ["C", [52.7, 59.8, 52.7, 58.2]], ["C", [52.7, 56.6, 54.3, 56.6]], ["M", [45.8, 57.7]], ["C", [45.8, 61.1, 48.25, 63.55]], ["C", [50.7, 66, 54.1, 66]], ["C", [57.6, 66, 60, 63.6]], ["C", [62.4, 61.2, 62.4, 57.7]], ["C", [62.4, 54.2, 60, 51.75]], ["C", [57.6, 49.3, 54.1, 49.3]], ["C", [50.6, 49.3, 48.2, 51.75]], ["C", [45.8, 54.2, 45.8, 57.7]], ["M", [34, 71.1]], ["C", [35.6, 75, 40.2, 75]], ["C", [44.8, 75, 44.5, 70.9]], ["L", [46.3, 71.8]], ["C", [45.7, 77.3, 40.5, 77.3]], ["C", [35.4, 77.3, 32.6, 72.9]], ["L", [34, 71.1]], ["M", [34.25, 67.6]], ["C", [30.7, 70.5, 26.1, 70.5]], ["C", [22.9, 70.5, 20.1, 69]], ["C", [29.6, 79.6, 46.3, 79.6]], ["C", [57.6, 79.6, 66.7, 74]], ["C", [77.1, 67.5, 78.1, 56.9]], ["L", [66.8, 59.6]], ["C", [66.1, 64.3, 62.5, 67.4]], ["C", [58.9, 70.5, 54.1, 70.5]], ["C", [49.5, 70.5, 46, 67.6]], ["C", [42.5, 64.7, 41.6, 60.2]], ["L", [38.7, 60.2]], ["C", [37.8, 64.7, 34.25, 67.6]], ["M", [31.1, 59.7]], ["C", [29.5, 59.7, 29.5, 58.1]], ["C", [29.5, 56.5, 31.1, 56.5]], ["C", [32.7, 56.5, 32.7, 58.1]], ["C", [32.7, 59.7, 31.1, 59.7]], ["M", [32, 51.75]], ["C", [29.6, 49.3, 26.1, 49.3]], ["C", [22.6, 49.3, 20.2, 51.75]], ["C", [17.8, 54.2, 17.8, 57.7]], ["C", [17.8, 61.1, 20.25, 63.55]], ["C", [22.7, 66, 26.1, 66]], ["C", [29.6, 66, 32, 63.6]], ["C", [34.4, 61.2, 34.4, 57.7]], ["C", [34.4, 54.2, 32, 51.75]], ["M", [51, 43]], ["C", [46.4, 47, 41.5, 47]], ["C", [36.9, 47, 33.4, 43.9]], ["C", [32.1, 44.1, 30.9, 44.1]], ["C", [26.8, 44.1, 23.8, 41.6]], ["C", [20.7, 46.8, 16.4, 46.8]], ["C", [15.3, 49.2, 14.8, 51.6]], ["C", [18.5, 44.8, 26.1, 44.8]], ["C", [30.7, 44.8, 34.2, 47.6]], ["C", [37.7, 50.4, 38.6, 54.9]], ["L", [41.6, 54.9]], ["C", [42.6, 50.5, 46, 47.7]], ["C", [49.4, 44.9, 53.9, 44.8]], ["C", [52.3, 44, 51, 43]], ["M", [61.3, 47]], ["C", [65.4, 49.8, 66.6, 54.6]], ["L", [68.2, 54.2]], ["C", [66.7, 52.9, 66.7, 49.7]], ["C", [66.7, 46.6, 67.9, 42.9]], ["C", [65.5, 46.9, 61.3, 47]], ["M", [70.7, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.7]], ["C", [60, 84.1, 46.3, 84.1]], ["C", [32.7, 84.1, 22, 76.6]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 21.9, 33.7]], ["C", [32.6, 26.3, 46.3, 26.3]], ["C", [60, 26.3, 70.7, 33.7]]];
__motifs["o"] = [["M", [67.45, 39.1]], ["C", [68.7, 40.35, 68.7, 42.3]], ["C", [68.7, 44.1, 67.4, 45.35]], ["C", [66.1, 46.65, 64.3, 46.65]], ["C", [62.4, 46.65, 61.15, 45.4]], ["C", [59.8, 44.2, 59.8, 42.3]], ["C", [59.8, 40.35, 61.15, 39.1]], ["C", [62.4, 37.8, 64.3, 37.8]], ["C", [66.2, 37.8, 67.45, 39.1]], ["M", [43.2, 45]], ["L", [41, 45]], ["L", [41.5, 42.4]], ["L", [47.9, 43.7]], ["L", [47.3, 46.1]], ["L", [45, 45.7]], ["C", [44.45, 47.5, 44.45, 49.4]], ["C", [44.45, 56.55, 50.75, 58.85]], ["C", [52.35, 59.4, 53.9, 59.4]], ["C", [57.25, 59.4, 59.8, 57.45]], ["C", [62.4, 55.5, 63.55, 52.4]], ["L", [61.5, 51.9]], ["L", [62.3, 49.7]], ["L", [69, 51.1]], ["L", [67.45, 54]], ["L", [65.45, 53.1]], ["C", [64, 56.85, 60.95, 59.1]], ["C", [57.8, 61.4, 53.9, 61.4]], ["C", [47.85, 61.4, 44.55, 56.35]], ["C", [42.45, 53.2, 42.45, 49.4]], ["C", [42.45, 47.2, 43.2, 45]], ["M", [54.45, 35.85]], ["C", [55.7, 37.1, 55.7, 39]], ["C", [55.7, 40.8, 54.4, 42.1]], ["C", [53.15, 43.4, 51.3, 43.4]], ["C", [49.4, 43.4, 48.15, 42.1]], ["C", [46.85, 40.8, 46.85, 38.9]], ["C", [46.85, 37, 48.15, 35.8]], ["C", [49.4, 34.5, 51.3, 34.5]], ["C", [53.2, 34.5, 54.45, 35.85]], ["M", [46.45, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.45, 79.6]], ["C", [58.2, 79.6, 67.55, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.55, 37]], ["C", [58.2, 30.8, 46.45, 30.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.45, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.45, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]];
__motifs["p"] = [["M", [31.55, 67.3]], ["C", [33.65, 65.1, 36.25, 65.1]], ["C", [36.9, 65.1, 37.6, 65.1]], ["C", [39.1, 64.7, 40.65, 64.7]], ["C", [43.9, 64.7, 44.75, 67.05]], ["C", [45.8, 70.25, 45.7, 73.7]], ["C", [61.25, 71.3, 66.2, 59.8]], ["C", [57.8, 65.5, 51.1, 65.5]], ["C", [48.35, 65.5, 46.25, 64.4]], ["C", [40.55, 61.5, 36.15, 58.1]], ["C", [29.45, 52.9, 29.45, 49.1]], ["C", [28.15, 53.4, 28.15, 57.6]], ["C", [28.15, 64, 31.55, 67.3]], ["M", [40.25, 73.3]], ["C", [40.55, 73.7, 41.9, 73.7]], ["C", [42.7, 73.7, 43.9, 73.6]], ["C", [44.25, 73.3, 43.9, 71.85]], ["C", [43.1, 68.5, 43, 68.1]], ["C", [42.65, 66.2, 40.25, 66.2]], ["C", [39.2, 66.2, 37.8, 66.5]], ["C", [37.2, 67.1, 32.6, 75.9]], ["C", [32.5, 75.8, 32.5, 75.35]], ["C", [32.6, 72.4, 36.35, 66.6]], ["C", [33.4, 66, 31.7, 70.95]], ["C", [29.85, 73.7, 29.85, 76.7]], ["C", [29.85, 79.6, 33.9, 79.6]], ["C", [38.1, 79.6, 39.5, 74.05]], ["L", [40.25, 73.3]], ["M", [55.35, 48.95]], ["C", [57.15, 50.8, 57.15, 53.3]], ["C", [57.15, 55.3, 55.85, 56.65]], ["C", [54.65, 58, 52.65, 58]], ["C", [49.6, 58, 47.85, 55.3]], ["C", [46.75, 53.7, 46.75, 51.9]], ["C", [46.75, 49.9, 48, 48.5]], ["C", [49.2, 47.1, 51.2, 47.1]], ["C", [53.6, 47.1, 55.35, 48.95]], ["M", [56.55, 39.75]], ["C", [55.7, 39.9, 55.3, 39.9]], ["C", [53.6, 39.9, 53.6, 38.9]], ["C", [53.6, 38.1, 54.5, 37.5]], ["C", [55.4, 36.9, 56.3, 36.9]], ["C", [60.5, 36.9, 62.9, 45.9]], ["L", [61.25, 47.6]], ["C", [61.45, 46.5, 61.45, 45.4]], ["C", [61.45, 39.6, 57.8, 39.6]], ["C", [57.4, 39.6, 56.55, 39.75]], ["M", [42.7, 48.65]], ["C", [40.9, 49.8, 39.1, 49.8]], ["C", [36.45, 49.8, 35.9, 48]], ["C", [35.4, 46.35, 37.3, 45]], ["C", [38.9, 43.85, 40.7, 43.85]], ["C", [43.4, 43.85, 43.9, 45.75]], ["C", [44.45, 47.4, 42.7, 48.65]], ["M", [44.65, 35.9]], ["C", [46.3, 37.3, 46.3, 38.7]], ["C", [46.3, 39.5, 45.1, 39.5]], ["C", [42.35, 39.5, 40.7, 37.3]], ["C", [40.1, 36.5, 39.4, 36.5]], ["C", [37.9, 36.5, 36.45, 39.6]], ["L", [35.3, 38.7]], ["C", [38.45, 34.5, 41.5, 34.5]], ["C", [42.9, 34.5, 44.65, 35.9]], ["M", [46.45, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 61.4, 18.5, 66.9]], ["C", [22.1, 71.8, 27.95, 75]], ["C", [28.15, 72.9, 29.95, 70]], ["C", [26.1, 65.15, 26.1, 56.35]], ["C", [26.1, 50.15, 27.75, 43.85]], ["L", [30.6, 43.85]], ["C", [30.6, 44.6, 30.6, 45.55]], ["C", [30.6, 50.65, 35.8, 55.45]], ["C", [39.9, 59.05, 45.6, 61.5]], ["C", [48.65, 62.85, 51.9, 62.85]], ["C", [60.3, 62.85, 68.3, 55.5]], ["L", [69.55, 58.4]], ["C", [61.35, 75.9, 44.55, 75.9]], ["C", [42.8, 75.9, 41.1, 75.9]], ["C", [40.35, 77.85, 39, 78.95]], ["C", [42.65, 79.6, 46.45, 79.6]], ["C", [58.2, 79.6, 67.55, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.55, 37]], ["C", [58.2, 30.8, 46.45, 30.8]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.45, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.45, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]];
__motifs["["] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]];
__motifs["]"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]];
__motifs["\\"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]];
__motifs["'"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]];
__motifs[";"] = [["M", [76.05, 89.7]], ["L", [75.85, 89.7]], ["C", [75.4, 88.2, 74, 88.4]], ["C", [71.9, 88.7, 72.2, 90.6]], ["C", [72.4, 91.7, 74.1, 91.8]], ["C", [75.3, 91.8, 75.4, 92.4]], ["C", [75.5, 93.2, 74.6, 93.4]], ["C", [73.95, 93.5, 73.6, 92.5]], ["L", [74, 92.4]], ["L", [73.85, 91.9]], ["L", [72.5, 92.2]], ["L", [72.6, 92.9]], ["L", [72.8, 92.9]], ["C", [73.4, 94.4, 74.7, 94.1]], ["C", [76.4, 93.9, 76.1, 92.2]], ["C", [76.05, 91, 74.1, 91]], ["C", [73.1, 90.9, 73, 90.4]], ["C", [72.9, 89.4, 74.1, 89.2]], ["C", [74.7, 89.1, 75, 89.8]], ["L", [74.8, 89.8]], ["L", [74.8, 90.4]], ["L", [76.05, 90.2]], ["L", [76.05, 89.7]], ["M", [62.4, 91.1]], ["L", [62.4, 91.6]], ["L", [62.7, 91.5]], ["L", [63.45, 95.1]], ["L", [63.1, 95.2]], ["L", [63.2, 95.8]], ["L", [64.6, 95.5]], ["L", [64.5, 95]], ["L", [64.2, 95]], ["L", [63.45, 90.8]], ["L", [62.4, 91.1]], ["M", [62.9, 89.2]], ["C", [62.5, 89.3, 62, 89.8]], ["C", [62.1, 90.3, 62.8, 90.3]], ["C", [63.35, 90.3, 63.7, 89.8]], ["C", [63.7, 89.3, 62.9, 89.2]], ["M", [67.9, 91.9]], ["C", [68.1, 93.2, 66.2, 93.5]], ["C", [65.1, 93.7, 65, 93]], ["C", [64.8, 91.7, 66.7, 91.4]], ["C", [67.8, 91.2, 67.9, 91.9]], ["M", [66.6, 90.6]], ["C", [63.9, 91, 64.2, 93]], ["C", [64.5, 94.6, 66.3, 94.3]], ["C", [69, 93.9, 68.7, 91.9]], ["C", [68.4, 90.3, 66.6, 90.6]], ["M", [68.8, 91]], ["L", [69.1, 93.4]], ["C", [69.3, 95.3, 71, 95]], ["C", [72.3, 94.8, 72.1, 93]], ["L", [71.9, 91.1]], ["L", [72.3, 91.1]], ["L", [72.1, 90.6]], ["L", [70.7, 90.6]], ["L", [70.8, 91.3]], ["L", [71.1, 91.2]], ["L", [71.3, 93.1]], ["C", [71.4, 94.2, 70.8, 94.3]], ["C", [70, 94.4, 69.9, 93.4]], ["L", [69.65, 90.8]], ["L", [70.2, 90.7]], ["L", [70.1, 90.2]], ["L", [68.4, 90.3]], ["L", [68.6, 91.1]], ["L", [68.8, 91]], ["M", [60.6, 91.7]], ["C", [61.35, 91.5, 61.8, 93.1]], ["L", [61.5, 93.2]], ["L", [61.6, 93.9]], ["L", [62.8, 93.4]], ["L", [62.7, 93]], ["L", [62.5, 93]], ["C", [61.9, 90.6, 60.5, 90.9]], ["C", [58.7, 91.1, 59.25, 94]], ["C", [59.6, 96.8, 61.45, 96.5]], ["C", [62, 96.4, 62.4, 95.7]], ["L", [62.6, 95.7]], ["L", [62.9, 95.2]], ["L", [61.6, 95]], ["L", [61.5, 95.3]], ["L", [61.7, 95.4]], ["C", [61.5, 95.7, 61.35, 95.8]], ["C", [60.3, 95.9, 60, 93.9]], ["C", [59.6, 91.8, 60.6, 91.7]], ["M", [55.5, 95.3]], ["C", [55.6, 95.7, 54.8, 95.9]], ["C", [54, 96, 53.9, 95.5]], ["C", [53.9, 95.1, 54.7, 95]], ["C", [55.4, 94.9, 55.5, 95.3]], ["M", [54.3, 93.4]], ["L", [53.9, 93.4]], ["C", [54, 92.7, 54.4, 92.6]], ["C", [54.95, 92.5, 55.2, 93.5]], ["L", [55.3, 94.3]], ["C", [54.95, 94.1, 54.5, 94.2]], ["C", [53.15, 94.4, 53.3, 95.6]], ["C", [53.5, 96.9, 54.95, 96.6]], ["C", [55.3, 96.6, 55.7, 96.3]], ["L", [55.7, 96.5]], ["L", [55.6, 96.5]], ["L", [55.7, 97.1]], ["L", [57.05, 97]], ["L", [56.8, 96.2]], ["L", [56.5, 96.3]], ["L", [55.9, 93.4]], ["C", [55.5, 91.6, 54.2, 91.8]], ["C", [53.2, 92, 53.2, 93.3]], ["L", [52.95, 93.3]], ["L", [52.85, 94.1]], ["L", [54.3, 93.8]], ["L", [54.3, 93.4]], ["M", [57.8, 92.2]], ["L", [58.4, 95.9]], ["L", [58.1, 96]], ["L", [58.3, 96.6]], ["L", [59.6, 96.3]], ["L", [59.5, 95.8]], ["L", [59.25, 95.8]], ["L", [58.5, 91.6]], ["L", [57.5, 91.9]], ["L", [57.4, 92.4]], ["L", [57.8, 92.2]], ["M", [57.9, 91.1]], ["C", [58.4, 91.1, 58.8, 90.6]], ["C", [58.7, 90.1, 58, 90]], ["C", [57.5, 90.1, 57.15, 90.6]], ["C", [57.25, 91, 57.9, 91.1]], ["M", [57.05, 90]], ["L", [56, 90.2]], ["L", [55.9, 90.8]], ["L", [56.1, 90.7]], ["L", [57.05, 96]], ["L", [56.8, 96.1]], ["L", [57.05, 96.7]], ["L", [58.1, 96.3]], ["L", [58, 95.9]], ["L", [57.8, 96]], ["L", [56.9, 90.5]], ["L", [57.15, 90.5]], ["L", [57.05, 90]], ["M", [44.65, 95.6]], ["C", [44.8, 96.9, 43, 97.2]], ["C", [41.8, 97.4, 41.7, 96.7]], ["C", [41.5, 95.4, 43.4, 95.1]], ["C", [44.55, 94.9, 44.65, 95.6]], ["M", [43.3, 94.3]], ["C", [40.65, 94.7, 40.9, 96.7]], ["C", [41.2, 98.3, 43, 98]], ["C", [45.7, 97.6, 45.4, 95.5]], ["C", [45.2, 94, 43.3, 94.3]], ["M", [45.1, 93.5]], ["L", [45.3, 93.4]], ["L", [46.1, 97.8]], ["L", [45.9, 97.9]], ["L", [45.9, 98.4]], ["L", [47.2, 98.3]], ["L", [47, 97.7]], ["L", [46.9, 97.7]], ["L", [46.4, 95.1]], ["C", [46.5, 93.7, 47.2, 93.6]], ["C", [47.7, 93.7, 47.8, 94.8]], ["L", [48.2, 97.8]], ["L", [48, 97.8]], ["L", [48.2, 98.6]], ["L", [49.5, 98.2]], ["L", [49.2, 97.6]], ["L", [49, 97.7]], ["L", [48.6, 94.7]], ["C", [48.3, 92.6, 47.1, 92.8]], ["C", [46.5, 92.9, 46.2, 93.4]], ["L", [46.1, 93.2]], ["L", [46.3, 93.2]], ["L", [46.2, 92.7]], ["L", [44.9, 92.9]], ["L", [45.1, 93.5]], ["M", [48.6, 92.5]], ["L", [48.75, 93.3]], ["L", [49.3, 93.2]], ["L", [49.8, 95.8]], ["C", [50.2, 98, 51.8, 97.7]], ["C", [53.2, 97.5, 52.85, 95.6]], ["C", [52.85, 95.5, 52.7, 95.4]], ["L", [53.05, 95.3]], ["L", [52.85, 94.9]], ["L", [51.6, 95.2]], ["L", [51.8, 95.7]], ["L", [52, 95.7]], ["L", [52, 95.9]], ["C", [52.2, 96.9, 51.7, 96.9]], ["C", [50.95, 97.1, 50.6, 95.7]], ["L", [50.1, 93]], ["L", [51.3, 92.8]], ["L", [51.2, 92]], ["L", [50, 92.2]], ["L", [49.9, 91.5]], ["L", [50.1, 91.5]], ["L", [50, 90.8]], ["L", [48.85, 91.2]], ["L", [48.95, 91.7]], ["L", [49.1, 91.7]], ["L", [49.2, 92.4]], ["L", [48.6, 92.5]], ["M", [39.3, 93.3]], ["C", [39.7, 93.2, 40, 94.6]], ["L", [39.7, 94.6]], ["L", [39.7, 95.1]], ["L", [41, 95]], ["L", [41.2, 94.3]], ["L", [40.8, 94.4]], ["C", [40.45, 92.3, 39.1, 92.5]], ["C", [38.1, 92.7, 38, 94.1]], ["C", [37.9, 94.6, 37.9, 95.4]], ["L", [38, 95.9]], ["L", [37.7, 96]], ["L", [37.8, 96.6]], ["L", [38.1, 96.6]], ["L", [38.55, 99.6]], ["L", [38.1, 99.7]], ["L", [38.45, 100.2]], ["L", [39.5, 100]], ["L", [39.7, 99.3]], ["L", [39.3, 99.4]], ["L", [38.9, 96.4]], ["L", [39.8, 96.3]], ["L", [39.6, 95.4]], ["L", [38.8, 95.7]], ["L", [38.7, 95.3]], ["C", [38.45, 93.4, 39.3, 93.3]], ["M", [37.6, 71.9]], ["L", [28.9, 78.6]], ["C", [29.8, 87, 39.3, 86.4]], ["C", [42.55, 86.2, 42.55, 83.9]], ["C", [42.55, 82.5, 40.75, 79.05]], ["C", [39, 75.6, 39, 74.8]], ["C", [39, 73.8, 41.5, 72.7]], ["C", [42.9, 72.1, 44.1, 71.8]], ["C", [43.1, 71, 41.9, 71]], ["C", [40.55, 71, 39.3, 72.2]], ["L", [37.6, 71.9]], ["M", [72.2, 40.7]], ["C", [72.2, 42.6, 70.9, 43.85]], ["C", [69.65, 45.1, 67.7, 45.1]], ["C", [65.9, 45.1, 64.6, 43.8]], ["C", [63.35, 42.5, 63.35, 40.7]], ["C", [63.35, 38.8, 64.55, 37.5]], ["C", [65.8, 36.2, 67.7, 36.2]], ["C", [69.65, 36.2, 70.9, 37.5]], ["C", [72.2, 38.8, 72.2, 40.7]], ["M", [46.65, 43.4]], ["L", [44.55, 43.2]], ["L", [45, 40.8]], ["L", [51.3, 42.1]], ["L", [50.7, 44.5]], ["L", [48.5, 44.1]], ["C", [47.8, 45.9, 47.8, 47.8]], ["C", [47.8, 54.9, 54.2, 57.2]], ["C", [55.9, 57.8, 57.4, 57.8]], ["C", [64.4, 57.8, 67, 50.8]], ["L", [64.9, 50.3]], ["L", [65.7, 48.1]], ["L", [72.5, 49.5]], ["L", [70.9, 52.3]], ["L", [68.9, 51.5]], ["C", [67.55, 55.2, 64.4, 57.5]], ["C", [61.35, 59.8, 57.4, 59.8]], ["C", [51.4, 59.8, 47.9, 54.7]], ["C", [45.8, 51.6, 45.8, 47.8]], ["C", [45.8, 45.5, 46.65, 43.4]], ["M", [57.9, 34.15]], ["C", [59.25, 35.4, 59.25, 37.3]], ["C", [59.25, 39.2, 57.9, 40.5]], ["C", [56.6, 41.8, 54.7, 41.8]], ["C", [52.85, 41.8, 51.55, 40.5]], ["C", [50.3, 39.2, 50.3, 37.3]], ["C", [50.3, 35.5, 51.6, 34.2]], ["C", [52.95, 32.9, 54.7, 32.9]], ["C", [56.6, 32.9, 57.9, 34.15]], ["M", [58.3, 14.2]], ["C", [46.5, 14.2, 37.1, 20.4]], ["C", [26.4, 27.4, 26.4, 38.6]], ["C", [26.4, 43.2, 28.7, 47.6]], ["C", [22.4, 55, 22.4, 61.8]], ["C", [22.4, 69.5, 29.5, 74.7]], ["L", [33.7, 71.6]], ["C", [28.4, 65.5, 28.4, 60.6]], ["C", [28.4, 57, 32.3, 52.7]], ["C", [41.8, 63, 58.3, 63]], ["C", [70.1, 63, 79.4, 56.8]], ["C", [90.1, 49.8, 90.1, 38.6]], ["C", [90.1, 27.4, 79.4, 20.4]], ["C", [70.1, 14.2, 58.3, 14.2]], ["M", [85.6, 82.2]], ["L", [80.4, 71.6]], ["C", [79.95, 71.4, 79.6, 71.4]], ["C", [78.7, 71.4, 78.4, 72.7]], ["C", [76.6, 69.8, 75.1, 69.8]], ["C", [74.1, 69.8, 73.4, 71.2]], ["C", [76.1, 73.5, 76.1, 75.3]], ["C", [76.1, 76.5, 74.7, 77.1]], ["C", [70.4, 79.1, 70.4, 83.6]], ["C", [70.4, 87.6, 76.1, 87.6]], ["C", [82.15, 87.6, 84.4, 83.2]], ["L", [85.6, 82.2]], ["M", [86.45, 63.8]], ["C", [86.45, 61.2, 85, 58.2]], ["C", [74.2, 67.5, 58.3, 67.5]], ["C", [41.8, 67.5, 31, 57.7]], ["C", [30.3, 58.8, 30.3, 60.1]], ["C", [30.3, 64.4, 36.25, 69.5]], ["L", [37.3, 68.7]], ["C", [37.9, 68.4, 38.55, 68.4]], ["C", [39.6, 68.4, 40, 70]], ["C", [41.6, 68.7, 43.2, 68.7]], ["C", [45.3, 68.7, 46.65, 71.3]], ["L", [70.3, 71.4]], ["C", [73.5, 67.7, 75, 67.7]], ["C", [76.5, 67.7, 78.15, 69.8]], ["C", [79.95, 68.2, 81.2, 68.2]], ["C", [81.9, 68.2, 82.3, 68.7]], ["L", [82.8, 69.7]], ["C", [86.45, 67.8, 86.45, 63.8]], ["M", [87.3, 57]], ["C", [88.6, 59.7, 88.6, 62.4]], ["C", [88.6, 68.3, 83.3, 72.8]], ["L", [86.25, 78.2]], ["C", [92.7, 71.6, 92.7, 62.2]], ["C", [92.7, 56.7, 90.7, 51.9]], ["C", [89.6, 54.2, 87.3, 57]], ["M", [94.65, 38.6]], ["C", [94.65, 44.6, 91.7, 50.1]], ["C", [95.6, 58, 95.6, 64.9]], ["C", [95.6, 75.4, 87.9, 81]], ["L", [88.55, 82.3]], ["C", [87.6, 85.1, 86.7, 85.1]], ["C", [86.45, 85.1, 86, 84.9]], ["C", [84.6, 86.5, 81.7, 88.4]], ["L", [81.3, 95.2]], ["L", [35.3, 102.7]], ["L", [32.6, 89.3]], ["C", [27.4, 85.6, 27.4, 82.1]], ["C", [27.4, 81.2, 27.85, 80.4]], ["C", [26.3, 78.5, 26.3, 77.2]], ["C", [26.3, 76.8, 26.5, 76.4]], ["L", [27.2, 75.9]], ["C", [20.1, 70.8, 20.1, 63]], ["C", [20.1, 56.6, 24.6, 49.6]], ["C", [21.9, 44.3, 21.9, 38.6]], ["C", [21.9, 25.4, 33.9, 17.1]], ["C", [44.65, 9.7, 58.3, 9.7]], ["C", [72, 9.7, 82.7, 17.1]], ["C", [94.65, 25.4, 94.65, 38.6]]];
__motifs["l"] = [["M", [42.15, 49.15]], ["C", [41, 50.3, 41, 51.8]], ["L", [41, 58.05]], ["C", [41, 59.4, 41.9, 60.75]], ["C", [42.8, 62, 44.2, 61.8]], ["L", [57.15, 59.8]], ["C", [61.35, 59.1, 61.35, 56.05]], ["L", [61.35, 51.8]], ["C", [61.35, 50.3, 60.2, 49.15]], ["C", [59.15, 48.05, 57.6, 48.05]], ["L", [44.75, 48.05]], ["C", [43.2, 48.05, 42.15, 49.15]], ["M", [65.9, 69.7]], ["C", [63.6, 68.9, 61.5, 68.9]], ["C", [57.7, 68.9, 57.4, 70.6]], ["C", [57.25, 72.2, 60.2, 73.3]], ["C", [62.6, 74.2, 64.6, 74.2]], ["C", [68.4, 74.2, 68.7, 72.4]], ["C", [69, 70.7, 65.9, 69.7]], ["M", [72.6, 73.4]], ["C", [69.3, 75.5, 65.1, 75.5]], ["C", [60.9, 75.5, 57.6, 73.4]], ["C", [53.7, 70.9, 53.7, 67]], ["L", [76.5, 67]], ["C", [76.5, 70.9, 72.6, 73.4]], ["M", [86.5, 65]], ["L", [73.75, 63]], ["C", [70.8, 62.5, 68.75, 60.65]], ["C", [66.7, 58.8, 66.7, 56]], ["L", [66.7, 55.6]], ["L", [64.65, 55.6]], ["L", [64.65, 56]], ["C", [64.65, 58.8, 62.6, 60.65]], ["C", [60.55, 62.5, 57.6, 63]], ["L", [44.75, 65]], ["C", [41.8, 65.4, 39.75, 63.15]], ["C", [37.7, 60.9, 37.7, 58]], ["L", [37.7, 55.9]], ["L", [28.9, 53.4]], ["C", [28.8, 54.3, 28.8, 55.2]], ["C", [28.8, 66.4, 39.5, 73.4]], ["C", [49, 79.6, 60.75, 79.6]], ["C", [69.85, 79.6, 77.7, 75.75]], ["C", [86.4, 71.65, 90.3, 64.2]], ["C", [88.55, 65.3, 86.5, 65]], ["M", [85.2, 39.6]], ["C", [81.3, 43.2, 75.5, 43.2]], ["C", [73.65, 43.2, 71.55, 42.8]], ["C", [74.7, 41.25, 74.7, 39.85]], ["C", [74.7, 38.9, 73, 38.25]], ["C", [72.1, 37.8, 71.75, 37.8]], ["C", [70.9, 37.8, 69.9, 39.4]], ["C", [68.6, 41.4, 68, 41.8]], ["C", [66.2, 43.1, 62.2, 43.2]], ["C", [52.95, 43.3, 45.6, 38.3]], ["C", [39.1, 49.8, 33.3, 49.8]], ["C", [31.6, 49.8, 30.05, 48.5]], ["C", [29.85, 49.2, 29.6, 49.8]], ["L", [37.65, 52]], ["L", [37.7, 51.8]], ["C", [37.7, 48.85, 39.75, 46.75]], ["C", [41.8, 44.7, 44.75, 44.7]], ["L", [57.6, 44.7]], ["C", [60.55, 44.7, 62.6, 46.75]], ["C", [64.65, 48.85, 64.65, 51.8]], ["L", [66.7, 51.8]], ["C", [66.7, 48.85, 68.75, 46.75]], ["C", [70.8, 44.7, 73.7, 44.7]], ["L", [86.5, 44.7]], ["C", [88.45, 44.7, 89.9, 45.6]], ["C", [88.15, 42.4, 85.2, 39.6]], ["M", [86.45, 48.05]], ["L", [73.75, 48.05]], ["C", [72.1, 48.05, 71, 49.1]], ["C", [69.9, 50.2, 69.9, 51.8]], ["L", [69.9, 56.05]], ["C", [69.9, 59.1, 74.2, 59.8]], ["L", [87, 61.8]], ["C", [88.4, 62, 89.35, 60.8]], ["C", [90.3, 59.5, 90.3, 58.05]], ["L", [90.3, 51.8]], ["C", [90.3, 50.2, 89.2, 49.1]], ["C", [88.1, 48.05, 86.45, 48.05]], ["M", [97.05, 42.6]], ["C", [97.6, 44.7, 98.2, 51.8]], ["C", [98.5, 55.25, 100.2, 55.25]], ["C", [100.7, 55.25, 101.75, 54.95]], ["C", [102.8, 54.7, 103.4, 54.7]], ["C", [106.1, 54.7, 107.7, 57.3]], ["C", [109.05, 59.4, 109.05, 62.3]], ["C", [109.05, 68.2, 104.2, 71.6]], ["C", [101.7, 73.4, 99.3, 73.4]], ["C", [95.4, 73.4, 92.8, 68.7]], ["C", [87.9, 76.15, 78.7, 80.25]], ["C", [70.3, 84.1, 60.7, 84.1]], ["C", [49.7, 84.1, 40.45, 79.2]], ["C", [30.2, 73.85, 26.2, 64.4]], ["C", [23.2, 70.4, 18.1, 70.4]], ["C", [11.7, 70.4, 10.3, 60.75]], ["C", [10, 58.65, 10, 57.7]], ["C", [10, 50.75, 15.65, 50.75]], ["C", [17, 50.75, 18.4, 51.2]], ["C", [21.1, 51.6, 26.3, 32]], ["C", [30.6, 15.5, 55.4, 15.5]], ["C", [60, 15.5, 64, 16.1]], ["C", [65.1, 16.1, 66.8, 16.1]], ["C", [81.2, 16.1, 90.9, 29.45]], ["C", [95.5, 35.85, 97.05, 42.6]]];
__motifs["k"] = [["M", [43.3, 63.7]], ["C", [45, 63.7, 45, 64.5]], ["C", [45, 65.2, 43.3, 65.2]], ["C", [41.6, 65.2, 41.6, 64.5]], ["C", [41.6, 63.7, 43.3, 63.7]], ["M", [48.7, 64.5]], ["C", [48.7, 63.7, 50.4, 63.7]], ["C", [52.2, 63.7, 52.2, 64.5]], ["C", [52.2, 65.2, 50.4, 65.2]], ["C", [48.7, 65.2, 48.7, 64.5]], ["M", [51, 54.3]], ["C", [51.9, 45.2, 59.3, 45.2]], ["C", [66.6, 45.2, 67.2, 58]], ["C", [63.7, 50.2, 58.6, 50.2]], ["C", [53.6, 50.2, 52, 56]], ["L", [51, 54.3]], ["M", [71.9, 58.8]], ["C", [71.9, 61.9, 69.6, 66]], ["C", [67.1, 70.7, 64.3, 70.7]], ["C", [62.1, 70.7, 60.2, 66]], ["C", [58.1, 60.9, 56.9, 60.4]], ["C", [60.8, 61.6, 64.2, 61.6]], ["C", [68.8, 61.6, 70.6, 59.1]], ["C", [71.3, 58.2, 71.6, 58.2]], ["C", [71.9, 58.2, 71.9, 58.8]], ["M", [26.6, 58]], ["C", [27.1, 45.2, 34.5, 45.2]], ["C", [41.8, 45.2, 42.8, 54.3]], ["L", [41.7, 56]], ["C", [40.2, 50.2, 35.1, 50.2]], ["C", [30.1, 50.2, 26.6, 58]], ["M", [39, 71.2]], ["C", [39.7, 74.7, 46.6, 74.1]], ["C", [53.3, 74.7, 54, 71.2]], ["L", [53.6, 71.3]], ["C", [51, 70.7, 49.1, 70.7]], ["C", [47, 70.7, 46.6, 71.6]], ["C", [46.2, 70.7, 44, 70.7]], ["C", [42.1, 70.7, 39.4, 71.3]], ["L", [39, 71.2]], ["M", [39.9, 68.7]], ["C", [40.6, 68.7, 42.2, 68.1]], ["C", [43.8, 67.5, 44.7, 67.5]], ["C", [46.2, 67.5, 46.5, 68.7]], ["C", [46.8, 67.5, 48.3, 67.5]], ["C", [49.1, 67.5, 50.7, 68.1]], ["C", [52.3, 68.7, 53, 68.7]], ["C", [54.8, 68.7, 56.3, 66.3]], ["C", [56.5, 67.1, 56.5, 67.8]], ["C", [56.5, 69.4, 55.2, 70.5]], ["C", [55.4, 74.3, 52.3, 74.6]], ["L", [46.5, 75.2]], ["C", [45.4, 75.1, 40.7, 74.6]], ["C", [37.6, 74.3, 37.8, 70.5]], ["C", [36.4, 69.4, 36.4, 67.8]], ["C", [36.4, 67.1, 36.7, 66.3]], ["C", [38.2, 68.7, 39.9, 68.7]], ["M", [27.5, 61.6]], ["C", [30.9, 61.6, 34.8, 60.4]], ["C", [33.6, 60.9, 31.5, 66]], ["C", [29.6, 70.7, 27.4, 70.7]], ["C", [24.6, 70.7, 22.1, 66]], ["C", [19.8, 61.9, 19.8, 58.8]], ["C", [19.8, 58.2, 20.1, 58.2]], ["C", [20.4, 58.2, 21.1, 59.1]], ["C", [22.9, 61.6, 27.5, 61.6]], ["M", [60.1, 35.1]], ["C", [71.1, 35.1, 72.4, 49.4]], ["C", [69.9, 43.3, 66.7, 41.2]], ["C", [63.1, 38.8, 59.6, 38.8]], ["C", [52.9, 38.8, 48.9, 47]], ["L", [48.2, 45.5]], ["C", [48.5, 42.6, 51.9, 39.05]], ["C", [55.3, 35.5, 58.2, 35.2]], ["C", [59.2, 35.1, 60.1, 35.1]], ["M", [45.6, 45.5]], ["L", [44.9, 47]], ["C", [40.9, 38.8, 34.2, 38.8]], ["C", [25.6, 38.8, 21.4, 49.4]], ["C", [22.4, 33.9, 35.5, 35.2]], ["C", [38.4, 35.5, 41.85, 39]], ["C", [45.3, 42.5, 45.6, 45.5]], ["M", [46, 46.4]], ["C", [46.3, 48.9, 44.6, 54]], ["C", [42.8, 59.5, 40.9, 60.4]], ["C", [39.9, 60.9, 39.9, 62.4]], ["C", [39.9, 63.6, 40.4, 65]], ["C", [38.6, 63.9, 38.6, 61.5]], ["C", [38.6, 59.3, 40.5, 58.7]], ["C", [43.1, 57.8, 44.9, 48.1]], ["L", [46, 46.4]], ["M", [46.4, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 64.2, 22.2, 71]], ["C", [29, 77, 38.5, 78.8]], ["C", [38.3, 77.5, 38.3, 76.5]], ["C", [40.4, 77.6, 45, 77.6]], ["C", [50, 77.6, 56.4, 76.5]], ["C", [56.5, 77.4, 56.5, 78.3]], ["C", [65.3, 76.1, 71.4, 70.3]], ["C", [78.2, 63.7, 78.2, 55.2]], ["C", [78.2, 44, 67.5, 37]], ["C", [58.2, 30.8, 46.4, 30.8]], ["M", [83.2, 33.1]], ["C", [80.5, 39.4, 77.3, 39.9]], ["C", [82.7, 46.9, 82.7, 55.2]], ["C", [82.7, 65.9, 74.1, 73.8]], ["C", [66.4, 81, 55.3, 83.2]], ["C", [52.5, 88.9, 44.6, 91.6]], ["C", [45, 90.8, 45, 89.9]], ["C", [45, 88.2, 43, 87.4]], ["C", [40.6, 86.4, 39.6, 83.6]], ["C", [27.8, 81.7, 19.4, 74.6]], ["C", [10, 66.5, 10, 55.2]], ["C", [10, 45.4, 17.4, 37.7]], ["C", [11.2, 33.9, 11.2, 29]], ["C", [11.2, 26, 13.9, 22.8]], ["C", [19.2, 16.6, 29.6, 16.1]], ["C", [32.5, 16, 47.4, 15.8]], ["C", [49.2, 15.6, 51.9, 15.6]], ["C", [63.5, 15.6, 72.2, 18.1]], ["C", [84.2, 21.6, 84.2, 28.7]], ["C", [84.2, 30.8, 83.2, 33.1]]];
__motifs["j"] = [["M", [15.5, 39.8]], ["C", [16.6, 38.1, 18.4, 36.4]], ["C", [18.2, 34, 18.2, 31.7]], ["C", [18.2, 23.4, 21.4, 22.8]], ["C", [25.8, 22.4, 27.5, 30.5]], ["C", [28.8, 29.9, 29.9, 29.5]], ["C", [27.8, 18.9, 20.5, 18.5]], ["C", [15, 19.6, 15, 32.3]], ["C", [15, 36.1, 15.5, 39.8]], ["M", [43.3, 69.9]], ["C", [45.2, 66.9, 49.3, 66.9]], ["C", [50.6, 66.9, 51.8, 67.2]], ["C", [52.5, 67.2, 52.2, 68.2]], ["C", [51.9, 68.7, 51.1, 68.6]], ["C", [49.1, 68.4, 47.9, 68.4]], ["C", [44.8, 68.5, 44.8, 71.5]], ["C", [44.8, 73.1, 47.55, 73.8]], ["C", [50.3, 74.5, 50.3, 75]], ["C", [50.3, 75.6, 48.6, 75.7]], ["C", [46.6, 75.8, 44.8, 74.9]], ["C", [42.5, 73.9, 42.5, 72.1]], ["C", [42.5, 71.1, 43.3, 69.9]], ["M", [52.7, 59]], ["C", [52.7, 60.3, 51.45, 61.95]], ["C", [50.2, 63.6, 49, 63.1]], ["C", [47.9, 62.8, 47, 61.5]], ["C", [46.1, 60.2, 46.1, 59.1]], ["C", [46.1, 57.2, 49.3, 57.2]], ["C", [50.8, 57.2, 52.4, 57.7]], ["C", [52.7, 58.3, 52.7, 59]], ["M", [66.8, 69.1]], ["C", [66, 69.1, 66, 68.3]], ["C", [66, 67.5, 66.8, 67.5]], ["C", [67.6, 67.5, 67.6, 68.3]], ["C", [67.6, 69.1, 66.8, 69.1]], ["M", [62.3, 68.3]], ["C", [62.3, 67.6, 63, 67.6]], ["C", [63.6, 67.6, 63.6, 68.3]], ["C", [63.6, 68.9, 63, 68.9]], ["C", [62.3, 68.9, 62.3, 68.3]], ["M", [64.2, 65.8]], ["C", [63.2, 65.8, 63.2, 64.9]], ["C", [63.2, 63.9, 64.2, 63.9]], ["C", [65.2, 63.9, 65.2, 64.9]], ["C", [65.2, 65.8, 64.2, 65.8]], ["M", [33, 64.1]], ["C", [31.7, 64.1, 31.7, 63.1]], ["C", [31.7, 62.1, 33, 62.1]], ["C", [34.3, 62.1, 34.3, 63.1]], ["C", [34.3, 64.1, 33, 64.1]], ["M", [32.4, 66.9]], ["C", [32.4, 66, 33.1, 66]], ["C", [33.8, 66, 33.8, 66.9]], ["C", [33.8, 67.8, 33.1, 67.8]], ["C", [32.4, 67.8, 32.4, 66.9]], ["M", [29, 66.8]], ["C", [28.1, 66.8, 28.1, 65.9]], ["C", [28.1, 65, 29, 65]], ["C", [29.9, 65, 29.9, 65.9]], ["C", [29.9, 66.8, 29, 66.8]], ["M", [21.8, 44.8]], ["C", [22.1, 44.8, 23.05, 45.9]], ["C", [24, 47, 24.4, 47]], ["C", [30.3, 41.8, 35.5, 41.8]], ["C", [39, 41.8, 41.6, 44.5]], ["C", [47.1, 50.2, 47.1, 54]], ["C", [47.1, 56.2, 45.15, 57.45]], ["C", [43.2, 58.7, 40.8, 58.7]], ["C", [37.7, 58.7, 35.45, 56.9]], ["C", [33.2, 55.1, 33.2, 52.1]], ["C", [33.2, 49.1, 35.4, 45.3]], ["C", [30.7, 45.6, 29.1, 51.3]], ["C", [28.3, 54.2, 26.1, 54.2]], ["C", [24.8, 54.2, 23.3, 52.3]], ["C", [21.8, 50.4, 21.5, 47.8]], ["C", [21.4, 46.9, 21.4, 46]], ["C", [21.4, 44.8, 21.8, 44.8]], ["M", [38.8, 36.5]], ["C", [38.8, 37, 38.2, 37.3]], ["C", [37.6, 37.6, 35.9, 37.4]], ["C", [34.9, 37.3, 33.8, 38.4]], ["C", [32.3, 39.8, 31.4, 40.2]], ["C", [29.8, 40.8, 29.8, 39.8]], ["C", [29.8, 39.3, 30.4, 38.2]], ["C", [32.3, 34.8, 37.6, 35.2]], ["C", [38.8, 35.9, 38.8, 36.5]], ["M", [60, 36.3]], ["C", [63.2, 36.3, 67.6, 41]], ["C", [67.7, 42.2, 66.8, 42.2]], ["C", [66, 42.2, 62.2, 39.5]], ["C", [61.1, 38.7, 58.7, 38.7]], ["C", [56.8, 38.7, 56.8, 38.3]], ["C", [56.8, 37.6, 58, 36.95]], ["C", [59.2, 36.3, 60, 36.3]], ["M", [59.5, 44]], ["C", [64, 44, 66.9, 47.6]], ["C", [70.4, 52, 72.2, 52]], ["C", [72.8, 52, 73.75, 51.3]], ["C", [74.7, 50.6, 74.8, 50.6]], ["C", [75.4, 50.6, 75.4, 52.3]], ["C", [75.4, 54.2, 74.7, 55.9]], ["C", [73.7, 58, 72, 58]], ["C", [71.6, 58, 71.2, 57.9]], ["L", [69.4, 56.9]], ["C", [66.7, 58.6, 64.1, 58.6]], ["C", [61.3, 58.6, 59.7, 56.7]], ["C", [58.1, 54.8, 58.1, 51.9]], ["C", [58.1, 49.3, 59.7, 47.7]], ["C", [58.8, 46.6, 57.6, 46.6]], ["C", [56.1, 46.6, 54.9, 48.2]], ["C", [52.5, 51.3, 52.3, 56]], ["C", [51.2, 55, 50.3, 55]], ["C", [51, 47.8, 54.4, 45.1]], ["C", [56.8, 44, 59.5, 44]], ["M", [46.4, 30.8]], ["C", [34.6, 30.8, 25.2, 37]], ["C", [14.5, 44, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.4, 79.6]], ["C", [58.2, 79.6, 67.5, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 44, 67.5, 37]], ["C", [58.2, 30.8, 46.4, 30.8]], ["M", [64.5, 30.5]], ["C", [66.3, 22.4, 70.7, 22.8]], ["C", [73.9, 23.4, 73.9, 31.7]], ["C", [73.9, 33.9, 73.7, 36.3]], ["C", [75.5, 38, 76.7, 39.8]], ["C", [77.2, 36.1, 77.2, 32.3]], ["C", [77.2, 19.6, 71.7, 18.5]], ["C", [64.3, 19.2, 62.3, 29.5]], ["C", [62.8, 29.7, 64.5, 30.5]], ["M", [58.5, 27.9]], ["C", [62.6, 13.3, 72.5, 14.4]], ["C", [80.7, 15.4, 80.7, 35.2]], ["C", [80.7, 39.9, 80.2, 44.6]], ["C", [82.7, 49.7, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 50, 12.3, 45.1]], ["C", [11.8, 40.2, 11.8, 35.2]], ["C", [11.8, 15.4, 20, 14.4]], ["C", [29.9, 13.3, 34, 28]], ["C", [40, 26.3, 46.4, 26.3]], ["C", [52.6, 26.3, 58.5, 27.9]]];
__motifs["h"] = [["M", [20.1, 90.7]], ["L", [19.2, 91.2]], ["L", [17.9, 87.2]], ["L", [18.6, 86.7]], ["L", [20.1, 90.7]], ["M", [17.9, 91.4]], ["L", [17.4, 91.8]], ["L", [16.2, 87.8]], ["L", [16.8, 87.5]], ["L", [17.9, 91.4]], ["M", [19.7, 86.2]], ["L", [21.5, 89]], ["L", [20.8, 89.7]], ["L", [19.3, 86.4]], ["L", [19.7, 86.2]], ["M", [14.1, 92.3]], ["C", [14.1, 98.6, 17.9, 99.3]], ["C", [20.6, 99.8, 25.5, 96.85]], ["C", [30.4, 93.9, 30.4, 91.3]], ["C", [30.4, 90.1, 27.55, 89.3]], ["C", [24.7, 88.5, 24.7, 87.4]], ["C", [24.7, 85.3, 27.6, 85.4]], ["C", [28.8, 85.5, 28.8, 84.3]], ["C", [28.8, 83.1, 27.8, 82.2]], ["C", [26.8, 81.3, 25.6, 81.3]], ["C", [24.8, 81.3, 23.9, 81.8]], ["C", [24.1, 80, 23.3, 80]], ["C", [23.1, 80, 22.8, 80.2]], ["L", [12.7, 86.2]], ["C", [11.7, 87.3, 11.7, 88.6]], ["C", [11.7, 89.9, 12.7, 90.9]], ["C", [13, 91.1, 13.2, 91.1]], ["C", [13.8, 91.1, 14.2, 90.1]], ["C", [14.1, 91.1, 14.1, 92.3]], ["M", [39.7, 59.7]], ["C", [39.7, 62.1, 43.5, 64.6]], ["C", [46.3, 66.5, 49.4, 67.4]], ["C", [52.1, 68.2, 54.9, 68.2]], ["C", [62.2, 68.2, 62.2, 63.3]], ["C", [62.2, 59.3, 59.2, 59.3]], ["C", [56.9, 59.3, 53.6, 62.4]], ["C", [50.1, 53.4, 45.8, 53.4]], ["C", [42.8, 53.4, 40, 58.5]], ["C", [39.7, 59, 39.7, 59.7]], ["M", [57.3, 44.4]], ["C", [64.7, 44.4, 70.9, 47.6]], ["C", [78.5, 51.5, 78.5, 58.3]], ["C", [78.5, 65, 70.9, 69]], ["C", [64.6, 72.2, 57.3, 72.2]], ["C", [50, 72.2, 43.7, 69]], ["C", [36.1, 65, 36.1, 58.3]], ["C", [36.1, 51.5, 43.7, 47.6]], ["C", [49.9, 44.4, 57.3, 44.4]], ["M", [49.3, 32.6]], ["C", [51.7, 32.2, 52.5, 37.5]], ["C", [53.3, 42.7, 51, 43.1]], ["C", [49.3, 43.4, 48.2, 40]], ["L", [51, 37.7]], ["L", [47.6, 36.4]], ["C", [47.6, 32.9, 49.3, 32.6]], ["M", [57.5, 32.6]], ["C", [59.8, 32.2, 60.7, 37.5]], ["C", [60.9, 38.8, 60.9, 39.8]], ["C", [60.9, 42.8, 59.1, 43.1]], ["C", [57.5, 43.4, 56.3, 40]], ["L", [59.1, 37.7]], ["L", [55.8, 36.4]], ["C", [55.8, 32.9, 57.5, 32.6]], ["M", [50.8, 30.8]], ["C", [39, 30.8, 29.6, 37]], ["C", [18.9, 44, 18.9, 55.2]], ["C", [18.9, 66.4, 29.6, 73.4]], ["C", [39.1, 79.6, 50.8, 79.6]], ["C", [62.6, 79.6, 71.9, 73.4]], ["C", [82.6, 66.4, 82.6, 55.2]], ["C", [82.6, 44, 71.9, 37]], ["C", [62.6, 30.8, 50.8, 30.8]], ["M", [105.9, 33.9]], ["L", [106.5, 35.3]], ["C", [105.9, 35.6, 103.8, 37.5]], ["L", [103.8, 37.4]], ["C", [103.8, 37.3, 104, 37]], ["C", [104.6, 35.2, 105.9, 33.9]], ["M", [111.5, 34.9]], ["C", [110.7, 34.9, 110.2, 34.8]], ["C", [108.7, 34.5, 107.5, 34.9]], ["L", [106.9, 33.1]], ["C", [108.7, 31.9, 110.8, 31.7]], ["C", [111.6, 31.7, 112.4, 32.35]], ["C", [113.2, 33, 113.2, 33.8]], ["C", [113.2, 34.9, 111.5, 34.9]], ["M", [114.4, 31.8]], ["C", [114.7, 31.4, 114.8, 31.2]], ["C", [113.4, 30.8, 112.1, 30.8]], ["C", [108.5, 30.8, 105.75, 33.1]], ["C", [103, 35.4, 102.4, 38.9]], ["C", [107.2, 39.6, 107.2, 42.8]], ["C", [107.2, 46.1, 103.8, 46.4]], ["C", [106.8, 50.9, 112.1, 50.9]], ["C", [116.2, 50.9, 119.05, 48.05]], ["C", [121.9, 45.2, 121.9, 41.1]], ["C", [121.7, 41.1, 120.65, 42.1]], ["C", [119.6, 43.1, 119.2, 43]], ["C", [117.7, 42.7, 117.1, 40.7]], ["C", [114.8, 41.2, 114.2, 40.7]], ["C", [112.8, 39.6, 114, 36.7]], ["C", [113.5, 36, 113.7, 34.5]], ["C", [113.9, 33.1, 114.7, 32.6]], ["C", [114.1, 32.2, 114.4, 31.8]], ["M", [98.2, 47.8]], ["C", [98.6, 48.3, 100.6, 50.2]], ["L", [98.2, 49.4]], ["C", [96.8, 48.9, 96.8, 49.6]], ["C", [96.8, 50.1, 98.3, 51.6]], ["L", [104.7, 58.2]], ["L", [104.9, 58.2]], ["C", [105.2, 58.3, 105.5, 58.3]], ["C", [105.8, 58.3, 105.9, 58.1]], ["C", [105.9, 57.8, 105.8, 56.9]], ["C", [106.2, 57, 107, 57.3]], ["C", [108.2, 57.5, 108.8, 57.5]], ["C", [109.7, 57.5, 112.1, 55.4]], ["L", [113.9, 53.8]], ["C", [114.7, 52.9, 114.8, 51.6]], ["C", [113.5, 51.9, 112.1, 51.9]], ["C", [105.9, 51.9, 102.7, 46.5]], ["C", [100.8, 46.4, 99.5, 45.6]], ["L", [99, 45.3]], ["L", [99.5, 44.4]], ["L", [99.9, 44.7]], ["C", [100.8, 45, 102.1, 45.4]], ["C", [102.8, 45.5, 103.3, 45.5]], ["C", [105.5, 45.5, 106.1, 43.4]], ["C", [106.5, 41.7, 104.6, 40.7]], ["C", [103.1, 39.9, 101.2, 39.8]], ["C", [96, 39.5, 96, 43.1]], ["C", [96, 45.1, 98.2, 47.8]], ["M", [122.9, 39.6]], ["L", [122.9, 40.9]], ["C", [122.9, 44.3, 121, 47.15]], ["C", [119.1, 50, 116, 51.2]], ["C", [115.8, 52.9, 114.6, 54.25]], ["C", [113.4, 55.6, 112.2, 56.8]], ["C", [110.5, 58.6, 107.9, 58.4]], ["C", [107.4, 58.4, 106.9, 58.3]], ["C", [106.6, 59.5, 105.5, 59.5]], ["C", [104.8, 59.5, 103.8, 59.1]], ["L", [102.8, 58.1]], ["C", [99, 65.3, 91, 65.3]], ["C", [88.1, 65.3, 85.3, 64.4]], ["C", [81.3, 73.9, 71.1, 79.2]], ["C", [61.8, 84.1, 50.8, 84.1]], ["C", [41.6, 84.1, 33.5, 80.7]], ["C", [24.9, 77, 19.6, 70.1]], ["C", [17.9, 71.6, 17.9, 73.8]], ["C", [17.9, 76.8, 20.8, 80.2]], ["C", [22.8, 79, 23.4, 79]], ["C", [24.4, 79, 24.7, 80.4]], ["C", [25.2, 80.3, 25.7, 80.3]], ["C", [27.3, 80.3, 28.6, 81.55]], ["C", [29.9, 82.8, 29.9, 84.4]], ["C", [29.9, 86.5, 27.5, 86.4]], ["C", [25.9, 86.4, 25.7, 87.3]], ["C", [25.5, 88.1, 27.6, 88.3]], ["C", [31.7, 88.8, 31.7, 91.1]], ["C", [31.7, 94, 26.4, 97.5]], ["C", [21.9, 100.4, 18.8, 100.4]], ["C", [13.3, 100.4, 13.1, 92.1]], ["C", [12.6, 92.1, 12, 91.6]], ["C", [10.7, 90.3, 10.7, 88.7]], ["C", [10.7, 87, 12.1, 85.4]], ["L", [12.6, 85]], ["C", [10, 80.3, 10, 76.3]], ["C", [10, 69.6, 17, 66]], ["C", [14.4, 60.8, 14.4, 55.2]], ["C", [14.4, 42, 26.4, 33.7]], ["C", [37.1, 26.3, 50.8, 26.3]], ["C", [64.5, 26.3, 75.2, 33.7]], ["C", [87.1, 42, 87.1, 55.2]], ["C", [87.1, 57.1, 86.8, 58.9]], ["C", [87.8, 59.2, 88.7, 59.2]], ["C", [93.6, 59.2, 97.6, 52.3]], ["C", [95.7, 50.7, 95.7, 49.5]], ["C", [95.7, 48.3, 97.3, 48.2]], ["C", [95, 45.3, 95, 43]], ["C", [95, 38.5, 101.4, 38.8]], ["C", [102.1, 34.9, 105.1, 32.35]], ["C", [108.1, 29.8, 112.1, 29.8]], ["C", [114.1, 29.8, 116, 30.5]], ["C", [115.7, 30.8, 115.7, 31.1]], ["C", [115.7, 31.7, 116.6, 32.3]], ["C", [116.1, 33, 116.1, 33.8]], ["C", [116.1, 34.5, 116.6, 35.1]], ["C", [115.8, 36.4, 115.8, 37.4]], ["C", [115.8, 38.1, 116.3, 38.4]], ["C", [116.9, 39, 117.6, 39]], ["C", [118.2, 39, 118.9, 38.6]], ["C", [118.9, 39.3, 119.6, 40.3]], ["C", [120.3, 40.5, 122, 40]], ["L", [122.9, 39.6]]];
__motifs["g"] = [["M", [43.9, 59.1]], ["C", [43.9, 61.4, 40.5, 61.4]], ["C", [37, 61.4, 37, 59.1]], ["C", [37, 56.7, 40.5, 56.7]], ["C", [43.9, 56.7, 43.9, 59.1]], ["M", [34.1, 57.8]], ["C", [34.1, 60.5, 36.7, 62.1]], ["C", [38.9, 63.6, 41.7, 63.6]], ["C", [44.6, 63.6, 46.8, 62.2]], ["C", [49.4, 60.5, 49.4, 57.8]], ["C", [49.4, 55.1, 46.95, 53.6]], ["C", [44.5, 52.1, 41.7, 52.1]], ["C", [38.9, 52.1, 36.7, 53.5]], ["C", [34.1, 55.2, 34.1, 57.8]], ["M", [55.8, 66.6]], ["C", [55.1, 66.6, 53.8, 67.15]], ["C", [52.5, 67.7, 52.3, 67.7]], ["C", [52.1, 67.7, 52.1, 67.6]], ["C", [52.1, 66.9, 53.55, 65.65]], ["C", [55, 64.4, 55.8, 64.4]], ["C", [58.3, 64.4, 58.3, 65.5]], ["C", [58.3, 66.6, 55.8, 66.6]], ["M", [53.9, 74.4]], ["C", [52.1, 74.1, 51.3, 75.2]], ["C", [50.2, 73.7, 49.1, 73.7]], ["C", [47.5, 73.7, 47.5, 75.3]], ["C", [47.5, 77.4, 50.8, 77.4]], ["C", [51.8, 77.4, 53.2, 76.7]], ["C", [54.6, 76, 54.6, 75.1]], ["C", [54.6, 74.6, 53.9, 74.4]], ["M", [64.7, 69.1]], ["C", [62.3, 70.8, 59.4, 71.8]], ["L", [61.7, 75]], ["C", [55.2, 78.7, 46.6, 78.4]], ["L", [40.3, 70]], ["L", [41, 69]], ["C", [45.9, 72.5, 51.5, 72.5]], ["C", [58.2, 72.5, 64.3, 68.1]], ["L", [64.7, 69.1]], ["M", [62.3, 61.4]], ["C", [58.8, 61.4, 58.8, 59.1]], ["C", [58.8, 56.7, 62.3, 56.7]], ["C", [65.7, 56.7, 65.7, 59.1]], ["C", [65.7, 61.4, 62.3, 61.4]], ["M", [63.5, 52.1]], ["C", [60.7, 52.1, 58.5, 53.5]], ["C", [55.9, 55.2, 55.9, 57.8]], ["C", [55.9, 60.5, 58.5, 62.1]], ["C", [60.7, 63.6, 63.5, 63.6]], ["C", [66.4, 63.6, 68.75, 62.1]], ["C", [71.1, 60.6, 71.1, 57.8]], ["C", [71.1, 55.1, 68.5, 53.5]], ["C", [66.3, 52.1, 63.5, 52.1]], ["M", [70.05, 52.25]], ["C", [73, 54.3, 73, 57.8]], ["C", [73, 61.3, 70.05, 63.4]], ["C", [67.1, 65.5, 63.5, 65.5]], ["C", [59.9, 65.5, 57.1, 63.5]], ["C", [54, 61.3, 54, 57.8]], ["C", [54, 54.4, 57.1, 52.2]], ["C", [59.9, 50.2, 63.5, 50.2]], ["C", [67.1, 50.2, 70.05, 52.25]], ["M", [69.6, 47.9]], ["C", [56.5, 47.9, 57.4, 36.9]], ["C", [52.6, 45.4, 46, 51]], ["C", [51.3, 53.1, 51.3, 57.8]], ["C", [51.3, 61.3, 48.35, 63.4]], ["C", [45.4, 65.5, 41.7, 65.5]], ["C", [38.1, 65.5, 35.3, 63.5]], ["C", [32.2, 61.3, 32.2, 57.8]], ["C", [32.2, 57.4, 32.3, 56.9]], ["C", [23.8, 56.9, 16, 47.9]], ["C", [14.5, 51.5, 14.5, 55.2]], ["C", [14.5, 66.4, 25.2, 73.4]], ["C", [34.7, 79.6, 46.4, 79.6]], ["C", [58.2, 79.6, 67.5, 73.4]], ["C", [78.2, 66.4, 78.2, 55.2]], ["C", [78.2, 51.1, 76.5, 47.2]], ["C", [72.9, 47.9, 69.6, 47.9]], ["M", [70.8, 33.7]], ["C", [82.7, 42, 82.7, 55.2]], ["C", [82.7, 68.3, 70.7, 76.6]], ["C", [60, 84.1, 46.4, 84.1]], ["C", [32.7, 84.1, 22, 76.7]], ["C", [10, 68.3, 10, 55.2]], ["C", [10, 42, 22, 33.7]], ["C", [32.7, 26.3, 46.4, 26.3]], ["C", [60.1, 26.3, 70.8, 33.7]]];
__motifs["d"] = [["M", [68, 90.9]], ["L", [70.4, 90]], ["L", [71.2, 87.9]], ["L", [73.3, 92.8]], ["L", [71.2, 92.7]], ["L", [69.2, 93.7]], ["L", [70, 96.2]], ["L", [72.3, 96.9]], ["L", [66.8, 100.3]], ["L", [67.3, 97.9]], ["L", [66.4, 95.6]], ["L", [64.1, 96.7]], ["L", [63.7, 98.5]], ["L", [61.2, 94]], ["L", [63.6, 94]], ["L", [65.9, 92.3]], ["L", [64.5, 89.3]], ["L", [61.8, 86.9]], ["L", [67.9, 85.4]], ["L", [67.1, 87.9]], ["L", [68, 90.9]], ["M", [64.6, 69.6]], ["L", [62.2, 73.6]], ["L", [61.4, 68.4]], ["C", [60.6, 67.5, 59.3, 65.9]], ["C", [58.9, 67.3, 58.9, 69]], ["C", [58.9, 76.7, 67.9, 76.7]], ["C", [76.9, 76.7, 77.3, 68.5]], ["C", [76.9, 68.7, 75.7, 69.4]], ["L", [73.9, 73.6]], ["L", [72.2, 70]], ["C", [70.1, 70.1, 68.5, 70.1]], ["C", [65.4, 70.1, 64.6, 69.6]], ["M", [63.6, 67.1]], ["C", [60.4, 65.7, 59.8, 64]], ["L", [59.5, 65.4]], ["C", [60.3, 66.5, 62.1, 68.1]], ["L", [62.5, 72]], ["L", [64.4, 68.9]], ["C", [65.6, 69.7, 68.5, 69.7]], ["C", [70.3, 69.7, 72.6, 69.3]], ["L", [73.9, 72.4]], ["L", [75.4, 68.9]], ["L", [77.3, 67.9]], ["L", [77.7, 65.9]], ["C", [72.6, 68.8, 68.6, 68.5]], ["C", [66.4, 68.3, 63.6, 67.1]], ["M", [79, 68.3]], ["C", [79, 77.8, 67.1, 77.9]], ["C", [56.7, 78, 56.7, 65.2]], ["C", [56.7, 61.7, 57.4, 58.4]], ["C", [60.5, 67.6, 68.3, 67.7]], ["C", [76.1, 67.8, 81.3, 62.1]], ["L", [78.8, 66.2]], ["C", [79, 67.1, 79, 68.3]], ["M", [69.7, 54.5]], ["C", [69.7, 57.5, 66.7, 57.5]], ["C", [63.7, 57.5, 63.7, 54.5]], ["C", [63.7, 51.5, 66.7, 51.5]], ["C", [69.7, 51.5, 69.7, 54.5]], ["M", [79.3, 57.5]], ["C", [79.3, 59.9, 76.9, 59.9]], ["C", [74.6, 59.9, 74.6, 57.5]], ["C", [74.6, 55.1, 76.9, 55.1]], ["C", [79.3, 55.1, 79.3, 57.5]], ["M", [84.1, 53]], ["C", [82, 45.2, 79.5, 45.2]], ["C", [76.9, 45.2, 73.4, 49.7]], ["C", [74.4, 44.5, 79.8, 43.5]], ["C", [84.3, 42.6, 84.3, 49.8]], ["C", [84.3, 51.4, 84.1, 53]], ["M", [85.8, 40.2]], ["C", [81.3, 40.2, 73.2, 46.2]], ["C", [73.1, 45.9, 72.3, 44.4]], ["C", [72.5, 47, 71.2, 50.5]], ["C", [71.4, 49.4, 71.4, 48.3]], ["C", [71.4, 43.2, 67.2, 42.9]], ["C", [62, 42.6, 59.3, 49.1]], ["C", [61.3, 40.1, 67.3, 40.1]], ["C", [68.5, 40.1, 69.5, 40.4]], ["C", [63.9, 34.3, 55.3, 34.3]], ["C", [51, 34.3, 46.1, 35.8]], ["C", [33.6, 43.3, 33.6, 55.2]], ["C", [33.6, 66.4, 44.3, 73.4]], ["C", [53.8, 79.6, 65.5, 79.6]], ["C", [77.3, 79.6, 86.6, 73.4]], ["C", [97.3, 66.4, 97.3, 55.2]], ["C", [97.3, 48.9, 93.3, 43.4]], ["C", [88.6, 40.2, 85.8, 40.2]], ["M", [100.3, 46.8]], ["L", [121.9, 46.1]], ["L", [79.1, 96.7]], ["L", [71.7, 83.6]], ["C", [68.6, 84.1, 65.5, 84.1]], ["C", [62.8, 84.1, 60.1, 83.8]], ["L", [52.8, 96.7]], ["L", [10, 46.1]], ["L", [30.7, 46.7]], ["C", [34.4, 37, 44.9, 31.4]], ["C", [54.3, 26.3, 65.5, 26.3]], ["C", [76.7, 26.3, 86.1, 31.4]], ["C", [96.5, 37, 100.3, 46.8]]];
__motifs["s"] = [["M", [14.9, 40.2]], ["C", [10, 38.1, 10, 32.9]], ["C", [10, 26.5, 16.8, 23.3]], ["C", [19.4, 22.1, 22.2, 22.1]], ["C", [29, 22.1, 31, 27.7]], ["C", [20.5, 32, 14.9, 40.2]], ["M", [51.8, 56.2]], ["C", [51.8, 57.9, 51.2, 59.5]], ["C", [50.4, 61.7, 49, 61.7]], ["C", [47.5, 61.7, 46.7, 59.6]], ["C", [46.1, 57.9, 46.1, 56.2]], ["C", [46.1, 54.4, 46.7, 52.8]], ["C", [47.5, 50.7, 49, 50.7]], ["C", [50.4, 50.7, 51.2, 52.9]], ["C", [51.8, 54.5, 51.8, 56.2]], ["M", [36.7, 59.5]], ["C", [36.1, 57.9, 36.1, 56.2]], ["C", [36.1, 54.5, 36.7, 52.9]], ["C", [37.5, 50.7, 38.9, 50.7]], ["C", [40.4, 50.7, 41.2, 52.8]], ["C", [41.8, 54.4, 41.8, 56.2]], ["C", [41.8, 57.9, 41.2, 59.6]], ["C", [40.4, 61.7, 38.9, 61.7]], ["C", [37.5, 61.7, 36.7, 59.5]], ["M", [43.9, 72.7]], ["C", [43.1, 73.6, 43.1, 74.4]], ["C", [43.1, 76, 46.8, 76]], ["C", [49, 76, 51.1, 75.5]], ["C", [54.3, 74.7, 54.3, 73.2]], ["C", [54.3, 72.1, 52.75, 71.35]], ["C", [51.2, 70.6, 50, 70.6]], ["C", [47.2, 70.6, 43.9, 72.7]], ["M", [31.2, 63.4]], ["C", [37.8, 68.6, 46.1, 68.6]], ["C", [52.5, 68.6, 58.6, 65]], ["C", [59.6, 77.4, 45.9, 77.4]], ["C", [44.1, 77.4, 43, 77.3]], ["C", [38.1, 76.8, 38.1, 75.2]], ["C", [38.1, 74.7, 39.05, 73.15]], ["C", [40, 71.6, 40, 71]], ["C", [40, 70.5, 39.6, 70.1]], ["C", [32.8, 68.1, 29.8, 65.5]], ["L", [31.2, 63.4]], ["M", [27.3, 73.4]], ["C", [36.8, 79.6, 48.5, 79.6]], ["C", [60.3, 79.6, 69.6, 73.4]], ["C", [80.3, 66.4, 80.3, 55.2]], ["C", [80.3, 53.4, 80, 51.6]], ["C", [74.5, 53.4, 69.3, 53.4]], ["C", [54.4, 53.4, 45.5, 40.4]], ["C", [40, 49.5, 25.4, 49.5]], ["C", [21.4, 49.5, 17.8, 48.8]], ["C", [16.6, 51.9, 16.6, 55.2]], ["C", [16.6, 66.4, 27.3, 73.4]], ["M", [84.8, 55.2]], ["C", [84.8, 68.3, 72.8, 76.6]], ["C", [62.1, 84.1, 48.5, 84.1]], ["C", [34.8, 84.1, 24.1, 76.7]], ["C", [12.1, 68.3, 12.1, 55.2]], ["C", [12.1, 42, 24.1, 33.7]], ["C", [34.8, 26.3, 48.5, 26.3]], ["C", [56.6, 26.3, 63.9, 29]], ["C", [63.7, 30, 63.7, 31]], ["C", [63.7, 34.9, 66.15, 38.2]], ["C", [68.6, 41.5, 72.4, 43.1]], ["C", [75.4, 44.4, 78.4, 44.4]], ["C", [80.2, 44.4, 82, 43.9]], ["C", [84.8, 49.2, 84.8, 55.2]], ["M", [87.9, 36.7]], ["C", [85.5, 42.3, 78.4, 42.3]], ["C", [71.5, 42.3, 67.7, 36.9]], ["C", [65.6, 34, 65.6, 30.9]], ["C", [65.6, 29, 66.2, 27.5]], ["C", [68.5, 21.8, 75.7, 21.8]], ["C", [80.6, 21.8, 84.6, 25.15]], ["C", [88.6, 28.5, 88.6, 33.3]], ["C", [88.6, 35.1, 87.9, 36.7]]];
}
private static function initializeWidths():void{
__widths["q"] = 122;
__widths["w"] = 102;
__widths["e"] = 83;
__widths["r"] = 83;
__widths["t"] = 101;
__widths["y"] = 83;
__widths["u"] = 108;
__widths["i"] = 83;
__widths["o"] = 83;
__widths["p"] = 83;
__widths["["] = 96;
__widths["]"] = 96;
__widths["\\"] = 96;
__widths["'"] = 96;
__widths[";"] = 96;
__widths["l"] = 109;
__widths["k"] = 84;
__widths["j"] = 83;
__widths["h"] = 123;
__widths["g"] = 83;
__widths["d"] = 122;
__widths["s"] = 89;
}
}
}//package five3D.typography
Section 16
//HelveticaMedium (five3D.typography.HelveticaMedium)
package five3D.typography {
public class HelveticaMedium {
public static var __motifs:Object = {};
public static var __height:Number = 117;
public static var __widths:Object = {};
public static var __initialized:Boolean = false;
private static function initializeMotifsPunctuation():void{
__motifs[" "] = [];
__motifs["!"] = [["M", [7.7, 44.4]], ["L", [11.05, 75.35]], ["L", [16.9, 75.35]], ["L", [20.2, 44.4]], ["L", [20.2, 23.8]], ["L", [7.7, 23.8]], ["L", [7.7, 44.4]], ["M", [7.25, 95.2]], ["L", [20.6, 95.2]], ["L", [20.6, 82.7]], ["L", [7.25, 82.7]], ["L", [7.25, 95.2]]];
__motifs["\""] = [["M", [25.9, 23.8]], ["L", [25.9, 52.05]], ["L", [36.1, 52.05]], ["L", [36.1, 23.8]], ["L", [25.9, 23.8]], ["M", [8.3, 23.8]], ["L", [8.3, 52.05]], ["L", [18.5, 52.05]], ["L", [18.5, 23.8]], ["L", [8.3, 23.8]]];
__motifs["#"] = [["M", [46.8, 25.2]], ["L", [38.65, 25.2]], ["L", [35.8, 46.2]], ["L", [24.65, 46.2]], ["L", [27.7, 25.2]], ["L", [19.6, 25.2]], ["L", [16.7, 46.2]], ["L", [6.3, 46.2]], ["L", [6.3, 53.7]], ["L", [15.65, 53.7]], ["L", [13.85, 66.7]], ["L", [3.35, 66.7]], ["L", [3.35, 74.2]], ["L", [12.8, 74.2]], ["L", [9.85, 95.2]], ["L", [17.85, 95.2]], ["L", [20.9, 74.2]], ["L", [31.9, 74.2]], ["L", [29, 95.2]], ["L", [36.95, 95.2]], ["L", [40, 74.2]], ["L", [49.45, 74.2]], ["L", [49.45, 66.7]], ["L", [40.95, 66.7]], ["L", [42.75, 53.7]], ["L", [52.4, 53.7]], ["L", [52.4, 46.2]], ["L", [43.8, 46.2]], ["L", [46.8, 25.2]], ["M", [34.75, 53.7]], ["L", [32.95, 66.7]], ["L", [21.9, 66.7]], ["L", [23.7, 53.7]], ["L", [34.75, 53.7]]];
__motifs["$"] = [["M", [41.2, 24.2]], ["C", [36.3, 22.1, 30.2, 22.1]], ["L", [30.2, 14.3]], ["L", [25.9, 14.3]], ["L", [25.9, 22.1]], ["C", [19.85, 22.1, 14.75, 24.35]], ["C", [9.6, 26.6, 6.45, 31]], ["C", [3.3, 35.35, 3.2, 41.7]], ["C", [3.3, 48.9, 6.7, 53.2]], ["C", [10, 57.55, 15.2, 59.9]], ["C", [20.3, 62.3, 25.9, 63.7]], ["L", [25.9, 87.9]], ["C", [19.1, 87.65, 16, 83.9]], ["C", [13, 80.15, 13.1, 73.5]], ["L", [1.7, 73.5]], ["C", [1.65, 81, 4.7, 86.1]], ["C", [7.7, 91.3, 13.2, 94.05]], ["C", [18.65, 96.75, 25.9, 96.9]], ["L", [25.9, 104.7]], ["L", [30.2, 104.7]], ["L", [30.2, 96.9]], ["C", [36.9, 96.6, 42.3, 94.15]], ["C", [47.6, 91.7, 50.75, 86.8]], ["C", [53.85, 81.9, 53.9, 74.4]], ["C", [53.8, 67.2, 50.45, 62.9]], ["C", [47.1, 58.6, 41.75, 56.15]], ["C", [36.4, 53.75, 30.2, 52.2]], ["L", [30.2, 31.1]], ["C", [35.5, 31.15, 38, 33.8]], ["C", [40.55, 36.55, 40.7, 41.6]], ["L", [52.1, 41.6]], ["C", [52, 35, 49.05, 30.7]], ["C", [46.15, 26.35, 41.2, 24.2]], ["M", [17.55, 33.4]], ["C", [20.45, 31.05, 25.9, 31.1]], ["L", [25.9, 51.1]], ["C", [23.05, 50.4, 20.45, 49.25]], ["C", [17.9, 48.15, 16.25, 46.15]], ["C", [14.65, 44.15, 14.6, 40.9]], ["C", [14.65, 35.7, 17.55, 33.4]], ["M", [36.15, 66.65]], ["C", [38.95, 67.85, 40.7, 70.1]], ["C", [42.5, 72.3, 42.55, 76]], ["C", [42.45, 81.95, 39.05, 84.8]], ["C", [35.7, 87.6, 30.2, 87.9]], ["L", [30.2, 64.65]], ["C", [33.35, 65.35, 36.15, 66.65]]];
__motifs["%"] = [["M", [82.05, 83.55]], ["C", [81.25, 86.55, 79.55, 88.3]], ["C", [77.8, 90.05, 75, 90.1]], ["C", [72.2, 90.05, 70.5, 88.3]], ["C", [68.85, 86.55, 68.1, 83.55]], ["C", [67.4, 80.5, 67.4, 76.7]], ["C", [67.35, 73.35, 67.95, 70.25]], ["C", [68.6, 67.2, 70.25, 65.3]], ["C", [71.9, 63.35, 75, 63.3]], ["C", [78.1, 63.35, 79.8, 65.3]], ["C", [81.5, 67.2, 82.2, 70.25]], ["C", [82.85, 73.35, 82.8, 76.7]], ["C", [82.8, 80.5, 82.05, 83.55]], ["M", [84.6, 59.6]], ["C", [80.95, 56.85, 75.1, 56.8]], ["C", [69.25, 56.85, 65.6, 59.6]], ["C", [61.85, 62.3, 60.1, 66.8]], ["C", [58.4, 71.25, 58.4, 76.7]], ["C", [58.4, 82.25, 60.05, 86.7]], ["C", [61.7, 91.2, 65.4, 93.9]], ["C", [69.1, 96.55, 75.1, 96.6]], ["C", [81.1, 96.55, 84.8, 93.9]], ["C", [88.5, 91.2, 90.15, 86.7]], ["C", [91.8, 82.25, 91.8, 76.7]], ["C", [91.8, 71.25, 90.1, 66.8]], ["C", [88.35, 62.3, 84.6, 59.6]], ["M", [64.9, 22.85]], ["L", [26.05, 97.6]], ["L", [33.8, 97.6]], ["L", [72.45, 22.85]], ["L", [64.9, 22.85]], ["M", [9.9, 33.75]], ["C", [8.2, 38.2, 8.2, 43.75]], ["C", [8.2, 49.25, 9.85, 53.75]], ["C", [11.5, 58.2, 15.2, 60.85]], ["C", [18.9, 63.55, 24.9, 63.6]], ["C", [30.9, 63.55, 34.6, 60.85]], ["C", [38.3, 58.2, 39.95, 53.75]], ["C", [41.6, 49.25, 41.6, 43.75]], ["C", [41.6, 38.2, 39.9, 33.75]], ["C", [38.15, 29.3, 34.4, 26.6]], ["C", [30.75, 23.85, 24.9, 23.8]], ["C", [19.05, 23.85, 15.4, 26.6]], ["C", [11.65, 29.3, 9.9, 33.75]], ["M", [17.75, 37.25]], ["C", [18.4, 34.2, 20.05, 32.3]], ["C", [21.75, 30.35, 24.8, 30.3]], ["C", [27.9, 30.35, 29.6, 32.3]], ["C", [31.3, 34.2, 32, 37.25]], ["C", [32.65, 40.3, 32.6, 43.75]], ["C", [32.6, 47.5, 31.85, 50.5]], ["C", [31.05, 53.55, 29.35, 55.3]], ["C", [27.6, 57.05, 24.8, 57.1]], ["C", [22, 57.05, 20.3, 55.3]], ["C", [18.65, 53.55, 17.9, 50.5]], ["C", [17.2, 47.5, 17.2, 43.75]], ["C", [17.15, 40.3, 17.75, 37.25]]];
__motifs["&"] = [["M", [45.1, 29.7]], ["C", [42.65, 25.9, 38.6, 24]], ["C", [34.55, 22.1, 29.9, 22.1]], ["C", [25, 22.15, 21.05, 24.2]], ["C", [17.1, 26.3, 14.8, 30.1]], ["C", [12.45, 33.9, 12.4, 39.1]], ["C", [12.5, 43.7, 14.6, 47.45]], ["C", [16.75, 51.2, 19.65, 54.7]], ["C", [15.45, 56.8, 11.7, 59.7]], ["C", [8, 62.65, 5.65, 66.5]], ["C", [3.3, 70.4, 3.2, 75.4]], ["C", [3.25, 82.15, 6.15, 86.9]], ["C", [9, 91.6, 14.05, 94.1]], ["C", [19.1, 96.6, 25.7, 96.6]], ["C", [31.9, 96.6, 36.8, 94.35]], ["C", [41.75, 92.1, 45.7, 87.25]], ["L", [52.2, 95.2]], ["L", [66.2, 95.2]], ["L", [52.5, 78.6]], ["C", [54.9, 74.8, 56.25, 70.3]], ["C", [57.55, 65.8, 58.1, 61.1]], ["L", [48.1, 61.1]], ["C", [47.7, 64.55, 47.1, 66.8]], ["L", [45.9, 70.7]], ["L", [34.8, 57.3]], ["C", [38.3, 55.45, 41.2, 52.8]], ["C", [44.15, 50.25, 45.9, 46.8]], ["C", [47.65, 43.4, 47.7, 39.2]], ["C", [47.6, 33.5, 45.1, 29.7]], ["M", [22.6, 38.5]], ["C", [22.7, 34.85, 24.85, 32.75]], ["C", [26.95, 30.65, 30.2, 30.6]], ["C", [33.55, 30.65, 35.5, 32.95]], ["C", [37.45, 35.2, 37.5, 38.8]], ["C", [37.4, 43, 34.9, 45.65]], ["C", [32.45, 48.35, 29.1, 50.4]], ["L", [26.25, 46.75]], ["C", [24.75, 44.9, 23.75, 42.85]], ["C", [22.65, 40.85, 22.6, 38.5]], ["M", [25.6, 62.25]], ["L", [39.6, 79.6]], ["L", [36.95, 83]], ["C", [35.4, 84.85, 32.8, 86.2]], ["C", [30.2, 87.6, 26.1, 87.65]], ["C", [21.05, 87.6, 17.85, 84.5]], ["C", [14.7, 81.45, 14.6, 75.6]], ["C", [14.7, 71.4, 16.5, 69]], ["C", [18.35, 66.5, 20.9, 65]], ["C", [23.4, 63.45, 25.6, 62.25]]];
__motifs["'"] = [["M", [8.8, 23.8]], ["L", [8.8, 52.05]], ["L", [19, 52.05]], ["L", [19, 23.8]], ["L", [8.8, 23.8]]];
__motifs["("] = [["M", [8.7, 44.35]], ["C", [5, 56.1, 4.95, 68.2]], ["C", [5, 77.7, 6.9, 85.85]], ["C", [8.8, 93.95, 12, 100.95]], ["C", [15.3, 108, 19.3, 114.3]], ["L", [28.6, 114.3]], ["C", [22.3, 103.65, 19.3, 92.15]], ["C", [16.3, 80.7, 16.3, 68.2]], ["C", [16.3, 55.7, 19.45, 44.25]], ["C", [22.6, 32.8, 28.6, 22.1]], ["L", [19.3, 22.1]], ["C", [12.45, 32.65, 8.7, 44.35]]];
__motifs[")"] = [["M", [8.55, 22.1]], ["L", [-0.8, 22.1]], ["C", [5.5, 32.8, 8.55, 44.3]], ["C", [11.5, 55.8, 11.5, 68.3]], ["C", [11.5, 80.8, 8.4, 92.2]], ["C", [5.2, 103.65, -0.8, 114.3]], ["L", [8.55, 114.3]], ["C", [15.4, 103.8, 19.15, 92.1]], ["C", [22.85, 80.45, 22.9, 68.3]], ["C", [22.85, 58.75, 20.95, 50.65]], ["C", [19.05, 42.55, 15.8, 35.55]], ["C", [12.55, 28.45, 8.55, 22.1]]];
__motifs["*"] = [["M", [4.1, 31.55]], ["L", [1.9, 38]], ["L", [13, 41.85]], ["L", [6, 51.2]], ["L", [11.6, 55.1]], ["L", [18.4, 45.3]], ["L", [25.5, 55.1]], ["L", [30.8, 51.2]], ["L", [23.85, 41.85]], ["L", [35.2, 38]], ["L", [32.8, 31.55]], ["L", [21.9, 35.85]], ["L", [21.9, 23.8]], ["L", [15.1, 23.8]], ["L", [15.1, 35.85]], ["L", [4.1, 31.55]]];
__motifs["+"] = [["M", [24.9, 44.55]], ["L", [24.9, 64.8]], ["L", [4.8, 64.8]], ["L", [4.8, 75]], ["L", [24.9, 75]], ["L", [24.9, 95.2]], ["L", [35.1, 95.2]], ["L", [35.1, 75]], ["L", [55.2, 75]], ["L", [55.2, 64.8]], ["L", [35.1, 64.8]], ["L", [35.1, 44.55]], ["L", [24.9, 44.55]]];
__motifs[","] = [["M", [6.9, 95.2]], ["L", [13.75, 95.2]], ["C", [13.85, 98.5, 12.2, 101.25]], ["C", [10.6, 104, 7.3, 104.9]], ["L", [7.3, 111]], ["C", [13.35, 109.75, 17, 105.55]], ["C", [20.6, 101.4, 20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]];
__motifs["-"] = [["M", [4.9, 73.35]], ["L", [34, 73.35]], ["L", [34, 62.6]], ["L", [4.9, 62.6]], ["L", [4.9, 73.35]]];
__motifs["."] = [["M", [6.9, 95.2]], ["L", [20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]];
__motifs["/"] = [["M", [26.5, 22.1]], ["L", [-2.2, 96.9]], ["L", [8.7, 96.9]], ["L", [37.4, 22.1]], ["L", [26.5, 22.1]]];
__motifs[":"] = [["M", [6.9, 44.6]], ["L", [6.9, 58.1]], ["L", [20.8, 58.1]], ["L", [20.8, 44.6]], ["L", [6.9, 44.6]], ["M", [6.9, 95.2]], ["L", [20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]];
__motifs[";"] = [["M", [6.9, 44.6]], ["L", [6.9, 58.1]], ["L", [20.8, 58.1]], ["L", [20.8, 44.6]], ["L", [6.9, 44.6]], ["M", [6.9, 95.2]], ["L", [13.75, 95.2]], ["C", [13.85, 98.5, 12.2, 101.25]], ["C", [10.6, 104, 7.3, 104.9]], ["L", [7.3, 111]], ["C", [13.35, 109.75, 17, 105.55]], ["C", [20.6, 101.4, 20.8, 95.2]], ["L", [20.8, 81.7]], ["L", [6.9, 81.7]], ["L", [6.9, 95.2]]];
__motifs["<"] = [["M", [4.6, 73.5]], ["L", [55.35, 96.05]], ["L", [55.35, 85.85]], ["L", [17.95, 69.9]], ["L", [55.35, 54.05]], ["L", [55.35, 43.85]], ["L", [4.6, 66.35]], ["L", [4.6, 73.5]]];
__motifs["="] = [["M", [4.8, 85.1]], ["L", [55.2, 85.1]], ["L", [55.2, 74.9]], ["L", [4.8, 74.9]], ["L", [4.8, 85.1]], ["M", [4.8, 64.95]], ["L", [55.2, 64.95]], ["L", [55.2, 54.7]], ["L", [4.8, 54.7]], ["L", [4.8, 64.95]]];
__motifs[">"] = [["M", [4.6, 96.05]], ["L", [55.35, 73.5]], ["L", [55.35, 66.35]], ["L", [4.6, 43.85]], ["L", [4.6, 54.05]], ["L", [42, 69.9]], ["L", [4.6, 85.85]], ["L", [4.6, 96.05]]];
__motifs["?"] = [["M", [47.75, 31.35]], ["C", [44.85, 26.85, 39.95, 24.5]], ["C", [35.05, 22.1, 28.9, 22.1]], ["C", [21.55, 22.15, 16.15, 25.2]], ["C", [10.75, 28.2, 7.85, 33.7]], ["C", [4.95, 39.15, 4.95, 46.5]], ["L", [16.3, 46.5]], ["C", [16.3, 39.7, 19.3, 35.7]], ["C", [22.25, 31.7, 28.35, 31.65]], ["C", [30.25, 31.6, 32.5, 32.7]], ["C", [34.75, 33.75, 36.45, 36.2]], ["C", [38.1, 38.7, 38.2, 42.7]], ["C", [38.15, 46.05, 37.05, 48.2]], ["C", [35.95, 50.4, 34.1, 52.05]], ["L", [30.1, 55.5]], ["C", [27.45, 57.75, 25.75, 60.25]], ["C", [24, 62.75, 23.15, 66.4]], ["C", [22.3, 70.05, 22.3, 75.8]], ["L", [33.1, 75.8]], ["C", [33.1, 71.1, 34.25, 68.15]], ["C", [35.35, 65.15, 37.35, 63.05]], ["C", [39.3, 60.95, 41.9, 58.9]], ["L", [46.15, 55.05]], ["C", [48.1, 53, 49.35, 50]], ["C", [50.65, 46.95, 50.7, 42.3]], ["C", [50.65, 35.85, 47.75, 31.35]], ["M", [20.8, 95.2]], ["L", [34.2, 95.2]], ["L", [34.2, 82.7]], ["L", [20.8, 82.7]], ["L", [20.8, 95.2]]];
__motifs["@"] = [["M", [41.6, 22.1]], ["C", [34.1, 22.15, 27.5, 24.9]], ["C", [20.85, 27.65, 15.75, 32.6]], ["C", [10.7, 37.5, 7.8, 44.05]], ["C", [4.95, 50.55, 4.9, 58.2]], ["C", [5, 69.7, 9.95, 78.4]], ["C", [14.9, 87.1, 23.3, 92]], ["C", [31.7, 96.8, 42.1, 96.9]], ["C", [51.45, 96.85, 59.3, 92.55]], ["C", [67.1, 88.3, 72, 80.5]], ["L", [65, 80.5]], ["C", [60.9, 85.2, 55, 87.8]], ["C", [49.1, 90.35, 42.55, 90.4]], ["C", [34, 90.35, 27.3, 86.5]], ["C", [20.65, 82.65, 16.8, 75.5]], ["C", [13, 68.4, 12.9, 58.6]], ["C", [12.95, 50.2, 16.55, 43.4]], ["C", [20.15, 36.65, 26.6, 32.65]], ["C", [33.05, 28.7, 41.6, 28.6]], ["C", [48.95, 28.65, 55.05, 31.55]], ["C", [61.05, 34.4, 64.65, 39.75]], ["C", [68.2, 45.1, 68.3, 52.6]], ["C", [68.25, 58.75, 66.3, 63.6]], ["C", [64.4, 68.5, 61.45, 71.3]], ["C", [58.5, 74.15, 55.3, 74.2]], ["C", [54, 74.15, 53.6, 73.15]], ["C", [53.25, 72.05, 53.5, 70.5]], ["C", [53.75, 68.9, 54.3, 67.3]], ["L", [61.5, 41]], ["L", [54.5, 41]], ["L", [52.75, 46.7]], ["C", [50.85, 42.9, 47.95, 41.2]], ["C", [45.05, 39.5, 41.5, 39.5]], ["C", [36.55, 39.55, 32.5, 41.75]], ["C", [28.5, 44, 25.65, 47.7]], ["C", [22.7, 51.4, 21.15, 56]], ["C", [19.6, 60.6, 19.6, 65.35]], ["C", [19.65, 69.7, 21.55, 73.3]], ["C", [23.45, 76.8, 26.7, 78.95]], ["C", [30, 81.05, 34.2, 81.1]], ["C", [37.45, 81, 40.4, 79.35]], ["C", [43.3, 77.7, 45.4, 75.4]], ["L", [45.6, 75.4]], ["C", [45.8, 78.3, 47.45, 79.75]], ["C", [49.1, 81.2, 51.5, 81.2]], ["C", [54.65, 81.2, 58.6, 79.4]], ["C", [62.6, 77.5, 66.35, 73.8]], ["C", [70.05, 70.15, 72.55, 64.55]], ["C", [75, 58.9, 75.1, 51.4]], ["C", [75.05, 44.9, 72.35, 39.6]], ["C", [69.7, 34.2, 65.05, 30.3]], ["C", [60.35, 26.4, 54.35, 24.25]], ["C", [48.35, 22.15, 41.6, 22.1]], ["M", [30.2, 71.05]], ["C", [28.15, 68.55, 28.1, 64.5]], ["C", [28.1, 60.65, 29.8, 56.65]], ["C", [31.55, 52.6, 34.6, 49.9]], ["C", [37.7, 47.1, 41.9, 47]], ["C", [45.2, 47.1, 47.45, 49.65]], ["C", [49.7, 52.2, 49.8, 55.8]], ["C", [49.8, 58.6, 48.8, 61.65]], ["C", [47.75, 64.75, 45.9, 67.4]], ["C", [44.1, 70.1, 41.55, 71.8]], ["C", [39.05, 73.5, 36.1, 73.55]], ["C", [32.35, 73.5, 30.2, 71.05]]];
__motifs["["] = [["M", [7.25, 22.1]], ["L", [7.25, 114.3]], ["L", [29.5, 114.3]], ["L", [29.5, 105.3]], ["L", [18, 105.3]], ["L", [18, 31.1]], ["L", [29.5, 31.1]], ["L", [29.5, 22.1]], ["L", [7.25, 22.1]]];
__motifs["\\"] = [["M", [37.4, 96.9]], ["L", [8.7, 22.1]], ["L", [-2.2, 22.1]], ["L", [26.5, 96.9]], ["L", [37.4, 96.9]]];
__motifs["]"] = [["M", [11.6, 31.1]], ["L", [11.6, 105.3]], ["L", [0.15, 105.3]], ["L", [0.15, 114.3]], ["L", [22.4, 114.3]], ["L", [22.4, 22.1]], ["L", [0.15, 22.1]], ["L", [0.15, 31.1]], ["L", [11.6, 31.1]]];
__motifs["^"] = [["M", [26.4, 25.2]], ["L", [8.4, 61.7]], ["L", [18.6, 61.7]], ["L", [30.05, 37]], ["L", [41.4, 61.7]], ["L", [51.6, 61.7]], ["L", [33.6, 25.2]], ["L", [26.4, 25.2]]];
__motifs["_"] = [["M", [50, 102.7]], ["L", [0, 102.7]], ["L", [0, 107.7]], ["L", [50, 107.7]], ["L", [50, 102.7]]];
__motifs["`"] = [["M", [10.55, 22.1]], ["L", [-2.9, 22.1]], ["L", [11.35, 36.4]], ["L", [19.65, 36.4]], ["L", [10.55, 22.1]]];
}
private static function initializeWidthsPunctuation():void{
__widths[" "] = 28;
__widths["!"] = 28;
__widths["\""] = 44;
__widths["#"] = 56;
__widths["$"] = 56;
__widths["%"] = 100;
__widths["&"] = 65;
__widths["'"] = 28;
__widths["("] = 28;
__widths[")"] = 28;
__widths["*"] = 37;
__widths["+"] = 60;
__widths[","] = 28;
__widths["-"] = 39;
__widths["."] = 28;
__widths["/"] = 35;
__widths[":"] = 28;
__widths[";"] = 28;
__widths["<"] = 60;
__widths["="] = 60;
__widths[">"] = 60;
__widths["?"] = 56;
__widths["@"] = 80;
__widths["["] = 30;
__widths["\\"] = 35;
__widths["]"] = 30;
__widths["^"] = 60;
__widths["_"] = 50;
__widths["`"] = 24;
}
public static function initialize():void{
initializeMotifsUppercase();
initializeMotifsLowercase();
initializeMotifsNumbers();
initializeMotifsPunctuation();
initializeWidthsUppercase();
initializeWidthsLowercase();
initializeWidthsNumbers();
initializeWidthsPunctuation();
__initialized = true;
}
private static function initializeWidthsUppercase():void{
__widths["A"] = 67;
__widths["B"] = 70;
__widths["C"] = 72;
__widths["D"] = 72;
__widths["E"] = 63;
__widths["F"] = 59;
__widths["G"] = 76;
__widths["H"] = 72;
__widths["I"] = 28;
__widths["J"] = 54;
__widths["K"] = 69;
__widths["L"] = 57;
__widths["M"] = 89;
__widths["N"] = 72;
__widths["O"] = 76;
__widths["P"] = 67;
__widths["Q"] = 76;
__widths["R"] = 70;
__widths["S"] = 65;
__widths["T"] = 59;
__widths["U"] = 72;
__widths["V"] = 61;
__widths["W"] = 94;
__widths["X"] = 65;
__widths["Y"] = 65;
__widths["Z"] = 63;
}
private static function initializeMotifsNumbers():void{
__motifs["0"] = [["M", [47.45, 36.05]], ["C", [44.8, 30.65, 40.1, 27.3]], ["C", [35.3, 23.9, 27.85, 23.8]], ["C", [20.3, 23.9, 15.55, 27.3]], ["C", [10.8, 30.65, 8.15, 36.05]], ["C", [5.55, 41.5, 4.6, 47.85]], ["C", [3.55, 54.15, 3.6, 60.2]], ["C", [3.55, 66.3, 4.6, 72.6]], ["C", [5.55, 78.95, 8.15, 84.35]], ["C", [10.8, 89.8, 15.55, 93.15]], ["C", [20.3, 96.5, 27.85, 96.6]], ["C", [35.3, 96.5, 40.1, 93.15]], ["C", [44.8, 89.8, 47.45, 84.35]], ["C", [50.05, 78.95, 51.05, 72.6]], ["C", [52.05, 66.3, 52, 60.2]], ["C", [52.05, 54.15, 51.05, 47.85]], ["C", [50.05, 41.5, 47.45, 36.05]], ["M", [39.55, 46.75]], ["C", [40.65, 52.8, 40.65, 60.2]], ["C", [40.65, 67.6, 39.55, 73.65]], ["C", [38.4, 79.7, 35.6, 83.4]], ["C", [32.75, 87, 27.85, 87.1]], ["C", [22.85, 87, 20, 83.4]], ["C", [17.25, 79.7, 16.05, 73.65]], ["C", [14.95, 67.6, 15, 60.2]], ["C", [14.95, 52.8, 16.05, 46.75]], ["C", [17.25, 40.7, 20, 37.05]], ["C", [22.85, 33.45, 27.85, 33.35]], ["C", [32.75, 33.45, 35.6, 37.05]], ["C", [38.4, 40.7, 39.55, 46.75]]];
__motifs["1"] = [["M", [5.3, 45.8]], ["L", [22.5, 45.8]], ["L", [22.5, 95.2]], ["L", [35, 95.2]], ["L", [35, 25.2]], ["L", [25.75, 25.2]], ["C", [24.8, 29.4, 21.8, 31.95]], ["C", [18.8, 34.55, 14.5, 35.75]], ["C", [10.15, 36.85, 5.3, 36.8]], ["L", [5.3, 45.8]]];
__motifs["2"] = [["M", [46.95, 31.2]], ["C", [44.4, 27.95, 40.05, 25.9]], ["C", [35.7, 23.85, 29.3, 23.8]], ["C", [21.5, 23.9, 16.1, 27.4]], ["C", [10.8, 30.85, 8, 36.95]], ["C", [5.2, 43, 5.2, 50.8]], ["L", [16.6, 50.8]], ["C", [16.7, 45.9, 17.8, 41.95]], ["C", [19, 37.95, 21.6, 35.7]], ["C", [24.1, 33.4, 28.6, 33.35]], ["C", [33.5, 33.45, 36.1, 35.45]], ["C", [38.65, 37.45, 39.6, 40.25]], ["C", [40.55, 43.15, 40.45, 45.75]], ["C", [40.3, 49.8, 38.35, 52.95]], ["C", [36.4, 56.2, 33.2, 58.8]], ["C", [30.1, 61.45, 26.4, 63.85]], ["L", [19.3, 68.7]], ["C", [12.2, 73.4, 8.15, 80]], ["C", [4.05, 86.6, 3.9, 95.2]], ["L", [51.7, 95.2]], ["L", [51.7, 85]], ["L", [17.6, 85]], ["C", [18.65, 81.9, 21.55, 79.35]], ["C", [24.35, 76.7, 28.2, 74.2]], ["L", [36.25, 68.95]], ["C", [40.3, 66.15, 43.8, 62.8]], ["C", [47.35, 59.4, 49.55, 55.1]], ["C", [51.75, 50.85, 51.8, 45.3]], ["C", [51.8, 41.9, 50.7, 38.15]], ["C", [49.55, 34.45, 46.95, 31.2]]];
__motifs["3"] = [["M", [46.4, 32.15]], ["C", [43.2, 28, 38.2, 25.9]], ["C", [33.15, 23.8, 27.6, 23.8]], ["C", [20.5, 23.85, 15.45, 27]], ["C", [10.35, 30.05, 7.5, 35.4]], ["C", [4.75, 40.75, 4.4, 47.6]], ["L", [15.75, 47.6]], ["C", [15.65, 43.95, 16.95, 40.7]], ["C", [18.2, 37.5, 20.8, 35.45]], ["C", [23.45, 33.4, 27.4, 33.35]], ["C", [32.25, 33.4, 35.25, 36.05]], ["C", [38.25, 38.75, 38.35, 43.2]], ["C", [38.3, 47.5, 36, 49.95]], ["C", [33.75, 52.4, 30.2, 53.4]], ["C", [26.7, 54.4, 22.85, 54.2]], ["L", [22.8, 62.7]], ["L", [31.55, 63.15]], ["C", [35.7, 63.9, 38.4, 66.6]], ["C", [41, 69.2, 41.1, 74.6]], ["C", [41.05, 78.6, 39.3, 81.4]], ["C", [37.6, 84.15, 34.55, 85.65]], ["C", [31.55, 87.1, 27.7, 87.1]], ["C", [23.25, 87.05, 20.25, 85.15]], ["C", [17.3, 83.2, 15.8, 79.8]], ["C", [14.35, 76.5, 14.5, 72.2]], ["L", [3.15, 72.2]], ["C", [3.25, 79.55, 6.05, 85]], ["C", [8.8, 90.45, 14.2, 93.55]], ["C", [19.65, 96.55, 27.7, 96.6]], ["C", [34.5, 96.55, 40.1, 94]], ["C", [45.7, 91.4, 49, 86.6]], ["C", [52.4, 81.8, 52.5, 75.2]], ["C", [52.45, 68.35, 49.1, 63.65]], ["C", [45.8, 59, 39.8, 57.7]], ["L", [39.8, 57.5]], ["C", [44.8, 55.65, 47.25, 51.75]], ["C", [49.7, 47.85, 49.7, 42.5]], ["C", [49.6, 36.3, 46.4, 32.15]]];
__motifs["4"] = [["M", [32.4, 38.8]], ["L", [32.4, 69.6]], ["L", [11.25, 69.6]], ["L", [32.25, 38.8]], ["L", [32.4, 38.8]], ["M", [32.4, 95.2]], ["L", [43.2, 95.2]], ["L", [43.2, 78.6]], ["L", [52.2, 78.6]], ["L", [52.2, 69.6]], ["L", [43.2, 69.6]], ["L", [43.2, 25.2]], ["L", [32.4, 25.2]], ["L", [2.45, 67.3]], ["L", [2.45, 78.6]], ["L", [32.4, 78.6]], ["L", [32.4, 95.2]]];
__motifs["5"] = [["M", [48.5, 25.2]], ["L", [12.3, 25.2]], ["L", [4.85, 63.4]], ["L", [16.2, 63.4]], ["C", [17.65, 59.8, 20.7, 58.4]], ["C", [23.85, 56.95, 27.5, 57]], ["C", [32.1, 57.05, 35.05, 59.1]], ["C", [38, 61.1, 39.4, 64.45]], ["C", [40.8, 67.75, 40.8, 71.65]], ["C", [40.85, 75.95, 39.6, 79.45]], ["C", [38.4, 82.95, 35.5, 85]], ["C", [32.6, 87.05, 27.8, 87.1]], ["C", [22.2, 87.05, 18.85, 84]], ["C", [15.5, 80.95, 14.9, 75.3]], ["L", [3.5, 75.3]], ["C", [3.8, 82.3, 7.1, 87.05]], ["C", [10.35, 91.8, 15.75, 94.15]], ["C", [21.2, 96.6, 28.05, 96.6]], ["C", [34.4, 96.55, 39.05, 94.25]], ["C", [43.65, 92, 46.55, 88.25]], ["C", [49.45, 84.5, 50.85, 80.1]], ["C", [52.2, 75.7, 52.2, 71.45]], ["C", [52.2, 64.7, 49.6, 59.4]], ["C", [47, 54.15, 42.2, 51.1]], ["C", [37.3, 48.1, 30.3, 48.05]], ["C", [26.7, 48.05, 23.25, 49.4]], ["C", [19.8, 50.75, 17.4, 53.3]], ["L", [17.2, 53.1]], ["L", [20.8, 35.4]], ["L", [48.5, 35.4]], ["L", [48.5, 25.2]]];
__motifs["6"] = [["M", [47.6, 32.9]], ["C", [44.75, 28.65, 40.1, 26.25]], ["C", [35.4, 23.85, 29.8, 23.8]], ["C", [22.4, 23.9, 17.35, 27.15]], ["C", [12.25, 30.35, 9.2, 35.7]], ["C", [6.1, 40.95, 4.8, 47.3]], ["C", [3.4, 53.65, 3.4, 60]], ["C", [3.3, 70.3, 5.45, 78.55]], ["C", [7.55, 86.8, 13.15, 91.65]], ["C", [18.7, 96.5, 28.9, 96.6]], ["C", [35.95, 96.55, 41.15, 93.45]], ["C", [46.4, 90.3, 49.25, 84.95]], ["C", [52.15, 79.6, 52.2, 72.7]], ["C", [52.15, 65.9, 49.55, 60.65]], ["C", [46.9, 55.35, 42.05, 52.35]], ["C", [37.1, 49.25, 30.15, 49.2]], ["C", [25.4, 49.2, 21.4, 51.3]], ["C", [17.45, 53.35, 15.05, 57.5]], ["L", [14.8, 57.3]], ["C", [15.05, 53.75, 15.65, 49.7]], ["C", [16.2, 45.6, 17.7, 41.9]], ["C", [19.15, 38.15, 21.9, 35.8]], ["C", [24.7, 33.4, 29.3, 33.35]], ["C", [33.8, 33.4, 36.45, 35.95]], ["C", [39.1, 38.6, 39.5, 42.9]], ["L", [50.9, 42.9]], ["C", [50.5, 37.2, 47.6, 32.9]], ["M", [28.5, 58.2]], ["C", [32.6, 58.25, 35.35, 60.25]], ["C", [38.1, 62.2, 39.45, 65.45]], ["C", [40.8, 68.7, 40.8, 72.5]], ["C", [40.8, 76.3, 39.45, 79.6]], ["C", [38.1, 82.95, 35.35, 85]], ["C", [32.6, 87.05, 28.5, 87.1]], ["C", [24.35, 87.05, 21.6, 85]], ["C", [18.75, 82.95, 17.35, 79.65]], ["C", [15.9, 76.35, 15.9, 72.5]], ["C", [15.9, 68.6, 17.35, 65.35]], ["C", [18.75, 62.15, 21.6, 60.2]], ["C", [24.35, 58.25, 28.5, 58.2]]];
__motifs["7"] = [["M", [51.35, 25.2]], ["L", [3.5, 25.2]], ["L", [3.5, 35.4]], ["L", [39.8, 35.4]], ["C", [32.5, 43.55, 26.7, 53.15]], ["C", [20.9, 62.85, 17.3, 73.45]], ["C", [13.6, 84.1, 12.8, 95.2]], ["L", [25.3, 95.2]], ["C", [26.2, 82.6, 29.6, 71.9]], ["C", [33, 61.25, 38.55, 52.1]], ["C", [44.05, 42.9, 51.35, 34.7]], ["L", [51.35, 25.2]]];
__motifs["8"] = [["M", [43.95, 28.9]], ["C", [38.3, 23.9, 27.85, 23.8]], ["C", [17.35, 23.9, 11.65, 28.9]], ["C", [6.05, 33.9, 6, 42.9]], ["C", [6.05, 48.05, 8.6, 51.75]], ["C", [11.15, 55.45, 15.9, 57.3]], ["L", [15.9, 57.5]], ["C", [10, 59.05, 6.6, 63.5]], ["C", [3.15, 67.95, 3.15, 74.65]], ["C", [3.15, 81.55, 6.35, 86.4]], ["C", [9.55, 91.35, 15.1, 94]], ["C", [20.65, 96.55, 27.85, 96.6]], ["C", [34.95, 96.55, 40.55, 94]], ["C", [46.05, 91.35, 49.25, 86.4]], ["C", [52.45, 81.55, 52.5, 74.65]], ["C", [52.45, 67.95, 49, 63.5]], ["C", [45.6, 59.05, 39.7, 57.5]], ["L", [39.7, 57.3]], ["C", [44.5, 55.45, 47, 51.75]], ["C", [49.55, 48.05, 49.6, 42.9]], ["C", [49.55, 33.9, 43.95, 28.9]], ["M", [27.85, 32.8]], ["C", [32.5, 32.8, 35.6, 35.6]], ["C", [38.7, 38.3, 38.8, 43.5]], ["C", [38.7, 48.45, 35.7, 51.1]], ["C", [32.6, 53.8, 27.85, 53.8]], ["C", [23, 53.8, 19.9, 51.1]], ["C", [16.9, 48.45, 16.8, 43.5]], ["C", [16.9, 38.3, 20, 35.6]], ["C", [23.1, 32.8, 27.85, 32.8]], ["M", [37.3, 65.55]], ["C", [41, 68.8, 41.1, 74.6]], ["C", [41, 80.8, 37.3, 84.2]], ["C", [33.65, 87.6, 27.85, 87.65]], ["C", [21.95, 87.6, 18.3, 84.2]], ["C", [14.6, 80.85, 14.5, 74.65]], ["C", [14.6, 68.8, 18.3, 65.55]], ["C", [21.95, 62.35, 27.85, 62.3]], ["C", [33.65, 62.35, 37.3, 65.55]]];
__motifs["9"] = [["M", [42.7, 28.8]], ["C", [37.3, 23.9, 27.5, 23.8]], ["C", [19.8, 23.85, 14.45, 27]], ["C", [9.1, 30.1, 6.25, 35.5]], ["C", [3.4, 40.85, 3.4, 47.7]], ["C", [3.45, 54.85, 6.2, 60.2]], ["C", [8.95, 65.45, 13.9, 68.35]], ["C", [18.85, 71.25, 25.5, 71.25]], ["C", [30.35, 71.25, 34.35, 69.1]], ["C", [38.3, 66.95, 40.6, 62.9]], ["L", [40.8, 63.05]], ["C", [40.6, 66.65, 40, 70.75]], ["C", [39.4, 74.85, 37.95, 78.55]], ["C", [36.45, 82.25, 33.7, 84.65]], ["C", [30.9, 87.05, 26.3, 87.1]], ["C", [21.85, 87.05, 19.15, 84.45]], ["C", [16.45, 81.8, 16.05, 77.5]], ["L", [4.7, 77.5]], ["C", [5.1, 83.25, 7.95, 87.55]], ["C", [10.85, 91.8, 15.55, 94.15]], ["C", [20.15, 96.55, 25.8, 96.6]], ["C", [33.2, 96.5, 38.3, 93.3]], ["C", [43.35, 90.05, 46.45, 84.75]], ["C", [49.5, 79.5, 50.85, 73.15]], ["C", [52.2, 66.8, 52.2, 60.45]], ["C", [52.3, 50.15, 50.2, 41.9]], ["C", [48.1, 33.65, 42.7, 28.8]], ["M", [16.1, 40.5]], ["C", [17.45, 37.3, 20.15, 35.35]], ["C", [22.85, 33.4, 27, 33.35]], ["C", [31.25, 33.4, 34.1, 35.4]], ["C", [36.9, 37.35, 38.3, 40.55]], ["C", [39.7, 43.8, 39.7, 47.6]], ["C", [39.7, 51.5, 38.3, 54.8]], ["C", [36.9, 58.15, 34.1, 60.2]], ["C", [31.25, 62.25, 27, 62.3]], ["C", [22.85, 62.25, 20.15, 60.2]], ["C", [17.45, 58.1, 16.1, 54.75]], ["C", [14.8, 51.45, 14.8, 47.6]], ["C", [14.8, 43.8, 16.1, 40.5]]];
}
private static function initializeWidthsLowercase():void{
__widths["a"] = 56;
__widths["b"] = 61;
__widths["c"] = 56;
__widths["d"] = 61;
__widths["e"] = 56;
__widths["f"] = 32;
__widths["g"] = 59;
__widths["h"] = 57;
__widths["i"] = 24;
__widths["j"] = 24;
__widths["k"] = 54;
__widths["l"] = 24;
__widths["m"] = 87;
__widths["n"] = 57;
__widths["o"] = 59;
__widths["p"] = 61;
__widths["q"] = 61;
__widths["r"] = 35;
__widths["s"] = 52;
__widths["t"] = 33;
__widths["u"] = 57;
__widths["v"] = 52;
__widths["w"] = 78;
__widths["x"] = 54;
__widths["y"] = 52;
__widths["z"] = 50;
}
private static function initializeWidthsNumbers():void{
__widths["0"] = 56;
__widths["1"] = 56;
__widths["2"] = 56;
__widths["3"] = 56;
__widths["4"] = 56;
__widths["5"] = 56;
__widths["6"] = 56;
__widths["7"] = 56;
__widths["8"] = 56;
__widths["9"] = 56;
}
private static function initializeMotifsLowercase():void{
__motifs["a"] = [["M", [9.05, 48.9]], ["C", [5.6, 52.65, 5.15, 59.25]], ["L", [16.5, 59.25]], ["C", [16.95, 55.05, 19.95, 53.05]], ["C", [23.05, 51.05, 27.9, 51.05]], ["L", [32.7, 51.55]], ["C", [35.15, 52.1, 36.85, 53.65]], ["C", [38.55, 55.15, 38.55, 58.1]], ["C", [38.55, 61.35, 36.4, 62.65]], ["C", [34.3, 63.95, 30.75, 64.35]], ["L", [23.1, 65.4]], ["C", [18.2, 65.85, 13.65, 67.2]], ["C", [9.2, 68.55, 6.25, 71.85]], ["C", [3.3, 75.15, 3.2, 81.55]], ["C", [3.25, 86.55, 5.75, 89.95]], ["C", [8.2, 93.3, 12.2, 94.95]], ["C", [16.15, 96.6, 20.9, 96.6]], ["L", [27.25, 96]], ["C", [30.5, 95.3, 33.5, 93.95]], ["C", [36.5, 92.5, 38.75, 90.3]], ["C", [39.5, 93.8, 41.8, 95.25]], ["C", [44.1, 96.65, 47.55, 96.6]], ["L", [51.2, 96.2]], ["L", [54.8, 95.3]], ["L", [54.8, 87.45]], ["L", [53.15, 87.65]], ["L", [51.95, 87.65]], ["C", [50.45, 87.65, 49.8, 86.75]], ["C", [49.2, 85.85, 49.25, 83.75]], ["L", [49.25, 57.05]], ["C", [49.15, 51.65, 46.15, 48.35]], ["C", [43.1, 45.05, 38.45, 43.55]], ["C", [33.75, 42.1, 28.6, 42.1]], ["C", [22.8, 42.05, 17.65, 43.6]], ["C", [12.45, 45.15, 9.05, 48.9]], ["M", [37.9, 69.3]], ["L", [37.9, 77.8]], ["C", [37.8, 81.45, 35.7, 83.6]], ["C", [33.6, 85.75, 30.6, 86.7]], ["C", [27.7, 87.65, 25.1, 87.65]], ["L", [20.6, 87.05]], ["C", [18.15, 86.45, 16.4, 85]], ["C", [14.7, 83.6, 14.6, 81.05]], ["C", [14.7, 76.6, 17.45, 74.75]], ["C", [20.1, 72.9, 23.9, 72.4]], ["L", [31.45, 71.35]], ["C", [35.2, 70.95, 37.9, 69.3]]];
__motifs["b"] = [["M", [6.3, 23.8]], ["L", [6.3, 95.2]], ["L", [17.1, 95.2]], ["L", [17.1, 88.1]], ["L", [17.3, 88.1]], ["C", [19, 91.5, 21.9, 93.35]], ["C", [24.7, 95.2, 28.15, 95.95]], ["L", [35.2, 96.6]], ["C", [42.8, 96.5, 47.75, 92.7]], ["C", [52.7, 88.9, 55.1, 82.8]], ["C", [57.45, 76.7, 57.45, 69.6]], ["C", [57.45, 61.95, 54.85, 55.75]], ["C", [52.15, 49.55, 46.8, 45.85]], ["C", [41.45, 42.15, 33.3, 42.1]], ["C", [30.3, 42.1, 27.4, 43.05]], ["C", [24.45, 44.05, 21.95, 45.85]], ["C", [19.5, 47.65, 17.85, 50.2]], ["L", [17.7, 50.2]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]], ["M", [31.8, 51.05]], ["C", [36.45, 51.15, 39.7, 53.7]], ["C", [42.85, 56.3, 44.5, 60.45]], ["C", [46.1, 64.6, 46.1, 69.4]], ["C", [46.15, 74, 44.7, 78.1]], ["C", [43.25, 82.25, 40.15, 84.9]], ["C", [36.95, 87.55, 31.8, 87.65]], ["C", [27.15, 87.6, 23.95, 85.25]], ["C", [20.7, 82.85, 19, 78.75]], ["C", [17.3, 74.65, 17.3, 69.4]], ["C", [17.3, 61, 20.95, 56.1]], ["C", [24.55, 51.15, 31.8, 51.05]]];
__motifs["c"] = [["M", [14.85, 45.85]], ["C", [9.2, 49.5, 6.35, 55.75]], ["C", [3.5, 62, 3.5, 69.9]], ["C", [3.5, 77.55, 6.4, 83.6]], ["C", [9.35, 89.6, 14.9, 93.05]], ["C", [20.45, 96.5, 28.6, 96.6]], ["C", [38.6, 96.55, 44.65, 91.25]], ["C", [50.7, 85.9, 52.3, 75.8]], ["L", [40.85, 75.8]], ["C", [40.05, 81.45, 36.8, 84.5]], ["C", [33.6, 87.6, 28.6, 87.65]], ["C", [23.7, 87.55, 20.65, 84.95]], ["C", [17.65, 82.35, 16.25, 78.3]], ["C", [14.9, 74.3, 14.9, 69.9]], ["C", [15, 62.1, 17.25, 58.05]], ["C", [19.55, 53.95, 22.8, 52.45]], ["C", [26.05, 50.95, 29.1, 51.05]], ["C", [33.9, 51.05, 37, 53.55]], ["C", [40.15, 56.05, 40.85, 60.8]], ["L", [52.3, 60.8]], ["C", [51.65, 54.45, 48.45, 50.3]], ["C", [45.15, 46.15, 40.15, 44.1]], ["C", [35.05, 42.1, 29, 42.1]], ["C", [20.5, 42.15, 14.85, 45.85]]];
__motifs["d"] = [["M", [43.3, 23.8]], ["L", [43.3, 50.2]], ["L", [43.1, 50.2]], ["C", [41.3, 47.3, 38.55, 45.55]], ["C", [35.75, 43.75, 32.45, 42.9]], ["C", [29.2, 42.1, 25.9, 42.1]], ["C", [20.15, 42.1, 15.1, 44.9]], ["C", [10, 47.75, 6.8, 53.7]], ["C", [3.6, 59.65, 3.5, 69]], ["C", [3.5, 76.85, 6.15, 83.05]], ["C", [8.85, 89.3, 14.2, 92.9]], ["C", [19.55, 96.5, 27.7, 96.6]], ["C", [32.65, 96.65, 37, 94.6]], ["C", [41.35, 92.6, 43.7, 88.2]], ["L", [43.9, 88.2]], ["L", [43.9, 95.2]], ["L", [54.7, 95.2]], ["L", [54.7, 23.8]], ["L", [43.3, 23.8]], ["M", [29.4, 51.05]], ["C", [36.1, 51.1, 39.85, 55.9]], ["C", [43.65, 60.7, 43.7, 69.25]], ["C", [43.75, 73.9, 42.25, 78.05]], ["C", [40.7, 82.2, 37.5, 84.9]], ["C", [34.3, 87.55, 29.2, 87.65]], ["C", [24.25, 87.55, 21.1, 85]], ["C", [17.9, 82.5, 16.4, 78.45]], ["C", [14.9, 74.45, 14.9, 69.9]], ["C", [14.85, 65.15, 16.25, 60.85]], ["C", [17.7, 56.6, 20.9, 53.9]], ["C", [24.05, 51.15, 29.4, 51.05]]];
__motifs["e"] = [["M", [15.2, 45.9]], ["C", [9.55, 49.6, 6.6, 55.75]], ["C", [3.55, 61.95, 3.5, 69.35]], ["C", [3.5, 77.45, 6.5, 83.55]], ["C", [9.4, 89.65, 15.05, 93.1]], ["C", [20.65, 96.55, 28.8, 96.6]], ["C", [34.45, 96.6, 39.3, 94.55]], ["C", [44.15, 92.5, 47.5, 88.6]], ["C", [50.9, 84.7, 52.2, 79]], ["L", [41.4, 79]], ["C", [39.9, 83.3, 36.8, 85.5]], ["C", [33.75, 87.65, 28.8, 87.65]], ["C", [24, 87.6, 20.95, 85.5]], ["C", [17.85, 83.35, 16.4, 79.85]], ["C", [14.9, 76.4, 14.9, 72.3]], ["L", [52.9, 72.3]], ["C", [53.55, 66.45, 52.15, 61]], ["C", [50.8, 55.65, 47.5, 51.35]], ["C", [44.3, 47.1, 39.45, 44.6]], ["C", [34.6, 42.1, 28.45, 42.1]], ["C", [20.75, 42.15, 15.2, 45.9]], ["M", [39.65, 58.05]], ["C", [41.25, 61.1, 41.5, 64.8]], ["L", [14.9, 64.8]], ["C", [15.1, 60.85, 16.8, 57.8]], ["C", [18.5, 54.7, 21.55, 52.9]], ["C", [24.5, 51.1, 28.45, 51.05]], ["C", [32.35, 51.1, 35.2, 53]], ["C", [38.05, 54.9, 39.65, 58.05]]];
__motifs["f"] = [["M", [28.35, 23.95]], ["L", [23.7, 23.8]], ["C", [19.9, 23.7, 16.7, 24.9]], ["C", [13.5, 26, 11.45, 29.35]], ["C", [9.45, 32.7, 9.4, 39.2]], ["L", [9.4, 43.5]], ["L", [0.95, 43.5]], ["L", [0.95, 52]], ["L", [9.4, 52]], ["L", [9.4, 95.2]], ["L", [20.8, 95.2]], ["L", [20.8, 52]], ["L", [30.5, 52]], ["L", [30.5, 43.5]], ["L", [20.8, 43.5]], ["L", [20.8, 38.2]], ["C", [20.85, 35.05, 22.4, 33.85]], ["C", [24, 32.75, 26.4, 32.8]], ["L", [29.35, 32.95]], ["L", [31.7, 33.4]], ["L", [31.7, 24.5]], ["L", [28.35, 23.95]]];
__motifs["g"] = [["M", [42.45, 43.5]], ["L", [42.45, 50.55]], ["L", [42.25, 50.55]], ["C", [40, 46.25, 35.95, 44.15]], ["C", [31.9, 42.1, 26.9, 42.1]], ["C", [19.55, 42.15, 14.3, 45.7]], ["C", [9.1, 49.25, 6.3, 55.05]], ["C", [3.55, 60.9, 3.5, 68]], ["C", [3.5, 75.45, 5.9, 81.65]], ["C", [8.3, 87.8, 13.45, 91.45]], ["C", [18.55, 95.1, 26.7, 95.2]], ["C", [31.6, 95.15, 35.7, 92.8]], ["C", [39.75, 90.4, 42.25, 86.1]], ["L", [42.45, 86.1]], ["L", [42.45, 94]], ["C", [42.5, 100.4, 39.2, 103.8]], ["C", [36, 107.15, 29.1, 107.2]], ["L", [23.65, 106.65]], ["C", [21.05, 106.15, 19.25, 104.5]], ["C", [17.45, 102.8, 16.7, 99.6]], ["L", [5.3, 99.6]], ["C", [5.9, 105.6, 9.4, 109.15]], ["C", [12.95, 112.7, 18, 114.25]], ["C", [23.1, 115.75, 28.4, 115.7]], ["C", [40.7, 115.7, 47.2, 109.9]], ["C", [53.75, 104.15, 53.8, 92.5]], ["L", [53.8, 43.5]], ["L", [42.45, 43.5]], ["M", [28.5, 51.05]], ["C", [33.45, 51.1, 36.5, 53.5]], ["C", [39.6, 55.9, 41, 59.8]], ["C", [42.45, 63.65, 42.45, 68.2]], ["C", [42.5, 72.7, 41.05, 76.8]], ["C", [39.7, 80.9, 36.6, 83.5]], ["C", [33.55, 86.1, 28.5, 86.2]], ["C", [23.8, 86.1, 20.75, 83.7]], ["C", [17.7, 81.2, 16.3, 77.35]], ["C", [14.9, 73.4, 14.9, 69.1]], ["C", [14.85, 64.7, 16.15, 60.6]], ["C", [17.5, 56.5, 20.5, 53.8]], ["C", [23.5, 51.15, 28.5, 51.05]]];
__motifs["h"] = [["M", [6, 23.8]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 64.7]], ["C", [17.4, 60.85, 18.95, 57.75]], ["C", [20.45, 54.65, 23.25, 52.9]], ["C", [26.05, 51.1, 29.9, 51.05]], ["C", [34.9, 51, 37.4, 53.85]], ["C", [39.85, 56.65, 40, 62.7]], ["L", [40, 95.2]], ["L", [51.35, 95.2]], ["L", [51.35, 59.65]], ["C", [51.25, 50.95, 46.45, 46.5]], ["C", [41.55, 42.1, 33.1, 42.1]], ["C", [27.95, 42.15, 23.85, 44.4]], ["C", [19.75, 46.65, 17.6, 50.3]], ["L", [17.4, 50.3]], ["L", [17.4, 23.8]], ["L", [6, 23.8]]];
__motifs["i"] = [["M", [6.3, 34.6]], ["L", [17.7, 34.6]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]], ["L", [6.3, 34.6]], ["M", [6.3, 43.5]], ["L", [6.3, 95.2]], ["L", [17.7, 95.2]], ["L", [17.7, 43.5]], ["L", [6.3, 43.5]]];
__motifs["j"] = [["M", [6.3, 34.6]], ["L", [17.7, 34.6]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]], ["L", [6.3, 34.6]], ["M", [6.3, 43.5]], ["L", [6.3, 99.1]], ["C", [6.4, 102.95, 5.55, 104.8]], ["C", [4.75, 106.7, 1.7, 106.7]], ["L", [-0.1, 106.65]], ["L", [-2.2, 106.35]], ["L", [-2.2, 115.3]], ["L", [0.1, 115.55]], ["L", [2.9, 115.7]], ["C", [10.85, 115.65, 14.3, 111.5]], ["C", [17.75, 107.4, 17.7, 99.65]], ["L", [17.7, 43.5]], ["L", [6.3, 43.5]]];
__motifs["k"] = [["M", [6.3, 23.8]], ["L", [6.3, 95.2]], ["L", [17.7, 95.2]], ["L", [17.7, 76.7]], ["L", [24.45, 70.1]], ["L", [40.3, 95.2]], ["L", [54.15, 95.2]], ["L", [32.45, 62.5]], ["L", [52.3, 43.5]], ["L", [38.3, 43.5]], ["L", [17.7, 64.4]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]]];
__motifs["l"] = [["M", [6.3, 23.8]], ["L", [6.3, 95.2]], ["L", [17.7, 95.2]], ["L", [17.7, 23.8]], ["L", [6.3, 23.8]]];
__motifs["m"] = [["M", [54.2, 44.35]], ["C", [50.3, 46.65, 47.45, 50.65]], ["C", [45.65, 46.25, 41.75, 44.15]], ["C", [37.8, 42.1, 33, 42.1]], ["C", [26.95, 42.1, 23.25, 44.45]], ["C", [19.55, 46.75, 17.1, 50.65]], ["L", [16.8, 50.65]], ["L", [16.8, 43.5]], ["L", [6, 43.5]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 64.5]], ["C", [17.45, 60.15, 19, 57.15]], ["C", [20.55, 54.2, 23.15, 52.6]], ["C", [25.7, 51.05, 28.7, 51.05]], ["C", [33.8, 51.05, 35.85, 53.85]], ["C", [37.9, 56.65, 37.8, 61.95]], ["L", [37.8, 95.2]], ["L", [49.15, 95.2]], ["L", [49.15, 64.9]], ["C", [49.1, 58.3, 51.75, 54.7]], ["C", [54.45, 51.1, 60.15, 51.05]], ["C", [64.55, 51.1, 66.55, 52.8]], ["C", [68.6, 54.6, 69.15, 57.7]], ["C", [69.7, 60.85, 69.6, 65]], ["L", [69.6, 95.2]], ["L", [80.95, 95.2]], ["L", [80.95, 59.45]], ["C", [80.9, 50.15, 76.4, 46.05]], ["C", [71.9, 42, 63.65, 42.1]], ["C", [58.1, 42.1, 54.2, 44.35]]];
__motifs["n"] = [["M", [6, 43.5]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 64.7]], ["C", [17.4, 60.85, 18.95, 57.75]], ["C", [20.45, 54.65, 23.25, 52.9]], ["C", [26.05, 51.1, 29.9, 51.05]], ["C", [34.9, 51, 37.4, 53.85]], ["C", [39.85, 56.65, 40, 62.7]], ["L", [40, 95.2]], ["L", [51.35, 95.2]], ["L", [51.35, 59.65]], ["C", [51.25, 50.95, 46.45, 46.5]], ["C", [41.55, 42.1, 33.1, 42.1]], ["C", [27.95, 42.1, 23.8, 44.5]], ["C", [19.6, 46.95, 17, 51.25]], ["L", [16.8, 51.05]], ["L", [16.8, 43.5]], ["L", [6, 43.5]]];
__motifs["o"] = [["M", [15.6, 45.65]], ["C", [9.7, 49.1, 6.7, 55.2]], ["C", [3.65, 61.3, 3.6, 69.25]], ["C", [3.65, 77.35, 6.7, 83.5]], ["C", [9.7, 89.6, 15.6, 93.05]], ["C", [21.4, 96.55, 29.75, 96.6]], ["C", [38.05, 96.55, 43.85, 93.05]], ["C", [49.7, 89.6, 52.75, 83.5]], ["C", [55.75, 77.35, 55.8, 69.25]], ["C", [55.75, 61.3, 52.75, 55.2]], ["C", [49.7, 49.1, 43.85, 45.65]], ["C", [38.05, 42.1, 29.75, 42.1]], ["C", [21.4, 42.1, 15.6, 45.65]], ["M", [29.75, 51.05]], ["C", [34.8, 51.15, 38.1, 53.8]], ["C", [41.3, 56.5, 42.85, 60.6]], ["C", [44.45, 64.75, 44.45, 69.25]], ["C", [44.45, 73.9, 42.85, 78.05]], ["C", [41.3, 82.2, 38.1, 84.9]], ["C", [34.8, 87.55, 29.75, 87.65]], ["C", [24.6, 87.55, 21.35, 84.9]], ["C", [18.1, 82.2, 16.55, 78.05]], ["C", [15, 73.9, 15, 69.25]], ["C", [15, 64.75, 16.55, 60.6]], ["C", [18.1, 56.5, 21.35, 53.8]], ["C", [24.6, 51.15, 29.75, 51.05]]];
__motifs["p"] = [["M", [6.3, 43.5]], ["L", [6.3, 114.3]], ["L", [17.7, 114.3]], ["L", [17.7, 88.5]], ["L", [17.85, 88.5]], ["C", [19.75, 91.4, 22.5, 93.15]], ["C", [25.3, 94.95, 28.55, 95.8]], ["C", [31.85, 96.6, 35.2, 96.6]], ["C", [42.8, 96.5, 47.75, 92.7]], ["C", [52.7, 88.9, 55.1, 82.8]], ["C", [57.45, 76.7, 57.45, 69.6]], ["C", [57.45, 61.95, 54.85, 55.75]], ["C", [52.15, 49.55, 46.8, 45.85]], ["C", [41.45, 42.15, 33.3, 42.1]], ["C", [28.25, 42.05, 24, 44.1]], ["C", [19.8, 46.1, 17.3, 50.45]], ["L", [17.1, 50.45]], ["L", [17.1, 43.5]], ["L", [6.3, 43.5]], ["M", [31.8, 51.05]], ["C", [36.45, 51.15, 39.7, 53.7]], ["C", [42.85, 56.3, 44.5, 60.45]], ["C", [46.1, 64.6, 46.1, 69.4]], ["C", [46.15, 74, 44.7, 78.1]], ["C", [43.25, 82.25, 40.15, 84.9]], ["C", [36.95, 87.55, 31.8, 87.65]], ["C", [27.15, 87.6, 23.95, 85.25]], ["C", [20.7, 82.85, 19, 78.75]], ["C", [17.3, 74.65, 17.3, 69.4]], ["C", [17.3, 61, 20.95, 56.1]], ["C", [24.55, 51.15, 31.8, 51.05]]];
__motifs["q"] = [["M", [43.9, 43.5]], ["L", [43.9, 50.45]], ["L", [43.7, 50.45]], ["C", [41.2, 46.1, 36.95, 44.1]], ["C", [32.7, 42.05, 27.7, 42.1]], ["C", [19.55, 42.15, 14.2, 45.85]], ["C", [8.85, 49.55, 6.15, 55.75]], ["C", [3.5, 61.95, 3.5, 69.6]], ["C", [3.5, 76.7, 5.9, 82.8]], ["C", [8.3, 88.9, 13.25, 92.7]], ["C", [18.15, 96.5, 25.8, 96.6]], ["L", [32.4, 95.8]], ["C", [35.7, 94.95, 38.5, 93.15]], ["C", [41.25, 91.4, 43.1, 88.5]], ["L", [43.3, 88.5]], ["L", [43.3, 114.3]], ["L", [54.7, 114.3]], ["L", [54.7, 43.5]], ["L", [43.9, 43.5]], ["M", [29.2, 51.05]], ["C", [36.35, 51.15, 40.05, 56.05]], ["C", [43.7, 60.85, 43.7, 69.4]], ["C", [43.7, 74.85, 42.15, 78.95]], ["C", [40.6, 83.05, 37.35, 85.3]], ["C", [34.15, 87.6, 29.2, 87.65]], ["C", [24, 87.55, 20.85, 84.9]], ["C", [17.7, 82.25, 16.3, 78.1]], ["C", [14.85, 74, 14.9, 69.4]], ["C", [14.9, 64.6, 16.5, 60.45]], ["C", [18.1, 56.3, 21.3, 53.7]], ["C", [24.5, 51.15, 29.2, 51.05]]];
__motifs["r"] = [["M", [6, 43.5]], ["L", [6, 95.2]], ["L", [17.4, 95.2]], ["L", [17.4, 70.6]], ["C", [17.45, 64.9, 19.3, 60.9]], ["C", [21.15, 56.95, 24.25, 54.9]], ["C", [27.45, 52.85, 31.4, 52.85]], ["L", [33.85, 53.05]], ["L", [36.3, 53.35]], ["L", [36.3, 42.35]], ["L", [34.7, 42.15]], ["L", [32, 42.1]], ["C", [28.4, 42.1, 25.25, 43.85]], ["C", [22.05, 45.5, 19.8, 48.1]], ["C", [17.6, 50.65, 16.9, 53.45]], ["L", [16.7, 53.45]], ["L", [16.7, 43.5]], ["L", [6, 43.5]]];
__motifs["s"] = [["M", [11.55, 45.25]], ["C", [8.35, 46.9, 6.35, 49.8]], ["C", [4.35, 52.65, 4.3, 56.85]], ["C", [4.4, 62.1, 6.75, 65.1]], ["C", [9.1, 68.15, 12.85, 69.75]], ["C", [16.6, 71.35, 20.9, 72.2]], ["L", [28.9, 73.95]], ["C", [32.65, 74.8, 35.1, 76.35]], ["C", [37.55, 77.85, 37.8, 80.8]], ["C", [37.85, 83.75, 35.9, 85.25]], ["C", [33.95, 86.7, 31.25, 87.2]], ["L", [26.25, 87.65]], ["C", [21.65, 87.7, 18.35, 85.65]], ["C", [15.15, 83.55, 14.6, 78.65]], ["L", [3.2, 78.65]], ["C", [3.35, 84.7, 6.35, 88.7]], ["C", [9.35, 92.7, 14.45, 94.65]], ["C", [19.55, 96.6, 26.05, 96.6]], ["L", [34.25, 95.75]], ["C", [38.3, 94.8, 41.65, 92.85]], ["C", [45, 90.85, 47.05, 87.65]], ["C", [49.1, 84.4, 49.15, 79.8]], ["C", [49.05, 74.8, 46.7, 71.8]], ["C", [44.3, 68.85, 40.55, 67.2]], ["C", [36.7, 65.6, 32.5, 64.75]], ["L", [24.4, 62.9]], ["C", [20.55, 62.1, 18.15, 60.6]], ["C", [15.75, 59.1, 15.65, 56.4]], ["C", [15.75, 54.15, 17.4, 52.95]], ["C", [19, 51.85, 21.2, 51.45]], ["L", [25.1, 51.05]], ["C", [28.9, 50.95, 31.85, 52.5]], ["C", [34.75, 54, 35.6, 58]], ["L", [47.45, 58]], ["C", [46.75, 52.25, 43.6, 48.7]], ["C", [40.55, 45.25, 35.9, 43.65]], ["C", [31.25, 42.1, 25.9, 42.1]], ["L", [18.55, 42.8]], ["C", [14.8, 43.55, 11.55, 45.25]]];
__motifs["t"] = [["M", [0.85, 43.5]], ["L", [0.85, 52]], ["L", [9.4, 52]], ["L", [9.4, 82.5]], ["C", [9.45, 86.8, 10.6, 89.75]], ["C", [11.7, 92.65, 14.75, 94.15]], ["C", [17.8, 95.7, 23.7, 95.7]], ["L", [27.4, 95.45]], ["L", [31.1, 95.1]], ["L", [31.1, 86.3]], ["L", [28.7, 86.65]], ["L", [26.3, 86.7]], ["C", [23.8, 86.7, 22.6, 85.9]], ["C", [21.45, 85.1, 21.1, 83.55]], ["C", [20.75, 81.95, 20.8, 79.6]], ["L", [20.8, 52]], ["L", [31.1, 52]], ["L", [31.1, 43.5]], ["L", [20.8, 43.5]], ["L", [20.8, 28]], ["L", [9.4, 28]], ["L", [9.4, 43.5]], ["L", [0.85, 43.5]]];
__motifs["u"] = [["M", [6, 43.5]], ["L", [6, 76.3]], ["C", [5.95, 86.45, 10.6, 91.55]], ["C", [15.25, 96.6, 25.3, 96.6]], ["C", [29.7, 96.55, 33.75, 94.25]], ["C", [37.8, 92, 40, 88]], ["L", [40.2, 88]], ["L", [40.2, 95.2]], ["L", [51.35, 95.2]], ["L", [51.35, 43.5]], ["L", [40, 43.5]], ["L", [40, 73.45]], ["C", [40.05, 77.55, 38.8, 80.75]], ["C", [37.6, 83.9, 34.8, 85.8]], ["C", [32.05, 87.6, 27.3, 87.65]], ["C", [22.6, 87.75, 20, 84.85]], ["C", [17.45, 81.95, 17.4, 75.25]], ["L", [17.4, 43.5]], ["L", [6, 43.5]]];
__motifs["v"] = [["M", [0.9, 43.5]], ["L", [19.7, 95.2]], ["L", [32.45, 95.2]], ["L", [51, 43.5]], ["L", [39.15, 43.5]], ["L", [26.55, 83.2]], ["L", [26.35, 83.2]], ["L", [13.3, 43.5]], ["L", [0.9, 43.5]]];
__motifs["w"] = [["M", [64.9, 43.5]], ["L", [54.4, 82.1]], ["L", [54.2, 82.1]], ["L", [44.9, 43.5]], ["L", [33.4, 43.5]], ["L", [23.7, 82.1]], ["L", [23.5, 82.1]], ["L", [13.4, 43.5]], ["L", [1.3, 43.5]], ["L", [17.3, 95.2]], ["L", [29.3, 95.2]], ["L", [38.8, 56.75]], ["L", [39, 56.75]], ["L", [48.6, 95.2]], ["L", [60.3, 95.2]], ["L", [76.5, 43.5]], ["L", [64.9, 43.5]]];
__motifs["x"] = [["M", [2, 43.5]], ["L", [19.9, 67.95]], ["L", [0.4, 95.2]], ["L", [13.8, 95.2]], ["L", [26.5, 76.1]], ["L", [39.6, 95.2]], ["L", [53.3, 95.2]], ["L", [33.5, 67.35]], ["L", [51.1, 43.5]], ["L", [37.9, 43.5]], ["L", [26.6, 59.35]], ["L", [15.8, 43.5]], ["L", [2, 43.5]]];
__motifs["y"] = [["M", [0.3, 43.5]], ["L", [19.9, 95]], ["L", [18.6, 99]], ["L", [17.1, 102.8]], ["C", [16.2, 104.45, 14.7, 105.3]], ["C", [13.25, 106.2, 10.6, 106.2]], ["L", [7.9, 105.95]], ["L", [5.2, 105.5]], ["L", [5.2, 115.1]], ["L", [9.15, 115.55]], ["L", [13.1, 115.7]], ["C", [18.95, 115.6, 22.3, 113.15]], ["C", [25.7, 110.75, 27.65, 106.7]], ["L", [31.4, 98]], ["L", [51.5, 43.5]], ["L", [39.6, 43.5]], ["L", [26.5, 82.1]], ["L", [26.3, 82.1]], ["L", [12.8, 43.5]], ["L", [0.3, 43.5]]];
__motifs["z"] = [["M", [2.2, 95.2]], ["L", [47.7, 95.2]], ["L", [47.7, 86.2]], ["L", [16.6, 86.2]], ["L", [46.2, 51.5]], ["L", [46.2, 43.5]], ["L", [4.2, 43.5]], ["L", [4.2, 52.5]], ["L", [30.8, 52.5]], ["L", [2.2, 87.2]], ["L", [2.2, 95.2]]];
}
private static function initializeMotifsUppercase():void{
__motifs["A"] = [["M", [26.7, 23.8]], ["L", [-0.7, 95.2]], ["L", [12.2, 95.2]], ["L", [18.95, 76.3]], ["L", [47.4, 76.3]], ["L", [54.1, 95.2]], ["L", [67.55, 95.2]], ["L", [40.05, 23.8]], ["L", [26.7, 23.8]], ["M", [33.45, 36.1]], ["L", [44.15, 66.8]], ["L", [22.3, 66.8]], ["L", [33.1, 36.1]], ["L", [33.45, 36.1]]];
__motifs["B"] = [["M", [51, 43.8]], ["C", [50.9, 48.6, 48, 51.15]], ["C", [45.05, 53.7, 40.5, 53.7]], ["L", [20.1, 53.7]], ["L", [20.1, 34]], ["L", [40.5, 34]], ["C", [45.6, 33.95, 48.3, 36.2]], ["C", [51, 38.45, 51, 43.8]], ["M", [42.3, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [40.45, 95.2]], ["C", [49.6, 95.15, 55.4, 92.5]], ["C", [61.3, 89.95, 64, 85.45]], ["C", [66.7, 80.95, 66.7, 75.3]], ["C", [66.65, 67.95, 63.3, 63.15]], ["C", [59.85, 58.4, 53.3, 56.85]], ["L", [53.3, 56.65]], ["C", [58.2, 54.6, 60.85, 50.75]], ["C", [63.45, 46.9, 63.5, 41.5]], ["C", [63.45, 35.6, 60.85, 31.65]], ["C", [58.2, 27.7, 53.45, 25.75]], ["C", [48.75, 23.8, 42.3, 23.8]], ["M", [20.1, 62.7]], ["L", [42.2, 62.7]], ["C", [47.95, 62.75, 51.05, 65.55]], ["C", [54.15, 68.4, 54.2, 73.65]], ["C", [54.15, 79.15, 51.05, 82.05]], ["C", [47.95, 84.95, 42.2, 85]], ["L", [20.1, 85]], ["L", [20.1, 62.7]]];
__motifs["C"] = [["M", [68.3, 46.5]], ["C", [67.5, 38.8, 63.4, 33.35]], ["C", [59.25, 27.9, 52.7, 25.05]], ["C", [46.15, 22.2, 38, 22.1]], ["C", [30, 22.15, 23.65, 25.1]], ["C", [17.3, 28, 12.9, 33.15]], ["C", [8.45, 38.3, 6.15, 45.05]], ["C", [3.8, 51.8, 3.8, 59.5]], ["C", [3.8, 67.2, 6.15, 73.95]], ["C", [8.45, 80.7, 12.9, 85.85]], ["C", [17.3, 91, 23.65, 93.95]], ["C", [30, 96.85, 38, 96.9]], ["C", [46.75, 96.85, 53.35, 93.2]], ["C", [60, 89.6, 63.9, 83.1]], ["C", [67.85, 76.6, 68.4, 68]], ["L", [56.2, 68]], ["C", [55.7, 73.3, 53.5, 77.5]], ["C", [51.3, 81.65, 47.4, 84.15]], ["C", [43.55, 86.65, 38, 86.7]], ["C", [32.3, 86.65, 28.15, 84.35]], ["C", [24, 82.1, 21.45, 78.25]], ["C", [18.8, 74.4, 17.55, 69.5]], ["C", [16.3, 64.7, 16.3, 59.5]], ["C", [16.3, 54.35, 17.55, 49.5]], ["C", [18.8, 44.6, 21.45, 40.75]], ["C", [24, 36.9, 28.15, 34.65]], ["C", [32.3, 32.35, 38, 32.3]], ["C", [45.75, 32.4, 50, 36.3]], ["C", [54.3, 40.2, 55.8, 46.5]], ["L", [68.3, 46.5]]];
__motifs["D"] = [["M", [55.15, 28.7]], ["C", [48.2, 23.9, 37.2, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [37.2, 95.2]], ["C", [48.2, 95.1, 55.15, 90.3]], ["C", [62.1, 85.6, 65.45, 77.5]], ["C", [68.75, 69.45, 68.7, 59.5]], ["C", [68.75, 49.55, 65.45, 41.5]], ["C", [62.1, 33.45, 55.15, 28.7]], ["M", [54.4, 46.55]], ["C", [56.3, 52.3, 56.2, 59.5]], ["C", [56.3, 66.75, 54.4, 72.45]], ["C", [52.5, 78.2, 47.25, 81.6]], ["C", [42.1, 84.95, 32.4, 85]], ["L", [20.1, 85]], ["L", [20.1, 34]], ["L", [32.4, 34]], ["C", [42.1, 34.05, 47.25, 37.45]], ["C", [52.5, 40.8, 54.4, 46.55]]];
__motifs["E"] = [["M", [59.05, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [59.7, 95.2]], ["L", [59.7, 84.4]], ["L", [20.1, 84.4]], ["L", [20.1, 63.5]], ["L", [56.1, 63.5]], ["L", [56.1, 53.3]], ["L", [20.1, 53.3]], ["L", [20.1, 34.6]], ["L", [59.05, 34.6]], ["L", [59.05, 23.8]]];
__motifs["F"] = [["M", [56.95, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 63.5]], ["L", [52.4, 63.5]], ["L", [52.4, 53.3]], ["L", [20.1, 53.3]], ["L", [20.1, 34.6]], ["L", [56.95, 34.6]], ["L", [56.95, 23.8]]];
__motifs["G"] = [["M", [52.95, 24.85]], ["C", [46.4, 22.1, 38.5, 22.1]], ["C", [30.45, 22.15, 24.1, 25.1]], ["C", [17.75, 28, 13.4, 33.15]], ["C", [8.95, 38.3, 6.65, 45.05]], ["C", [4.3, 51.8, 4.3, 59.5]], ["C", [4.3, 67.2, 6.65, 73.95]], ["C", [8.95, 80.7, 13.4, 85.85]], ["C", [17.75, 91, 24.1, 93.95]], ["C", [30.45, 96.85, 38.5, 96.9]], ["C", [44.9, 97, 50, 94.7]], ["C", [55.1, 92.4, 60, 86.8]], ["L", [61.9, 95.2]], ["L", [69.85, 95.2]], ["L", [69.85, 57.6]], ["L", [39.5, 57.6]], ["L", [39.5, 67.1]], ["L", [58.5, 67.1]], ["C", [58.3, 76.3, 53.2, 81.55]], ["C", [48.15, 86.75, 38.5, 86.7]], ["C", [32.75, 86.65, 28.65, 84.35]], ["C", [24.5, 82.1, 21.9, 78.25]], ["C", [19.3, 74.4, 18, 69.55]], ["C", [16.8, 64.7, 16.8, 59.5]], ["C", [16.8, 54.35, 18, 49.5]], ["C", [19.3, 44.6, 21.9, 40.75]], ["C", [24.5, 36.9, 28.65, 34.65]], ["C", [32.75, 32.35, 38.5, 32.3]], ["C", [43.05, 32.3, 47, 33.9]], ["C", [50.95, 35.5, 53.6, 38.65]], ["C", [56.25, 41.8, 56.9, 46.5]], ["L", [69.1, 46.5]], ["C", [68.05, 38.45, 63.75, 33.05]], ["C", [59.45, 27.6, 52.95, 24.85]]];
__motifs["H"] = [["M", [52.3, 23.8]], ["L", [52.3, 52.2]], ["L", [19.8, 52.2]], ["L", [19.8, 23.8]], ["L", [7.3, 23.8]], ["L", [7.3, 95.2]], ["L", [19.8, 95.2]], ["L", [19.8, 62.95]], ["L", [52.3, 62.95]], ["L", [52.3, 95.2]], ["L", [64.8, 95.2]], ["L", [64.8, 23.8]], ["L", [52.3, 23.8]]];
__motifs["I"] = [["M", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 23.8]], ["L", [7.6, 23.8]]];
__motifs["J"] = [["M", [13.8, 70.2]], ["L", [1.3, 70.2]], ["L", [1.3, 74]], ["C", [1.3, 80.55, 3.45, 85.75]], ["C", [5.65, 90.85, 10.4, 93.9]], ["C", [15.1, 96.85, 22.6, 96.9]], ["C", [30.2, 96.85, 34.9, 94.8]], ["C", [39.6, 92.7, 42.05, 89.2]], ["C", [44.45, 85.7, 45.3, 81.3]], ["C", [46.15, 76.9, 46.1, 72.2]], ["L", [46.1, 23.8]], ["L", [33.6, 23.8]], ["L", [33.6, 72.9]], ["C", [33.65, 77.4, 32.8, 80.45]], ["C", [32, 83.55, 29.8, 85.1]], ["C", [27.65, 86.7, 23.6, 86.7]], ["C", [18, 86.65, 15.85, 83.35]], ["C", [13.7, 80, 13.8, 73.9]], ["L", [13.8, 70.2]]];
__motifs["K"] = [["M", [51.9, 23.8]], ["L", [20.1, 56.3]], ["L", [20.1, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 71.2]], ["L", [30.3, 61.05]], ["L", [53.7, 95.2]], ["L", [69.35, 95.2]], ["L", [38.8, 52.3]], ["L", [67.35, 23.8]], ["L", [51.9, 23.8]]];
__motifs["L"] = [["M", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [56.4, 95.2]], ["L", [56.4, 84.4]], ["L", [20.1, 84.4]], ["L", [20.1, 23.8]], ["L", [7.6, 23.8]]];
__motifs["M"] = [["M", [81.5, 23.8]], ["L", [64.05, 23.8]], ["L", [44.85, 79.7]], ["L", [44.7, 79.7]], ["L", [25, 23.8]], ["L", [7.35, 23.8]], ["L", [7.35, 95.2]], ["L", [19.3, 95.2]], ["L", [19.3, 40.1]], ["L", [19.5, 40.1]], ["L", [39.3, 95.2]], ["L", [49.55, 95.2]], ["L", [69.4, 40.1]], ["L", [69.6, 40.1]], ["L", [69.6, 95.2]], ["L", [81.5, 95.2]], ["L", [81.5, 23.8]]];
__motifs["N"] = [["M", [53.1, 23.8]], ["L", [53.1, 76.4]], ["L", [52.9, 76.4]], ["L", [20.25, 23.8]], ["L", [7.1, 23.8]], ["L", [7.1, 95.2]], ["L", [19, 95.2]], ["L", [19, 42.7]], ["L", [19.3, 42.7]], ["L", [51.8, 95.2]], ["L", [65, 95.2]], ["L", [65, 23.8]], ["L", [53.1, 23.8]]];
__motifs["O"] = [["M", [54.6, 40.75]], ["C", [57.25, 44.6, 58.5, 49.5]], ["C", [59.7, 54.35, 59.7, 59.5]], ["C", [59.7, 64.7, 58.5, 69.5]], ["C", [57.25, 74.4, 54.6, 78.25]], ["C", [52, 82.1, 47.85, 84.35]], ["C", [43.75, 86.65, 38.05, 86.7]], ["C", [32.3, 86.65, 28.15, 84.35]], ["C", [24, 82.1, 21.45, 78.25]], ["C", [18.8, 74.4, 17.55, 69.5]], ["C", [16.3, 64.7, 16.3, 59.5]], ["C", [16.3, 54.35, 17.55, 49.5]], ["C", [18.8, 44.6, 21.45, 40.75]], ["C", [24, 36.9, 28.15, 34.65]], ["C", [32.3, 32.35, 38.05, 32.3]], ["C", [43.75, 32.35, 47.85, 34.65]], ["C", [52, 36.9, 54.6, 40.75]], ["M", [52.4, 25.1]], ["C", [46.05, 22.15, 38.05, 22.1]], ["C", [30, 22.15, 23.65, 25.1]], ["C", [17.3, 28, 12.9, 33.15]], ["C", [8.45, 38.3, 6.15, 45.05]], ["C", [3.8, 51.8, 3.8, 59.5]], ["C", [3.8, 67.2, 6.15, 73.95]], ["C", [8.45, 80.7, 12.9, 85.85]], ["C", [17.3, 91, 23.65, 93.95]], ["C", [30, 96.85, 38.05, 96.9]], ["C", [46.05, 96.85, 52.4, 93.95]], ["C", [58.75, 91, 63.15, 85.85]], ["C", [67.6, 80.7, 69.85, 73.95]], ["C", [72.2, 67.2, 72.2, 59.5]], ["C", [72.2, 51.8, 69.85, 45.05]], ["C", [67.6, 38.3, 63.15, 33.15]], ["C", [58.75, 28, 52.4, 25.1]]];
__motifs["P"] = [["M", [51.45, 26]], ["C", [46.7, 23.85, 39.1, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 67.9]], ["L", [39.1, 67.9]], ["C", [46.7, 67.85, 51.45, 65.75]], ["C", [56.3, 63.65, 58.9, 60.3]], ["C", [61.45, 56.9, 62.45, 53.1]], ["C", [63.45, 49.35, 63.4, 46]], ["C", [63.45, 42.55, 62.45, 38.75]], ["C", [61.45, 34.9, 58.9, 31.55]], ["C", [56.3, 28.15, 51.45, 26]], ["M", [50.9, 45.85]], ["C", [50.85, 50.35, 48.9, 52.95]], ["C", [46.95, 55.55, 44.15, 56.65]], ["C", [41.25, 57.75, 38.4, 57.7]], ["L", [20.1, 57.7]], ["L", [20.1, 34]], ["L", [38.55, 34]], ["C", [41.95, 33.95, 44.75, 35]], ["C", [47.5, 36, 49.15, 38.6]], ["C", [50.85, 41.2, 50.9, 45.85]]];
__motifs["Q"] = [["M", [52.4, 25.1]], ["C", [46.05, 22.15, 38.05, 22.1]], ["C", [30, 22.15, 23.65, 25.1]], ["C", [17.3, 28, 12.9, 33.15]], ["C", [8.45, 38.3, 6.15, 45.05]], ["C", [3.8, 51.8, 3.8, 59.5]], ["C", [3.8, 67.2, 6.15, 73.95]], ["C", [8.45, 80.7, 12.9, 85.85]], ["C", [17.3, 91, 23.65, 93.95]], ["C", [30, 96.85, 38.05, 96.9]], ["C", [42.25, 96.9, 46.55, 95.9]], ["C", [50.85, 94.85, 54.85, 92.6]], ["L", [65.25, 101.7]], ["L", [71.35, 94.9]], ["L", [62.1, 86.9]], ["C", [65.65, 83.5, 67.85, 78.95]], ["C", [70.1, 74.45, 71.2, 69.45]], ["C", [72.2, 64.45, 72.2, 59.5]], ["C", [72.2, 51.8, 69.85, 45.05]], ["C", [67.6, 38.3, 63.15, 33.15]], ["C", [58.75, 28, 52.4, 25.1]], ["M", [54.6, 40.75]], ["C", [57.25, 44.6, 58.5, 49.5]], ["C", [59.7, 54.35, 59.7, 59.5]], ["C", [59.75, 65, 58.3, 70.15]], ["C", [56.85, 75.3, 53.5, 79.45]], ["L", [44.8, 71.8]], ["L", [38.8, 78.7]], ["L", [46, 85]], ["C", [44.15, 85.9, 42.05, 86.3]], ["L", [38.05, 86.7]], ["C", [32.3, 86.65, 28.15, 84.35]], ["C", [24, 82.1, 21.45, 78.25]], ["C", [18.8, 74.4, 17.55, 69.5]], ["C", [16.3, 64.7, 16.3, 59.5]], ["C", [16.3, 54.35, 17.55, 49.5]], ["C", [18.8, 44.6, 21.45, 40.75]], ["C", [24, 36.9, 28.15, 34.65]], ["C", [32.3, 32.35, 38.05, 32.3]], ["C", [43.75, 32.35, 47.85, 34.65]], ["C", [52, 36.9, 54.6, 40.75]]];
__motifs["R"] = [["M", [41.7, 23.8]], ["L", [7.6, 23.8]], ["L", [7.6, 95.2]], ["L", [20.1, 95.2]], ["L", [20.1, 65.8]], ["L", [38.5, 65.8]], ["C", [44.2, 65.8, 47.3, 67.8]], ["C", [50.45, 69.8, 51.6, 73.95]], ["C", [52.8, 78.15, 52.75, 84.7]], ["C", [52.7, 87.35, 53, 90.05]], ["C", [53.25, 92.85, 54.65, 95.2]], ["L", [68, 95.2]], ["C", [66.65, 93.7, 65.8, 90.85]], ["C", [64.95, 88.05, 64.5, 84.3]], ["C", [64.1, 80.6, 64.1, 76.4]], ["C", [64, 70.8, 62.3, 67.6]], ["C", [60.6, 64.4, 58.2, 62.95]], ["C", [55.75, 61.55, 53.5, 61.3]], ["L", [53.5, 61.1]], ["L", [56.3, 59.85]], ["C", [58.2, 58.9, 60.25, 56.9]], ["C", [62.3, 54.95, 63.75, 51.6]], ["C", [65.25, 48.25, 65.3, 43.1]], ["C", [65.3, 33.95, 59.35, 28.95]], ["C", [53.4, 23.9, 41.7, 23.8]], ["M", [52.8, 44.9]], ["C", [52.8, 50.5, 49.65, 53.4]], ["C", [46.55, 56.3, 40.6, 56.3]], ["L", [20.1, 56.3]], ["L", [20.1, 34]], ["L", [40.45, 34]], ["C", [43.7, 33.95, 46.5, 34.8]], ["C", [49.3, 35.7, 51.05, 38]], ["C", [52.75, 40.4, 52.8, 44.9]]];
__motifs["S"] = [["M", [45.85, 24.7]], ["C", [39.65, 22.1, 32.15, 22.1]], ["C", [27.2, 22.1, 22.6, 23.35]], ["C", [17.95, 24.65, 14.2, 27.25]], ["C", [10.5, 29.8, 8.25, 33.75]], ["C", [6.05, 37.75, 6, 43.1]], ["C", [5.95, 46.85, 7.35, 50.4]], ["C", [8.85, 53.85, 12.3, 56.65]], ["C", [15.75, 59.5, 21.85, 61.2]], ["L", [34.3, 64.45]], ["L", [43.1, 67.1]], ["C", [45.4, 67.85, 47.15, 69.85]], ["C", [48.95, 71.85, 49, 75.9]], ["C", [49.05, 78.65, 47.55, 81.1]], ["C", [46.05, 83.6, 42.7, 85.1]], ["C", [39.4, 86.65, 33.95, 86.7]], ["C", [28.85, 86.75, 24.8, 85.2]], ["C", [20.7, 83.65, 18.3, 80.25]], ["C", [15.85, 76.9, 15.8, 71.4]], ["L", [3.3, 71.4]], ["C", [3.55, 80.25, 7.55, 85.85]], ["C", [11.55, 91.55, 18.2, 94.2]], ["C", [24.9, 96.9, 33.1, 96.9]], ["C", [38.55, 96.9, 43.55, 95.65]], ["C", [48.6, 94.35, 52.65, 91.7]], ["C", [56.7, 89, 59.1, 84.75]], ["C", [61.45, 80.5, 61.5, 74.5]], ["C", [61.5, 70.75, 60, 67.1]], ["C", [58.5, 63.5, 55.4, 60.65]], ["C", [52.35, 57.75, 47.6, 56.3]], ["L", [43, 55]], ["L", [36.35, 53.25]], ["L", [30.2, 51.65]], ["L", [27, 50.8]], ["C", [23.15, 49.8, 20.85, 47.55]], ["C", [18.55, 45.35, 18.5, 41.6]], ["C", [18.6, 38, 20.6, 35.95]], ["C", [22.65, 33.95, 25.65, 33.15]], ["C", [28.6, 32.25, 31.6, 32.3]], ["C", [38.2, 32.2, 42.35, 35.15]], ["C", [46.5, 38.05, 47, 44.9]], ["L", [59.5, 44.9]], ["C", [59.4, 37.45, 55.7, 32.35]], ["C", [52.05, 27.3, 45.85, 24.7]]];
__motifs["T"] = [["M", [58.6, 23.8]], ["L", [0.8, 23.8]], ["L", [0.8, 34.6]], ["L", [23.4, 34.6]], ["L", [23.4, 95.2]], ["L", [35.9, 95.2]], ["L", [35.9, 34.6]], ["L", [58.6, 34.6]], ["L", [58.6, 23.8]]];
__motifs["U"] = [["M", [52.9, 23.8]], ["L", [52.9, 65.4]], ["L", [52.55, 72.7]], ["C", [52.15, 76.35, 50.55, 79.4]], ["C", [48.95, 82.4, 45.55, 84.2]], ["C", [42.1, 86.05, 36.1, 86.1]], ["C", [30.1, 86.05, 26.6, 84.2]], ["C", [23.2, 82.4, 21.65, 79.4]], ["C", [20, 76.35, 19.65, 72.7]], ["C", [19.25, 69.1, 19.3, 65.4]], ["L", [19.3, 23.8]], ["L", [6.8, 23.8]], ["L", [6.8, 69.5]], ["C", [6.85, 78.65, 10.5, 84.75]], ["C", [14.1, 90.85, 20.65, 93.9]], ["C", [27.25, 96.9, 36.1, 96.9]], ["C", [44.9, 96.9, 51.5, 93.9]], ["C", [58.05, 90.85, 61.65, 84.75]], ["C", [65.35, 78.65, 65.4, 69.5]], ["L", [65.4, 23.8]], ["L", [52.9, 23.8]]];
__motifs["V"] = [["M", [48.95, 23.8]], ["L", [30.6, 80.3]], ["L", [30.4, 80.3]], ["L", [12.5, 23.8]], ["L", [-0.5, 23.8]], ["L", [23.35, 95.2]], ["L", [37.2, 95.2]], ["L", [61.6, 23.8]], ["L", [48.95, 23.8]]];
__motifs["W"] = [["M", [81.1, 23.8]], ["L", [67.8, 78.4]], ["L", [67.6, 78.4]], ["L", [53.6, 23.8]], ["L", [40.8, 23.8]], ["L", [26.4, 78.4]], ["L", [26.2, 78.4]], ["L", [13.3, 23.8]], ["L", [0.6, 23.8]], ["L", [19.4, 95.2]], ["L", [32.3, 95.2]], ["L", [46.9, 40.6]], ["L", [47.1, 40.6]], ["L", [61.4, 95.2]], ["L", [74.1, 95.2]], ["L", [93.8, 23.8]], ["L", [81.1, 23.8]]];
__motifs["X"] = [["M", [49.4, 23.8]], ["L", [32.5, 49]], ["L", [16.3, 23.8]], ["L", [1.4, 23.8]], ["L", [25, 58.2]], ["L", [-0.3, 95.2]], ["L", [14, 95.2]], ["L", [32.1, 67.9]], ["L", [49.9, 95.2]], ["L", [65.1, 95.2]], ["L", [39.8, 58.2]], ["L", [63.4, 23.8]], ["L", [49.4, 23.8]]];
__motifs["Y"] = [["M", [51.4, 23.8]], ["L", [32.8, 55.8]], ["L", [13.9, 23.8]], ["L", [-0.6, 23.8]], ["L", [26.2, 67.2]], ["L", [26.2, 95.2]], ["L", [38.7, 95.2]], ["L", [38.7, 67.2]], ["L", [65.45, 23.8]], ["L", [51.4, 23.8]]];
__motifs["Z"] = [["M", [59.8, 23.8]], ["L", [5.5, 23.8]], ["L", [5.5, 34.6]], ["L", [43.9, 34.6]], ["L", [2.3, 85]], ["L", [2.3, 95.2]], ["L", [60.8, 95.2]], ["L", [60.8, 84.4]], ["L", [18.2, 84.4]], ["L", [59.8, 33.35]], ["L", [59.8, 23.8]]];
}
}
}//package five3D.typography
Section 17
//MarquisDeSadeOrnaments (five3D.typography.MarquisDeSadeOrnaments)
package five3D.typography {
public class MarquisDeSadeOrnaments {
public static var __motifs:Object = {};
public static var __initialized:Boolean = false;
public static var __heights:Number = 137;
public static var __widths:Object = {};
public static function initialize():void{
initializeMotifs();
initializeWidths();
__initialized = true;
}
private static function initializeMotifs():void{
__motifs["0"] = [["M", [49.95, 48.55]], ["C", [48.9, 56, 42.55, 56]], ["C", [33.55, 56, 30.45, 46.1]], ["L", [29.65, 41.7]], ["L", [28.8, 41.7]], ["L", [28.8, 41.95]], ["C", [28.8, 46.45, 33.5, 55.45]], ["L", [34.05, 57.65]], ["L", [34.05, 60.1]], ["C", [34.05, 61.2, 29.65, 71.05]], ["C", [28.8, 73.25, 28.8, 75.75]], ["L", [28.8, 76]], ["L", [29.65, 76]], ["C", [29.65, 66.45, 38.7, 62.3]], ["L", [42.55, 61.75]], ["C", [48.2, 61.75, 49.65, 67.8]], ["L", [49.95, 69.7]], ["C", [49.95, 74.85, 44.75, 78.75]], ["C", [44.75, 71.6, 38.15, 71.6]], ["L", [37.35, 71.6]], ["C", [32.35, 72.55, 32.35, 75.75]], ["L", [32.35, 76]], ["C", [34.45, 76, 35.4, 78.5]], ["L", [35.15, 78.75]], ["C", [33.75, 77.95, 32.35, 77.95]], ["L", [32.35, 78.2]], ["C", [32.35, 80.7, 34.05, 82.3]], ["L", [34.35, 82.3]], ["C", [34.5, 80.1, 36.25, 80.1]], ["C", [38.7, 81.05, 38.7, 83.15]], ["L", [38.7, 83.7]], ["C", [38.7, 85.55, 36.25, 86.45]], ["C", [31.55, 86.45, 29.95, 77.95]], ["L", [28.8, 77.95]], ["L", [28.8, 79.05]], ["C", [28.8, 80.8, 29.95, 83.95]], ["L", [27.75, 90.55]], ["L", [26.9, 90.55]], ["L", [24.7, 83.95]], ["C", [25.85, 80.6, 25.85, 78.5]], ["L", [25.85, 77.95]], ["L", [25, 77.95]], ["C", [24.6, 77.95, 23.65, 82.3]], ["C", [21.25, 86.45, 18.4, 86.45]], ["C", [15.9, 85.55, 15.9, 83.7]], ["L", [15.9, 83.15]], ["C", [16.5, 80.1, 18.7, 80.1]], ["C", [20.3, 80.7, 20.3, 82.3]], ["L", [20.6, 82.3]], ["C", [22.25, 80.8, 22.25, 77.95]], ["L", [21.95, 77.95]], ["L", [19.5, 78.75]], ["L", [19.25, 78.5]], ["C", [19.25, 77, 22.25, 75.75]], ["C", [22.25, 72.6, 17.3, 71.6]], ["L", [16.5, 71.6]], ["C", [11.35, 71.6, 10.45, 76]], ["C", [10.1, 78.75, 9.4, 78.75]], ["C", [4.7, 74.15, 4.7, 69.15]], ["C", [5.75, 61.75, 12.1, 61.75]], ["C", [21.35, 61.75, 24.45, 72.45]], ["L", [25, 76]], ["L", [25.85, 76]], ["L", [25.85, 75.75]], ["C", [25.85, 71.65, 20.6, 60.9]], ["L", [20.6, 57.65]], ["C", [20.6, 56.5, 25, 46.65]], ["C", [25.85, 44.05, 25.85, 41.95]], ["L", [25.85, 41.7]], ["L", [25, 41.7]], ["C", [25, 49.75, 17.85, 54.6]], ["C", [15.25, 56, 12.1, 56]], ["C", [6.3, 56, 4.7, 49.4]], ["L", [4.7, 48.3]], ["C", [4.7, 43.25, 9.6, 39]], ["C", [10.15, 39.5, 10.15, 41.45]], ["C", [11.45, 46.1, 16.5, 46.1]], ["L", [17.3, 46.1]], ["C", [21.95, 45.6, 21.95, 41.7]], ["C", [20.15, 41.7, 19.25, 39.25]], ["L", [19.5, 39]], ["C", [20.9, 39.75, 22.25, 39.75]], ["L", [22.25, 39.5]], ["C", [22.25, 37.05, 20.6, 35.4]], ["L", [20.3, 35.4]], ["C", [20.1, 37.6, 18.4, 37.6]], ["C", [15.9, 36.7, 15.9, 34.6]], ["L", [15.9, 34]], ["C", [15.9, 32.15, 18.4, 31.25]], ["C", [23.1, 31.25, 24.7, 39.75]], ["L", [25.85, 39.75]], ["L", [25.85, 39.25]], ["C", [25.85, 37.4, 24.7, 33.45]], ["L", [26.9, 27.15]], ["L", [27.75, 27.15]], ["L", [29.95, 34]], ["C", [28.8, 36.6, 28.8, 38.7]], ["L", [28.8, 39.75]], ["L", [29.95, 39.75]], ["C", [31.55, 31.25, 36.25, 31.25]], ["C", [38.7, 32.15, 38.7, 34]], ["L", [38.7, 34.6]], ["C", [38.15, 37.6, 35.95, 37.6]], ["C", [34.35, 37.05, 34.35, 35.4]], ["L", [34.05, 35.4]], ["C", [32.35, 36.95, 32.35, 39.75]], ["L", [32.65, 39.75]], ["L", [35.15, 39]], ["L", [35.4, 39.25]], ["C", [34.45, 41.7, 32.35, 41.7]], ["L", [32.35, 41.95]], ["C", [32.35, 45.2, 37.35, 46.1]], ["L", [38.15, 46.1]], ["C", [44.75, 46.1, 44.75, 39]], ["C", [49.95, 42.7, 49.95, 48.55]]];
}
private static function initializeWidths():void{
__widths["0"] = 55;
}
}
}//package five3D.typography
Section 18
//SoundIcon (five3D.typography.SoundIcon)
package five3D.typography {
public class SoundIcon {
public static var __motifs:Object = {};
public static var __initialized:Boolean = false;
public static var __heights:Number = 168;
public static var __widths:Object = {};
public static function initialize():void{
initializeMotifs();
initializeWidths();
__initialized = true;
}
private static function initializeMotifs():void{
__motifs["e"] = [["M", [85.7, 75.8]], ["L", [87.55, 132.6]], ["C", [86.8, 135.85, 87.55, 140.25]], ["C", [86.45, 146.85, 82.4, 150.9]], ["C", [77.65, 154.9, 71.45, 156.05]], ["C", [63.4, 156.75, 57.15, 151.25]], ["C", [52, 146.5, 51.25, 138.45]], ["C", [52.75, 121.95, 69.25, 120.15]], ["L", [75.85, 121.2]], ["L", [80.2, 123.8]], ["L", [78.75, 85.35]], ["L", [40.3, 88.65]], ["L", [37.35, 89.4]], ["L", [39.2, 147.25]], ["C", [38.1, 161.9, 23.45, 164.8]], ["C", [15.4, 165.55, 9.2, 160.05]], ["C", [4.05, 155.3, 3.3, 147.25]], ["C", [4.8, 130.75, 21.25, 128.95]], ["C", [25.65, 128.95, 28.55, 130.4]], ["L", [31.9, 132.2]], ["L", [30.75, 90.45]], ["L", [30.05, 82.05]], ["C", [30.4, 76.95, 32.6, 76.55]], ["L", [76.15, 72.55]], ["C", [82.05, 73.25, 83.15, 72.55]], ["C", [86.45, 74.75, 85.7, 75.8]]];
}
private static function initializeWidths():void{
__widths["e"] = 149;
}
}
}//package five3D.typography
Section 19
//Color (fl.motion.Color)
package fl.motion {
import flash.display.*;
import flash.geom.*;
public class Color extends ColorTransform {
private var _tintColor:Number;// = 0
private var _tintMultiplier: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){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
private function deriveTintColor():uint{
var _local1:Number = (1 / this.tintMultiplier);
var _local2:uint = Math.round((this.redOffset * _local1));
var _local3:uint = Math.round((this.greenOffset * _local1));
var _local4:uint = Math.round((this.blueOffset * _local1));
var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function set brightness(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
var _local2:Number = (1 - Math.abs(_arg1));
var _local3:Number = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
private function parseXML(_arg1:XML=null):Color{
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
var _local2:XML = _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 function get tintColor():uint{
return (this._tintColor);
}
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));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function setTint(_arg1:uint, _arg2:Number):void{
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
var _local3:uint = ((_arg1 >> 16) & 0xFF);
var _local4:uint = ((_arg1 >> 8) & 0xFF);
var _local5:uint = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = ((_arg1 >> 24) & 0xFF);
var _local6:uint = ((_arg1 >> 16) & 0xFF);
var _local7:uint = ((_arg1 >> 8) & 0xFF);
var _local8:uint = (_arg1 & 0xFF);
var _local9:uint = ((_arg2 >> 24) & 0xFF);
var _local10:uint = ((_arg2 >> 16) & 0xFF);
var _local11:uint = ((_arg2 >> 8) & 0xFF);
var _local12:uint = (_arg2 & 0xFF);
var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3));
var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3));
var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3));
var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3));
var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (1 - _arg3);
var _local5:ColorTransform = 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 20
//TweenEvent (gs.events.TweenEvent)
package gs.events {
import flash.events.*;
public class TweenEvent extends Event {
public var info:Object;
public static const UPDATE:String = "update";
public static const START:String = "start";
public static const version:Number = 0.9;
public static const COMPLETE:String = "complete";
public function TweenEvent(_arg1:String, _arg2:Object=null, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.info = _arg2;
}
override public function clone():Event{
return (new TweenEvent(this.type, this.info, this.bubbles, this.cancelable));
}
}
}//package gs.events
Section 21
//OverwriteManager (gs.OverwriteManager)
package gs {
import flash.utils.*;
import flash.errors.*;
public class OverwriteManager {
public static const ALL:int = 1;
public static const NONE:int = 0;
public static const AUTO:int = 2;
public static const CONCURRENT:int = 3;
public static const version:Number = 1;
public static var mode:int;
public static var enabled:Boolean;
public static function killVars(_arg1:Object, _arg2:Object, _arg3:Array, _arg4:Array, _arg5:Array):void{
var _local6:int;
var _local7:String;
_local6 = (_arg4.length - 1);
while (_local6 > -1) {
if (_arg1[_arg4[_local6].name] != undefined){
_arg4.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg3.length - 1);
while (_local6 > -1) {
if (_arg1[_arg3[_local6][4]] != undefined){
_arg3.splice(_local6, 1);
};
_local6--;
};
_local6 = (_arg5.length - 1);
while (_local6 > -1) {
if (_arg1[_arg5[_local6].name] != undefined){
_arg5.splice(_local6, 1);
};
_local6--;
};
for (_local7 in _arg1) {
delete _arg2[_local7];
};
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Array):void{
var _local7:int;
var _local8:TweenLite;
var _local9:Object;
var _local10:String;
var _local3:Object = _arg1.vars;
var _local4:int = ((_local3.overwrite)==undefined) ? mode : int(_local3.overwrite);
if ((((_local4 < 2)) || ((_arg2 == null)))){
return;
};
var _local5:Number = _arg1.startTime;
var _local6:Array = [];
_local7 = (_arg2.length - 1);
while (_local7 > -1) {
_local8 = _arg2[_local7];
if (((((!((_local8 == _arg1))) && ((_local8.startTime <= _local5)))) && (((_local8.startTime + ((_local8.duration * 1000) / _local8.combinedTimeScale)) > _local5)))){
_local6[_local6.length] = _local8;
};
_local7--;
};
if (_local6.length == 0){
return;
};
if (_local4 == AUTO){
if (_local3.isTV == true){
_local3 = _local3.exposedProps;
};
_local9 = {};
for (_local10 in _local3) {
if ((((((((((((((((((((((((((((((((((((((((((((_local10 == "ease")) || ((_local10 == "delay")))) || ((_local10 == "overwrite")))) || ((_local10 == "onComplete")))) || ((_local10 == "onCompleteParams")))) || ((_local10 == "runBackwards")))) || ((_local10 == "persist")))) || ((_local10 == "onUpdate")))) || ((_local10 == "onUpdateParams")))) || ((_local10 == "timeScale")))) || ((_local10 == "onStart")))) || ((_local10 == "onStartParams")))) || ((_local10 == "renderOnStart")))) || ((_local10 == "proxiedEase")))) || ((_local10 == "easeParams")))) || ((_local10 == "onCompleteAll")))) || ((_local10 == "onCompleteAllParams")))) || ((_local10 == "yoyo")))) || ((_local10 == "loop")))) || ((_local10 == "onCompleteListener")))) || ((_local10 == "onStartListener")))) || ((_local10 == "onUpdateListener")))){
} else {
_local9[_local10] = 1;
if (_local10 == "shortRotate"){
_local9.rotation = 1;
} else {
if (_local10 == "removeTint"){
_local9.tint = 1;
} else {
if (_local10 == "autoAlpha"){
_local9.alpha = 1;
_local9.visible = 1;
};
};
};
};
};
_local7 = (_local6.length - 1);
while (_local7 > -1) {
_local6[_local7].killVars(_local9);
_local7--;
};
} else {
_local7 = (_local6.length - 1);
while (_local7 > -1) {
_local6[_local7].enabled = false;
_local7--;
};
};
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 9.29){
trace("TweenLite warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com.");
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
}
}//package gs
Section 22
//TweenFilterLite (gs.TweenFilterLite)
package gs {
import flash.filters.*;
import flash.utils.*;
public class TweenFilterLite extends TweenLite {
protected var _matrix:Array;
protected var _hf:Boolean;// = false
protected var _roundProps:Boolean;
protected var _cmf:ColorMatrixFilter;
protected var _filters:Array;
protected var _endMatrix:Array;
protected var _timeScale:Number;
protected var _clrsa:Array;
public static var removeTween:Function = TweenLite.removeTween;
private static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
private static var _lumB:Number = 0.072169;
public static var delayedCall:Function = TweenLite.delayedCall;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 9.29;
private static var _lumG:Number = 0.71516;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _lumR:Number = 0.212671;
protected static var _globalTimeScale:Number = 1;
public function TweenFilterLite(_arg1:Object, _arg2:Number, _arg3:Object){
_filters = [];
super(_arg1, _arg2, _arg3);
if (((!((this.combinedTimeScale == 1))) && ((this.target is TweenFilterLite)))){
_timeScale = 1;
this.combinedTimeScale = _globalTimeScale;
} else {
_timeScale = this.combinedTimeScale;
this.combinedTimeScale = (this.combinedTimeScale * _globalTimeScale);
};
if (((!((this.combinedTimeScale == 1))) && (!((this.delay == 0))))){
this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale)));
};
if (TweenLite.version < 9.29){
trace("TweenFilterLite error! Please update your TweenLite class or try deleting your ASO files. TweenFilterLite requires a more recent version. Download updates at http://www.TweenLite.com.");
};
}
override public function killVars(_arg1:Object):void{
if (TweenLite.overwriteManager.enabled){
TweenLite.overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, ((_filters) || ([])));
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:int;
var _local4:Object;
var _local5:Object;
var _local6:Object;
var _local7:int;
var _local8:String;
if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]);
};
_clrsa = [];
_filters = [];
_matrix = _idMatrix.slice();
_arg2 = (_arg2 + " blurFilter glowFilter colorMatrixFilter dropShadowFilter bevelFilter roundProps ");
_roundProps = Boolean((this.vars.roundProps is Array));
if (_isDisplayObject){
if (this.vars.blurFilter != null){
_local4 = this.vars.blurFilter;
addFilter("blurFilter", _local4, BlurFilter, ["blurX", "blurY", "quality"], new BlurFilter(0, 0, ((_local4.quality) || (2))));
};
if (this.vars.glowFilter != null){
_local4 = this.vars.glowFilter;
addFilter("glowFilter", _local4, GlowFilter, ["alpha", "blurX", "blurY", "color", "quality", "strength", "inner", "knockout"], new GlowFilter(0xFFFFFF, 0, 0, 0, ((_local4.strength) || (1)), ((_local4.quality) || (2)), _local4.inner, _local4.knockout));
};
if (this.vars.colorMatrixFilter != null){
_local4 = this.vars.colorMatrixFilter;
_local5 = addFilter("colorMatrixFilter", _local4, ColorMatrixFilter, [], new ColorMatrixFilter(_matrix));
_cmf = _local5.filter;
_matrix = ColorMatrixFilter(_cmf).matrix;
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_endMatrix = _local4.matrix;
} else {
if (_local4.relative == true){
_endMatrix = _matrix.slice();
} else {
_endMatrix = _idMatrix.slice();
};
_endMatrix = setBrightness(_endMatrix, _local4.brightness);
_endMatrix = setContrast(_endMatrix, _local4.contrast);
_endMatrix = setHue(_endMatrix, _local4.hue);
_endMatrix = setSaturation(_endMatrix, _local4.saturation);
_endMatrix = setThreshold(_endMatrix, _local4.threshold);
if (!isNaN(_local4.colorize)){
_endMatrix = colorize(_endMatrix, _local4.colorize, _local4.amount);
} else {
if (!isNaN(_local4.color)){
_endMatrix = colorize(_endMatrix, _local4.color, _local4.amount);
};
};
};
_local3 = 0;
while (_local3 < _endMatrix.length) {
if (((!((_matrix[_local3] == _endMatrix[_local3]))) && (!((_matrix[_local3] == undefined))))){
this.tweens[this.tweens.length] = [_matrix, _local3.toString(), _matrix[_local3], (_endMatrix[_local3] - _matrix[_local3]), "colorMatrixFilter"];
};
_local3++;
};
};
if (this.vars.dropShadowFilter != null){
_local4 = this.vars.dropShadowFilter;
addFilter("dropShadowFilter", _local4, DropShadowFilter, ["alpha", "angle", "blurX", "blurY", "color", "distance", "quality", "strength", "inner", "knockout", "hideObject"], new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_local4.quality) || (2)), _local4.inner, _local4.knockout, _local4.hideObject));
};
if (this.vars.bevelFilter != null){
_local4 = this.vars.bevelFilter;
addFilter("bevelFilter", _local4, BevelFilter, ["angle", "blurX", "blurY", "distance", "highlightAlpha", "highlightColor", "quality", "shadowAlpha", "shadowColor", "strength"], new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_local4.quality) || (2))));
};
if (this.vars.runBackwards == true){
_local3 = (_clrsa.length - 1);
while (_local3 > -1) {
_local6 = _clrsa[_local3];
_clrsa[_local3].sr = (_local6.sr + _local6.cr);
_local6.cr = (_local6.cr * -1);
_local6.sg = (_local6.sg + _local6.cg);
_local6.cg = (_local6.cg * -1);
_local6.sb = (_local6.sb + _local6.cb);
_local6.cb = (_local6.cb * -1);
_local6.f[_local6.p] = (((_local6.sr << 16) | (_local6.sg << 8)) | _local6.sb);
_local3--;
};
};
super.initTweenVals(true, _arg2);
} else {
super.initTweenVals(_arg1, _arg2);
};
if (_roundProps){
_local3 = (this.vars.roundProps.length - 1);
while (_local3 > -1) {
_local8 = this.vars.roundProps[_local3];
_local7 = (this.tweens.length - 1);
while (_local7 > -1) {
if ((((this.tweens[_local7][1] == _local8)) && ((this.tweens[_local7][0] == this.target)))){
this.tweens[_local7][5] = true;
break;
};
_local7--;
};
_local3--;
};
};
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
if (_arg1){
this.combinedTimeScale = (_timeScale * _globalTimeScale);
};
}
public function set timeScale(_arg1:Number):void{
if (_arg1 < 1E-5){
_arg1 = (_timeScale = 1E-5);
} else {
_timeScale = _arg1;
_arg1 = (_arg1 * _globalTimeScale);
};
this.initTime = ((currentTime - ((((currentTime - this.initTime) - (this.delay * (1000 / this.combinedTimeScale))) * this.combinedTimeScale) * (1 / _arg1))) - (this.delay * (1000 / _arg1)));
if (this.startTime != 999999999999999){
this.startTime = (this.initTime + (this.delay * (1000 / _arg1)));
};
this.combinedTimeScale = _arg1;
}
public function get timeScale():Number{
return (_timeScale);
}
override public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local6:Number;
var _local7:int;
var _local8:Array;
var _local9:int;
var _local2:Number = (((_arg1 - this.startTime) * 0.001) * this.combinedTimeScale);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
if (!_roundProps){
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
} else {
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
if (_local4[5]){
_local6 = (_local4[2] + (_local3 * _local4[3]));
_local7 = ((_local6)<0) ? -1 : 1;
_local4[0][_local4[1]] = ((((_local6 % 1) * _local7))>0.5) ? (int(_local6) + _local7) : int(_local6);
} else {
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
};
_local5--;
};
};
if (_hf){
_local5 = (_clrsa.length - 1);
while (_local5 > -1) {
_local4 = _clrsa[_local5];
_local4.f[_local4.p] = ((((_local4.sr + (_local3 * _local4.cr)) << 16) | ((_local4.sg + (_local3 * _local4.cg)) << 8)) | (_local4.sb + (_local3 * _local4.cb)));
_local5--;
};
if (_cmf != null){
ColorMatrixFilter(_cmf).matrix = _matrix;
};
_local8 = this.target.filters;
_local5 = 0;
while (_local5 < _filters.length) {
_local9 = (_local8.length - 1);
while (_local9 > -1) {
if ((_local8[_local9] is _filters[_local5].type)){
_local8.splice(_local9, 1, _filters[_local5].filter);
break;
};
_local9--;
};
_local5++;
};
this.target.filters = _local8;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
private function addFilter(_arg1:String, _arg2:Object, _arg3:Class, _arg4:Array, _arg5:BitmapFilter):Object{
var _local8:int;
var _local9:String;
var _local10:Number;
var _local11:Object;
var _local12:Object;
var _local6:Object = {type:_arg3, name:_arg1};
var _local7:Array = this.target.filters;
_local8 = 0;
while (_local8 < _local7.length) {
if ((_local7[_local8] is _arg3)){
_local6.filter = _local7[_local8];
break;
};
_local8++;
};
if (_local6.filter == undefined){
_local6.filter = _arg5;
_local7[_local7.length] = _local6.filter;
this.target.filters = _local7;
};
_local8 = 0;
while (_local8 < _arg4.length) {
_local9 = _arg4[_local8];
if (_arg2[_local9] != undefined){
if ((((((_local9 == "color")) || ((_local9 == "highlightColor")))) || ((_local9 == "shadowColor")))){
_local11 = HEXtoRGB(_local6.filter[_local9]);
_local12 = HEXtoRGB(_arg2[_local9]);
_clrsa[_clrsa.length] = {f:_local6.filter, p:_local9, sr:_local11.rb, cr:(_local12.rb - _local11.rb), sg:_local11.gb, cg:(_local12.gb - _local11.gb), sb:_local11.bb, cb:(_local12.bb - _local11.bb)};
} else {
if ((((((((_local9 == "quality")) || ((_local9 == "inner")))) || ((_local9 == "knockout")))) || ((_local9 == "hideObject")))){
_local6.filter[_local9] = _arg2[_local9];
} else {
if (typeof(_arg2[_local9]) == "number"){
_local10 = (_arg2[_local9] - _local6.filter[_local9]);
} else {
_local10 = Number(_arg2[_local9]);
};
this.tweens[this.tweens.length] = [_local6.filter, _local9, _local6.filter[_local9], _local10, _arg1];
};
};
};
_local8++;
};
_filters[_filters.length] = _local6;
_hf = true;
return (_local6);
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
var _local3:Number = Math.cos(_arg2);
var _local4:Number = Math.sin(_arg2);
var _local5:Array = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
var _local3:Array = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
var _local3:Array = [];
var _local4:int;
var _local5:int;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
var _local4:Number = (((_arg2 >> 16) & 0xFF) / 0xFF);
var _local5:Number = (((_arg2 >> 8) & 0xFF) / 0xFF);
var _local6:Number = ((_arg2 & 0xFF) / 0xFF);
var _local7:Number = (1 - _arg3);
var _local8:Array = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Number = (1 - _arg2);
var _local4:Number = (_local3 * _lumR);
var _local5:Number = (_local3 * _lumG);
var _local6:Number = (_local3 * _lumB);
var _local7:Array = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setGlobalTimeScale(_arg1:Number):void{
var _local3:int;
var _local4:Array;
if (_arg1 < 1E-5){
_arg1 = 1E-5;
};
var _local2:Dictionary = masterList;
_globalTimeScale = _arg1;
for each (_local4 in _local2) {
_local3 = (_local4.length - 1);
while (_local3 > -1) {
if ((_local4[_local3] is TweenFilterLite)){
_local4[_local3].timeScale = (_local4[_local3].timeScale * 1);
};
_local3--;
};
};
}
public static function get globalTimeScale():Number{
return (_globalTimeScale);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
_arg3.runBackwards = true;
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
public static function set globalTimeScale(_arg1:Number):void{
setGlobalTimeScale(_arg1);
}
public static function HEXtoRGB(_arg1:Number):Object{
return ({rb:(_arg1 >> 16), gb:((_arg1 >> 8) & 0xFF), bb:(_arg1 & 0xFF)});
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
var _local3:Array = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenFilterLite{
return (new TweenFilterLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 23
//TweenLite (gs.TweenLite)
package gs {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.utils.*;
public class TweenLite {
public var started:Boolean;
public var delay:Number;
protected var _hasUpdate:Boolean;
protected var _subTweens:Array;
public var initted:Boolean;
public var active:Boolean;
public var startTime:Number;
public var target:Object;
public var duration:Number;
protected var _hst:Boolean;
public var gc:Boolean;
protected var _isDisplayObject:Boolean;
public var tweens:Array;
public var vars:Object;
public var ease:Function;
protected var _specialVars:Object;
public var initTime:Number;
public var combinedTimeScale:Number;
private static var _timer:Timer = new Timer(2000);
private static var _classInitted:Boolean;
public static var defaultEase:Function = TweenLite.easeOut;
public static var version:Number = 9.29;
public static var masterList:Dictionary = new Dictionary(false);
public static var currentTime:uint;
public static var overwriteManager:Object;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var timingSprite:Sprite = new Sprite();
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (!_classInitted){
currentTime = getTimer();
timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_timer.addEventListener("timer", killGarbage, false, 0, true);
_timer.start();
_classInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.combinedTimeScale = ((_arg3.timeScale) || (1));
this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0))));
this.target = _arg1;
_isDisplayObject = Boolean((_arg1 is DisplayObject));
if (!(this.vars.ease is Function)){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
this.ease = this.vars.ease;
if (!isNaN(Number(this.vars.autoAlpha))){
this.vars.alpha = Number(this.vars.autoAlpha);
this.vars.visible = Boolean((this.vars.alpha > 0));
};
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
this.tweens = [];
_subTweens = [];
_hst = (this.initted = false);
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if ((((masterList[_arg1] == undefined)) || (((!((_arg1 == null))) && ((_local4 == 1)))))){
masterList[_arg1] = [];
};
masterList[_arg1].push(this);
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((_specialVars.visible == null))) && ((this.vars.runBackwards == true)))) && (_isDisplayObject))){
this.target.visible = _specialVars.visible;
};
};
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) * 0.001);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4[0][_local4[1]] = (_local4[2] + (_local3 * _local4[3]));
_local5--;
};
if (_hst){
_local5 = (_subTweens.length - 1);
while (_local5 > -1) {
_subTweens[_local5].proxy(_subTweens[_local5], _local2);
_local5--;
};
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function set enabled(_arg1:Boolean):void{
var _local2:Array;
var _local3:Boolean;
var _local4:int;
if (_arg1){
if (masterList[this.target] == undefined){
masterList[this.target] = [this];
} else {
_local2 = masterList[this.target];
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (_local2[_local4] == this){
_local3 = true;
break;
};
_local4--;
};
if (!_local3){
masterList[this.target].push(this);
};
};
};
this.gc = (_arg1) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function clear():void{
this.tweens = [];
_subTweens = [];
this.vars = {};
_hst = (_hasUpdate = false);
}
protected function addSubTween(_arg1:String, _arg2:Function, _arg3:Object, _arg4:Object, _arg5:Object=null):void{
var _local6:String;
_subTweens[_subTweens.length] = {name:_arg1, proxy:_arg2, target:_arg3, info:_arg5};
for (_local6 in _arg4) {
if (typeof(_arg4[_local6]) == "number"){
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], (_arg4[_local6] - _arg3[_local6]), _arg1];
} else {
this.tweens[this.tweens.length] = [_arg3, _local6, _arg3[_local6], Number(_arg4[_local6]), _arg1];
};
};
_hst = true;
}
public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Array;
var _local6:ColorTransform;
var _local7:ColorTransform;
var _local8:Object;
if (((!(_arg1)) && (overwriteManager.enabled))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
if ((this.target is Array)){
_local5 = ((this.vars.endArray) || ([]));
_local4 = 0;
while (_local4 < _local5.length) {
if (((!((this.target[_local4] == _local5[_local4]))) && (!((this.target[_local4] == undefined))))){
this.tweens[this.tweens.length] = [this.target, _local4.toString(), this.target[_local4], (_local5[_local4] - this.target[_local4]), _local4.toString()];
};
_local4++;
};
} else {
if (((((!((typeof(_specialVars.tint) == "undefined"))) || ((this.vars.removeTint == true)))) && (_isDisplayObject))){
_local6 = this.target.transform.colorTransform;
_local7 = new ColorTransform();
if (_specialVars.alpha != undefined){
_local7.alphaMultiplier = _specialVars.alpha;
delete _specialVars.alpha;
} else {
_local7.alphaMultiplier = this.target.alpha;
};
if (((!((this.vars.removeTint == true))) && (((((!((_specialVars.tint == null))) && (!((_specialVars.tint == ""))))) || ((_specialVars.tint == 0)))))){
_local7.color = _specialVars.tint;
};
addSubTween("tint", tintProxy, {progress:0}, {progress:1}, {target:this.target, color:_local6, endColor:_local7});
};
if (((!((_specialVars.frame == null))) && (_isDisplayObject))){
addSubTween("frame", frameProxy, {frame:this.target.currentFrame}, {frame:_specialVars.frame}, {target:this.target});
};
if (((!(isNaN(this.vars.volume))) && (this.target.hasOwnProperty("soundTransform")))){
addSubTween("volume", volumeProxy, this.target.soundTransform, {volume:this.vars.volume}, {target:this.target});
};
if (((!((_specialVars.visible == null))) && (_isDisplayObject))){
addSubTween("visible", visibleProxy, {}, {}, {tween:this});
};
for (_local3 in _specialVars) {
if ((((((((((((((((((((((((((((((((((((((_local3 == "ease")) || ((_local3 == "delay")))) || ((_local3 == "overwrite")))) || ((_local3 == "onComplete")))) || ((_local3 == "onCompleteParams")))) || ((_local3 == "runBackwards")))) || ((_local3 == "visible")))) || ((_local3 == "autoOverwrite")))) || ((_local3 == "persist")))) || ((_local3 == "onUpdate")))) || ((_local3 == "onUpdateParams")))) || ((_local3 == "autoAlpha")))) || ((((_local3 == "timeScale")) && (!((this.target is TweenLite))))))) || ((_local3 == "onStart")))) || ((_local3 == "onStartParams")))) || ((_local3 == "renderOnStart")))) || ((_local3 == "proxiedEase")))) || ((_local3 == "easeParams")))) || (((_arg1) && (!((_arg2.indexOf(((" " + _local3) + " ")) == -1))))))){
} else {
if (((!(((_isDisplayObject) && ((((((_local3 == "tint")) || ((_local3 == "removeTint")))) || ((_local3 == "frame"))))))) && (!((((_local3 == "volume")) && (this.target.hasOwnProperty("soundTransform"))))))){
if (typeof(_specialVars[_local3]) == "number"){
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], (_specialVars[_local3] - this.target[_local3]), _local3];
} else {
this.tweens[this.tweens.length] = [this.target, _local3, this.target[_local3], Number(_specialVars[_local3]), _local3];
};
};
};
};
};
if (this.vars.runBackwards == true){
_local4 = (this.tweens.length - 1);
while (_local4 > -1) {
_local8 = this.tweens[_local4];
_local8[2] = (_local8[2] + _local8[3]);
_local8[3] = (_local8[3] * -1);
_local4--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
this.initted = true;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.vars, this.tweens, _subTweens, []);
};
}
public function complete(_arg1:Boolean=false):void{
if (!_arg1){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public static function frameProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.gotoAndStop(Math.round(_arg1.target.frame));
}
public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{
if (_arg1 != null){
if (_arg2){
_arg1.clear();
};
_arg1.enabled = false;
};
}
public static function visibleProxy(_arg1:Object, _arg2:Number):void{
var _local3:TweenLite = _arg1.info.tween;
if (_local3.duration == _arg2){
if (((!((_local3.vars.runBackwards == true))) && ((_local3.ease == _local3.vars.ease)))){
_local3.target.visible = _local3.vars.visible;
};
} else {
if (_local3.target.visible != true){
_local3.target.visible = true;
};
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
if (((!((_arg1 == null))) && (!((masterList[_arg1] == undefined))))){
_local3 = masterList[_arg1];
_local4 = (_local3.length - 1);
while (_local4 > -1) {
_local5 = _local3[_local4];
if (((_arg2) && (!(_local5.gc)))){
_local5.complete(false);
};
_local5.clear();
_local4--;
};
delete masterList[_arg1];
};
}
public static function updateAll(_arg1:Event=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
var _local2:uint = (currentTime = getTimer());
var _local3:Dictionary = masterList;
for each (_local4 in _local3) {
_local5 = (_local4.length - 1);
while (_local5 > -1) {
_local6 = _local4[_local5];
if (_local6 == null){
} else {
if (_local6.active){
_local6.render(_local2);
} else {
if (_local6.gc){
_local4.splice(_local5, 1);
} else {
if (_local2 >= _local6.startTime){
_local6.activate();
_local6.render(_local2);
};
};
};
};
_local5--;
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
public static function tintProxy(_arg1:Object, _arg2:Number=0):void{
var _local3:Number = _arg1.target.progress;
var _local4:Number = (1 - _local3);
var _local5:Object = _arg1.info.color;
var _local6:Object = _arg1.info.endColor;
_arg1.info.target.transform.colorTransform = new ColorTransform(((_local5.redMultiplier * _local4) + (_local6.redMultiplier * _local3)), ((_local5.greenMultiplier * _local4) + (_local6.greenMultiplier * _local3)), ((_local5.blueMultiplier * _local4) + (_local6.blueMultiplier * _local3)), ((_local5.alphaMultiplier * _local4) + (_local6.alphaMultiplier * _local3)), ((_local5.redOffset * _local4) + (_local6.redOffset * _local3)), ((_local5.greenOffset * _local4) + (_local6.greenOffset * _local3)), ((_local5.blueOffset * _local4) + (_local6.blueOffset * _local3)), ((_local5.alphaOffset * _local4) + (_local6.alphaOffset * _local3)));
}
public static function volumeProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target.soundTransform = _arg1.target;
}
protected static function killGarbage(_arg1:TimerEvent):void{
var _local3:Object;
var _local4:Array;
var _local2:Dictionary = masterList;
for (_local3 in _local2) {
if (_local2[_local3].length == 0){
delete _local2[_local3];
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package gs
Section 24
//TweenMax (gs.TweenMax)
package gs {
import flash.events.*;
import gs.events.*;
import flash.utils.*;
public class TweenMax extends TweenFilterLite implements IEventDispatcher {
protected var _dispatcher:EventDispatcher;
public var pauseTime:Number;
protected var _callbacks:Object;
protected var _repeatCount:Number;
protected static const _RAD2DEG:Number = 57.2957795130823;
public static var removeTween:Function = TweenLite.removeTween;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init();
;
protected static var _pausedTweens:Dictionary = new Dictionary(false);
public static var setGlobalTimeScale:Function = TweenFilterLite.setGlobalTimeScale;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var version:Number = 3.5;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
super(_arg1, _arg2, _arg3);
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
if ((((_arg2 == 0)) && ((this.delay == 0)))){
onUpdateDispatcher();
onCompleteDispatcher();
};
};
_repeatCount = 0;
if (((!(isNaN(this.vars.yoyo))) || (!(isNaN(this.vars.loop))))){
this.vars.persist = true;
};
if (TweenFilterLite.version < 9.29){
trace("TweenMax error! Please update your TweenFilterLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com.");
};
}
public function dispatchEvent(_arg1:Event):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.dispatchEvent(_arg1));
}
public function get reversed():Boolean{
return ((this.ease == reverseEase));
}
public function set reversed(_arg1:Boolean):void{
if (this.reversed != _arg1){
reverse();
};
}
protected function onStartDispatcher(... _args):void{
if (_callbacks.onStart != null){
_callbacks.onStart.apply(null, this.vars.onStartParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local5:Object;
var _local6:int;
var _local7:Object;
var _local8:Array;
var _local9:Array;
var _local4:Number = this.progress;
if (((!((this.vars[_arg1] == undefined))) && (this.initted))){
if (((!(_arg3)) && (!((_local4 == 0))))){
_local6 = (this.tweens.length - 1);
while (_local6 > -1) {
if (this.tweens[_local6][4] == _arg1){
this.tweens[_local6][0][this.tweens[_local6][1]] = this.tweens[_local6][2];
};
_local6--;
};
};
_local5 = {};
_local5[_arg1] = 1;
killVars(_local5);
};
this.vars[_arg1] = _arg2;
if (this.initted){
_local7 = this.vars;
_local8 = this.tweens;
_local9 = _subTweens;
this.vars = {};
this.tweens = [];
_subTweens = [];
this.vars[_arg1] = _arg2;
initTweenVals();
if (((!((this.ease == reverseEase))) && ((_local7.ease is Function)))){
this.ease = _local7.ease;
};
if (((_arg3) && (!((_local4 == 0))))){
adjustStartValues();
};
this.vars = _local7;
this.tweens = _local8.concat(this.tweens);
_subTweens = _local9.concat(_subTweens);
};
}
override public function initTweenVals(_arg1:Boolean=false, _arg2:String=""):void{
var _local3:String;
var _local4:int;
var _local5:Object;
var _local6:Object;
var _local7:Array;
var _local9:Number;
_arg2 = (_arg2 + " hexColors bezier bezierThrough shortRotation orientToBezier quaternions onCompleteAll onCompleteAllParams yoyo loop onCompleteListener onUpdateListener onStartListener ");
if (((!(_arg1)) && (TweenLite.overwriteManager.enabled))){
TweenLite.overwriteManager.manageOverwrites(this, masterList[this.target]);
};
var _local8:Function = bezierProxy;
if (this.vars.orientToBezier == true){
this.vars.orientToBezier = [["x", "y", "rotation", 0]];
_local8 = bezierProxy2;
} else {
if ((this.vars.orientToBezier is Array)){
_local8 = bezierProxy2;
};
};
if (((!((this.vars.bezier == undefined))) && ((this.vars.bezier is Array)))){
_local6 = {};
_local7 = this.vars.bezier;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezier", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, false), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (((!((this.vars.bezierThrough == undefined))) && ((this.vars.bezierThrough is Array)))){
_local6 = {};
_local7 = this.vars.bezierThrough;
_local4 = 0;
while (_local4 < _local7.length) {
for (_local3 in _local7[_local4]) {
if (_local6[_local3] == undefined){
_local6[_local3] = [this.target[_local3]];
};
if (typeof(_local7[_local4][_local3]) == "number"){
_local6[_local3].push(_local7[_local4][_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(_local7[_local4][_local3])));
};
};
_local4++;
};
for (_local3 in _local6) {
if (typeof(this.vars[_local3]) == "number"){
_local6[_local3].push(this.vars[_local3]);
} else {
_local6[_local3].push((this.target[_local3] + Number(this.vars[_local3])));
};
delete this.vars[_local3];
};
addSubTween("bezierThrough", _local8, {t:0}, {t:1}, {props:parseBeziers(_local6, true), target:this.target, orientToBezier:this.vars.orientToBezier});
};
if (!isNaN(this.vars.shortRotation)){
_local9 = ((this.vars.shortRotation - this.target.rotation) % 360);
if (((this.vars.shortRotation - this.target.rotation) % 360) != (_local9 % 180)){
_local9 = ((_local9)<0) ? (_local9 + 360) : (_local9 - 360);
};
this.tweens[this.tweens.length] = [this.target, "rotation", this.target.rotation, _local9, "rotation"];
};
if (((!((this.vars.hexColors == undefined))) && ((typeof(this.vars.hexColors) == "object")))){
for (_local3 in this.vars.hexColors) {
addSubTween("hexColors", hexColorsProxy, {r:(this.target[_local3] >> 16), g:((this.target[_local3] >> 8) & 0xFF), b:(this.target[_local3] & 0xFF)}, {r:(this.vars.hexColors[_local3] >> 16), g:((this.vars.hexColors[_local3] >> 8) & 0xFF), b:(this.vars.hexColors[_local3] & 0xFF)}, {prop:_local3, target:this.target});
};
};
super.initTweenVals(true, _arg2);
}
public function restart(_arg1:Boolean=false):void{
if (_arg1){
this.initTime = currentTime;
this.startTime = (currentTime + (this.delay * (1000 / this.combinedTimeScale)));
} else {
this.startTime = currentTime;
this.initTime = (currentTime - (this.delay * (1000 / this.combinedTimeScale)));
};
_repeatCount = 0;
if (this.target != this.vars.onComplete){
render(this.startTime);
};
this.pauseTime = NaN;
this.enabled = true;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher != null){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if ((((_arg1 == TweenEvent.UPDATE)) && (!((this.vars.onUpdate == onUpdateDispatcher))))){
this.vars.onUpdate = onUpdateDispatcher;
_hasUpdate = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
protected function adjustStartValues():void{
var _local2:Number;
var _local3:Number;
var _local4:Object;
var _local5:int;
var _local1:Number = this.progress;
if (_local1 != 0){
_local2 = (1 / (1 - this.ease((_local1 * this.duration), 0, 1, this.duration)));
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local3 = (_local4[2] + _local4[3]);
_local4[3] = ((_local3 - _local4[0][_local4[1]]) * _local2);
_local4[2] = (_local3 - _local4[3]);
_local5--;
};
};
}
protected function onUpdateDispatcher(... _args):void{
if (_callbacks.onUpdate != null){
_callbacks.onUpdate.apply(null, this.vars.onUpdateParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
}
protected function initDispatcher():void{
var _local1:Object;
var _local2:String;
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
_callbacks = {onStart:this.vars.onStart, onUpdate:this.vars.onUpdate, onComplete:this.vars.onComplete};
_local1 = {};
for (_local2 in this.vars) {
_local1[_local2] = this.vars[_local2];
};
this.vars = _local1;
this.vars.onStart = onStartDispatcher;
this.vars.onComplete = onCompleteDispatcher;
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
this.vars.onUpdate = onUpdateDispatcher;
_hasUpdate = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
};
}
public function willTrigger(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.willTrigger(_arg1));
}
public function set progress(_arg1:Number):void{
this.startTime = (currentTime - ((this.duration * _arg1) * 1000));
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
if (!this.started){
activate();
};
render(currentTime);
if (!isNaN(this.pauseTime)){
this.pauseTime = currentTime;
this.startTime = 999999999999999;
this.active = false;
};
}
public function reverse(_arg1:Boolean=true, _arg2:Boolean=true):void{
this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease;
var _local3:Number = this.progress;
if (((_arg1) && ((_local3 > 0)))){
this.startTime = (currentTime - ((((1 - _local3) * this.duration) * 1000) / this.combinedTimeScale));
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
};
if (_arg2 != false){
if (_local3 < 1){
resume();
} else {
restart();
};
};
}
public function set paused(_arg1:Boolean):void{
if (_arg1){
pause();
} else {
resume();
};
}
public function resume():void{
this.enabled = true;
if (!isNaN(this.pauseTime)){
this.initTime = (this.initTime + (currentTime - this.pauseTime));
this.startTime = (this.initTime + (this.delay * (1000 / this.combinedTimeScale)));
this.pauseTime = NaN;
if (((!(this.started)) && ((currentTime >= this.startTime)))){
activate();
} else {
this.active = this.started;
};
_pausedTweens[this] = null;
delete _pausedTweens[this];
};
}
public function get paused():Boolean{
return ((this.startTime == 999999999999999));
}
public function reverseEase(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.ease((_arg4 - _arg1), _arg2, _arg3, _arg4));
}
public function killProperties(_arg1:Array):void{
var _local3:int;
var _local2:Object = {};
_local3 = (_arg1.length - 1);
while (_local3 > -1) {
if (this.vars[_arg1[_local3]] != null){
_local2[_arg1[_local3]] = 1;
};
_local3--;
};
killVars(_local2);
}
public function hasEventListener(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.hasEventListener(_arg1));
}
public function pause():void{
if (isNaN(this.pauseTime)){
this.pauseTime = currentTime;
this.startTime = 999999999999999;
this.enabled = false;
_pausedTweens[this] = this;
};
}
override public function complete(_arg1:Boolean=false):void{
if (((((!(isNaN(this.vars.yoyo))) && ((((_repeatCount < this.vars.yoyo)) || ((this.vars.yoyo == 0)))))) || (((!(isNaN(this.vars.loop))) && ((((_repeatCount < this.vars.loop)) || ((this.vars.loop == 0)))))))){
_repeatCount++;
if (!isNaN(this.vars.yoyo)){
this.ease = ((this.vars.ease)==this.ease) ? reverseEase : this.vars.ease;
};
this.startTime = (_arg1) ? (this.startTime + (this.duration * (1000 / this.combinedTimeScale))) : currentTime;
this.initTime = (this.startTime - (this.delay * (1000 / this.combinedTimeScale)));
} else {
if (this.vars.persist == true){
pause();
};
};
super.complete(_arg1);
}
public function invalidate(_arg1:Boolean=true):void{
var _local2:Number;
if (this.initted){
_local2 = this.progress;
if (((!(_arg1)) && (!((_local2 == 0))))){
this.progress = 0;
};
this.tweens = [];
_subTweens = [];
_specialVars = ((this.vars.isTV)==true) ? this.vars.exposedProps : this.vars;
initTweenVals();
_timeScale = ((this.vars.timeScale) || (1));
this.combinedTimeScale = (_timeScale * _globalTimeScale);
this.delay = ((this.vars.delay) || (0));
if (isNaN(this.pauseTime)){
this.startTime = (this.initTime + ((this.delay * 1000) / this.combinedTimeScale));
};
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
if (_dispatcher != null){
this.vars.onStart = _callbacks.onStart;
this.vars.onUpdate = _callbacks.onUpdate;
this.vars.onComplete = _callbacks.onComplete;
_dispatcher = null;
};
initDispatcher();
};
if (_local2 != 0){
if (_arg1){
adjustStartValues();
} else {
this.progress = _local2;
};
};
};
}
public function get progress():Number{
var _local1:Number = (isNaN(this.pauseTime)) ? currentTime : this.pauseTime;
var _local2:Number = (((((_local1 - this.initTime) * 0.001) - (this.delay / this.combinedTimeScale)) / this.duration) * this.combinedTimeScale);
if (_local2 > 1){
return (1);
};
if (_local2 < 0){
return (0);
};
return (_local2);
}
protected function onCompleteDispatcher(... _args):void{
if (_callbacks.onComplete != null){
_callbacks.onComplete.apply(null, this.vars.onCompleteParams);
};
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
}
public static function sequence(_arg1:Object, _arg2:Array):Array{
var _local3:uint;
while (_local3 < _arg2.length) {
_arg2[_local3].target = _arg1;
_local3++;
};
return (multiSequence(_arg2));
}
public static function bezierProxy(_arg1:Object, _arg2:Number=0):void{
var _local6:int;
var _local7:String;
var _local8:Object;
var _local9:Number;
var _local10:uint;
var _local3:Number = _arg1.target.t;
var _local4:Object = _arg1.info.props;
var _local5:Object = _arg1.info.target;
if (_local3 == 1){
for (_local7 in _local4) {
_local6 = (_local4[_local7].length - 1);
_local5[_local7] = _local4[_local7][_local6].e;
};
} else {
for (_local7 in _local4) {
_local10 = _local4[_local7].length;
if (_local3 < 0){
_local6 = 0;
} else {
if (_local3 >= 1){
_local6 = (_local10 - 1);
} else {
_local6 = int((_local10 * _local3));
};
};
_local9 = ((_local3 - (_local6 * (1 / _local10))) * _local10);
_local8 = _local4[_local7][_local6];
_local5[_local7] = (_local8.s + (_local9 * (((2 * (1 - _local9)) * (_local8.cp - _local8.s)) + (_local9 * (_local8.e - _local8.s)))));
};
};
}
public static function hexColorsProxy(_arg1:Object, _arg2:Number=0):void{
_arg1.info.target[_arg1.info.prop] = uint((((_arg1.target.r << 16) | (_arg1.target.g << 8)) | _arg1.target.b));
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = {s:_local4[0], cp:(_local4[1] - ((_local4[2] - _local4[0]) / 4)), e:_local4[1]};
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = {s:_local4[_local3], cp:(_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)].cp)), e:_local4[(_local3 + 1)]};
_local3++;
};
} else {
_local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]};
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:((_local4[1] + _local4[2]) / 2)};
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = {s:_local5[(_local3 - 2)].e, cp:_local4[_local3], e:((_local4[_local3] + _local4[(_local3 + 1)]) / 2)};
_local3++;
};
_local5[_local5.length] = {s:_local5[(_local5.length - 1)].e, cp:_local4[(_local4.length - 2)], e:_local4[(_local4.length - 1)]};
} else {
if (_local4.length == 3){
_local5[_local5.length] = {s:_local4[0], cp:_local4[1], e:_local4[2]};
} else {
if (_local4.length == 2){
_local5[_local5.length] = {s:_local4[0], cp:((_local4[0] + _local4[1]) / 2), e:_local4[1]};
};
};
};
};
};
return (_local7);
}
public static function bezierProxy2(_arg1:Object, _arg2:Number=0):void{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Array;
var _local10:Number;
bezierProxy(_arg1, _arg2);
var _local3:Object = {};
var _local4:Object = _arg1.info.target;
_arg1.info.target = _local3;
_arg1.target.t = (_arg1.target.t + 0.01);
bezierProxy(_arg1);
var _local5:Array = _arg1.info.orientToBezier;
var _local11:uint;
while (_local11 < _local5.length) {
_local9 = _local5[_local11];
_local10 = ((_local9[3]) || (0));
_local7 = (_local3[_local9[0]] - _local4[_local9[0]]);
_local8 = (_local3[_local9[1]] - _local4[_local9[1]]);
_local4[_local9[2]] = ((Math.atan2(_local8, _local7) * _RAD2DEG) + _local10);
_local11++;
};
_arg1.info.target = _local4;
_arg1.target.t = (_arg1.target.t - 0.01);
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(true, _arg1, _arg2);
}
public static function set globalTimeScale(_arg1:Number):void{
setGlobalTimeScale(_arg1);
}
public static function get globalTimeScale():Number{
return (_globalTimeScale);
}
public static function killAllDelayedCalls(_arg1:Boolean=false):void{
killAll(_arg1, false, true);
}
public static function multiSequence(_arg1:Array):Array{
var _local6:Object;
var _local7:Object;
var _local8:Number;
var _local9:Number;
var _local10:uint;
var _local11:Object;
var _local12:String;
trace("WARNING: TweenMax.multiSequence() and TweenMax.sequence() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include sequence() and multiSequence() (to conserve file size).");
var _local2:Dictionary = new Dictionary();
var _local3:Array = [];
var _local4:int = TweenLite.overwriteManager.mode;
var _local5:Number = 0;
_local10 = 0;
while (_local10 < _arg1.length) {
_local6 = _arg1[_local10];
_local9 = ((_local6.time) || (0));
_local11 = {};
for (_local12 in _local6) {
_local11[_local12] = _local6[_local12];
};
delete _local11.time;
_local8 = ((_local11.delay) || (0));
_local11.delay = (_local5 + _local8);
_local7 = _local11.target;
delete _local11.target;
if (_local4 == 1){
if (_local2[_local7] == undefined){
_local2[_local7] = _local11;
} else {
_local11.overwrite = 2;
};
};
_local3[_local3.length] = new TweenMax(_local7, _local9, _local11);
_local5 = (_local5 + (_local9 + _local8));
_local10++;
};
return (_local3);
}
public static function getTweensOf(_arg1:Object):Array{
var _local4:int;
var _local2:Array = masterList[_arg1];
var _local3:Array = [];
if (_local2 != null){
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (!_local2[_local4].gc){
_local3[_local3.length] = _local2[_local4];
};
_local4--;
};
};
return (_local3);
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, persist:_arg4, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array = getTweensOf(_arg1);
var _local3:int = (_local2.length - 1);
while (_local3 > -1) {
if (((_local2[_local3].active) && (!(_local2[_local3].gc)))){
return (true);
};
_local3--;
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = (_local4.length - 1);
while (_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
_local4[_local6].clear();
} else {
TweenLite.removeTween(_local4[_local6], true);
};
};
_local6--;
};
}
public static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local5:Boolean;
var _local4:Array = getAllTweens();
var _local6:int = (_local4.length - 1);
while (_local6 > -1) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local4[_local6] is TweenMax)) && ((((_local5 == _arg3)) || (!((_local5 == _arg2))))))){
_local4[_local6].paused = _arg1;
};
_local6--;
};
}
public static function callbackProxy(_arg1:Array, _arg2:Array=null):void{
var _local3:uint;
while (_local3 < _arg1.length) {
if (_arg1[_local3] != undefined){
_arg1[_local3].apply(null, _arg2[_local3]);
};
_local3++;
};
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object):Array{
_arg3.runBackwards = true;
return (allTo(_arg1, _arg2, _arg3));
}
public static function killAllTweens(_arg1:Boolean=false):void{
killAll(_arg1, true, false);
}
public static function getAllTweens():Array{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
var _local1:Dictionary = masterList;
var _local2:Array = [];
for each (_local3 in _local1) {
_local4 = (_local3.length - 1);
while (_local4 > -1) {
if (!_local3[_local4].gc){
_local2[_local2.length] = _local3[_local4];
};
_local4--;
};
};
for each (_local5 in _pausedTweens) {
_local2[_local2.length] = _local5;
};
return (_local2);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=false):void{
changePause(false, _arg1, _arg2);
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object):Array{
var _local4:int;
var _local5:Object;
var _local6:String;
var _local7:Number;
var _local8:Object;
trace("WARNING: TweenMax.allTo() and TweenMax.allFrom() have been deprecated in favor of the much more powerful and flexible TweenGroup class. See http://blog.greensock.com/tweengroup/ for more details. Future versions of TweenMax may not include allTo() and allFrom() (to conserve file size).");
if (_arg1.length == 0){
return ([]);
};
var _local9:Array = [];
var _local10:Number = ((_arg3.delayIncrement) || (0));
delete _arg3.delayIncrement;
if (_arg3.onCompleteAll == undefined){
_local8 = _arg3;
} else {
_local8 = {};
for (_local6 in _arg3) {
_local8[_local6] = _arg3[_local6];
};
_local8.onCompleteParams = [[_arg3.onComplete, _arg3.onCompleteAll], [_arg3.onCompleteParams, _arg3.onCompleteAllParams]];
_local8.onComplete = TweenMax.callbackProxy;
delete _arg3.onCompleteAll;
};
delete _arg3.onCompleteAllParams;
if (_local10 == 0){
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
} else {
_local7 = ((_arg3.delay) || (0));
_local4 = 0;
while (_local4 < (_arg1.length - 1)) {
_local5 = {};
for (_local6 in _arg3) {
_local5[_local6] = _arg3[_local6];
};
_local5.delay = (_local7 + (_local4 * _local10));
_local9[_local9.length] = new TweenMax(_arg1[_local4], _arg2, _local5);
_local4++;
};
_local8.delay = (_local7 + ((_arg1.length - 1) * _local10));
};
_local9[_local9.length] = new TweenMax(_arg1[(_arg1.length - 1)], _arg2, _local8);
if ((_arg3.onCompleteAllListener is Function)){
_local9[(_local9.length - 1)].addEventListener(TweenEvent.COMPLETE, _arg3.onCompleteAllListener);
};
return (_local9);
}
}
}//package gs
Section 25
//MochiAd (mochi.MochiAd)
package mochi {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.7");
}
public static function showClickAwayAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{
}, ad_finished:function ():void{
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
var sendHostProgress:Boolean;
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
_local3 = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (this.root == null){
_local3 = true;
};
if (_local3){
delete this.onEnterFrame;
};
};
doOnEnterFrame(chk);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _allowDomains(_arg1:String):String{
var _local2:String = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (_arg1.origFrameRate != undefined){
_arg1.stage.frameRate = _arg1.origFrameRate;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad._containerLCName != undefined){
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "notify", {id:"unload"});
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
chk["onEnterFrame"] = function ():void{
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
var _local1:Object = this.parent._mochiad_ctr;
var _local2:Number = (getTimer() - this.started);
var _local3:Boolean;
if (!chk.showing){
_local4 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local4 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if (_local2 > chk.ad_timeout){
options.ad_failed();
_local3 = true;
};
};
};
if (_local2 > chk.ad_msec){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
var _local3:Object = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _cleanup(_arg1:Object):void{
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
var idx:Number = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function load(_arg1:Object):MovieClip{
var clip:Object;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
var DEFAULTS:Object = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
var depth:Number = options.depth;
delete options.depth;
var mc:MovieClip = createEmptyMovieClip(clip, "_mochiad", depth);
var wh:Array = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
var lv:URLVariables = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
mc.lcName = name;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime()));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function runMethod(_arg1:Object, _arg2:String, _arg3:Array):Object{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
if (typeof(_arg1[_local4[_local5]]) == "function"){
return (_arg1[_local4[_local5]].apply(_arg1, _arg3));
};
return (undefined);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local6:Array;
var _local3:Object = _arg2.getBounds(_arg2.root);
var _local4:Number = 0;
var _local5:Number = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
_local4 = 700;
_local5 = 468;
return ([_local4, _local5]);
}
public static function adShowing(_arg1:Object):void{
_arg1.origFrameRate = _arg1.stage.frameRate;
_arg1.stage.frameRate = 30;
}
public static function getValue(_arg1:Object, _arg2:String):Object{
var _local3:Array = _arg2.split(".");
var _local4:Number = 0;
while (_local4 < (_local3.length - 1)) {
if ((((_arg1[_local3[_local4]] == undefined)) || ((_arg1[_local3[_local4]] == null)))){
return (undefined);
};
_arg1 = _arg1[_local3[_local4]];
_local4++;
};
return (_arg1[_local3[_local4]]);
}
public static function rpc(_arg1:Object, _arg2:Number, _arg3:Object):void{
var _local4:Object;
var _local5:Object;
switch (_arg3.id){
case "setValue":
MochiAd.setValue(_arg1, _arg3.objectName, _arg3.value);
break;
case "getValue":
_local4 = MochiAd.getValue(_arg1, _arg3.objectName);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local4);
break;
case "runMethod":
_local5 = MochiAd.runMethod(_arg1, _arg3.method, _arg3.args);
_arg1._mochiad.lc.send(_arg1._mochiad._containerLCName, "rpcResult", _arg2, _local5);
break;
default:
trace(("[mochiads rpc] unknown rpc id: " + _arg3.id));
};
}
public static function setValue(_arg1:Object, _arg2:String, _arg3:Object):void{
var _local4:Array = _arg2.split(".");
var _local5:Number = 0;
while (_local5 < (_local4.length - 1)) {
if ((((_arg1[_local4[_local5]] == undefined)) || ((_arg1[_local4[_local5]] == null)))){
return;
};
_arg1 = _arg1[_local4[_local5]];
_local5++;
};
_arg1[_local4[_local5]] = _arg3;
}
public static function showPreGameAd(_arg1:Object):void{
var clip:Object;
var mc:MovieClip;
var chk:MovieClip;
var complete:Boolean;
var unloaded:Boolean;
var sendHostProgress:Boolean;
var fn:Function;
var r:MovieClip;
var options = _arg1;
var DEFAULTS:Object = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_loaded:function (_arg1:Number, _arg2:Number):void{
}, ad_failed:function ():void{
trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software");
}, ad_skipped:function ():void{
}, ad_progress:function (_arg1:Number):void{
}};
options = MochiAd._parseOptions(options, DEFAULTS);
if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){
options.ad_started();
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
return;
};
clip = options.clip;
var ad_msec:Number = 11000;
var ad_timeout:Number = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time:Number = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_failed();
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
var fn:Function = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
var wh:Array = MochiAd._getRes(options, clip);
var w:Number = wh[0];
var h:Number = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
var bar:MovieClip = createEmptyMovieClip(chk, "_mochiad_bar", 4);
if (options.no_progress_bar){
bar.visible = false;
delete options.no_progress_bar;
} else {
bar.x = 10;
bar.y = (h - 20);
};
var bar_color:Number = options.color;
delete options.color;
var bar_background:Number = options.background;
delete options.background;
var bar_outline:Number = options.outline;
delete options.outline;
var backing_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 1);
var backing:Object = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
var inside_mc:MovieClip = createEmptyMovieClip(bar, "_inside", 2);
var inside:Object = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
var outline_mc:MovieClip = createEmptyMovieClip(bar, "_outline", 3);
var outline:Object = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
var f:Function = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adLoaded = options.ad_loaded;
mc.adSkipped = options.ad_skipped;
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
mc.rpc = function (_arg1:Number, _arg2:Object):void{
MochiAd.rpc(clip, _arg1, _arg2);
};
mc.rpcTestFn = function (_arg1:String):Object{
trace(("[MOCHIAD rpcTestFn] " + _arg1));
return (_arg1);
};
mc.regContLC = function (_arg1:String):void{
mc._containerLCName = _arg1;
};
sendHostProgress = false;
mc.sendHostLoadProgress = function (_arg1:String):void{
sendHostProgress = true;
};
chk["onEnterFrame"] = function ():void{
var _local11:Number;
if (((!(this.parent)) || (!(this.parent.parent)))){
delete this["onEnterFrame"];
return;
};
var _local1:Object = this.parent.parent.root;
var _local2:Object = this.parent._mochiad_ctr;
var _local3:Number = (getTimer() - this.started);
var _local4:Boolean;
var _local5:Number = _local1.loaderInfo.bytesTotal;
var _local6:Number = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
var _local7:Number = ((100 * _local6) / _local5);
var _local8:Number = ((100 * _local3) / chk.ad_msec);
var _local9:Object = this._mochiad_bar._inside;
var _local10:Number = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
options.ad_progress(_local10);
if (sendHostProgress){
clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:_local7});
if (_local7 == 100){
sendHostProgress = false;
};
};
if (!chk.showing){
_local11 = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal;
if (_local11 > 0){
chk.showing = true;
chk.started = getTimer();
MochiAd.adShowing(clip);
} else {
if ((((_local3 > chk.ad_timeout)) && ((_local7 == 100)))){
options.ad_failed();
_local4 = true;
};
};
};
if (_local3 > chk.ad_msec){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0");
MochiAd.showPreGameAd(_arg1);
}
public static function showTimedAd(_arg1:Object):void{
trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0");
MochiAd.showInterLevelAd(_arg1);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var mc = _arg1;
var f:Function = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package mochi
Section 26
//MochiBot (mochi.MochiBot)
package mochi {
import flash.display.*;
import flash.net.*;
import flash.system.*;
public dynamic class MochiBot extends Sprite {
public static function track(_arg1:Sprite, _arg2:String):MochiBot{
if (Security.sandboxType == "localWithFile"){
return (null);
};
var _local3:MochiBot = new (MochiBot);
_arg1.addChild(_local3);
Security.allowDomain("*");
Security.allowInsecureDomain("*");
var _local4 = "http://core.mochibot.com/my/core.swf";
var _local5:URLVariables = new URLVariables();
_local5["sb"] = Security.sandboxType;
_local5["v"] = Capabilities.version;
_local5["swfid"] = _arg2;
_local5["mv"] = "8";
_local5["fv"] = "9";
var _local6:String = _local3.root.loaderInfo.loaderURL;
if (_local6.indexOf("http") == 0){
_local5["url"] = _local6;
} else {
_local5["url"] = "local";
};
var _local7:URLRequest = new URLRequest(_local4);
_local7.contentType = "application/x-www-form-urlencoded";
_local7.method = URLRequestMethod.POST;
_local7.data = _local5;
var _local8:Loader = new Loader();
_local3.addChild(_local8);
_local8.load(_local7);
return (_local3);
}
}
}//package mochi
Section 27
//MochiScores (mochi.MochiScores)
package mochi {
import flash.display.*;
import flash.text.*;
public class MochiScores {
private static var boardID:String;
public static var onErrorHandler:Object;
public static var onCloseHandler:Object;
public static function showLeaderboard(_arg1:Object=null):void{
var options = _arg1;
if (options != null){
if (options.clip != null){
if ((options.clip is Sprite)){
MochiServices.setContainer(options.clip);
};
delete options.clip;
} else {
MochiServices.setContainer();
};
MochiServices.stayOnTop();
if (options.name != null){
if ((options.name is TextField)){
if (options.name.text.length > 0){
options.name = options.name.text;
};
};
};
if (options.score != null){
if ((options.score is TextField)){
if (options.score.text.length > 0){
options.score = options.score.text;
};
};
};
if (options.onDisplay != null){
options.onDisplay();
} else {
if (MochiServices.clip != null){
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
};
} else {
options = {};
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.stop();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onDisplay.");
};
};
if (options.onClose != null){
onCloseHandler = options.onClose;
} else {
onCloseHandler = function ():void{
if ((MochiServices.clip is MovieClip)){
MochiServices.clip.play();
} else {
trace("Warning: Container is not a MovieClip, cannot call default onClose.");
};
};
};
if (options.onError != null){
onErrorHandler = options.onError;
} else {
onErrorHandler = null;
};
if (options.boardID == null){
if (MochiScores.boardID != null){
options.boardID = MochiScores.boardID;
};
};
MochiServices.send("scores_showLeaderboard", {options:options}, null, onClose);
}
public static function closeLeaderboard():void{
MochiServices.send("scores_closeLeaderboard");
}
public static function getPlayerInfo(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_getPlayerInfo", null, _arg1, _arg2);
}
public static function requestList(_arg1:Object, _arg2:Object=null):void{
MochiServices.send("scores_requestList", null, _arg1, _arg2);
}
public static function scoresArrayToObjects(_arg1:Object):Object{
var _local3:Number;
var _local4:Number;
var _local5:Object;
var _local6:Object;
var _local7:String;
var _local8:String;
var _local2:Object = {};
for (_local7 in _arg1) {
if (typeof(_arg1[_local7]) == "object"){
if (((!((_arg1[_local7].cols == null))) && (!((_arg1[_local7].rows == null))))){
_local2[_local7] = [];
_local5 = _arg1[_local7];
_local4 = 0;
while (_local4 < _local5.rows.length) {
_local6 = {};
_local3 = 0;
while (_local3 < _local5.cols.length) {
_local6[_local5.cols[_local3]] = _local5.rows[_local4][_local3];
_local3++;
};
_local2[_local7].push(_local6);
_local4++;
};
} else {
_local2[_local7] = {};
for (_local8 in _arg1[_local7]) {
_local2[_local7][_local8] = _arg1[_local7][_local8];
};
};
} else {
_local2[_local7] = _arg1[_local7];
};
};
return (_local2);
}
public static function submit(_arg1:Number, _arg2:String, _arg3:Object=null, _arg4:Object=null):void{
MochiServices.send("scores_submit", {score:_arg1, name:_arg2}, _arg3, _arg4);
}
public static function onClose(_arg1:Object=null):void{
if (_arg1 != null){
if (_arg1.error != null){
if (_arg1.error == true){
if (onErrorHandler != null){
if (_arg1.errorCode == null){
_arg1.errorCode = "IOError";
};
onErrorHandler(_arg1.errorCode);
MochiServices.doClose();
return;
};
};
};
};
onCloseHandler();
MochiServices.doClose();
}
public static function setBoardID(_arg1:String):void{
MochiScores.boardID = _arg1;
MochiServices.send("scores_setBoardID", {boardID:_arg1});
}
}
}//package mochi
Section 28
//MochiServices (mochi.MochiServices)
package mochi {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiServices {
private static var _container:Object;
private static var _connected:Boolean = false;
private static var _swfVersion:String;
private static var _sendChannel:LocalConnection;
private static var _rcvChannelName:String;
private static var _gatewayURL:String = "http://www.mochiads.com/static/lib/services/services.swf";
private static var _clip:MovieClip;
private static var _loader:Loader;
private static var _id:String;
private static var _listenChannel:LocalConnection;
private static var _timer:Timer;
private static var _sendChannelName:String;
private static var _startTime:Number;
private static var _connecting:Boolean = false;
public static var onError:Object;
private static var _listenChannelName:String = "__mochiservices";
private static var _rcvChannel:LocalConnection;
public static function isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function send(_arg1:String, _arg2:Object=null, _arg3:Object=null, _arg4:Object=null):void{
if (_connected){
_sendChannel.send(_sendChannelName, "onReceive", {methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
} else {
if ((((_clip == null)) || (!(_connecting)))){
onError("NotConnected");
handleError(_arg2, _arg3, _arg4);
flush(true);
return;
};
_clip._queue.push({methodName:_arg1, args:_arg2, callbackID:_clip._nextcallbackID});
};
if (_clip != null){
if (((!((_clip._callbacks == null))) && (!((_clip._nextcallbackID == null))))){
_clip._callbacks[_clip._nextcallbackID] = {callbackObject:_arg3, callbackMethod:_arg4};
_clip._nextcallbackID++;
};
};
}
public static function get connected():Boolean{
return (_connected);
}
private static function flush(_arg1:Boolean):void{
var _local2:Object;
var _local3:Object;
if (_clip != null){
if (_clip._queue != null){
while (_clip._queue.length > 0) {
_local2 = _clip._queue.shift();
_local3 = null;
if (_local2 != null){
if (_local2.callbackID != null){
_local3 = _clip._callbacks[_local2.callbackID];
};
delete _clip._callbacks[_local2.callbackID];
if (((_arg1) && (!((_local3 == null))))){
handleError(_local2.args, _local3.callbackObject, _local3.callbackMethod);
};
};
};
};
};
}
private static function clickMovie(_arg1:String, _arg2:Function):MovieClip{
var _local4:int;
var _local14:Loader;
var _local3:Array = [150, 21, 0, 7, 1, 0, 0, 0, 0, 98, 116, 110, 0, 7, 2, 0, 0, 0, 0, 116, 104, 105, 115, 0, 28, 150, 22, 0, 0, 99, 114, 101, 97, 116, 101, 69, 109, 112, 116, 121, 77, 111, 118, 105, 101, 67, 108, 105, 112, 0, 82, 135, 1, 0, 0, 23, 150, 13, 0, 4, 0, 0, 111, 110, 82, 101, 108, 101, 97, 115, 101, 0, 142, 8, 0, 0, 0, 0, 2, 42, 0, 114, 0, 150, 17, 0, 0, 32, 0, 7, 1, 0, 0, 0, 8, 0, 0, 115, 112, 108, 105, 116, 0, 82, 135, 1, 0, 1, 23, 150, 7, 0, 4, 1, 7, 0, 0, 0, 0, 78, 150, 8, 0, 0, 95, 98, 108, 97, 110, 107, 0, 154, 1, 0, 0, 150, 7, 0, 0, 99, 108, 105, 99, 107, 0, 150, 7, 0, 4, 1, 7, 1, 0, 0, 0, 78, 150, 27, 0, 7, 2, 0, 0, 0, 7, 0, 0, 0, 0, 0, 76, 111, 99, 97, 108, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 0, 64, 150, 6, 0, 0, 115, 101, 110, 100, 0, 82, 79, 150, 15, 0, 4, 0, 0, 95, 97, 108, 112, 104, 97, 0, 7, 0, 0, 0, 0, 79, 150, 23, 0, 7, 0xFF, 0, 0xFF, 0, 7, 1, 0, 0, 0, 4, 0, 0, 98, 101, 103, 105, 110, 70, 105, 108, 108, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 109, 111, 118, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 100, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 100, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 25, 0, 7, 0, 0, 0, 0, 7, 0, 0, 0, 0, 7, 2, 0, 0, 0, 4, 0, 0, 108, 105, 110, 101, 84, 111, 0, 82, 23, 150, 16, 0, 7, 0, 0, 0, 0, 4, 0, 0, 101, 110, 100, 70, 105, 108, 108, 0, 82, 23];
var _local5:Array = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3];
var _local6:Array = [0, 64, 0, 0, 0];
var _local7:MovieClip = new MovieClip();
var _local8:LocalConnection = new LocalConnection();
var _local9:String = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().getTime()));
_local8 = new LocalConnection();
_local7.lc = _local8;
_local7.click = _arg2;
_local8.client = _local7;
_local8.connect(_local9);
var _local10:ByteArray = new ByteArray();
var _local11:ByteArray = new ByteArray();
_local11.endian = Endian.LITTLE_ENDIAN;
_local11.writeShort(1);
_local11.writeUTFBytes(((_arg1 + " ") + _local9));
_local11.writeByte(0);
var _local12:uint = ((_local3.length + _local11.length) + 4);
var _local13:uint = (_local12 + 35);
_local10.endian = Endian.LITTLE_ENDIAN;
_local10.writeUTFBytes("FWS");
_local10.writeByte(8);
_local10.writeUnsignedInt(_local13);
for each (_local4 in _local5) {
_local10.writeByte(_local4);
};
_local10.writeUnsignedInt(_local12);
_local10.writeByte(136);
_local10.writeShort(_local11.length);
_local10.writeBytes(_local11);
for each (_local4 in _local3) {
_local10.writeByte(_local4);
};
for each (_local4 in _local6) {
_local10.writeByte(_local4);
};
_local14 = new Loader();
_local14.loadBytes(_local10);
_local7.addChild(_local14);
return (_local7);
}
private static function init(_arg1:String, _arg2:Object):void{
_id = _arg1;
if (_arg2 != null){
_container = _arg2;
loadCommunicator(_arg1, _container);
};
}
public static function get childClip():Object{
return (_clip);
}
public static function get id():String{
return (_id);
}
public static function stayOnTop():void{
_container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true);
if (_clip != null){
_clip.visible = true;
};
}
public static function addLinkEvent(_arg1:String, _arg2:String, _arg3:DisplayObjectContainer, _arg4:Function=null):void{
var netup:Boolean;
var s:String;
var x:String;
var req:URLRequest;
var loader:Loader;
var err:Function;
var complete:Function;
var setURL:Function;
var url = _arg1;
var burl = _arg2;
var btn = _arg3;
var onClick = _arg4;
var vars:Object = new Object();
vars["mav"] = getVersion();
vars["swfv"] = "9";
vars["swfurl"] = btn.loaderInfo.loaderURL;
vars["fv"] = Capabilities.version;
vars["os"] = Capabilities.os;
vars["lang"] = Capabilities.language;
vars["scres"] = ((Capabilities.screenResolutionX + "x") + Capabilities.screenResolutionY);
s = "?";
var i:Number = 0;
for (x in vars) {
if (i != 0){
s = (s + "&");
};
i = (i + 1);
s = (((s + x) + "=") + escape(vars[x]));
};
req = new URLRequest("http://x.mochiads.com/linkping.swf");
loader = new Loader();
err = function (_arg1:Object):void{
netup = false;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
complete = function (_arg1:Object):void{
netup = true;
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
loader.load(req);
setURL = function ():void{
var _local1:String;
if (netup){
_local1 = (url + s);
} else {
_local1 = burl;
};
var _local2:DisplayObject = clickMovie(_local1, onClick);
btn.addChild(_local2);
_local2.scaleX = (0.01 * btn.width);
_local2.scaleY = (0.01 * btn.height);
};
setTimeout(setURL, 1500);
}
public static function getVersion():String{
return ("1.35");
}
public static function disconnect():void{
if (((_connected) || (_connecting))){
if (_clip != null){
if (_clip.parent != null){
if ((_clip.parent is Sprite)){
Sprite(_clip.parent).removeChild(_clip);
_clip = null;
};
};
};
_connecting = (_connected = false);
flush(true);
try {
_listenChannel.close();
_rcvChannel.close();
} catch(error:Error) {
};
};
if (_timer != null){
try {
_timer.stop();
} catch(error:Error) {
};
};
}
public static function allowDomains(_arg1:String):String{
var _local2:String;
Security.allowDomain("*");
Security.allowInsecureDomain("*");
if (_arg1.indexOf("http://") != -1){
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain(_local2);
Security.allowInsecureDomain(_local2);
};
return (_local2);
}
public static function doClose():void{
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
if (_clip.parent != null){
Sprite(_clip.parent).removeChild(_clip);
};
}
public static function setContainer(_arg1:Object=null, _arg2:Boolean=true):void{
if (_arg1 != null){
if ((_arg1 is Sprite)){
_container = _arg1;
};
};
if (_arg2){
if ((_container is Sprite)){
Sprite(_container).addChild(_clip);
};
};
}
private static function onStatus(_arg1:StatusEvent):void{
switch (_arg1.level){
case "error":
_connected = false;
_listenChannel.connect(_listenChannelName);
break;
};
}
private static function initComChannels():void{
if (!_connected){
_sendChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"});
_sendChannel.send(_sendChannelName, "onReceive", {methodName:"registerGame", id:_id, clip:_container, version:getVersion(), parentURL:_container.loaderInfo.loaderURL});
_rcvChannel.addEventListener(StatusEvent.STATUS, MochiServices.onStatus);
_clip.onReceive = function (_arg1:Object):void{
var methodName:String;
var pkg = _arg1;
var cb:String = pkg.callbackID;
var cblst:Object = this.client._callbacks[cb];
if (!cblst){
return;
};
var method:* = cblst.callbackMethod;
methodName = "";
var obj:Object = cblst.callbackObject;
if (((obj) && ((typeof(method) == "string")))){
methodName = method;
if (obj[method] != null){
method = obj[method];
} else {
trace((("Error: Method " + method) + " does not exist."));
};
};
if (method != undefined){
try {
method.apply(obj, pkg.args);
} catch(error:Error) {
trace(((("Error invoking callback method '" + methodName) + "': ") + error.toString()));
};
} else {
if (obj != null){
try {
obj(pkg.args);
} catch(error:Error) {
trace(("Error invoking method on object: " + error.toString()));
};
};
};
delete this.client._callbacks[cb];
};
_clip.onError = function ():void{
MochiServices.onError("IOError");
};
_rcvChannel.connect(_rcvChannelName);
trace("connected!");
_connecting = false;
_connected = true;
_listenChannel.close();
while (_clip._queue.length > 0) {
_sendChannel.send(_sendChannelName, "onReceive", _clip._queue.shift());
};
};
}
private static function listen():void{
_listenChannel = new LocalConnection();
_listenChannel.client = _clip;
_clip.handshake = function (_arg1:Object):void{
MochiServices.comChannelName = _arg1.newChannel;
};
_listenChannel.allowDomain("*", "localhost");
_listenChannel.allowInsecureDomain("*", "localhost");
_listenChannel.connect(_listenChannelName);
trace("Waiting for MochiAds services to connect...");
}
private static function handleError(_arg1:Object, _arg2:Object, _arg3:Object):void{
var args = _arg1;
var callbackObject = _arg2;
var callbackMethod = _arg3;
if (args != null){
if (args.onError != null){
args.onError.apply(null, ["NotConnected"]);
};
if (((!((args.options == null))) && (!((args.options.onError == null))))){
args.options.onError.apply(null, ["NotConnected"]);
};
};
if (callbackMethod != null){
args = {};
args.error = true;
args.errorCode = "NotConnected";
if (((!((callbackObject == null))) && ((callbackMethod is String)))){
try {
var _local5 = callbackObject;
_local5[callbackMethod](args);
} catch(error:Error) {
};
} else {
if (callbackMethod != null){
try {
callbackMethod.apply(args);
} catch(error:Error) {
};
};
};
};
}
public static function get clip():Object{
return (_container);
}
public static function set comChannelName(_arg1:String):void{
if (_arg1 != null){
if (_arg1.length > 3){
_sendChannelName = (_arg1 + "_fromgame");
_rcvChannelName = _arg1;
initComChannels();
};
};
}
private static function loadCommunicator(_arg1:String, _arg2:Object):MovieClip{
var id = _arg1;
var clip = _arg2;
var clipname:String = ("_mochiservices_com_" + id);
if (_clip != null){
return (_clip);
};
if (!MochiServices.isNetworkAvailable()){
return (null);
};
MochiServices.allowDomains(_gatewayURL);
_clip = createEmptyMovieClip(clip, clipname, 10336, false);
_loader = new Loader();
_timer = new Timer(1000, 0);
_startTime = getTimer();
_timer.addEventListener(TimerEvent.TIMER, connectWait);
_timer.start();
var f:Function = function (_arg1:Object):void{
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
var req:URLRequest = new URLRequest(_gatewayURL);
_loader.load(req);
_clip.addChild(_loader);
_clip._mochiservices_com = _loader;
_sendChannel = new LocalConnection();
_clip._queue = [];
_rcvChannel = new LocalConnection();
_rcvChannel.allowDomain("*", "localhost");
_rcvChannel.allowInsecureDomain("*", "localhost");
_rcvChannel.client = _clip;
_clip._nextcallbackID = 0;
_clip._callbacks = {};
listen();
return (_clip);
}
public static function bringToTop(_arg1:Event):void{
var e = _arg1;
if (MochiServices.clip != null){
if (MochiServices.childClip != null){
try {
if (MochiServices.clip.numChildren > 1){
MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1));
};
} catch(errorObject:Error) {
trace("Warning: Depth sort error.");
_container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop);
};
};
};
}
public static function connect(_arg1:String, _arg2:Object, _arg3:Object=null):void{
var id = _arg1;
var clip = _arg2;
var onError = _arg3;
if ((clip is DisplayObject)){
if (((!(_connected)) && ((_clip == null)))){
trace("MochiServices Connecting...");
_connecting = true;
init(id, clip);
};
} else {
trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage.");
};
if (onError != null){
MochiServices.onError = onError;
} else {
if (MochiServices.onError == null){
MochiServices.onError = function (_arg1:String):void{
trace(_arg1);
};
};
};
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Boolean=true):MovieClip{
var parent = _arg1;
var name = _arg2;
var depth = _arg3;
var doAdd = _arg4;
var mc:MovieClip = new MovieClip();
if (doAdd){
if (((false) && (depth))){
parent.addChildAt(mc, depth);
} else {
parent.addChild(mc);
};
};
try {
parent[name] = mc;
} catch(e:Error) {
throw (new Error("MochiServices requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
mc["_name"] = name;
return (mc);
}
public static function connectWait(_arg1:TimerEvent):void{
if ((getTimer() - _startTime) > 10000){
if (!_connected){
_clip._mochiad_ctr_failed = true;
trace("MochiServices could not load.");
MochiServices.disconnect();
MochiServices.onError("IOError");
};
_timer.stop();
};
}
}
}//package mochi
Section 29
//exportedSymbols_1 (triPeakSolitaire3D_fla.exportedSymbols_1)
package triPeakSolitaire3D_fla {
import flash.display.*;
public dynamic class exportedSymbols_1 extends MovieClip {
public function exportedSymbols_1(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package triPeakSolitaire3D_fla
Section 30
//mcLogo_14 (triPeakSolitaire3D_fla.mcLogo_14)
package triPeakSolitaire3D_fla {
import flash.display.*;
public dynamic class mcLogo_14 extends MovieClip {
public var btnNav:SimpleButton;
public function mcLogo_14(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package triPeakSolitaire3D_fla
Section 31
//sndExporter_20 (triPeakSolitaire3D_fla.sndExporter_20)
package triPeakSolitaire3D_fla {
import flash.display.*;
public dynamic class sndExporter_20 extends MovieClip {
public function sndExporter_20(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package triPeakSolitaire3D_fla
Section 32
//AllPilesRemoved (AllPilesRemoved)
package {
import flash.media.*;
public dynamic class AllPilesRemoved extends Sound {
}
}//package
Section 33
//BackGround (BackGround)
package {
import flash.display.*;
import gs.*;
import five3D.display.*;
import gs.events.*;
import flash.text.*;
import five3D.typography.*;
import card3d.*;
public class BackGround extends MovieClip {
public var txtScore:TextField;
public var btPause:SimpleButton;
public var tfCardRun:TextField;
private var scene:Scene3D;
private var txtTime3D:DynamicText3D;
public var mcTimer:TimerClass;
private var lastRun:String;
private var font:Class;
public var mcSound:SoundButton;
private var lastScore:int;
public var tfRoundNumber:DynamicText3D;
private var txtSound3D:DynamicText3D;
public var txtBonus:TextField;
public var __score:int;// = 0
private var txtScore3D:DynamicText3D;
public var _sbtTakePoints:DynamicMenu;
private var color:int;// = 14805893
public var castle_mc:MovieClip;
public var mcTexts:Sprite;
public static var sprite:Sprite3D;
public function BackGround(){
font = HelveticaMedium;
super();
create3DEnvironment();
tfRoundNumber = createRound3DField();
_sbtTakePoints = new btnUndo(120, 20, "resign");
sprite.addChild(_sbtTakePoints);
invisibleCastle();
mcSound = new SoundButton(sprite);
mcSound.sprSound.rotationX = -10;
mcSound.sprSound.x = 660;
mcSound.sprSound.y = 20;
addChild(mcSound);
mcTimer = new TimerClass(txtBonus);
mcTimer.onInitialize(Game.GAME);
mcTimer.setEndFunction(Game.GAME.timeOut);
score = 0;
}
private function createTime3DField():DynamicText3D{
var _local1:* = new DynamicText3D(font);
_local1.color = color;
_local1.size = 35;
_local1.text = "";
_local1.x = 200;
_local1.y = 10;
_local1.rotationX = 20;
sprite.addChild(_local1);
return (_local1);
}
function reportProgress(_arg1:TweenEvent):void{
txtScore.text = String(__score);
}
public function invisibleCastle():void{
castle_mc.castle_left.visible = false;
castle_mc.castle_center.visible = false;
castle_mc.castle_right.visible = false;
}
public function returnScore():void{
__score = (score - (score - lastScore));
txtScore.text = String(lastScore);
tfCardRun.text = lastRun;
}
private function createScore3DField():DynamicText3D{
var _local1:* = new DynamicText3D(font);
_local1.color = color;
_local1.size = 35;
_local1.text = 0;
_local1.x = 420;
_local1.y = 0;
sprite.addChild(_local1);
return (_local1);
}
public function addRunCount(_arg1:int):void{
var _local2:int;
if (_arg1 < 0){
_local2 = 0;
} else {
_local2 = (int(tfCardRun.text) + int(_arg1));
};
lastRun = tfCardRun.text;
tfCardRun.text = String(_local2);
}
private function createRound3DField():DynamicText3D{
var _local1:* = new DynamicText3D(ArialRoundedMTBold);
var _local2:* = new DynamicText3D(ArialRoundedMTBold);
_local1.color = 8161905;
_local2.color = 8161905;
_local1.size = 35;
_local2.size = 20;
_local1.text = 0;
_local2.text = "round";
_local1.x = 610;
_local2.x = 550;
_local1.y = 2;
_local2.y = 12;
sprite.addChild(_local2);
sprite.addChild(_local1);
return (_local1);
}
private function tweenFinished(_arg1:TweenEvent):void{
}
public function get score():int{
return (__score);
}
public function set score(_arg1:int):void{
lastScore = __score;
__score = _arg1;
txtScore.text = String(__score);
txtScore.alpha = 0.1;
TweenMax.to(txtScore, 0.8, {alpha:1});
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
this.addChild(scene);
scene.addChild(sprite);
sprite.rotationX = -30;
scene.x = 325;
scene.y = 270;
sprite.x = -325;
sprite.y = -270;
}
}
}//package
Section 34
//btnMenu (btnMenu)
package {
import flash.display.*;
public dynamic class btnMenu extends SimpleButton {
}
}//package
Section 35
//btnUndo (btnUndo)
package {
import flash.events.*;
import five3D.display.*;
import five3D.typography.*;
import card3d.*;
public class btnUndo extends DynamicMenu {
private var __enabled:Boolean;// = true
private var __color:int;// = 8161905
private var __text:String;// = ""
public function btnUndo(_arg1:Number, _arg2:Number, _arg3:String){
__text = _arg3;
super(_arg1, _arg2, _arg3);
drawStroke(0xFFFFFF);
drawZone();
}
override public function set enabled(_arg1:Boolean):void{
alpha = (0.3 + Number(_arg1));
__enabled = _arg1;
}
override public function get enabled():Boolean{
return (__enabled);
}
override public function onClick(_arg1:Event):void{
}
override public function zoneRollOverHandler(_arg1:MouseEvent):void{
__letter.rotationX = 20;
}
private function drawZone():void{
__zone.graphics3D.clear();
__zone.graphics3D.beginFill(0xDDDDDD, 0);
__zone.graphics3D.drawRoundRect(-40, -20, 80, 40, 20, 20);
__zone.graphics3D.endFill();
}
override public function createLetter():void{
__letter = new DynamicText3D(ArialRoundedMTBold);
__letter.color = __color;
__letter.size = 25;
__letter.text = __text;
__letter.x = (25 - (__letter.textWidth / 2));
__letter.y = (-3 - (__letter.size / 2));
__symbol.addChild(__letter);
}
override public function rollOutHandler(_arg1:MouseEvent):void{
__letter.rotationX = 0;
filters = null;
}
private function drawStroke(_arg1:int=0xFFFFFF):void{
__stroke.graphics3D.clear();
__stroke.graphics3D.beginFill(_arg1, 0);
__stroke.graphics3D.drawRoundRect((-(__parameters.width) / 2), (-(__parameters.height) / 2), __parameters.width, __parameters.height, 0, 0);
__stroke.graphics3D.drawRoundRect(((-(__parameters.width) / 2) + __strokethickness), ((-(__parameters.height) / 2) + __strokethickness), (__parameters.width - (__strokethickness * 2)), (__parameters.height - (__strokethickness * 2)), (0 - (__strokethickness * 2)), (0 - (__strokethickness * 2)));
__stroke.graphics3D.endFill();
}
}
}//package
Section 36
//ButtonClick (ButtonClick)
package {
import flash.media.*;
public dynamic class ButtonClick extends Sound {
}
}//package
Section 37
//Card (Card)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import flash.filters.*;
import five3D.display.*;
import card3d.*;
public class Card extends Sprite3D {
public var card3D:Card3d;
public var placementOld:String;
public var posY:int;
public var posX:int;
public var posOldY:int;
public var placementIndexOld:int;
public var posOldX:int;
public var active:Boolean;
public var numRunCnt:Number;
public var numFilter:Number;// = 0
public var shape:Sprite3D;
public var topPyramid:Boolean;
public var depth:int;
public var step:int;
public var colour:String;
private var _isWildCard:Boolean;// = false
public var depthOld:int;
public var placement:String;
public var back:Boolean;
public var _b:CardBack;
public var _c:DisplayObject;
public var value:int;// = 0
public static var isTween:Boolean = false;
public static var cardHolder:CardHolder;
public static var roundColors:Array = [0xFFFFFF, 15725757, 12448962, 12315639, 16235464, 13626056, 13289451, 11184075, 2762587, 13289243, 13244395, 2758635];
public function Card(_arg1:String, _arg2:Object){
card3D = new Card3d(0, 0, {width:50, height:80, ghost:true, type:_arg2.letter, letter:_arg2.digit, isWild:isWildCard});
this.addChild(card3D);
createZone();
name = _arg1;
buttonMode = true;
showCard(false);
this.addEventListener(MouseEvent.CLICK, releaseCard);
this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
this.mouseChildren = false;
}
private function drawZone():void{
var _local1:Object = {width:40, height:70};
shape.graphics3D.clear();
shape.graphics3D.beginFill(0xFFFFFF, 1);
shape.graphics3D.drawRoundRect((-(_local1.width) / 2), (-(_local1.height) / 2), _local1.width, _local1.height, 16, 16);
shape.graphics3D.endFill();
shape.alpha = 0;
}
public function set isWildCard(_arg1:Boolean):void{
if (_arg1){
card3D.__backward.color = 10064127;
};
_isWildCard = _arg1;
}
public function showCard(_arg1:Boolean=true):void{
if (_arg1){
if ((((placement == "pyramid")) && ((cardHolder.disable == false)))){
SoundController.sndTurnCard.play();
};
card3D.setBack(false, (placement == "drawpile"));
back = false;
} else {
card3D.setBack(true);
back = true;
};
}
private function releaseCard(_arg1):void{
var _local2:int;
var _local3:int;
if (cardHolder.arrPyramid.length == 0){
return;
};
if (!active){
SoundController.sndUnAccessibleCard.play();
return;
};
if (isWildCard){
cardHolder.packingCard(this);
SoundController.sndWildCard.play();
};
if (((back) && ((placement == "drawpile")))){
showCard(true);
Game.GAME._mcBG.addRunCount(-1);
cardHolder.packingCard(this);
cardHolder.arrDraw.splice((cardHolder.arrDraw.length - 1), 1);
if (cardHolder.arrDraw.length > 0){
cardHolder.arrDraw[(cardHolder.arrDraw.length - 1)].active = true;
};
numRunCnt = 0;
SoundController.sndCardClick.play();
} else {
if (((!(back)) && ((placement == "pyramid")))){
if (cardHolder.checkValid(this, cardHolder.arrPack[(cardHolder.arrPack.length - 1)])){
numRunCnt++;
if (topPyramid){
};
SoundController.sndCardClick.play();
cardHolder.packingCard(this);
Game.GAME._mcBG.addRunCount(1);
_local2 = (cardHolder.arrPyramid.length - 1);
while (_local2 >= 0) {
if (this == cardHolder.arrPyramid[_local2]){
cardHolder.arrPyramid.splice(_local2, 1);
this.placementIndexOld = _local2;
break;
};
_local2--;
};
_local3 = (int(Game.GAME._mcBG.tfCardRun.text) * 200);
if (topPyramid){
_local3 = (_local3 + 10000);
if (this.x < 230){
Game.GAME._mcBG.castle_mc.castle_left.visible = true;
SoundController.sndAllPilesRemoved.play();
} else {
if (this.x > 400){
Game.GAME._mcBG.castle_mc.castle_right.visible = true;
SoundController.sndAllPilesRemoved.play();
} else {
Game.GAME._mcBG.castle_mc.castle_center.visible = true;
SoundController.sndAllPilesRemoved.play();
};
};
};
Game.GAME._mcBG.score = (Game.GAME._mcBG.score + _local3);
cardHolder.checkActiveCards();
};
};
};
}
public function getOutOfStack():void{
TweenMax.to(this, 1, {alpha:0, z:300, delay:0.4, x:520, y:300});
}
public function get isWildCard():Boolean{
return (_isWildCard);
}
public function get _width():Number{
return (50);
}
private function onUpdateTween():void{
if (active == false){
return;
};
this.filters = [new GlowFilter((3355647 * int(active)), _c["numFilter"], 6, 6, (int(active) + 1))];
}
private function onReachedPlace():void{
cardHolder.checkNextStep();
this.filters = [];
}
public function get _height():Number{
return (75);
}
private function createZone():void{
shape = new Sprite3D();
addChild(shape);
drawZone();
}
private function onReturned():void{
card3D.rotationX = 0;
card3D.z = 0;
trace(4564654);
this.depth = this.depthOld;
if (!isWildCard){
};
cardHolder.checkActiveCards();
if (this.placement == "drawpile"){
showCard(false);
};
}
private function onMouseOut(_arg1:MouseEvent):void{
card3D.filters = [];
if (active == false){
return;
};
if (((!(cardHolder.checkValid(this, cardHolder.arrPack[(cardHolder.arrPack.length - 1)]))) && (!((placement == "drawpile"))))){
return;
};
card3D.rotationX = 0;
TweenMax.to(card3D, 0.15, {rotationX:0, z:0});
}
public function gotoStack():void{
if (y < 400){
TweenMax.to(this, 1, {x:CardHolder.numDrawX, y:CardHolder.numDrawY, z:0, rotationX:0, rotationZ:0, rotationY:0, onComplete:onReachedPlace, bezierThrough:[{z:-100, rotationX:-10, rotationZ:Utils.getAverageValue(10)}, {z:-140, rotationX:50, rotationZ:Utils.getAverageValue(30)}]});
} else {
rotationY = 180;
TweenMax.to(this, 0.8, {x:CardHolder.numDrawX, y:CardHolder.numDrawY, z:0, rotationY:0, rotationZ:0, rotationX:0, onComplete:onReachedPlace, bezierThrough:[{z:-85, rotationZ:20}, {z:-80, rotationZ:20}]});
};
isTween = true;
}
public function goBack(_arg1:Card):void{
TweenLite.to(this, 0.3, {x:this.posX, y:this.posY, rotationX:0, onComplete:onReturned});
TweenMax.to(_arg1, 0.8, {alpha:1, z:0, delay:0.4, x:467, y:436, rotationX:0});
}
override public function set x(_arg1:Number):void{
super.x = _arg1;
}
private function onMouseOver(_arg1:MouseEvent):void{
if (active == false){
return;
};
if (((!(cardHolder.checkValid(this, cardHolder.arrPack[(cardHolder.arrPack.length - 1)]))) && (!((placement == "drawpile"))))){
return;
};
TweenMax.to(card3D, 0.1, {rotationX:10, z:5});
card3D.filters = [new GlowFilter(Card.roundColors[Game._nRoundNumber], 0.7)];
}
}
}//package
Section 38
//CardBack (CardBack)
package {
import flash.display.*;
public class CardBack extends MovieClip {
public var mcBugless:Sprite;
}
}//package
Section 39
//CardClick (CardClick)
package {
import flash.media.*;
public dynamic class CardClick extends Sound {
}
}//package
Section 40
//CardHolder (CardHolder)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import five3D.display.*;
public class CardHolder {
public var arrCards:Array;
private var numPyramidXShift:Number;
private var lastDroped:Number;// = 0
private var scene:Scene3D;
public var arrSuit:Array;
public var mcCardHolder:Sprite;
private var numPyramidYShift:Number;
private var numDrawOpenShift:Number;// = 0
private var mc:Sprite;
public var arrPack:Array;
private var numPyramidX:Number;
public var arrPyramid:Array;
private var numCardWidth:int;// = 55
private var numPyramidY:Number;
private var numLastDrawX:Number;
private var sprite:Sprite3D;
private var lastCard:Card;
public var arrDraw:Array;
public var arrMove:Array;
private var startMenu:Sprite3D;
private var _Game:Game;
private var numDrawCloseShift:Number;// = 10
private var arrKeys:Array;
public var disable:Boolean;// = true
public var wildCard:Card;
private var numCardHeight:int;// = 80
public static var numDrawX:int = 467;
public static var numDrawY:int = 436;
public function CardHolder(_arg1:Sprite, _arg2:Game){
arrKeys = new Array();
arrSuit = new Array("c", "d", "h", "s");
arrDraw = new Array();
arrCards = new Array();
arrPack = new Array();
arrPyramid = new Array();
arrMove = new Array();
numPyramidX = (170 + (numCardWidth / 2));
numPyramidY = (55 + (numCardHeight / 2));
numPyramidXShift = (numCardWidth - 2);
numPyramidYShift = (numCardHeight / 2);
super();
_Game = _arg2;
OverwriteManager.init();
OverwriteManager.mode = OverwriteManager.NONE;
mcCardHolder = _arg1;
Card.cardHolder = this;
numPyramidX = (60 + (numCardWidth / 2));
numPyramidY = (125 + (numCardHeight / 2));
numPyramidXShift = (numCardWidth + 2);
numPyramidYShift = ((numCardHeight / 2) + 1);
init3dHolder();
createDeck();
shuffleDeck();
arrangeCards();
spreadCard();
alignDrawPile();
}
public function checkNextStep():void{
if (arrDraw.length == 0){
_Game._mcBG._sbtTakePoints.visible = true;
};
if (arrPyramid.length > 0){
return;
};
if (arrPyramid.length == 0){
_Game._mcBG._sbtTakePoints.visible = false;
_Game.showNewRoundPanel();
return;
};
}
private function arrangeCards():void{
var _local6:Card;
var _local7:int;
var _local8:Card;
disable = true;
var _local1:int;
while (_local1 < 23) {
_local6 = arrCards[_local1];
_local6.posX = (((numDrawX - 70) - numCardWidth) - ((23 - _local1) * numDrawCloseShift));
_local6.posY = numDrawY;
_local6.placement = "drawpile";
_local6.x = _local6.posX;
_local6.y = _local6.posY;
arrDraw[_local1] = arrCards[_local1];
_local1++;
};
arrDraw[22].active = true;
arrCards[23].active = true;
arrCards[23].posX = numDrawX;
arrCards[23].posY = numDrawY;
arrCards[23].placement = "pack";
arrCards[23].showCard(true);
arrCards[23].x = arrCards[23].posX;
arrCards[23].y = arrCards[23].posY;
arrCards[23].depth = 100;
arrPack[0] = arrCards[23];
var _local2 = 24;
var _local3:int;
var _local4:int;
var _local5:int;
while (_local5 < 4) {
_local3 = (numPyramidX + (((3 - _local5) * numPyramidXShift) / 2));
_local7 = 0;
while (_local7 < ((_local5 * 3) + 3)) {
_local8 = arrCards[_local2];
_local8.posX = ((_local7)==0) ? _local3 : (arrCards[(_local2 - 1)].posX + numPyramidXShift);
if (_local5 == 0){
arrCards[_local2].posX = (arrCards[_local2].posX + ((_local7)>0) ? (2 * numPyramidXShift) : 0);
arrCards[_local2].topPyramid = true;
} else {
if (_local5 == 1){
arrCards[_local2].posX = (arrCards[_local2].posX + ((((_local7 > 0)) && (((_local7 % 2) == 0)))) ? numPyramidXShift : 0);
};
};
arrCards[_local2].posY = ((_local7)==0) ? (numPyramidY + Math.round((_local5 * numPyramidYShift))) : arrCards[(_local2 - 1)].posY;
arrCards[_local2].placement = "pyramid";
if (_local5 == 3){
arrCards[_local2].showCard(true);
arrCards[_local2].active = true;
};
arrCards[_local2].x = arrCards[_local2].posX;
arrCards[_local2].y = arrCards[_local2].posY;
arrPyramid[_local4] = arrCards[_local2];
_local4++;
var _temp1 = _local2;
_local2 = (_local2 + 1);
if (_temp1 >= (arrCards.length - 1)){
break;
};
_local7++;
};
_local5++;
};
}
private function dropCard(_arg1):void{
if (lastDroped == Math.floor(lastDroped)){
sprite.setChildIndex(arrCards[lastDroped], lastDroped);
TweenMax.from(arrCards[lastDroped], 1, {onComplete:onFinishHandler, onCompleteParams:[arrCards[lastDroped]], rotationX:80, z:-300, y:-200, bezierThrough:[{z:50, rotationX:100}]});
arrCards[lastDroped].visible = true;
};
lastDroped = (lastDroped + 1);
if (lastDroped >= 52){
mcCardHolder.removeEventListener(Event.ENTER_FRAME, dropCard);
addWildCard();
_Game._mcTimer.startNewCountDown(_Game._nRoundTime);
_Game.enableMenu(true);
disable = false;
TweenLite.to(arrDraw[(arrDraw.length - 1)], 1, {x:400});
arrCards[23].card3D.rotationX = 10;
};
}
private function onFinishHandler(_arg1:Card):void{
_arg1.card3D.z = 0;
}
private function spreadCard():void{
mcCardHolder.addEventListener(Event.ENTER_FRAME, dropCard);
SoundController.sndNewDeal.play();
disable = true;
trace("set disable");
}
private function init3dHolder(){
scene = new Scene3D();
sprite = new Sprite3D();
mcCardHolder.addChild(scene);
scene.addChild(sprite);
sprite.rotationX = -30;
scene.x = 325;
scene.y = 270;
sprite.x = -325;
sprite.y = -270;
}
public function playAgain():void{
Game.isPlayAgain = true;
mcCardHolder.removeEventListener(Event.ENTER_FRAME, dropCard);
lastCard = null;
_Game.enableUndo(false);
_Game.enableMenu(false);
arrPack.splice(0);
arrPack = new Array();
createDeck();
wildCard.x = 1000;
var _local1:int;
while (_local1 < arrCards.length) {
arrCards[_local1].showCard(false);
arrCards[_local1].numFilter = 0;
arrCards[_local1].depth = _local1;
arrCards[_local1].x = 0;
arrCards[_local1].y = 0;
arrCards[_local1].z = 0;
arrCards[_local1].card3D.rotationX = 0;
arrCards[_local1].alpha = 1;
arrCards[_local1].card3D.__backward.color = Card.roundColors[Game._nRoundNumber];
_local1++;
};
trace(Game._nRoundNumber, Game._nRoundNumber, Game._nRoundNumber);
shuffleDeck();
arrangeCards();
spreadCard();
alignDrawPile();
}
private function addWildCard():void{
if (!Game.isPlayAgain){
wildCard = new Card("WildCard", {letter:"", digit:""});
};
wildCard.isWildCard = true;
sprite.addChild(wildCard);
wildCard.value = 0;
wildCard.active = true;
wildCard.topPyramid = false;
wildCard.depth = 0;
wildCard.placement = "pack";
wildCard.x = 576;
wildCard.z = 0;
wildCard.y = (numDrawY - 4);
wildCard.alpha = 1;
wildCard.step = 0;
wildCard.back = false;
wildCard.rotationX = -5;
TweenMax.from(wildCard, 1, {z:-300, rotationX:80});
}
private function shuffleDeck():void{
var _local1:Card;
var _local2:int;
Utils.numRandomSeed = Math.floor((Math.random() * 200));
var _local3:int;
while (_local3 < arrCards.length) {
_local1 = arrCards[_local3];
_local2 = Utils.getRandomValue(arrCards.length);
arrCards[_local3] = arrCards[_local2];
arrCards[_local2] = _local1;
arrCards[_local3].depth = _local3;
sprite.swapChildren(arrCards[_local3], arrCards[_local2]);
arrCards[_local2].depth = _local2;
_local3++;
};
}
private function alignDrawPile():void{
var _local1:int;
while (_local1 < (arrDraw.length - 2)) {
arrCards[_local1].alpha = (1 / ((arrDraw.length - 2) - _local1));
_local1++;
};
}
private function createDeck():void{
var _local4:int;
var _local5:Card;
var _local1:int;
var _local2 = "";
lastDroped = 0;
var _local3 = 1;
while (_local3 <= 13) {
_local4 = 0;
while (_local4 < arrSuit.length) {
_local2 = (arrSuit[_local4] + _local3);
if (!Game.isPlayAgain){
_local5 = new Card(_local2, {letter:arrSuit[_local4], digit:_local3});
sprite.addChild(_local5);
arrCards[_local1] = _local5;
} else {
_local5 = (arrCards[_local1] as Card);
_local5.z = 0;
};
_local5.colour = ((((arrSuit[_local4] == "d")) || ((arrSuit[_local4] == "h")))) ? "red" : "black";
if (!Game.isPlayAgain){
_local5.value = _local3;
};
_local5.active = false;
_local5.topPyramid = false;
_local5.depth = 0;
_local5.placement = "pack";
_local5.x = numDrawX;
_local5.y = numDrawY;
_local5.posX = numDrawX;
_local5.posY = numDrawY;
_local5.step = 0;
_local5.back = true;
_local5.visible = false;
_local1++;
_local4++;
};
_local3++;
};
}
public function checkActiveCards():void{
var _local1:Boolean;
var _local3:int;
var _local2:int = (arrPyramid.length - 1);
while (_local2 >= 0) {
_local1 = false;
_local3 = (arrPyramid.length - 1);
while (_local3 >= 0) {
if (((!((_local2 == _local3))) && (arrPyramid[_local2].shape.hitTestObject(arrPyramid[_local3].shape)))){
if ((((arrPyramid[_local3].depth > arrPyramid[_local2].depth)) && ((arrPyramid[_local3].depth < 100)))){
_local1 = true;
break;
};
};
_local3--;
};
if (((!(_local1)) && (!(arrPyramid[_local2].active)))){
arrPyramid[_local2].active = true;
arrPyramid[_local2].showCard(true);
} else {
if (((_local1) && (arrPyramid[_local2].active))){
arrPyramid[_local2].active = false;
arrPyramid[_local2].showCard(false);
};
};
_local2--;
};
}
public function packingCard(_arg1:Card):void{
lastCard = _arg1;
lastCard.posOldX = _arg1.x;
lastCard.posOldY = _arg1.y;
lastCard.placementOld = _arg1.placement;
lastCard.depthOld = _arg1.depth;
if ((((_arg1.placement == "drawpile")) && ((arrDraw.length > 1)))){
TweenLite.to(arrDraw[(arrDraw.length - 2)], 1, {x:400});
numLastDrawX = arrDraw[(arrDraw.length - 2)].x;
};
_arg1.posY = numDrawY;
_arg1.posX = (numDrawX - (arrPack.length * numDrawOpenShift));
arrPack[(arrPack.length - 1)].active = false;
if (_arg1.placement == "drawpile"){
alignDrawPile();
};
_arg1.placement = "pack";
if (arrPack[(arrPack.length - 1)] != undefined){
arrPack[(arrPack.length - 1)].getOutOfStack();
};
arrPack.push(_arg1);
arrPack[(arrPack.length - 1)].depth = (arrPack[(arrPack.length - 2)].depth + 1);
sprite.setChildIndex(arrPack[(arrPack.length - 1)], (sprite.numChildren - 1));
arrMove.push(_arg1);
_arg1.gotoStack();
_Game.enableUndo(true);
}
public function checkValid(_arg1:Card, _arg2:Card):Boolean{
if (((_arg1.isWildCard) || (_arg2.isWildCard))){
return (true);
};
if ((((Math.abs((_arg1.value - _arg2.value)) == 1)) || ((Math.abs((_arg1.value - _arg2.value)) == 12)))){
return (true);
};
return (false);
}
public function returningCard():void{
lastCard.posY = lastCard.posOldY;
lastCard.posX = (lastCard.posOldX - (arrPack.length * numDrawOpenShift));
arrPack.pop();
if (lastCard.placementOld == "drawpile"){
if (arrDraw.length > 0){
arrDraw[(arrDraw.length - 1)].active = false;
};
arrDraw.push(lastCard);
arrDraw[(arrDraw.length - 1)].active = true;
if (arrDraw[(arrDraw.length - 2)] != undefined){
TweenLite.to(arrDraw[(arrDraw.length - 2)], 1, {x:numLastDrawX});
};
};
if (lastCard.placementOld == "pyramid"){
arrPyramid.splice(lastCard.placementIndexOld, 0, lastCard);
};
lastCard.placement = lastCard.placementOld;
arrMove.push(lastCard);
if (!lastCard.isWildCard){
_Game._mcBG.returnScore();
};
lastCard.goBack(arrPack[(arrPack.length - 1)]);
_Game.enableUndo(false);
}
}
}//package
Section 41
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import five3D.display.*;
import mochi.*;
public class Game {
private var _nTimerPause:Number;// = 0
private var scene:Scene3D;
public var _mcTimer:TimerClass;
private var _mcNextPanel:NextRoundPanel;
private var _mcCardContainer:Sprite;
private var _bGameInPause:Boolean;
private var _mcMenu:Menu;
public var _mcBG:BackGround;
private var _root:MovieClip;
private var sprite:Sprite3D;
public var _nRoundTime:Number;// = 120
private var isEnd:Boolean;// = false
public var _nFullTimeBonus:int;// = 120
private var _mcOverPanel:GameOverPanel;
public var _btMenu:btnUndo;
private var _nRoundScore:Number;
public var _btUndo:btnUndo;
private var _cardHolder:CardHolder;
public static var isPlayAgain:Boolean = false;
public static var GAME;
public static var _nRoundNumber:int;
public function Game(_arg1:MovieClip){
GAME = this;
_root = _arg1;
create3DEnvironment();
_btUndo = new btnUndo(500, 340, "undo");
_btUndo.rotationX = -30;
sprite.addChild(_btUndo);
enableUndo(false);
_btMenu = new btnUndo(34, 15, "menu");
_btMenu.rotationX = -30;
sprite.addChild(_btMenu);
_mcCardContainer = new Sprite();
_root.addChild(_mcCardContainer);
_mcBG = new BackGround();
_root.addChildAt(_mcBG, 0);
_mcBG._sbtTakePoints.addEventListener(MouseEvent.CLICK, showGameOverPanel);
_mcTimer = _mcBG.mcTimer;
enableMenu(false);
_bGameInPause = false;
startGame();
}
private function pauseGame(_arg1:Boolean):void{
if (_arg1){
_bGameInPause = true;
_nTimerPause = _mcTimer.getTime();
_mcTimer.stopTimer();
} else {
_bGameInPause = false;
_mcTimer.startNewCountDown(_nTimerPause);
};
}
public function enableMenu(_arg1:Boolean):void{
if (_arg1){
if (_btMenu.enabled){
return;
};
_btMenu.addEventListener(MouseEvent.CLICK, onMenuClicked);
_btMenu.enabled = true;
_mcBG._sbtTakePoints.enabled = true;
} else {
_btMenu.removeEventListener(MouseEvent.CLICK, onMenuClicked);
_btMenu.enabled = false;
_mcBG._sbtTakePoints.enabled = false;
};
}
public function enableUndo(_arg1:Boolean):void{
if (_arg1){
if (_btUndo.enabled){
return;
};
_btUndo.enabled = true;
_btUndo.addEventListener(MouseEvent.CLICK, onUndoClicked);
} else {
_btUndo.enabled = false;
_btUndo.removeEventListener(MouseEvent.CLICK, onUndoClicked);
};
}
private function showHighScore(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_mcOverPanel.hideMe();
HighScorePanel.saveNewUser(_mcOverPanel.tfName.text, _mcBG.score);
_mcOverPanel._smcHigh.init("over");
_mcOverPanel._smcHigh.visible = true;
_mcOverPanel._smcHigh._sbtOnlineSend.visible = true;
_mcOverPanel._smcHigh._sbtOnline.visible = false;
_mcOverPanel._smcHigh._sbtOnlineSend.addEventListener(MouseEvent.CLICK, sendHighScore);
_mcOverPanel._smcHigh._sbtBack.addEventListener(MouseEvent.CLICK, showStartPanelFromEnd);
_mcOverPanel._sbtOK.removeEventListener(MouseEvent.CLICK, showHighScore);
_mcOverPanel._sbtOK.enabled = false;
}
public function playAgain():void{
_mcBG.score = 0;
_mcBG.tfCardRun.text = "0";
_cardHolder.playAgain();
isEnd = false;
_bGameInPause = false;
_nRoundNumber = 1;
_mcBG.tfRoundNumber.text = _nRoundNumber.toString();
_mcTimer.setTime(0);
_mcBG.invisibleCastle();
}
public function allSoundsLoaded(_arg1){
}
public function showStartPanelFromEnd(_arg1:MouseEvent=null):void{
SoundController.sndButtonClick.play();
if (_mcOverPanel){
_root.removeChild(_mcOverPanel);
};
_root.showStartPanel();
}
private function onUndoClicked(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_cardHolder.returningCard();
}
public function functionsFor4Frame():void{
_root.removeChild(_mcOverPanel);
_root.showStartPanel();
}
public function showGameOverPanel(_arg1:MouseEvent=null):void{
_mcOverPanel = new GameOverPanel();
_mcOverPanel.noHigh.visible = false;
_mcOverPanel.tfName.text = HighScorePanel.showLastTypedName();
_mcOverPanel._stxScore.text = _mcBG.score.toString();
if (_root.getMinScore() > _mcBG.score){
_mcOverPanel.noHigh.visible = true;
_mcOverPanel.noHigh._stxScore.text = _mcBG.score.toString();
_mcOverPanel.noHigh._sbtMainMenu.addEventListener(MouseEvent.CLICK, showStartPanelFromEnd);
} else {
_mcOverPanel._sbtOK.addEventListener(MouseEvent.CLICK, showHighScore);
_mcOverPanel._sbtMainMenu.addEventListener(MouseEvent.CLICK, showStartPanelFromEnd);
};
_root.addChild(_mcOverPanel);
SoundController.sndGameOver.play();
SoundController.sndButtonClick.play();
_mcTimer.stopTimer();
}
public function startNewRound(_arg1:MouseEvent):void{
isEnd = false;
SoundController.sndButtonClick.play();
_mcNextPanel._sbtNextRound.removeEventListener(MouseEvent.CLICK, startNewRound);
_root.removeChild(_mcNextPanel);
_cardHolder.playAgain();
_nRoundNumber++;
_mcBG.tfRoundNumber.text = _nRoundNumber.toString();
_mcTimer.setTime(0);
_mcBG.invisibleCastle();
}
public function showNewRoundPanel():void{
if (isEnd){
return;
};
isEnd = true;
_mcNextPanel = new NextRoundPanel();
_mcNextPanel._sbtNextRound.addEventListener(MouseEvent.CLICK, startNewRound);
_root.addChild(_mcNextPanel);
var _local1:Number = (_cardHolder.arrDraw.length * 1000);
var _local2:Number = (_nRoundNumber * 1000);
var _local3:Number = (_cardHolder.wildCard.active) ? 5000 : 0;
_nRoundScore = ((((_mcTimer._nBonusLeft * 100) + _local1) + _local2) + _local3);
_mcBG.score = (_mcBG.score + _nRoundScore);
_mcNextPanel._stxTimeBonus.text = (_mcTimer._nBonusLeft * 100).toString();
_mcNextPanel._stxDeckBonus.text = _local1.toString();
_mcNextPanel._stxRoundBonus.text = _local2.toString();
_mcNextPanel._stxWildBonus.text = _local3.toString();
_mcNextPanel._stxScore.text = _mcBG.score.toString();
_mcNextPanel.showBonuses();
_mcTimer.stopTimer();
enableMenu(false);
enableUndo(false);
}
public function timeOut():void{
}
private function sendHighScore(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
MochiScores.showLeaderboard({boardID:"14d08e3398e82493", score:_mcBG.score, name:_mcOverPanel.tfName.text, onClose:mochiSent});
}
public function onMenuClicked(_arg1:MouseEvent=null):void{
pauseGame(!(_bGameInPause));
SoundController.sndButtonClick.play();
if (_bGameInPause){
_mcMenu = new Menu();
_mcMenu.init(this);
_root.addChild(_mcMenu);
} else {
_root.removeChild(_mcMenu);
};
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
_root.addChild(scene);
scene.addChild(sprite);
scene.x = 370;
sprite.x = -(scene.x);
scene.y = 270;
sprite.y = -270;
}
public function startGame():void{
isEnd = false;
_cardHolder = new CardHolder(_mcCardContainer, this);
_nRoundNumber = 1;
_mcBG.tfRoundNumber.text = _nRoundNumber.toString();
}
public function showStartPanelFromMenu(_arg1:MouseEvent=null):void{
SoundController.sndButtonClick.play();
if (_mcMenu){
_root.removeChild(_mcMenu);
};
_root.showStartPanel();
}
public function mochiSent():void{
trace("SENT");
_mcOverPanel._smcHigh._sbtOnlineSend.visible = false;
_mcOverPanel._smcHigh._sbtOnline.visible = true;
_mcOverPanel._smcHigh._sbtOnlineSend.removeEventListener(MouseEvent.CLICK, sendHighScore);
}
}
}//package
Section 42
//GameOver (GameOver)
package {
import flash.media.*;
public dynamic class GameOver extends Sound {
}
}//package
Section 43
//GameOverPanel (GameOverPanel)
package {
import flash.display.*;
import five3D.display.*;
import flash.text.*;
import card3d.*;
public class GameOverPanel extends MovieClip {
public var _sbtOK:DynamicMenu;
public var noHigh:MovieClip;
private var sprite:Sprite3D;
public var _stxScore:TextField;
public var tfName:TextField;
public var _smcHigh:HighScorePanel;
private var scene:Scene3D;
public var mcTextStaff:MovieClip;
public var _sbtMainMenu:DynamicMenu;
public function GameOverPanel(){
create3DEnvironment();
_sbtOK = new DynamicMenu(350, 350, "ok");
_sbtMainMenu = new DynamicMenu(350, 400, "main menu");
sprite.addChild(_sbtOK);
sprite.addChild(_sbtMainMenu);
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
this.addChild(scene);
scene.addChild(sprite);
scene.x = 325;
scene.y = 270;
sprite.x = -325;
sprite.y = -270;
}
public function setMinScore(_arg1:Number):void{
}
public function hideMe():void{
_sbtOK.visible = false;
_sbtMainMenu.visible = false;
_stxScore.visible = false;
tfName.visible = false;
mcTextStaff.visible = false;
}
}
}//package
Section 44
//HighScorePanel (HighScorePanel)
package {
import flash.display.*;
import flash.events.*;
import five3D.display.*;
import mochi.*;
import flash.text.*;
import card3d.*;
import flash.net.*;
public class HighScorePanel extends Sprite {
private var scene:Scene3D;
public var txtS2:TextField;
public var txtS4:TextField;
public var txtS6:TextField;
public var txtS7:TextField;
public var txtS1:TextField;
public var txtS9:TextField;
public var txtS3:TextField;
public var txtS5:TextField;
public var txtS8:TextField;
public var _sbtOnline:DynamicMenu;
private var sprite:Sprite3D;
public var txtS10:TextField;
public var _sbtBack:DynamicMenu;
public var txtP1:TextField;
public var txtP2:TextField;
public var txtP3:TextField;
public var txtP4:TextField;
public var txtP5:TextField;
public var txtP6:TextField;
public var txtP7:TextField;
public var txtP8:TextField;
public var txtP9:TextField;
public var _sbtOnlineSend:DynamicMenu;
public var txtP10:TextField;
private static var _soData:SharedObject;
private static var _soLastScoreData:SharedObject;
public function HighScorePanel(){
visible = false;
create3DEnvironment();
_sbtOnline = new DynamicMenu(400, 400, "online leaders");
_sbtBack = new DynamicMenu(90, 400, "back");
_sbtOnlineSend = new DynamicMenu(400, 400, "online leaders");
sprite.addChild(_sbtBack);
sprite.addChild(_sbtOnline);
sprite.addChild(_sbtOnlineSend);
_sbtOnlineSend.visible = false;
}
public function init(_arg1:String):void{
if (_arg1 == "start"){
_sbtBack.addEventListener(MouseEvent.CLICK, onCloseHigh);
};
_sbtOnline.addEventListener(MouseEvent.CLICK, onShowOnline);
readSO(_arg1);
}
private function onCloseOnline():void{
}
private function onCloseHigh(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
visible = false;
dispatchEvent(new Event("CLOSE"));
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
this.addChild(scene);
scene.addChild(sprite);
}
private function onShowOnline(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
MochiScores.showLeaderboard({boardID:"14d08e3398e82493", onClose:onCloseOnline});
}
public function readSO(_arg1:String):void{
var _local3:String;
var _local4:int;
var _local8:Object;
var _local9:TextField;
var _local10:TextField;
_soData = SharedObject.getLocal("LocalScoreData");
_soLastScoreData = SharedObject.getLocal("LastScoreData");
var _local2:Array = new Array();
for (_local3 in _soData.data) {
_local8 = {n:_local3, s:_soData.data[_local3]};
if (_local3.indexOf("^") != -1){
_local8.n = _local3.substr(0, _local3.indexOf("^"));
};
_local2.push(_local8);
trace([_local8.n, _local8.s]);
};
_local2.sortOn("s", Array.NUMERIC);
_local2.reverse();
_local4 = ((_local2.length)<10) ? _local2.length : 10;
var _local5:int;
while (_local5 < _local4) {
_local9 = this[("txtP" + int((_local5 + 1)))];
_local10 = this[("txtS" + int((_local5 + 1)))];
_local9.text = _local2[_local5].n;
_local10.text = _local2[_local5].s;
_local5++;
};
var _local6:* = parent;
var _local7:* = ((_local2.length)<10) ? 0 : _local2[9].s;
_local6.setMinScore(Number(_local7));
if (_arg1 != "over"){
return;
};
if (_soLastScoreData.data.nLastUser != undefined){
_local5 = 0;
while (_local5 < _local4) {
_local9 = this[("txtP" + int((_local5 + 1)))];
_local10 = this[("txtS" + int((_local5 + 1)))];
if ((((_local9.text == _soLastScoreData.data["nLastUser"])) && ((_local10.text == _soLastScoreData.data["nLastScore"])))){
_local9 = this[("txtP" + int((_local5 + 1)))];
_local10 = this[("txtS" + int((_local5 + 1)))];
_local9.textColor = 10288395;
_local10.textColor = 10288395;
};
_local5++;
};
};
}
public static function showLastTypedName():String{
var _local1:String = (_soLastScoreData.data["nLastUser"]) ? _soLastScoreData.data["nLastUser"] : "Player";
return (_local1);
}
public static function saveNewUser(_arg1:String, _arg2:Number):void{
if (_arg2 == 0){
return;
};
var _local3:Number = Math.random();
if (_soData.data[((_arg1 + "^") + _local3)] == undefined){
_soData.data[((_arg1 + "^") + _local3)] = _arg2;
};
if (_soData.data[((_arg1 + "^") + _local3)] < _arg2){
_soData.data[((_arg1 + "^") + _local3)] = _arg2;
};
_soLastScoreData.data["nLastUser"] = _arg1;
_soLastScoreData.data["nLastScore"] = _arg2;
_soData.flush();
_soLastScoreData.flush();
}
}
}//package
Section 45
//Main (Main)
package {
import flash.display.*;
import flash.events.*;
import mochi.*;
import flash.text.*;
public dynamic class Main extends MovieClip {
private var startPanel:StartPanel;
public var percent:TextField;
private var shield:MovieClip;
public var soundController:SoundController;
public var _mochiads_game_id:String;// = "44d90e5ed2b3d972"
private var game:Game;
public var minScoreToGet:Number;
public function Main():void{
addFrameScript(0, frame1);
addEventListener(Event.ENTER_FRAME, oef);
}
private function ProgressListener(_arg1:ProgressEvent):void{
var _local2:Number = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100);
percent.text = (Math.round(_local2).toString() + "%");
if (_local2 == 100){
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, ProgressListener);
MochiAd.showPreGameAd({clip:this, id:"44d90e5ed2b3d972", res:"700x468", background:16777161, color:0xFF8A00, outline:13994812, no_bg:false});
MochiServices.connect("44d90e5ed2b3d972", this);
MochiBot.track(this, "78e6533c");
};
}
public function setMinScore(_arg1:Number):void{
minScoreToGet = _arg1;
trace(("setMinScore " + minScoreToGet));
}
private function oef(_arg1:Event):void{
if (root.loaderInfo.bytesLoaded == root.loaderInfo.bytesLoaded){
init();
removeEventListener(Event.ENTER_FRAME, oef);
MochiAd.showPreGameAd({clip:this, id:"44d90e5ed2b3d972", res:"700x468", background:16777161, color:0xFF8A00, outline:13994812, no_bg:false});
MochiServices.connect("44d90e5ed2b3d972", root);
MochiBot.track(this, "78e6533c");
};
}
public function initGame():void{
removeChild(startPanel);
if (!game){
game = new Game(this);
} else {
game.playAgain();
};
}
private function EFlistener(_arg1:Event):void{
if (currentFrame == 3){
stop();
showStartPanel();
removeEventListener(Event.ENTER_FRAME, EFlistener);
};
}
private function init(_arg1:Event=null):void{
stage.showDefaultContextMenu = false;
soundController = new SoundController();
addEventListener(Event.ENTER_FRAME, EFlistener);
stop();
}
public function getMinScore():Number{
return (minScoreToGet);
}
function frame1(){
stage.scaleMode = "noScale";
}
public function showStartPanel():void{
var _local1:McMask;
startPanel = new StartPanel(this);
if (!this.mask){
_local1 = new McMask();
addChild(_local1);
this.mask = _local1;
};
addChild(startPanel);
}
}
}//package
Section 46
//McMask (McMask)
package {
import flash.display.*;
public class McMask extends MovieClip {
}
}//package
Section 47
//Menu (Menu)
package {
import flash.display.*;
import flash.events.*;
import five3D.display.*;
import card3d.*;
public class Menu extends MovieClip {
public var _sbtExit:DynamicMenu;
private var sprite:Sprite3D;
public var _sbtInstructions:DynamicMenu;
private var scene:Scene3D;
public var _sbtBack:DynamicMenu;
public var _smcInstructions:MovieClip;
private var _Game:Game;
public var _sbtResume:DynamicMenu;
public function Menu(){
_smcInstructions.visible = false;
var _local1:SimpleButton = (getChildAt(0) as SimpleButton);
_local1.useHandCursor = false;
create3DEnvironment();
_sbtResume = new DynamicMenu(350, 200, "resume");
_sbtInstructions = new DynamicMenu(350, 250, "instructions");
_sbtExit = new DynamicMenu(350, 300, "exit to title screen");
_sbtBack = new DynamicMenu(350, 400, "back");
sprite.addChild(_sbtResume);
sprite.addChild(_sbtInstructions);
sprite.addChild(_sbtExit);
sprite.addChild(_sbtBack);
_sbtResume.reInitEvents();
_sbtInstructions.reInitEvents();
_sbtExit.reInitEvents();
_sbtBack.reInitEvents();
_sbtBack.rotationX = 30;
_sbtBack.visible = false;
}
private function removeMenu(_arg1:Boolean):void{
_sbtResume.visible = _arg1;
_sbtExit.visible = _arg1;
_sbtInstructions.visible = _arg1;
}
private function onInstructionsExit(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_smcInstructions.visible = false;
_sbtBack.visible = false;
_sbtBack.removeEventListener(MouseEvent.CLICK, onInstructionsExit);
removeMenu(true);
}
public function init(_arg1:Game):void{
_Game = _arg1;
_sbtResume.addEventListener(MouseEvent.CLICK, onResume);
_sbtExit.addEventListener(MouseEvent.CLICK, onExit);
_sbtInstructions.addEventListener(MouseEvent.CLICK, onInstructions);
}
private function removeListeners():void{
_sbtResume.removeEventListener(MouseEvent.CLICK, onResume);
_sbtExit.removeEventListener(MouseEvent.CLICK, onExit);
_sbtInstructions.removeEventListener(MouseEvent.CLICK, onInstructions);
}
private function onResume(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
removeListeners();
_Game.onMenuClicked();
}
private function onInstructions(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_smcInstructions.visible = true;
_sbtBack.visible = true;
_sbtBack.addEventListener(MouseEvent.CLICK, onInstructionsExit);
removeMenu(false);
}
private function onExit(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
removeListeners();
_Game.showStartPanelFromMenu();
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
this.addChild(scene);
scene.addChild(sprite);
sprite.rotationX = -30;
scene.x = 325;
scene.y = 270;
sprite.x = -325;
sprite.y = -270;
}
}
}//package
Section 48
//MFNWLogo (MFNWLogo)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public class MFNWLogo extends SimpleButton {
public function MFNWLogo(){
this.addEventListener(MouseEvent.CLICK, onMouseClick);
this.mouseEnabled = true;
}
private function onMouseClick(_arg1:MouseEvent){
var _local2:URLRequest = new URLRequest("http://www.makeflashnotwar.com");
navigateToURL(_local2);
}
}
}//package
Section 49
//NewDeal (NewDeal)
package {
import flash.media.*;
public dynamic class NewDeal extends Sound {
}
}//package
Section 50
//NextRoundPanel (NextRoundPanel)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import five3D.display.*;
import five3D.typography.*;
import card3d.*;
public class NextRoundPanel extends MovieClip {
public var _stxScore:DynamicText3D;
public var _stxRoundBonus:DynamicText3D;
private var scene:Scene3D;
public var _sbtNextRound:DynamicMenu;
private var _nTimer:Number;
public var _stxTimeBonus:DynamicText3D;
public var _stxWildBonus:DynamicText3D;
public var _stxDeckBonus:DynamicText3D;
public static var sprite:Sprite3D;
public function NextRoundPanel(){
create3DEnvironment();
_stxTimeBonus = createScore3DField("Time", 0);
_stxWildBonus = createScore3DField("Joker Card", 50);
_stxDeckBonus = createScore3DField("Deck", 100);
_stxRoundBonus = createScore3DField("Round", 150);
_stxScore = createScore3DField("Total Score", 200);
_sbtNextRound = new DynamicMenu(400, 220, "play next round");
_sbtNextRound.reInitEvents();
sprite.addChild(_sbtNextRound);
_sbtNextRound.visible = false;
_stxTimeBonus.visible = false;
_stxWildBonus.visible = false;
_stxDeckBonus.visible = false;
_stxRoundBonus.visible = false;
_stxScore.visible = false;
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
this.addChild(scene);
scene.addChild(sprite);
sprite.rotationX = -30;
scene.x = 325;
scene.y = 270;
sprite.x = -325;
sprite.y = -170;
}
private function createScore3DField(_arg1:String, _arg2:int):DynamicText3D{
var _local3:* = new DynamicText3D(ArialRoundedMTBold);
var _local4:* = new DynamicText3D(ArialRoundedMTBold);
_local4.color = 10084179;
_local3.color = 16777028;
_local4.size = 30;
_local3.size = 20;
_local3.text = _arg1;
_local4.x = 420;
_local3.x = (440 - _local3.textWidth);
_local4.y = ((_arg2 / 1.5) - 5);
_local3.y = (_arg2 / 1.5);
sprite.addChild(_local4);
sprite.addChild(_local3);
return (_local4);
}
public function enterFrameListener(_arg1:Event):void{
_nTimer--;
if (_nTimer == 75){
showText(_stxTimeBonus);
};
if (_nTimer == 60){
showText(_stxWildBonus);
};
if (_nTimer == 45){
showText(_stxDeckBonus);
};
if (_nTimer == 30){
showText(_stxRoundBonus);
};
if (_nTimer == 15){
showText(_stxScore);
};
if (_nTimer == 0){
_sbtNextRound.visible = true;
this.removeEventListener(Event.ENTER_FRAME, enterFrameListener);
};
}
public function showBonuses():void{
_nTimer = 85;
this.addEventListener(Event.ENTER_FRAME, enterFrameListener);
TweenMax.from(sprite, 1, {x:1000});
}
private function showText(_arg1:DynamicText3D){
_arg1.visible = true;
TweenMax.from(_arg1, 0.7, {y:-100, z:-300, rotationX:-360});
}
}
}//package
Section 51
//PileRemoved (PileRemoved)
package {
import flash.media.*;
public dynamic class PileRemoved extends Sound {
}
}//package
Section 52
//Shield (Shield)
package {
import flash.display.*;
public dynamic class Shield extends MovieClip {
}
}//package
Section 53
//SoundButton (SoundButton)
package {
import flash.display.*;
import flash.events.*;
import five3D.display.*;
import card3d.*;
import flash.net.*;
public class SoundButton extends MovieClip {
private var _enable:Boolean;
private var _soData:SharedObject;
public var sprSound:SoundIconu;
public function SoundButton(_arg1:Sprite3D){
sprSound = new SoundIconu(20, 40);
x = 510;
y = -70;
_arg1.addChild(sprSound);
sprSound.addEventListener(MouseEvent.CLICK, switchSound);
readSO();
}
private function saveSound(_arg1:Boolean):void{
(_soData.data.sound = _arg1);
_soData.flush();
}
public function set rotationX(_arg1:Number):void{
sprSound.rotationX = _arg1;
}
private function set enable(_arg1:Boolean){
sprSound.onClick();
sprSound.isSoundOn = _arg1;
_enable = _arg1;
onSetSound(_arg1);
}
private function setSoundOff(_arg1:Event=null):void{
enable = false;
sprSound.isSoundOn = false;
sprSound.onClick();
}
override public function set visible(_arg1:Boolean):void{
super.visible = _arg1;
sprSound.visible = _arg1;
}
private function setSoundOn(_arg1:Event=null):void{
enable = true;
SoundController.sndButtonClick.play();
sprSound.isSoundOn = true;
sprSound.onClick();
}
private function onSetSound(_arg1:Boolean):void{
saveSound(_arg1);
(SoundController.enable = _arg1);
}
override public function set x(_arg1:Number):void{
super.x = _arg1;
sprSound.x = _arg1;
}
private function get enable():Boolean{
return (_enable);
}
private function readSO():void{
var _local1:*;
var _local2:*;
_soData = SharedObject.getLocal("soundData");
for (_local1 in _soData.data) {
};
_local2 = ((_soData.data.sound)==undefined) ? true : _soData.data.sound;
(enable = _local2);
}
private function switchSound(_arg1:Event):void{
enable = !(enable);
SoundController.sndButtonClick.play();
}
}
}//package
Section 54
//SoundController (SoundController)
package {
import flash.media.*;
public class SoundController {
private var indexLoaded:int;// = 0
public static var sndNewDeal:NewDeal;
public static var sndUnAccessibleCard:UnAccessibleCard;
public static var sndWildCard:WildCardUsed;
public static var sndButtonClick:ButtonClick;
public static var sndGameOver:GameOver;
private static var __enable:Boolean;
public static var sndPileRemoved:PileRemoved;
public static var sndCardClick:CardClick;
public static var sndAllPilesRemoved:AllPilesRemoved;
public static var sndTurnCard:TurnCard;
public function SoundController(){
init();
}
public static function set enable(_arg1:Boolean){
var _local2:SoundTransform = new SoundTransform();
SoundMixer.soundTransform = new SoundTransform(Number(_arg1));
}
public static function get enable():Boolean{
return (Boolean(true));
}
public static function init():void{
sndPileRemoved = new PileRemoved();
sndAllPilesRemoved = new AllPilesRemoved();
sndCardClick = new CardClick();
sndButtonClick = new ButtonClick();
sndNewDeal = new NewDeal();
sndGameOver = new GameOver();
sndUnAccessibleCard = new UnAccessibleCard();
sndTurnCard = new TurnCard();
sndWildCard = new WildCardUsed();
}
}
}//package
Section 55
//StartPanel (StartPanel)
package {
import flash.display.*;
import flash.events.*;
import gs.*;
import five3D.display.*;
import five3D.typography.*;
import card3d.*;
import flash.net.*;
public class StartPanel extends MovieClip {
private var _mainClass:Main;
public var _sbtHigh:DynamicMenu;
public var _sbtInstructions:DynamicMenu;
private var scene:Scene3D;
public var _sbtBack:DynamicMenu;
public var _smcInstructions:MovieClip;
private var card:Card;
public var btnPlayMoreGames:DynamicMenu;
public var mcLogo:MovieClip;
public var btnGoToWebsite:DynamicMenu;
public var _smcSound:SoundButton;
public var _smcHighScore:HighScorePanel;
public var _sbtPlay:DynamicMenu;
private var txtGameName:DynamicText3D;
public static var sprite:Sprite3D;
public function StartPanel(_arg1:Main){
_mainClass = _arg1;
init();
}
private function onCloseCredits(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
}
private function onCloseInst(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_sbtBack.visible = false;
_smcInstructions.visible = false;
_sbtPlay.visible = true;
_sbtHigh.visible = true;
_sbtInstructions.visible = !(false);
btnGoToWebsite.visible = !(false);
btnPlayMoreGames.visible = !(false);
_smcSound.visible = !(false);
}
private function createText(_arg1:int, _arg2:int, _arg3:String):DynamicText3D{
var _local4:DynamicText3D = new DynamicText3D(ArialRoundedMTBold);
_local4.color = 0xEEEEEE;
_local4.size = 60;
_local4.text = _arg3;
_local4.x = _arg1;
_local4.y = _arg2;
_local4.rotationY = -40;
sprite.addChild(_local4);
return (_local4);
}
private function onStartGame(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_mainClass.initGame();
}
private function init():void{
TweenMax.killAllTweens();
create3DEnvironment();
_sbtPlay = new DynamicMenu(300, 150, "play");
_sbtInstructions = new DynamicMenu(300, 200, "instructions");
_sbtHigh = new DynamicMenu(300, 250, "highscores");
btnGoToWebsite = new DynamicMenu(300, 200, "link to sponsor");
btnPlayMoreGames = new DynamicMenu(300, 250, "play more games");
_sbtBack = new DynamicMenu(430, 400, "back");
sprite.addChild(_sbtBack);
_sbtBack.visible = false;
_sbtBack.rotationX = -(sprite.rotationX);
_sbtBack.rotationY = -(sprite.rotationY);
_sbtBack.rotationZ = -(sprite.rotationZ);
sprite.addChild(_sbtPlay);
sprite.addChild(_sbtInstructions);
sprite.addChild(_sbtHigh);
DynamicMenu.arrOther = [_sbtPlay, _sbtInstructions, btnGoToWebsite, btnPlayMoreGames, _sbtHigh];
_smcHighScore.init("start");
_smcSound = new SoundButton(sprite);
addChild(_smcSound);
_smcInstructions.visible = false;
_sbtBack.visible = false;
_sbtBack.addEventListener(MouseEvent.CLICK, onCloseInst);
btnGoToWebsite.addEventListener(MouseEvent.CLICK, goToWebsite);
btnPlayMoreGames.addEventListener(MouseEvent.CLICK, playMoreGames);
_smcHighScore.addEventListener("CLOSE", onHighClose);
mcLogo["btnNav"].addEventListener(MouseEvent.CLICK, navigateToSite);
_sbtPlay.addEventListener(MouseEvent.CLICK, onStartGame);
_sbtInstructions.addEventListener(MouseEvent.CLICK, onInstructions);
_sbtHigh.addEventListener(MouseEvent.CLICK, onHigh);
}
private function onEF(_arg1:Event):void{
card.rotationX++;
card.rotationY++;
card.rotationZ--;
}
private function onInstructions(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_sbtBack.visible = true;
_sbtPlay.visible = false;
_sbtHigh.visible = false;
_sbtInstructions.visible = false;
btnGoToWebsite.visible = false;
btnPlayMoreGames.visible = false;
_smcInstructions.visible = true;
_smcSound.visible = false;
}
private function goToWebsite(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
var _local2:URLRequest = new URLRequest("http://www.linktosponsor.com");
navigateToURL(_local2);
}
public function onHigh(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
_smcHighScore.visible = true;
_sbtPlay.visible = false;
_sbtHigh.visible = false;
_sbtInstructions.visible = false;
btnGoToWebsite.visible = false;
btnPlayMoreGames.visible = false;
_smcSound.visible = false;
}
private function onHighClose(_arg1:Event):void{
_sbtPlay.visible = !(false);
_sbtHigh.visible = !(false);
_sbtInstructions.visible = !(false);
btnGoToWebsite.visible = !(false);
btnPlayMoreGames.visible = !(false);
_smcSound.visible = !(false);
}
private function playMoreGames(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
var _local2:URLRequest = new URLRequest("http://www.linktosponsor.com");
navigateToURL(_local2);
}
public function setMinScore(_arg1:Number):void{
_mainClass.setMinScore(_arg1);
}
private function create3DEnvironment():void{
scene = new Scene3D();
sprite = new Sprite3D();
this.addChild(scene);
scene.addChild(sprite);
scene.x = 325;
scene.y = 400;
sprite.x = -400;
sprite.y = -400;
sprite.z = 300;
sprite.rotationX = -30;
}
private function navigateToSite(_arg1:Event):void{
var _local2:URLRequest = new URLRequest("http://www.makeflashnotwar.com");
navigateToURL(_local2);
}
private function onCredits(_arg1:MouseEvent):void{
SoundController.sndButtonClick.play();
}
}
}//package
Section 56
//TimerClass (TimerClass)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
public class TimerClass extends MovieClip {
public var _nTimeTarget:Number;
private var _nSeconds:Number;// = 0
public var _nTimer:Number;
public var _nBonusLeft:Number;
private var _nTotalFrames:Number;
private var _fTickFunction:Function;// = null
private var _bTimerOn:Boolean;
private var _fTimeRanOut:Function;
private var _nOldTime:Number;
public var _nTimeWarning:Number;
private var _fEnterFrameFunction:Function;
private var _fBonusTick:Function;
private var _nStartingTime:Number;
public var timerDisplay:TextField;
public var _smcTimerTarget:MovieClip;
public var _smcTimerModifier:MovieClip;
public var _sTimeModifier:String;
private var _nBonusPerSecond:Number;
private var _bWarned:Boolean;
public var _bPlayerWarned:Boolean;
public var _Game:Game;
private var _fTimeTargetFunction:Function;
public function TimerClass(_arg1:TextField){
timerDisplay = _arg1;
}
public function startTimer():void{
_nOldTime = (getTimer() / 1000);
_bTimerOn = true;
}
public function countUp(_arg1:Event):void{
var _local2:Number = (getTimer() / 1000);
if (_bTimerOn == true){
_nTimer = (_nTimer + (_local2 - _nOldTime));
if ((((_nTimer > _nTimeWarning)) && ((_bPlayerWarned == false)))){
_bPlayerWarned = true;
};
};
_nOldTime = _local2;
var _local3:Number = Math.floor((_nTimer / 60));
var _local4:Number = Math.floor((_nTimer % 60));
if (_local4 != _nSeconds){
_nSeconds = _local4;
if (_fTickFunction != null){
_fTickFunction();
};
_local3 = (_local3 % 24);
if (_local3 > 11){
_local3 = (_local3 % 12);
_smcTimerModifier._sdtTimerModifier.text = "PM";
} else {
_smcTimerModifier._sdtTimerModifier.text = "AM";
};
if (_local3 == 0){
_local3 = 12;
};
if (_local4 > 9){
timerDisplay.text = ((String(_local3) + ":") + String(_local4));
} else {
timerDisplay.text = ((String(_local3) + ":") + ("0" + String(_local4)));
};
};
}
public function setTargetFunction(_arg1:Function):void{
_fTimeTargetFunction = _arg1;
}
public function addTime(_arg1:Number):void{
setTime((_nTimer + _arg1));
}
public function setEndFunction(_arg1:Function):void{
_fTimeRanOut = _arg1;
}
public function startNewCountDown(_arg1:Number):void{
clearTimer();
_nStartingTime = _arg1;
setTime(_arg1);
_nSeconds = Math.floor((_nTimer % 60));
_nOldTime = (getTimer() / 1000);
_bTimerOn = true;
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
};
_fEnterFrameFunction = countDown;
this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
}
public function setTickFunction(_arg1:Function):void{
_fTickFunction = _arg1;
}
public function playBonusCountdown(_arg1:Function):void{
_fBonusTick = _arg1;
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
};
_fEnterFrameFunction = countDown;
this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
}
public function getTimeTarget():Number{
return (_nTimeTarget);
}
public function playBonusCountUp(_arg1:Function):void{
_bPlayerWarned = true;
_fBonusTick = _arg1;
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
};
_fEnterFrameFunction = bonusCountUp;
this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
}
public function getTime():Number{
return (_nTimer);
}
public function setTimeTarget(_arg1:Number):void{
_nTimeTarget = _arg1;
_nTimeWarning = (_nTimeTarget - 10);
var _local2:Number = Math.floor((_arg1 / 60));
var _local3:Number = Math.floor((_arg1 % 60));
if (_local2 == 0){
_local2 = 12;
};
if (_local3 > 9){
_smcTimerTarget._sdtTimerTarget.text = ((String(_local2) + ":") + String(_local3));
} else {
_smcTimerTarget._sdtTimerTarget.text = ((String(_local2) + ":") + ("0" + String(_local3)));
};
}
public function onInitialize(_arg1:Game):void{
_Game = _arg1;
_nTotalFrames = this.totalFrames;
this.stop();
_bTimerOn = false;
_bWarned = false;
_nBonusPerSecond = (_Game._nFullTimeBonus / _Game._nRoundTime);
_nBonusLeft = _Game._nFullTimeBonus;
setTickFunction(decrementBonus);
}
public function countDown(_arg1:Event):void{
var _local2:Number = (getTimer() / 1000);
if (_bTimerOn == true){
_nTimer = (_nTimer - (_local2 - _nOldTime));
if (_nTimer <= 0){
_nTimer = 0;
_bTimerOn = false;
_fTimeRanOut();
};
};
_nOldTime = _local2;
var _local3:Number = Math.floor(_nTimer);
if (_local3 != _nSeconds){
_nSeconds = _local3;
if (_fTickFunction != null){
_fTickFunction();
};
};
_nBonusLeft = Math.floor((_nSeconds * _nBonusPerSecond));
timerDisplay.text = String(_nBonusLeft);
}
private function decrementBonus():void{
var _local1:int = Math.floor((_nBonusPerSecond * _nTimer));
timerDisplay.text = String(_local1);
}
public function setTime(_arg1:Number):void{
_nTimer = _arg1;
}
public function startNewCountUp(_arg1:Number):void{
clearTimer();
_bPlayerWarned = false;
_nStartingTime = _arg1;
setTime(_arg1);
_nOldTime = (getTimer() / 1000);
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
};
_fEnterFrameFunction = countUp;
this.addEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
_bTimerOn = true;
}
public function stopTimer():void{
_bTimerOn = false;
}
public function bonusCountUp(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
if (_bTimerOn == true){
_nTimer = (_nTimer + 1);
if (_nTimer > _nTimeTarget){
_nTimer = _nTimeTarget;
};
_local2 = Math.floor((_nTimer / 60));
_local3 = Math.floor((_nTimer % 60));
if (_local3 != _nSeconds){
_nSeconds = _local3;
if (_fTickFunction != null){
_fTickFunction();
};
_local2 = (_local2 % 24);
if (_local2 > 11){
_local2 = 0;
_smcTimerModifier._sdtTimerModifier.text = "PM";
} else {
_smcTimerModifier._sdtTimerModifier.text = "AM";
};
if (_local2 == 0){
_local2 = 12;
};
if (_local3 > 9){
timerDisplay.text = ((String(_local2) + ":") + String(_local3));
} else {
timerDisplay.text = ((String(_local2) + ":") + ("0" + String(_local3)));
};
};
_fBonusTick();
if (_nTimer == _nTimeTarget){
_fTimeTargetFunction();
_fTimeTargetFunction = new Function();
clearTimer();
};
};
}
public function bonusCountDown(_arg1:Event):void{
var _local2:int = this.currentFrame;
if (_local2 == _nTotalFrames){
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
};
_fTimeRanOut();
} else {
_local2++;
this.gotoAndStop(_local2);
_fBonusTick();
};
}
public function clearTimer():void{
if (this.hasEventListener(Event.ENTER_FRAME)){
this.removeEventListener(Event.ENTER_FRAME, _fEnterFrameFunction);
};
}
}
}//package
Section 57
//TurnCard (TurnCard)
package {
import flash.media.*;
public dynamic class TurnCard extends Sound {
}
}//package
Section 58
//UnAccessibleCard (UnAccessibleCard)
package {
import flash.media.*;
public dynamic class UnAccessibleCard extends Sound {
}
}//package
Section 59
//Utils (Utils)
package {
public class Utils {
private static const A:int = 3423313;
private static const C:int = 2435;
public static var numRandomSeed:int;
public static function getRandomValue(_arg1:int):int{
numRandomSeed = ((numRandomSeed * A) % 2147352576);
var _local2:int = (Math.floor(((numRandomSeed * _arg1) / C)) % _arg1);
return (_local2);
}
public static function random(_arg1:int):int{
return (int((_arg1 * Math.random())));
}
public static function getAverageValue(_arg1:int):int{
return (int(((_arg1 - (_arg1 * 2)) * Math.random())));
}
}
}//package
Section 60
//WildCardUsed (WildCardUsed)
package {
import flash.media.*;
public dynamic class WildCardUsed extends Sound {
}
}//package