Section 1
//b2CircleDef (Box2D.Collision.Shapes.b2CircleDef)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
public class b2CircleDef extends b2ShapeDef {
public var localPosition:b2Vec2;
public var radius:Number;
public function b2CircleDef(){
localPosition = new b2Vec2(0, 0);
super();
type = b2Shape.e_circleShape;
radius = 1;
}
}
}//package Box2D.Collision.Shapes
Section 2
//b2CircleShape (Box2D.Collision.Shapes.b2CircleShape)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Common.*;
public class b2CircleShape extends b2Shape {
public var m_radius:Number;
public var m_localPosition:b2Vec2;
public function b2CircleShape(_arg1:b2ShapeDef){
var _local2:b2CircleDef;
m_localPosition = new b2Vec2();
super(_arg1);
_local2 = (_arg1 as b2CircleDef);
m_type = e_circleShape;
m_localPosition.SetV(_local2.localPosition);
m_radius = _local2.radius;
}
override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
_local3 = _arg1.R;
_local4 = (_arg1.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y)));
_local5 = (_arg1.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y)));
_local4 = (_arg2.x - _local4);
_local5 = (_arg2.y - _local5);
return ((((_local4 * _local4) + (_local5 * _local5)) <= (m_radius * m_radius)));
}
public function GetLocalPosition():b2Vec2{
return (m_localPosition);
}
override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:_-7r, _arg5:Number):Boolean{
var _local6:b2Mat22;
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;
_local6 = _arg1.R;
_local7 = (_arg1.position.x + ((_local6.col1.x * m_localPosition.x) + (_local6.col2.x * m_localPosition.y)));
_local8 = (_arg1.position.x + ((_local6.col1.y * m_localPosition.x) + (_local6.col2.y * m_localPosition.y)));
_local9 = (_arg4.p1.x - _local7);
_local10 = (_arg4.p1.y - _local8);
_local11 = (((_local9 * _local9) + (_local10 * _local10)) - (m_radius * m_radius));
if (_local11 < 0){
return (false);
};
_local12 = (_arg4.p2.x - _arg4.p1.x);
_local13 = (_arg4.p2.y - _arg4.p1.y);
_local14 = ((_local9 * _local12) + (_local10 * _local13));
_local15 = ((_local12 * _local12) + (_local13 * _local13));
_local16 = ((_local14 * _local14) - (_local15 * _local11));
if ((((_local16 < 0)) || ((_local15 < Number.MIN_VALUE)))){
return (false);
};
_local17 = -((_local14 + Math.sqrt(_local16)));
if ((((0 <= _local17)) && ((_local17 <= (_arg5 * _local15))))){
_local17 = (_local17 / _local15);
_arg2[0] = _local17;
_arg3.x = (_local9 + (_local17 * _local12));
_arg3.y = (_local10 + (_local17 * _local13));
_arg3.Normalize();
return (true);
};
return (false);
}
override public function ComputeMass(_arg1:b2MassData):void{
_arg1.mass = (((m_density * b2Settings.b2_pi) * m_radius) * m_radius);
_arg1.center.SetV(m_localPosition);
_arg1.I = (_arg1.mass * (((0.5 * m_radius) * m_radius) + ((m_localPosition.x * m_localPosition.x) + (m_localPosition.y * m_localPosition.y))));
}
override public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2XForm, _arg4:b2Vec2):Number{
var _local5:b2Vec2;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local5 = b2Math.b2MulX(_arg3, m_localPosition);
_local6 = -((b2Math.b2Dot(_arg1, _local5) - _arg2));
if (_local6 < (-(m_radius) + Number.MIN_VALUE)){
return (0);
};
if (_local6 > m_radius){
_arg4.SetV(_local5);
return (((b2Settings.b2_pi * m_radius) * m_radius));
};
_local7 = (m_radius * m_radius);
_local8 = (_local6 * _local6);
_local9 = ((_local7 * (Math.asin((_local6 / m_radius)) + (b2Settings.b2_pi / 2))) + (_local6 * Math.sqrt((_local7 - _local8))));
_local10 = (((-2 / 3) * Math.pow((_local7 - _local8), 1.5)) / _local9);
_arg4.x = (_local5.x + (_arg1.x * _local10));
_arg4.y = (_local5.y + (_arg1.y * _local10));
return (_local9);
}
override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{
var _local4:b2Mat22;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local4 = _arg2.R;
_local5 = (_arg2.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y)));
_local6 = (_arg2.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y)));
_local4 = _arg3.R;
_local7 = (_arg3.position.x + ((_local4.col1.x * m_localPosition.x) + (_local4.col2.x * m_localPosition.y)));
_local8 = (_arg3.position.y + ((_local4.col1.y * m_localPosition.x) + (_local4.col2.y * m_localPosition.y)));
_arg1._-6x.Set((((_local5 < _local7)) ? _local5 : _local7 - m_radius), (((_local6 < _local8)) ? _local6 : _local8 - m_radius));
_arg1._-0Q.Set((((_local5 > _local7)) ? _local5 : _local7 + m_radius), (((_local6 > _local8)) ? _local6 : _local8 + m_radius));
}
public function GetRadius():Number{
return (m_radius);
}
override public function UpdateSweepRadius(_arg1:b2Vec2):void{
var _local2:Number;
var _local3:Number;
_local2 = (m_localPosition.x - _arg1.x);
_local3 = (m_localPosition.y - _arg1.y);
_local2 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3)));
m_sweepRadius = ((_local2 + m_radius) - b2Settings.b2_toiSlop);
}
override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
_local3 = _arg2.R;
_local4 = (_arg2.position.x + ((_local3.col1.x * m_localPosition.x) + (_local3.col2.x * m_localPosition.y)));
_local5 = (_arg2.position.y + ((_local3.col1.y * m_localPosition.x) + (_local3.col2.y * m_localPosition.y)));
_arg1._-6x.Set((_local4 - m_radius), (_local5 - m_radius));
_arg1._-0Q.Set((_local4 + m_radius), (_local5 + m_radius));
}
}
}//package Box2D.Collision.Shapes
Section 3
//b2FilterData (Box2D.Collision.Shapes.b2FilterData)
package Box2D.Collision.Shapes {
public class b2FilterData {
public var maskBits:uint;// = 0xFFFF
public var groupIndex:int;// = 0
public var categoryBits:uint;// = 1
public function b2FilterData(){
categoryBits = 1;
maskBits = 0xFFFF;
groupIndex = 0;
super();
}
public function Copy():b2FilterData{
var _local1:b2FilterData;
_local1 = new b2FilterData();
_local1.categoryBits = categoryBits;
_local1.maskBits = maskBits;
_local1.groupIndex = groupIndex;
return (_local1);
}
}
}//package Box2D.Collision.Shapes
Section 4
//b2MassData (Box2D.Collision.Shapes.b2MassData)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
public class b2MassData {
public var mass:Number;// = 0
public var center:b2Vec2;
public var I:Number;// = 0
public function b2MassData(){
mass = 0;
center = new b2Vec2(0, 0);
I = 0;
super();
}
}
}//package Box2D.Collision.Shapes
Section 5
//b2PolygonDef (Box2D.Collision.Shapes.b2PolygonDef)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class b2PolygonDef extends b2ShapeDef {
public var vertexCount:int;
public var vertices:Array;
private static var s_mat:b2Mat22 = new b2Mat22();
public function b2PolygonDef(){
var _local1:int;
vertices = new Array(b2Settings.b2_maxPolygonVertices);
super();
type = b2Shape.e_polygonShape;
vertexCount = 0;
_local1 = 0;
while (_local1 < b2Settings.b2_maxPolygonVertices) {
vertices[_local1] = new b2Vec2();
_local1++;
};
}
public function SetAsOrientedBox(_arg1:Number, _arg2:Number, _arg3:b2Vec2=null, _arg4:Number=0):void{
var _local5:b2Vec2;
var _local6:b2Mat22;
var _local7:int;
vertexCount = 4;
vertices[0].Set(-(_arg1), -(_arg2));
vertices[1].Set(_arg1, -(_arg2));
vertices[2].Set(_arg1, _arg2);
vertices[3].Set(-(_arg1), _arg2);
if (_arg3){
_local5 = _arg3;
_local6 = s_mat;
_local6.Set(_arg4);
_local7 = 0;
while (_local7 < vertexCount) {
_arg3 = vertices[_local7];
_arg1 = (_local5.x + ((_local6.col1.x * _arg3.x) + (_local6.col2.x * _arg3.y)));
_arg3.y = (_local5.y + ((_local6.col1.y * _arg3.x) + (_local6.col2.y * _arg3.y)));
_arg3.x = _arg1;
_local7++;
};
};
}
public function SetAsBox(_arg1:Number, _arg2:Number):void{
vertexCount = 4;
vertices[0].Set(-(_arg1), -(_arg2));
vertices[1].Set(_arg1, -(_arg2));
vertices[2].Set(_arg1, _arg2);
vertices[3].Set(-(_arg1), _arg2);
}
}
}//package Box2D.Collision.Shapes
Section 6
//b2PolygonShape (Box2D.Collision.Shapes.b2PolygonShape)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PolygonShape extends b2Shape {
public var m_vertices:Array;
public var m_normals:Array;
private var s_supportVec:b2Vec2;
public var m_obb:_-1F;
public var m_coreVertices:Array;
public var m_centroid:b2Vec2;
public var m_vertexCount:int;
private static var s_computeMat:b2Mat22 = new b2Mat22();
private static var s_sweptAABB1:b2AABB = new b2AABB();
private static var s_sweptAABB2:b2AABB = new b2AABB();
public function b2PolygonShape(_arg1:b2ShapeDef){
var _local2:b2PolygonDef;
var _local3:int;
var _local4:int;
var _local5:int;
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;
s_supportVec = new b2Vec2();
m_obb = new _-1F();
m_vertices = new Array(b2Settings.b2_maxPolygonVertices);
m_normals = new Array(b2Settings.b2_maxPolygonVertices);
m_coreVertices = new Array(b2Settings.b2_maxPolygonVertices);
super(_arg1);
m_type = e_polygonShape;
_local2 = (_arg1 as b2PolygonDef);
m_vertexCount = _local2.vertexCount;
_local4 = _local3;
_local5 = _local3;
_local3 = 0;
while (_local3 < m_vertexCount) {
m_vertices[_local3] = _local2.vertices[_local3].Copy();
_local3++;
};
_local3 = 0;
while (_local3 < m_vertexCount) {
_local4 = _local3;
_local5 = (((_local3 + 1) < m_vertexCount)) ? (_local3 + 1) : 0;
_local6 = (m_vertices[_local5].x - m_vertices[_local4].x);
_local7 = (m_vertices[_local5].y - m_vertices[_local4].y);
_local8 = Math.sqrt(((_local6 * _local6) + (_local7 * _local7)));
m_normals[_local3] = new b2Vec2((_local7 / _local8), (-(_local6) / _local8));
_local3++;
};
m_centroid = ComputeCentroid(_local2.vertices, _local2.vertexCount);
ComputeOBB(m_obb, m_vertices, m_vertexCount);
_local3 = 0;
while (_local3 < m_vertexCount) {
_local4 = (((_local3 - 1) >= 0)) ? (_local3 - 1) : (m_vertexCount - 1);
_local5 = _local3;
_local9 = m_normals[_local4].x;
_local10 = m_normals[_local4].y;
_local11 = m_normals[_local5].x;
_local12 = m_normals[_local5].y;
_local13 = (m_vertices[_local3].x - m_centroid.x);
_local14 = (m_vertices[_local3].y - m_centroid.y);
_local15 = (((_local9 * _local13) + (_local10 * _local14)) - b2Settings.b2_toiSlop);
_local16 = (((_local11 * _local13) + (_local12 * _local14)) - b2Settings.b2_toiSlop);
_local17 = (1 / ((_local9 * _local12) - (_local10 * _local11)));
m_coreVertices[_local3] = new b2Vec2(((_local17 * ((_local12 * _local15) - (_local10 * _local16))) + m_centroid.x), ((_local17 * ((_local9 * _local16) - (_local11 * _local15))) + m_centroid.y));
_local3++;
};
}
override public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{
var _local3:b2Vec2;
var _local4:b2Mat22;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:int;
var _local10:Number;
_local4 = _arg1.R;
_local5 = (_arg2.x - _arg1.position.x);
_local6 = (_arg2.y - _arg1.position.y);
_local7 = ((_local5 * _local4.col1.x) + (_local6 * _local4.col1.y));
_local8 = ((_local5 * _local4.col2.x) + (_local6 * _local4.col2.y));
_local9 = 0;
while (_local9 < m_vertexCount) {
_local3 = m_vertices[_local9];
_local5 = (_local7 - _local3.x);
_local6 = (_local8 - _local3.y);
_local3 = m_normals[_local9];
_local10 = ((_local3.x * _local5) + (_local3.y * _local6));
if (_local10 > 0){
return (false);
};
_local9++;
};
return (true);
}
public function GetCoreVertices():Array{
return (m_coreVertices);
}
override public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:_-7r, _arg5:Number):Boolean{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:b2Mat22;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:int;
var _local19:int;
var _local20:Number;
var _local21:Number;
_local6 = 0;
_local7 = _arg5;
_local8 = (_arg4.p1.x - _arg1.position.x);
_local9 = (_arg4.p1.y - _arg1.position.y);
_local10 = _arg1.R;
_local12 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y));
_local13 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y));
_local8 = (_arg4.p2.x - _arg1.position.x);
_local9 = (_arg4.p2.y - _arg1.position.y);
_local10 = _arg1.R;
_local14 = ((_local8 * _local10.col1.x) + (_local9 * _local10.col1.y));
_local15 = ((_local8 * _local10.col2.x) + (_local9 * _local10.col2.y));
_local16 = (_local14 - _local12);
_local17 = (_local15 - _local13);
_local18 = -1;
_local19 = 0;
while (_local19 < m_vertexCount) {
_local11 = m_vertices[_local19];
_local8 = (_local11.x - _local12);
_local9 = (_local11.y - _local13);
_local11 = m_normals[_local19];
_local20 = ((_local11.x * _local8) + (_local11.y * _local9));
_local21 = ((_local11.x * _local16) + (_local11.y * _local17));
if ((((_local21 < 0)) && ((_local20 < (_local6 * _local21))))){
_local6 = (_local20 / _local21);
_local18 = _local19;
} else {
if ((((_local21 > 0)) && ((_local20 < (_local7 * _local21))))){
_local7 = (_local20 / _local21);
};
};
if (_local7 < _local6){
return (false);
};
_local19++;
};
if (_local18 >= 0){
_arg2[0] = _local6;
_local10 = _arg1.R;
_local11 = m_normals[_local18];
_arg3.x = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y));
_arg3.y = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y));
return (true);
};
return (false);
}
public function GetCentroid():b2Vec2{
return (m_centroid);
}
override public function ComputeMass(_arg1:b2MassData):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:int;
var _local10:b2Vec2;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
_local2 = 0;
_local3 = 0;
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = 0;
_local8 = (1 / 3);
_local9 = 0;
while (_local9 < m_vertexCount) {
_local10 = m_vertices[_local9];
_local11 = (((_local9 + 1) < m_vertexCount)) ? m_vertices[int((_local9 + 1))] : m_vertices[0];
_local12 = (_local10.x - _local6);
_local13 = (_local10.y - _local7);
_local14 = (_local11.x - _local6);
_local15 = (_local11.y - _local7);
_local16 = ((_local12 * _local15) - (_local13 * _local14));
_local17 = (0.5 * _local16);
_local4 = (_local4 + _local17);
_local2 = (_local2 + ((_local17 * _local8) * ((_local6 + _local10.x) + _local11.x)));
_local3 = (_local3 + ((_local17 * _local8) * ((_local7 + _local10.y) + _local11.y)));
_local18 = _local6;
_local19 = _local7;
_local20 = _local12;
_local21 = _local13;
_local22 = _local14;
_local23 = _local15;
_local24 = ((_local8 * ((0.25 * (((_local20 * _local20) + (_local22 * _local20)) + (_local22 * _local22))) + ((_local18 * _local20) + (_local18 * _local22)))) + ((0.5 * _local18) * _local18));
_local25 = ((_local8 * ((0.25 * (((_local21 * _local21) + (_local23 * _local21)) + (_local23 * _local23))) + ((_local19 * _local21) + (_local19 * _local23)))) + ((0.5 * _local19) * _local19));
_local5 = (_local5 + (_local16 * (_local24 + _local25)));
_local9++;
};
_arg1.mass = (m_density * _local4);
_local2 = (_local2 * (1 / _local4));
_local3 = (_local3 * (1 / _local4));
_arg1.center.Set(_local2, _local3);
_arg1.I = (m_density * _local5);
}
public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{
var _local4:b2Vec2;
var _local5:b2Mat22;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:Number;
var _local10:int;
var _local11:Number;
_local5 = _arg1.R;
_local6 = ((_arg2 * _local5.col1.x) + (_arg3 * _local5.col1.y));
_local7 = ((_arg2 * _local5.col2.x) + (_arg3 * _local5.col2.y));
_local8 = 0;
_local4 = m_coreVertices[0];
_local9 = ((_local4.x * _local6) + (_local4.y * _local7));
_local10 = 1;
while (_local10 < m_vertexCount) {
_local4 = m_coreVertices[_local10];
_local11 = ((_local4.x * _local6) + (_local4.y * _local7));
if (_local11 > _local9){
_local8 = _local10;
_local9 = _local11;
};
_local10++;
};
_local5 = _arg1.R;
_local4 = m_coreVertices[_local8];
s_supportVec.x = (_arg1.position.x + ((_local5.col1.x * _local4.x) + (_local5.col2.x * _local4.y)));
s_supportVec.y = (_arg1.position.y + ((_local5.col1.y * _local4.x) + (_local5.col2.y * _local4.y)));
return (s_supportVec);
}
public function GetVertexCount():int{
return (m_vertexCount);
}
override public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2XForm, _arg4:b2Vec2):Number{
var _local5:b2Vec2;
var _local6:Number;
var _local7:Array;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:b2Vec2;
var _local12:Boolean;
var _local13:int;
var _local14:int;
var _local15:int;
var _local16:Number;
var _local17:Number;
var _local18:b2Vec2;
var _local19:b2Vec2;
var _local20:Number;
var _local21:b2Vec2;
var _local22:b2Vec2;
var _local23:Number;
var _local24:Boolean;
var _local25:b2MassData;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
_local5 = b2Math.b2MulTMV(_arg3.R, _arg1);
_local6 = (_arg2 - b2Math.b2Dot(_arg1, _arg3.position));
_local7 = [];
_local8 = 0;
_local9 = -1;
_local10 = -1;
_local11 = null;
_local12 = false;
_local13 = 0;
while (_local13 < m_vertexCount) {
_local11 = m_vertices[_local13];
_local7[_local13] = (((_local5.x * _local11.x) + (_local5.y * _local11.y)) - _local6);
_local24 = (_local7[_local13] < -(Number.MIN_VALUE));
if (_local13 > 0){
if (_local24){
if (!_local12){
_local9 = (_local13 - 1);
_local8++;
};
} else {
if (_local12){
_local10 = (_local13 - 1);
_local8++;
};
};
};
_local12 = _local24;
_local13++;
};
switch (_local8){
case 0:
if (_local12){
_local25 = new b2MassData();
ComputeMass(_local25);
_arg4.SetV(b2Math.b2MulX(_arg3, _local25.center));
return ((_local25.mass / m_density));
};
return (0);
case 1:
if (_local9 == -1){
_local9 = (m_vertexCount - 1);
} else {
_local10 = (m_vertexCount - 1);
};
break;
};
_local14 = ((_local9 + 1) % m_vertexCount);
_local15 = ((_local10 + 1) % m_vertexCount);
_local16 = ((0 - _local7[_local9]) / (_local7[_local14] - _local7[_local9]));
_local17 = ((0 - _local7[_local10]) / (_local7[_local15] - _local7[_local10]));
_local18 = new b2Vec2(((m_vertices[_local9].x * (1 - _local16)) + (m_vertices[_local14].x * _local16)), ((m_vertices[_local9].y * (1 - _local16)) + (m_vertices[_local14].y * _local16)));
_local19 = new b2Vec2(((m_vertices[_local10].x * (1 - _local17)) + (m_vertices[_local15].x * _local17)), ((m_vertices[_local10].y * (1 - _local17)) + (m_vertices[_local15].y * _local17)));
_local20 = 0;
_arg4.Set(0, 0);
_local21 = m_vertices[_local14];
_local23 = (1 / 3);
_local13 = _local14;
while (_local13 != _local15) {
_local13 = ((_local13 + 1) % m_vertexCount);
if (_local13 == _local15){
_local22 = _local19;
} else {
_local22 = m_vertices[_local13];
};
_local26 = (_local21.x - _local18.x);
_local27 = (_local21.y - _local18.y);
_local28 = (_local22.x - _local18.x);
_local29 = (_local22.y - _local18.y);
_local30 = ((_local26 * _local29) - (_local27 * _local28));
_local31 = (0.5 * _local30);
_local20 = (_local20 + _local31);
_arg4.x = (_arg4.x + ((_local31 * _local23) * ((_local18.x + _local21.x) + _local22.x)));
_arg4.y = (_arg4.y + ((_local31 * _local23) * ((_local18.y + _local21.y) + _local22.y)));
_local21 = _local22;
};
_arg4.x = (_arg4.x / _local20);
_arg4.y = (_arg4.y / _local20);
_arg4.SetV(b2Math.b2MulX(_arg3, _arg4));
return (_local20);
}
override public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{
var _local4:b2AABB;
var _local5:b2AABB;
_local4 = s_sweptAABB1;
_local5 = s_sweptAABB2;
ComputeAABB(_local4, _arg2);
ComputeAABB(_local5, _arg3);
_arg1._-6x.Set(((_local4._-6x.x < _local5._-6x.x)) ? _local4._-6x.x : _local5._-6x.x, ((_local4._-6x.y < _local5._-6x.y)) ? _local4._-6x.y : _local5._-6x.y);
_arg1._-0Q.Set(((_local4._-0Q.x > _local5._-0Q.x)) ? _local4._-0Q.x : _local5._-0Q.x, ((_local4._-0Q.y > _local5._-0Q.y)) ? _local4._-0Q.y : _local5._-0Q.y);
}
public function GetVertices():Array{
return (m_vertices);
}
public function GetNormals():Array{
return (m_normals);
}
public function GetOBB():_-1F{
return (m_obb);
}
public function GetFirstVertex(_arg1:b2XForm):b2Vec2{
return (b2Math.b2MulX(_arg1, m_coreVertices[0]));
}
public function Centroid(_arg1:b2XForm):b2Vec2{
return (b2Math.b2MulX(_arg1, m_centroid));
}
override public function UpdateSweepRadius(_arg1:b2Vec2):void{
var _local2:b2Vec2;
var _local3:int;
var _local4:Number;
var _local5:Number;
m_sweepRadius = 0;
_local3 = 0;
while (_local3 < m_vertexCount) {
_local2 = m_coreVertices[_local3];
_local4 = (_local2.x - _arg1.x);
_local5 = (_local2.y - _arg1.y);
_local4 = Math.sqrt(((_local4 * _local4) + (_local5 * _local5)));
if (_local4 > m_sweepRadius){
m_sweepRadius = _local4;
};
_local3++;
};
}
override public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{
var _local3:b2Mat22;
var _local4:b2Vec2;
var _local5:b2Mat22;
var _local6:b2Mat22;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local5 = s_computeMat;
_local3 = _arg2.R;
_local4 = m_obb.R.col1;
_local5.col1.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
_local5.col1.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
_local4 = m_obb.R.col2;
_local5.col2.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
_local5.col2.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
_local5.Abs();
_local6 = _local5;
_local4 = m_obb._-2h;
_local7 = ((_local6.col1.x * _local4.x) + (_local6.col2.x * _local4.y));
_local8 = ((_local6.col1.y * _local4.x) + (_local6.col2.y * _local4.y));
_local3 = _arg2.R;
_local4 = m_obb.center;
_local9 = (_arg2.position.x + ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y)));
_local10 = (_arg2.position.y + ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y)));
_arg1._-6x.Set((_local9 - _local7), (_local10 - _local8));
_arg1._-0Q.Set((_local9 + _local7), (_local10 + _local8));
}
public static function ComputeCentroid(_arg1:Array, _arg2:int):b2Vec2{
var _local3:b2Vec2;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:int;
var _local9:b2Vec2;
var _local10:b2Vec2;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
_local3 = new b2Vec2();
_local4 = 0;
_local5 = 0;
_local6 = 0;
_local7 = (1 / 3);
_local8 = 0;
while (_local8 < _arg2) {
_local9 = _arg1[_local8];
_local10 = (((_local8 + 1) < _arg2)) ? _arg1[int((_local8 + 1))] : _arg1[0];
_local11 = (_local9.x - _local5);
_local12 = (_local9.y - _local6);
_local13 = (_local10.x - _local5);
_local14 = (_local10.y - _local6);
_local15 = ((_local11 * _local14) - (_local12 * _local13));
_local16 = (0.5 * _local15);
_local4 = (_local4 + _local16);
_local3.x = (_local3.x + ((_local16 * _local7) * ((_local5 + _local9.x) + _local10.x)));
_local3.y = (_local3.y + ((_local16 * _local7) * ((_local6 + _local9.y) + _local10.y)));
_local8++;
};
_local3.x = (_local3.x * (1 / _local4));
_local3.y = (_local3.y * (1 / _local4));
return (_local3);
}
public static function ComputeOBB(_arg1:_-1F, _arg2:Array, _arg3:int):void{
var _local4:int;
var _local5:Array;
var _local6:Number;
var _local7:b2Vec2;
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:int;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:b2Mat22;
_local5 = new Array((b2Settings.b2_maxPolygonVertices + 1));
_local4 = 0;
while (_local4 < _arg3) {
_local5[_local4] = _arg2[_local4];
_local4++;
};
_local5[_arg3] = _local5[0];
_local6 = Number.MAX_VALUE;
_local4 = 1;
while (_local4 <= _arg3) {
_local7 = _local5[int((_local4 - 1))];
_local8 = (_local5[_local4].x - _local7.x);
_local9 = (_local5[_local4].y - _local7.y);
_local10 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
_local8 = (_local8 / _local10);
_local9 = (_local9 / _local10);
_local11 = -(_local9);
_local12 = _local8;
_local13 = Number.MAX_VALUE;
_local14 = Number.MAX_VALUE;
_local15 = -(Number.MAX_VALUE);
_local16 = -(Number.MAX_VALUE);
_local17 = 0;
while (_local17 < _arg3) {
_local19 = (_local5[_local17].x - _local7.x);
_local20 = (_local5[_local17].y - _local7.y);
_local21 = ((_local8 * _local19) + (_local9 * _local20));
_local22 = ((_local11 * _local19) + (_local12 * _local20));
if (_local21 < _local13){
_local13 = _local21;
};
if (_local22 < _local14){
_local14 = _local22;
};
if (_local21 > _local15){
_local15 = _local21;
};
if (_local22 > _local16){
_local16 = _local22;
};
_local17++;
};
_local18 = ((_local15 - _local13) * (_local16 - _local14));
if (_local18 < (0.95 * _local6)){
_local6 = _local18;
_arg1.R.col1.x = _local8;
_arg1.R.col1.y = _local9;
_arg1.R.col2.x = _local11;
_arg1.R.col2.y = _local12;
_local23 = (0.5 * (_local13 + _local15));
_local24 = (0.5 * (_local14 + _local16));
_local25 = _arg1.R;
_arg1.center.x = (_local7.x + ((_local25.col1.x * _local23) + (_local25.col2.x * _local24)));
_arg1.center.y = (_local7.y + ((_local25.col1.y * _local23) + (_local25.col2.y * _local24)));
_arg1._-2h.x = (0.5 * (_local15 - _local13));
_arg1._-2h.y = (0.5 * (_local16 - _local14));
};
_local4++;
};
}
}
}//package Box2D.Collision.Shapes
Section 7
//b2Shape (Box2D.Collision.Shapes.b2Shape)
package Box2D.Collision.Shapes {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
public class b2Shape {
public var m_type:int;
public var m_sweepRadius:Number;
public var m_density:Number;
public var m_filter:b2FilterData;
public var m_friction:Number;
public var m_next:b2Shape;
public var m_restitution:Number;
public var m_userData;
public var m_isSensor:Boolean;
public var m_proxyId:uint;
public var m_body:_-0F;
public static const e_polygonShape:int = 1;
public static const e_unknownShape:int = -1;
public static const e_circleShape:int = 0;
public static const e_shapeTypeCount:int = 2;
private static var s_resetAABB:b2AABB = new b2AABB();
private static var s_syncAABB:b2AABB = new b2AABB();
private static var s_proxyAABB:b2AABB = new b2AABB();
public function b2Shape(_arg1:b2ShapeDef){
m_userData = _arg1.userData;
m_friction = _arg1.friction;
m_restitution = _arg1.restitution;
m_density = _arg1.density;
m_body = null;
m_sweepRadius = 0;
m_next = null;
m_proxyId = _-6R._-6d;
m_filter = _arg1.filter.Copy();
m_isSensor = _arg1.isSensor;
}
public function ComputeSubmergedArea(_arg1:b2Vec2, _arg2:Number, _arg3:b2XForm, _arg4:b2Vec2):Number{
return (0);
}
public function TestPoint(_arg1:b2XForm, _arg2:b2Vec2):Boolean{
return (false);
}
public function GetSweepRadius():Number{
return (m_sweepRadius);
}
public function GetNext():b2Shape{
return (m_next);
}
public function ComputeSweptAABB(_arg1:b2AABB, _arg2:b2XForm, _arg3:b2XForm):void{
}
public function GetType():int{
return (m_type);
}
public function GetRestitution():Number{
return (m_restitution);
}
public function GetFriction():Number{
return (m_friction);
}
public function GetFilterData():b2FilterData{
return (m_filter.Copy());
}
public function TestSegment(_arg1:b2XForm, _arg2:Array, _arg3:b2Vec2, _arg4:_-7r, _arg5:Number):Boolean{
return (false);
}
public function RefilterProxy(_arg1:_-V, _arg2:b2XForm):void{
var _local3:b2AABB;
var _local4:Boolean;
if (m_proxyId == _-6R._-6d){
return;
};
_arg1.DestroyProxy(m_proxyId);
_local3 = s_resetAABB;
ComputeAABB(_local3, _arg2);
_local4 = _arg1._-4Q(_local3);
if (_local4){
m_proxyId = _arg1.CreateProxy(_local3, this);
} else {
m_proxyId = _-6R._-6d;
};
}
public function SetFilterData(_arg1:b2FilterData):void{
m_filter = _arg1.Copy();
}
public function GetUserData(){
return (m_userData);
}
public function Synchronize(_arg1:_-V, _arg2:b2XForm, _arg3:b2XForm):Boolean{
var _local4:b2AABB;
if (m_proxyId == _-6R._-6d){
return (false);
};
_local4 = s_syncAABB;
ComputeSweptAABB(_local4, _arg2, _arg3);
if (_arg1._-4Q(_local4)){
_arg1._-8P(m_proxyId, _local4);
return (true);
};
return (false);
}
public function ComputeMass(_arg1:b2MassData):void{
}
public function IsSensor():Boolean{
return (m_isSensor);
}
public function DestroyProxy(_arg1:_-V):void{
if (m_proxyId != _-6R._-6d){
_arg1.DestroyProxy(m_proxyId);
m_proxyId = _-6R._-6d;
};
}
public function UpdateSweepRadius(_arg1:b2Vec2):void{
}
public function ComputeAABB(_arg1:b2AABB, _arg2:b2XForm):void{
}
public function GetBody():_-0F{
return (m_body);
}
public function CreateProxy(_arg1:_-V, _arg2:b2XForm):void{
var _local3:b2AABB;
var _local4:Boolean;
_local3 = s_proxyAABB;
ComputeAABB(_local3, _arg2);
_local4 = _arg1._-4Q(_local3);
if (_local4){
m_proxyId = _arg1.CreateProxy(_local3, this);
} else {
m_proxyId = _-6R._-6d;
};
}
public function SetUserData(_arg1):void{
m_userData = _arg1;
}
public static function Destroy(_arg1:b2Shape, _arg2):void{
}
public static function Create(_arg1:b2ShapeDef, _arg2):b2Shape{
switch (_arg1.type){
case e_circleShape:
return (new b2CircleShape(_arg1));
case e_polygonShape:
return (new b2PolygonShape(_arg1));
default:
return (null);
};
}
}
}//package Box2D.Collision.Shapes
Section 8
//b2ShapeDef (Box2D.Collision.Shapes.b2ShapeDef)
package Box2D.Collision.Shapes {
public class b2ShapeDef {
public var isSensor:Boolean;// = false
public var density:Number;// = 0
public var type:int;// = -1
public var restitution:Number;// = 0
public var userData;// = null
public var filter:b2FilterData;
public var friction:Number;// = 0.2
public function b2ShapeDef(){
type = b2Shape.e_unknownShape;
userData = null;
friction = 0.2;
restitution = 0;
density = 0;
isSensor = false;
filter = new b2FilterData();
super();
}
}
}//package Box2D.Collision.Shapes
Section 9
//_-04 (Box2D.Collision._-04)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class _-04 {
public var v:b2Vec2;
public var id:_-3o;
public function _-04(){
v = new b2Vec2();
id = new _-3o();
super();
}
}
}//package Box2D.Collision
Section 10
//_-1F (Box2D.Collision._-1F)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class _-1F {
public var R:b2Mat22;
public var center:b2Vec2;
public var _-2h:b2Vec2;
public function _-1F(){
R = new b2Mat22();
center = new b2Vec2();
_-2h = new b2Vec2();
super();
}
}
}//package Box2D.Collision
Section 11
//_-1R (Box2D.Collision._-1R)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.*;
public class _-1R {
public static var _-8m:b2XForm = new b2XForm();
public static var _-4b:b2XForm = new b2XForm();
public static var _-4N:b2Vec2 = new b2Vec2();
public static var _-7K:b2Vec2 = new b2Vec2();
public static function true(_arg1:b2Shape, _arg2:b2Sweep, _arg3:b2Shape, _arg4:b2Sweep):Number{
var _local5:Number;
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:b2Vec2;
var _local18:b2Vec2;
var _local19:int;
var _local20:int;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:b2XForm;
var _local27:b2XForm;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
_local7 = _arg1.m_sweepRadius;
_local8 = _arg3.m_sweepRadius;
_local9 = _arg2.t0;
_local10 = (_arg2.c.x - _arg2.c0.x);
_local11 = (_arg2.c.y - _arg2.c0.y);
_local12 = (_arg4.c.x - _arg4.c0.x);
_local13 = (_arg4.c.y - _arg4.c0.y);
_local14 = (_arg2.a - _arg2.a0);
_local15 = (_arg4.a - _arg4.a0);
_local16 = 0;
_local17 = _-4N;
_local18 = _-7K;
_local19 = 20;
_local20 = 0;
_local21 = 0;
_local22 = 0;
_local23 = 0;
_local24 = 0;
while (true) {
_local25 = (((1 - _local16) * _local9) + _local16);
_local26 = _-8m;
_local27 = _-4b;
_arg2.GetXForm(_local26, _local25);
_arg4.GetXForm(_local27, _local25);
_local23 = b2Distance._-10(_local17, _local18, _arg1, _local26, _arg3, _local27);
if (_local20 == 0){
if (_local23 > (2 * b2Settings.b2_toiSlop)){
_local24 = (1.5 * b2Settings.b2_toiSlop);
} else {
_local5 = (0.05 * b2Settings.b2_toiSlop);
_local6 = (_local23 - (0.5 * b2Settings.b2_toiSlop));
_local24 = ((_local5 > _local6)) ? _local5 : _local6;
};
};
if (((((_local23 - _local24) < (0.05 * b2Settings.b2_toiSlop))) || ((_local20 == _local19)))){
break;
};
_local21 = (_local18.x - _local17.x);
_local22 = (_local18.y - _local17.y);
_local28 = Math.sqrt(((_local21 * _local21) + (_local22 * _local22)));
_local21 = (_local21 / _local28);
_local22 = (_local22 / _local28);
_local29 = ((((_local21 * (_local10 - _local12)) + (_local22 * (_local11 - _local13))) + (((_local14 < 0)) ? -(_local14) : _local14 * _local7)) + (((_local15 < 0)) ? -(_local15) : _local15 * _local8));
if (_local29 == 0){
_local16 = 1;
break;
};
_local30 = ((_local23 - _local24) / _local29);
_local31 = (_local16 + _local30);
if ((((_local31 < 0)) || ((1 < _local31)))){
_local16 = 1;
break;
};
if (_local31 < ((1 + (100 * Number.MIN_VALUE)) * _local16)){
break;
};
_local16 = _local31;
_local20++;
};
return (_local16);
}
}
}//package Box2D.Collision
Section 12
//_-1v (Box2D.Collision._-1v)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class _-1v {
public var points:Array;
public var pointCount:int;// = 0
public var normal:b2Vec2;
public function _-1v(){
var _local1:int;
pointCount = 0;
super();
points = new Array(b2Settings.b2_maxManifoldPoints);
_local1 = 0;
while (_local1 < b2Settings.b2_maxManifoldPoints) {
points[_local1] = new _-62();
_local1++;
};
normal = new b2Vec2();
}
public function Set(_arg1:_-1v):void{
var _local2:int;
pointCount = _arg1.pointCount;
_local2 = 0;
while (_local2 < b2Settings.b2_maxManifoldPoints) {
(points[_local2] as _-62).Set(_arg1.points[_local2]);
_local2++;
};
normal.SetV(_arg1.normal);
}
public function _-4p():void{
var _local1:int;
_local1 = 0;
while (_local1 < b2Settings.b2_maxManifoldPoints) {
(points[_local1] as _-62)._-4p();
_local1++;
};
normal.SetZero();
pointCount = 0;
}
}
}//package Box2D.Collision
Section 13
//_-3o (Box2D.Collision._-3o)
package Box2D.Collision {
public class _-3o {
public var _key:uint;
public var _-W:_-5l;
public function _-3o(){
_-W = new _-5l();
super();
_-W._-3r = this;
}
public function Set(_arg1:_-3o):void{
_-1V = _arg1._key;
}
public function Copy():_-3o{
var _local1:_-3o;
_local1 = new _-3o();
_local1._-1V = _-1V;
return (_local1);
}
public function get _-1V():uint{
return (_key);
}
public function set _-1V(_arg1:uint):void{
_key = _arg1;
_-W._-05 = (_key & 0xFF);
_-W._-1J = (((_key & 0xFF00) >> 8) & 0xFF);
_-W._-63 = (((_key & 0xFF0000) >> 16) & 0xFF);
_-W._-e = (((_key & 4278190080) >> 24) & 0xFF);
}
}
}//package Box2D.Collision
Section 14
//_-4l (Box2D.Collision._-4l)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class _-4l {
public var p:b2Vec2;
public function _-4l(){
p = new b2Vec2();
super();
}
public function GetFirstVertex(_arg1:b2XForm):b2Vec2{
return (p);
}
public function Support(_arg1:b2XForm, _arg2:Number, _arg3:Number):b2Vec2{
return (p);
}
}
}//package Box2D.Collision
Section 15
//_-4o (Box2D.Collision._-4o)
package Box2D.Collision {
public class _-4o {
public function switch(_arg1, _arg2, _arg3):void{
}
public function _-5M(_arg1, _arg2){
return (null);
}
}
}//package Box2D.Collision
Section 16
//_-5h (Box2D.Collision._-5h)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.*;
public class _-5h {
public static const _-q:uint = 0xFF;
private static var _-7v:b2Vec2 = new b2Vec2();
public static function get(_arg1:b2PolygonShape, _arg2:b2XForm, _arg3:int, _arg4:b2PolygonShape, _arg5:b2XForm):Number{
var _local6:int;
var _local7:Array;
var _local8:Array;
var _local9:int;
var _local10:Array;
var _local11:b2Mat22;
var _local12:b2Vec2;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:int;
var _local18:Number;
var _local19:int;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
_local6 = _arg1.m_vertexCount;
_local7 = _arg1.m_vertices;
_local8 = _arg1.m_normals;
_local9 = _arg4.m_vertexCount;
_local10 = _arg4.m_vertices;
_local11 = _arg2.R;
_local12 = _local8[_arg3];
_local13 = ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y));
_local14 = ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y));
_local11 = _arg5.R;
_local15 = ((_local11.col1.x * _local13) + (_local11.col1.y * _local14));
_local16 = ((_local11.col2.x * _local13) + (_local11.col2.y * _local14));
_local17 = 0;
_local18 = Number.MAX_VALUE;
_local19 = 0;
while (_local19 < _local9) {
_local12 = _local10[_local19];
_local25 = ((_local12.x * _local15) + (_local12.y * _local16));
if (_local25 < _local18){
_local18 = _local25;
_local17 = _local19;
};
_local19++;
};
_local12 = _local7[_arg3];
_local11 = _arg2.R;
_local20 = (_arg2.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)));
_local21 = (_arg2.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)));
_local12 = _local10[_local17];
_local11 = _arg5.R;
_local22 = (_arg5.position.x + ((_local11.col1.x * _local12.x) + (_local11.col2.x * _local12.y)));
_local23 = (_arg5.position.y + ((_local11.col1.y * _local12.x) + (_local11.col2.y * _local12.y)));
_local22 = (_local22 - _local20);
_local23 = (_local23 - _local21);
_local24 = ((_local22 * _local13) + (_local23 * _local14));
return (_local24);
}
public static function _-7w(_arg1:b2AABB, _arg2:b2AABB):Boolean{
var _local3:b2Vec2;
var _local4:b2Vec2;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local3 = _arg2._-6x;
_local4 = _arg1._-0Q;
_local5 = (_local3.x - _local4.x);
_local6 = (_local3.y - _local4.y);
_local3 = _arg1._-6x;
_local4 = _arg2._-0Q;
_local7 = (_local3.x - _local4.x);
_local8 = (_local3.y - _local4.y);
if ((((_local5 > 0)) || ((_local6 > 0)))){
return (false);
};
if ((((_local7 > 0)) || ((_local8 > 0)))){
return (false);
};
return (true);
}
public static function _-8n(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:int, _arg5:b2PolygonShape, _arg6:b2XForm):void{
var _local7:int;
var _local8:Array;
var _local9:int;
var _local10:Array;
var _local11:Array;
var _local12:b2Mat22;
var _local13:b2Vec2;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:int;
var _local18:Number;
var _local19:int;
var _local20:_-04;
var _local21:int;
var _local22:int;
var _local23:Number;
_local7 = _arg2.m_vertexCount;
_local8 = _arg2.m_normals;
_local9 = _arg5.m_vertexCount;
_local10 = _arg5.m_vertices;
_local11 = _arg5.m_normals;
_local12 = _arg3.R;
_local13 = _local8[_arg4];
_local14 = ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y));
_local15 = ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y));
_local12 = _arg6.R;
_local16 = ((_local12.col1.x * _local14) + (_local12.col1.y * _local15));
_local15 = ((_local12.col2.x * _local14) + (_local12.col2.y * _local15));
_local14 = _local16;
_local17 = 0;
_local18 = Number.MAX_VALUE;
_local19 = 0;
while (_local19 < _local9) {
_local13 = _local11[_local19];
_local23 = ((_local14 * _local13.x) + (_local15 * _local13.y));
if (_local23 < _local18){
_local18 = _local23;
_local17 = _local19;
};
_local19++;
};
_local21 = _local17;
_local22 = (((_local21 + 1) < _local9)) ? (_local21 + 1) : 0;
_local20 = _arg1[0];
_local13 = _local10[_local21];
_local12 = _arg6.R;
_local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)));
_local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)));
_local20.id._-W._-7A = _arg4;
_local20.id._-W._-7c = _local21;
_local20.id._-W._-1n = 0;
_local20 = _arg1[1];
_local13 = _local10[_local22];
_local12 = _arg6.R;
_local20.v.x = (_arg6.position.x + ((_local12.col1.x * _local13.x) + (_local12.col2.x * _local13.y)));
_local20.v.y = (_arg6.position.y + ((_local12.col1.y * _local13.x) + (_local12.col2.y * _local13.y)));
_local20.id._-W._-7A = _arg4;
_local20.id._-W._-7c = _local22;
_local20.id._-W._-1n = 1;
}
public static function _-3k(_arg1:_-1v, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):void{
var _local6:_-04;
var _local7:int;
var _local8:Array;
var _local9:Number;
var _local10:int;
var _local11:Array;
var _local12:Number;
var _local13:b2PolygonShape;
var _local14:b2PolygonShape;
var _local15:b2XForm;
var _local16:b2XForm;
var _local17:int;
var _local18:uint;
var _local19:Number;
var _local20:Number;
var _local21:Array;
var _local22:int;
var _local23:Array;
var _local24:b2Vec2;
var _local25:b2Vec2;
var _local26:b2Vec2;
var _local27:b2Vec2;
var _local28:b2Vec2;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Array;
var _local33:Array;
var _local34:int;
var _local35:int;
var _local36:int;
var _local37:b2Vec2;
var _local38:Number;
var _local39:_-62;
_arg1.pointCount = 0;
_local7 = 0;
_local8 = [_local7];
_local9 = _-2N(_local8, _arg2, _arg3, _arg4, _arg5);
_local7 = _local8[0];
if (_local9 > 0){
return;
};
_local10 = 0;
_local11 = [_local10];
_local12 = _-2N(_local11, _arg4, _arg5, _arg2, _arg3);
_local10 = _local11[0];
if (_local12 > 0){
return;
};
_local15 = new b2XForm();
_local16 = new b2XForm();
_local19 = 0.98;
_local20 = 0.001;
if (_local12 > ((_local19 * _local9) + _local20)){
_local13 = _arg4;
_local14 = _arg2;
_local15.Set(_arg5);
_local16.Set(_arg3);
_local17 = _local10;
_local18 = 1;
} else {
_local13 = _arg2;
_local14 = _arg4;
_local15.Set(_arg3);
_local16.Set(_arg5);
_local17 = _local7;
_local18 = 0;
};
_local21 = [new _-04(), new _-04()];
_-8n(_local21, _local13, _local15, _local17, _local14, _local16);
_local22 = _local13.m_vertexCount;
_local23 = _local13.m_vertices;
_local24 = _local23[_local17];
_local25 = _local24.Copy();
if ((_local17 + 1) < _local22){
_local24 = _local23[int((_local17 + 1))];
_local37 = _local24.Copy();
} else {
_local24 = _local23[0];
_local37 = _local24.Copy();
};
_local26 = b2Math.SubtractVV(_local37, _local25);
_local27 = b2Math.b2MulMV(_local15.R, b2Math.SubtractVV(_local37, _local25));
_local27.Normalize();
_local28 = b2Math.b2CrossVF(_local27, 1);
_local25 = b2Math.b2MulX(_local15, _local25);
_local37 = b2Math.b2MulX(_local15, _local37);
_local29 = b2Math.b2Dot(_local28, _local25);
_local30 = -(b2Math.b2Dot(_local27, _local25));
_local31 = b2Math.b2Dot(_local27, _local37);
_local32 = [new _-04(), new _-04()];
_local33 = [new _-04(), new _-04()];
_local34 = _-21(_local32, _local21, _local27.Negative(), _local30);
if (_local34 < 2){
return;
};
_local34 = _-21(_local33, _local32, _local27, _local31);
if (_local34 < 2){
return;
};
_arg1.normal = (_local18) ? _local28.Negative() : _local28.Copy();
_local35 = 0;
_local36 = 0;
while (_local36 < b2Settings.b2_maxManifoldPoints) {
_local6 = _local33[_local36];
_local38 = (b2Math.b2Dot(_local28, _local6.v) - _local29);
if (_local38 <= 0){
_local39 = _arg1.points[_local35];
_local39.separation = _local38;
_local39._-z = b2Math.b2MulXT(_arg3, _local6.v);
_local39._-6a = b2Math.b2MulXT(_arg5, _local6.v);
_local39.id._-1V = _local6.id._key;
_local39.id._-W._-4y = _local18;
_local35++;
};
_local36++;
};
_arg1.pointCount = _local35;
}
public static function _-2N(_arg1:Array, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2PolygonShape, _arg5:b2XForm):Number{
var _local6:int;
var _local7:Array;
var _local8:b2Vec2;
var _local9:b2Mat22;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:int;
var _local15:Number;
var _local16:int;
var _local17:Number;
var _local18:int;
var _local19:Number;
var _local20:int;
var _local21:Number;
var _local22:int;
var _local23:Number;
var _local24:int;
var _local25:Number;
_local6 = _arg2.m_vertexCount;
_local7 = _arg2.m_normals;
_local9 = _arg5.R;
_local8 = _arg4.m_centroid;
_local10 = (_arg5.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y)));
_local11 = (_arg5.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y)));
_local9 = _arg3.R;
_local8 = _arg2.m_centroid;
_local10 = (_local10 - (_arg3.position.x + ((_local9.col1.x * _local8.x) + (_local9.col2.x * _local8.y))));
_local11 = (_local11 - (_arg3.position.y + ((_local9.col1.y * _local8.x) + (_local9.col2.y * _local8.y))));
_local12 = ((_local10 * _arg3.R.col1.x) + (_local11 * _arg3.R.col1.y));
_local13 = ((_local10 * _arg3.R.col2.x) + (_local11 * _arg3.R.col2.y));
_local14 = 0;
_local15 = -(Number.MAX_VALUE);
_local16 = 0;
while (_local16 < _local6) {
_local8 = _local7[_local16];
_local25 = ((_local8.x * _local12) + (_local8.y * _local13));
if (_local25 > _local15){
_local15 = _local25;
_local14 = _local16;
};
_local16++;
};
_local17 = get(_arg2, _arg3, _local14, _arg4, _arg5);
if (_local17 > 0){
return (_local17);
};
_local18 = (((_local14 - 1) >= 0)) ? (_local14 - 1) : (_local6 - 1);
_local19 = get(_arg2, _arg3, _local18, _arg4, _arg5);
if (_local19 > 0){
return (_local19);
};
_local20 = (((_local14 + 1) < _local6)) ? (_local14 + 1) : 0;
_local21 = get(_arg2, _arg3, _local20, _arg4, _arg5);
if (_local21 > 0){
return (_local21);
};
if ((((_local19 > _local17)) && ((_local19 > _local21)))){
_local24 = -1;
_local22 = _local18;
_local23 = _local19;
} else {
if (_local21 > _local17){
_local24 = 1;
_local22 = _local20;
_local23 = _local21;
} else {
_arg1[0] = _local14;
return (_local17);
};
};
while (true) {
if (_local24 == -1){
_local14 = (((_local22 - 1) >= 0)) ? (_local22 - 1) : (_local6 - 1);
} else {
_local14 = (((_local22 + 1) < _local6)) ? (_local22 + 1) : 0;
};
_local17 = get(_arg2, _arg3, _local14, _arg4, _arg5);
if (_local17 > 0){
return (_local17);
};
if (_local17 > _local23){
_local22 = _local14;
_local23 = _local17;
} else {
break;
};
};
_arg1[0] = _local22;
return (_local23);
}
public static function _-21(_arg1:Array, _arg2:Array, _arg3:b2Vec2, _arg4:Number):int{
var _local5:_-04;
var _local6:int;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:b2Vec2;
var _local13:_-04;
_local6 = 0;
_local5 = _arg2[0];
_local7 = _local5.v;
_local5 = _arg2[1];
_local8 = _local5.v;
_local9 = (b2Math.b2Dot(_arg3, _local7) - _arg4);
_local10 = (b2Math.b2Dot(_arg3, _local8) - _arg4);
if (_local9 <= 0){
var _temp1 = _local6;
_local6 = (_local6 + 1);
var _local14 = _temp1;
_arg1[_local14] = _arg2[0];
};
if (_local10 <= 0){
var _temp2 = _local6;
_local6 = (_local6 + 1);
_local14 = _temp2;
_arg1[_local14] = _arg2[1];
};
if ((_local9 * _local10) < 0){
_local11 = (_local9 / (_local9 - _local10));
_local5 = _arg1[_local6];
_local12 = _local5.v;
_local12.x = (_local7.x + (_local11 * (_local8.x - _local7.x)));
_local12.y = (_local7.y + (_local11 * (_local8.y - _local7.y)));
_local5 = _arg1[_local6];
if (_local9 > 0){
_local13 = _arg2[0];
_local5.id = _local13.id;
} else {
_local13 = _arg2[1];
_local5.id = _local13.id;
};
_local6++;
};
return (_local6);
}
public static function extends(_arg1:_-1v, _arg2:b2CircleShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{
var _local6:b2Mat22;
var _local7:b2Vec2;
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;
var _local18:Number;
var _local19:_-62;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
_arg1.pointCount = 0;
_local6 = _arg3.R;
_local7 = _arg2.m_localPosition;
_local8 = (_arg3.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y)));
_local9 = (_arg3.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y)));
_local6 = _arg5.R;
_local7 = _arg4.m_localPosition;
_local10 = (_arg5.position.x + ((_local6.col1.x * _local7.x) + (_local6.col2.x * _local7.y)));
_local11 = (_arg5.position.y + ((_local6.col1.y * _local7.x) + (_local6.col2.y * _local7.y)));
_local12 = (_local10 - _local8);
_local13 = (_local11 - _local9);
_local14 = ((_local12 * _local12) + (_local13 * _local13));
_local15 = _arg2.m_radius;
_local16 = _arg4.m_radius;
_local17 = (_local15 + _local16);
if (_local14 > (_local17 * _local17)){
return;
};
if (_local14 < Number.MIN_VALUE){
_local18 = -(_local17);
_arg1.normal.Set(0, 1);
} else {
_local24 = Math.sqrt(_local14);
_local18 = (_local24 - _local17);
_local25 = (1 / _local24);
_arg1.normal.x = (_local25 * _local12);
_arg1.normal.y = (_local25 * _local13);
};
_arg1.pointCount = 1;
_local19 = _arg1.points[0];
_local19.id._-1V = 0;
_local19.separation = _local18;
_local8 = (_local8 + (_local15 * _arg1.normal.x));
_local9 = (_local9 + (_local15 * _arg1.normal.y));
_local10 = (_local10 - (_local16 * _arg1.normal.x));
_local11 = (_local11 - (_local16 * _arg1.normal.y));
_local20 = (0.5 * (_local8 + _local10));
_local21 = (0.5 * (_local9 + _local11));
_local22 = (_local20 - _arg3.position.x);
_local23 = (_local21 - _arg3.position.y);
_local19._-z.x = ((_local22 * _arg3.R.col1.x) + (_local23 * _arg3.R.col1.y));
_local19._-z.y = ((_local22 * _arg3.R.col2.x) + (_local23 * _arg3.R.col2.y));
_local22 = (_local20 - _arg5.position.x);
_local23 = (_local21 - _arg5.position.y);
_local19._-6a.x = ((_local22 * _arg5.R.col1.x) + (_local23 * _arg5.R.col1.y));
_local19._-6a.y = ((_local22 * _arg5.R.col2.x) + (_local23 * _arg5.R.col2.y));
}
public static function _-2P(_arg1:_-1v, _arg2:b2PolygonShape, _arg3:b2XForm, _arg4:b2CircleShape, _arg5:b2XForm):void{
var _local6:_-62;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:b2Vec2;
var _local12:b2Mat22;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:int;
var _local19:Number;
var _local20:Number;
var _local21:int;
var _local22:Array;
var _local23:Array;
var _local24:int;
var _local25:int;
var _local26:int;
var _local27:b2Vec2;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
_arg1.pointCount = 0;
_local12 = _arg5.R;
_local11 = _arg4.m_localPosition;
_local13 = (_arg5.position.x + ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y)));
_local14 = (_arg5.position.y + ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y)));
_local7 = (_local13 - _arg3.position.x);
_local8 = (_local14 - _arg3.position.y);
_local12 = _arg3.R;
_local15 = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local16 = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local18 = 0;
_local19 = -(Number.MAX_VALUE);
_local20 = _arg4.m_radius;
_local21 = _arg2.m_vertexCount;
_local22 = _arg2.m_vertices;
_local23 = _arg2.m_normals;
_local24 = 0;
while (_local24 < _local21) {
_local11 = _local22[_local24];
_local7 = (_local15 - _local11.x);
_local8 = (_local16 - _local11.y);
_local11 = _local23[_local24];
_local34 = ((_local11.x * _local7) + (_local11.y * _local8));
if (_local34 > _local20){
return;
};
if (_local34 > _local19){
_local19 = _local34;
_local18 = _local24;
};
_local24++;
};
if (_local19 < Number.MIN_VALUE){
_arg1.pointCount = 1;
_local11 = _local23[_local18];
_local12 = _arg3.R;
_arg1.normal.x = ((_local12.col1.x * _local11.x) + (_local12.col2.x * _local11.y));
_arg1.normal.y = ((_local12.col1.y * _local11.x) + (_local12.col2.y * _local11.y));
_local6 = _arg1.points[0];
_local6.id._-W._-7c = _local18;
_local6.id._-W._-1n = _-q;
_local6.id._-W._-7A = 0;
_local6.id._-W._-4y = 0;
_local9 = (_local13 - (_local20 * _arg1.normal.x));
_local10 = (_local14 - (_local20 * _arg1.normal.y));
_local7 = (_local9 - _arg3.position.x);
_local8 = (_local10 - _arg3.position.y);
_local12 = _arg3.R;
_local6._-z.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6._-z.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local7 = (_local9 - _arg5.position.x);
_local8 = (_local10 - _arg5.position.y);
_local12 = _arg5.R;
_local6._-6a.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6._-6a.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local6.separation = (_local19 - _local20);
return;
};
_local25 = _local18;
_local26 = (((_local25 + 1) < _local21)) ? (_local25 + 1) : 0;
_local11 = _local22[_local25];
_local27 = _local22[_local26];
_local28 = (_local27.x - _local11.x);
_local29 = (_local27.y - _local11.y);
_local30 = Math.sqrt(((_local28 * _local28) + (_local29 * _local29)));
_local28 = (_local28 / _local30);
_local29 = (_local29 / _local30);
_local7 = (_local15 - _local11.x);
_local8 = (_local16 - _local11.y);
_local31 = ((_local7 * _local28) + (_local8 * _local29));
_local6 = _arg1.points[0];
if (_local31 <= 0){
_local32 = _local11.x;
_local33 = _local11.y;
_local6.id._-W._-7c = _-q;
_local6.id._-W._-1n = _local25;
} else {
if (_local31 >= _local30){
_local32 = _local27.x;
_local33 = _local27.y;
_local6.id._-W._-7c = _-q;
_local6.id._-W._-1n = _local26;
} else {
_local32 = ((_local28 * _local31) + _local11.x);
_local33 = ((_local29 * _local31) + _local11.y);
_local6.id._-W._-7c = _local18;
_local6.id._-W._-1n = _-q;
};
};
_local7 = (_local15 - _local32);
_local8 = (_local16 - _local33);
_local17 = Math.sqrt(((_local7 * _local7) + (_local8 * _local8)));
_local7 = (_local7 / _local17);
_local8 = (_local8 / _local17);
if (_local17 > _local20){
return;
};
_arg1.pointCount = 1;
_local12 = _arg3.R;
_arg1.normal.x = ((_local12.col1.x * _local7) + (_local12.col2.x * _local8));
_arg1.normal.y = ((_local12.col1.y * _local7) + (_local12.col2.y * _local8));
_local9 = (_local13 - (_local20 * _arg1.normal.x));
_local10 = (_local14 - (_local20 * _arg1.normal.y));
_local7 = (_local9 - _arg3.position.x);
_local8 = (_local10 - _arg3.position.y);
_local12 = _arg3.R;
_local6._-z.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6._-z.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local7 = (_local9 - _arg5.position.x);
_local8 = (_local10 - _arg5.position.y);
_local12 = _arg5.R;
_local6._-6a.x = ((_local7 * _local12.col1.x) + (_local8 * _local12.col1.y));
_local6._-6a.y = ((_local7 * _local12.col2.x) + (_local8 * _local12.col2.y));
_local6.separation = (_local17 - _local20);
_local6.id._-W._-7A = 0;
_local6.id._-W._-4y = 0;
}
}
}//package Box2D.Collision
Section 17
//_-5k (Box2D.Collision._-5k)
package Box2D.Collision {
public class _-5k {
public var proxyId1:uint;
public var proxyId2:uint;
}
}//package Box2D.Collision
Section 18
//_-5l (Box2D.Collision._-5l)
package Box2D.Collision {
public class _-5l {
public var _-05:int;
public var _-1J:int;
public var _-e:int;
public var _-63:int;
public var _-3r:_-3o;
public function get _-7A():int{
return (_-05);
}
public function set _-1n(_arg1:int):void{
_-63 = _arg1;
_-3r._key = ((_-3r._key & 4278255615) | ((_-63 << 16) & 0xFF0000));
}
public function get _-4y():int{
return (_-e);
}
public function get _-7c():int{
return (_-1J);
}
public function set _-7A(_arg1:int):void{
_-05 = _arg1;
_-3r._key = ((_-3r._key & 4294967040) | (_-05 & 0xFF));
}
public function set _-4y(_arg1:int):void{
_-e = _arg1;
_-3r._key = ((_-3r._key & 0xFFFFFF) | ((_-e << 24) & 4278190080));
}
public function get _-1n():int{
return (_-63);
}
public function set _-7c(_arg1:int):void{
_-1J = _arg1;
_-3r._key = ((_-3r._key & 4294902015) | ((_-1J << 8) & 0xFF00));
}
}
}//package Box2D.Collision
Section 19
//_-5p (Box2D.Collision._-5p)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class _-5p {
public var _-7i:int;
public var _-3U:Array;
public var native:_-4o;
public var _-3J:Array;
public var _-w:int;
public var _-7F:Array;
public var _-6X:_-V;
public var _-54:uint;
public function _-5p(){
var _local1:uint;
super();
_-7F = new Array(_-6R._-08);
_local1 = 0;
while (_local1 < _-6R._-08) {
_-7F[_local1] = _-6R._-D;
_local1++;
};
_-3J = new Array(b2Settings.b2_maxPairs);
_local1 = 0;
while (_local1 < b2Settings.b2_maxPairs) {
_-3J[_local1] = new _-6R();
_local1++;
};
_-3U = new Array(b2Settings.b2_maxPairs);
_local1 = 0;
while (_local1 < b2Settings.b2_maxPairs) {
_-3U[_local1] = new _-5k();
_local1++;
};
_local1 = 0;
while (_local1 < b2Settings.b2_maxPairs) {
_-3J[_local1].proxyId1 = _-6R._-6d;
_-3J[_local1].proxyId2 = _-6R._-6d;
_-3J[_local1].userData = null;
_-3J[_local1].status = 0;
_-3J[_local1].next = (_local1 + 1);
_local1++;
};
_-3J[int((b2Settings.b2_maxPairs - 1))].next = _-6R._-D;
_-7i = 0;
_-w = 0;
}
private function _-4W(_arg1:uint, _arg2:uint, _arg3:uint):_-6R{
var _local4:_-6R;
var _local5:uint;
_local5 = _-7F[_arg3];
_local4 = _-3J[_local5];
while (((!((_local5 == _-6R._-D))) && ((_-1e(_local4, _arg1, _arg2) == false)))) {
_local5 = _local4.next;
_local4 = _-3J[_local5];
};
if (_local5 == _-6R._-D){
return (null);
};
return (_local4);
}
private function _-5R(_arg1:uint, _arg2:uint):_-6R{
var _local3:uint;
var _local4:uint;
if (_arg1 > _arg2){
_local4 = _arg1;
_arg1 = _arg2;
_arg2 = _local4;
};
_local3 = (_-1X(_arg1, _arg2) & _-6R._-8-);
return (_-4W(_arg1, _arg2, _local3));
}
private function _-5D():void{
}
public function _-u():void{
var _local1:_-5k;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:_-6R;
var _local6:_-6s;
var _local7:_-6s;
_local3 = 0;
_local4 = _-6X.try;
_local2 = 0;
while (_local2 < _-w) {
_local1 = _-3U[_local2];
_local5 = _-5R(_local1.proxyId1, _local1.proxyId2);
_local5._-8B();
_local6 = _local4[_local5.proxyId1];
_local7 = _local4[_local5.proxyId2];
if (_local5._-14()){
if (_local5._-6e() == true){
native.switch(_local6.userData, _local7.userData, _local5.userData);
};
_local1 = _-3U[_local3];
_local1.proxyId1 = _local5.proxyId1;
_local1.proxyId2 = _local5.proxyId2;
_local3++;
} else {
if (_local5._-6e() == false){
_local5.userData = native._-5M(_local6.userData, _local7.userData);
_local5._-E();
};
};
_local2++;
};
_local2 = 0;
while (_local2 < _local3) {
_local1 = _-3U[_local2];
_-65(_local1.proxyId1, _local1.proxyId2);
_local2++;
};
_-w = 0;
if (_-V._-6t){
_-7U();
};
}
public function _-8D(_arg1:int, _arg2:int):void{
var _local3:_-5k;
var _local4:_-6R;
_local4 = _-5R(_arg1, _arg2);
if (_local4 == null){
return;
};
if (_local4._-1z() == false){
_local4._-5B();
_local3 = _-3U[_-w];
_local3.proxyId1 = _local4.proxyId1;
_local3.proxyId2 = _local4.proxyId2;
_-w++;
};
_local4._-0U();
if (_-V._-6t){
_-5D();
};
}
private function _-65(_arg1:uint, _arg2:uint){
var _local3:_-6R;
var _local4:uint;
var _local5:uint;
var _local6:_-6R;
var _local7:uint;
var _local8:uint;
var _local9:*;
if (_arg1 > _arg2){
_local7 = _arg1;
_arg1 = _arg2;
_arg2 = _local7;
};
_local4 = (_-1X(_arg1, _arg2) & _-6R._-8-);
_local5 = _-7F[_local4];
_local6 = null;
while (_local5 != _-6R._-D) {
if (_-1e(_-3J[_local5], _arg1, _arg2)){
_local8 = _local5;
_local3 = _-3J[_local5];
if (_local6){
_local6.next = _local3.next;
} else {
_-7F[_local4] = _local3.next;
};
_local3 = _-3J[_local8];
_local9 = _local3.userData;
_local3.next = _-54;
_local3.proxyId1 = _-6R._-6d;
_local3.proxyId2 = _-6R._-6d;
_local3.userData = null;
_local3.status = 0;
_-54 = _local8;
_-7i--;
return (_local9);
} else {
_local6 = _-3J[_local5];
_local5 = _local6.next;
};
};
return (null);
}
public function Initialize(_arg1:_-V, _arg2:_-4o):void{
_-6X = _arg1;
native = _arg2;
}
public function _-5w(_arg1:int, _arg2:int):void{
var _local3:_-5k;
var _local4:_-6R;
_local4 = _-11(_arg1, _arg2);
if (_local4._-1z() == false){
_local4._-5B();
_local3 = _-3U[_-w];
_local3.proxyId1 = _local4.proxyId1;
_local3.proxyId2 = _local4.proxyId2;
_-w++;
};
_local4._-2F();
if (_-V._-6t){
_-5D();
};
}
private function _-11(_arg1:uint, _arg2:uint):_-6R{
var _local3:uint;
var _local4:_-6R;
var _local5:uint;
var _local6:uint;
if (_arg1 > _arg2){
_local6 = _arg1;
_arg1 = _arg2;
_arg2 = _local6;
};
_local3 = (_-1X(_arg1, _arg2) & _-6R._-8-);
_local4 = _-4W(_arg1, _arg2, _local3);
if (_local4 != null){
return (_local4);
};
_local5 = _-54;
_local4 = _-3J[_local5];
_-54 = _local4.next;
_local4.proxyId1 = _arg1;
_local4.proxyId2 = _arg2;
_local4.status = 0;
_local4.userData = null;
_local4.next = _-7F[_local3];
_-7F[_local3] = _local5;
_-7i++;
return (_local4);
}
private function _-7U():void{
}
public static function _-k(_arg1:_-5k, _arg2:_-5k):Boolean{
return ((((_arg1.proxyId1 == _arg2.proxyId1)) && ((_arg1.proxyId2 == _arg2.proxyId2))));
}
public static function _-1X(_arg1:uint, _arg2:uint):uint{
var _local3:uint;
_local3 = (((_arg2 << 16) & 4294901760) | _arg1);
_local3 = (~(_local3) + ((_local3 << 15) & 4294934528));
_local3 = (_local3 ^ ((_local3 >> 12) & 1048575));
_local3 = (_local3 + ((_local3 << 2) & 4294967292));
_local3 = (_local3 ^ ((_local3 >> 4) & 268435455));
_local3 = (_local3 * 2057);
_local3 = (_local3 ^ ((_local3 >> 16) & 0xFFFF));
return (_local3);
}
public static function _-1e(_arg1:_-6R, _arg2:uint, _arg3:uint):Boolean{
return ((((_arg1.proxyId1 == _arg2)) && ((_arg1.proxyId2 == _arg3))));
}
}
}//package Box2D.Collision
Section 20
//_-62 (Box2D.Collision._-62)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class _-62 {
public var separation:Number;
public var _-6a:b2Vec2;
public var normalImpulse:Number;
public var tangentImpulse:Number;
public var _-z:b2Vec2;
public var id:_-3o;
public function _-62(){
_-z = new b2Vec2();
_-6a = new b2Vec2();
id = new _-3o();
super();
}
public function Set(_arg1:_-62):void{
_-z.SetV(_arg1._-z);
_-6a.SetV(_arg1._-6a);
separation = _arg1.separation;
normalImpulse = _arg1.normalImpulse;
tangentImpulse = _arg1.tangentImpulse;
id._-1V = _arg1.id._-1V;
}
public function _-4p():void{
_-z.SetZero();
_-6a.SetZero();
separation = 0;
normalImpulse = 0;
tangentImpulse = 0;
id._-1V = 0;
}
}
}//package Box2D.Collision
Section 21
//_-6R (Box2D.Collision._-6R)
package Box2D.Collision {
import Box2D.Common.*;
public class _-6R {
public var userData;// = null
public var proxyId1:uint;
public var proxyId2:uint;
public var status:uint;
public var next:uint;
public static var _-2q:uint = 4;
public static var _-8-:int = (_-08 - 1);
public static var _-0d:uint = 2;
public static var _-D:uint = b2Settings.USHRT_MAX;
public static var _-7j:uint = 1;
public static var _-6d:uint = b2Settings.USHRT_MAX;
public static var _-08:int = b2Settings.b2_maxPairs;
public function _-6R(){
userData = null;
super();
}
public function _-5B():void{
status = (status | _-7j);
}
public function _-1z():Boolean{
return (((status & _-7j) == _-7j));
}
public function _-6e():Boolean{
return (((status & _-2q) == _-2q));
}
public function _-2F():void{
status = (status & ~(_-0d));
}
public function _-E():void{
status = (status | _-2q);
}
public function _-14():Boolean{
return (((status & _-0d) == _-0d));
}
public function _-8B():void{
status = (status & ~(_-7j));
}
public function _-0U():void{
status = (status | _-0d);
}
}
}//package Box2D.Collision
Section 22
//_-6s (Box2D.Collision._-6s)
package Box2D.Collision {
public class _-6s {
public var false:uint;
public var lowerBounds:Array;
public var _-09:Array;
public var userData;// = null
public var _-06:uint;
public function _-6s(){
lowerBounds = [uint(0), uint(0)];
_-09 = [uint(0), uint(0)];
userData = null;
super();
}
public function GetNext():uint{
return (lowerBounds[0]);
}
public function IsValid():Boolean{
return (!((false == _-V._-3h)));
}
public function _-7q(_arg1:uint):void{
lowerBounds[0] = (_arg1 & 0xFFFF);
}
}
}//package Box2D.Collision
Section 23
//_-7r (Box2D.Collision._-7r)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class _-7r {
public var p1:b2Vec2;
public var p2:b2Vec2;
public function _-7r(){
p1 = new b2Vec2();
p2 = new b2Vec2();
super();
}
public function TestSegment(_arg1:Array, _arg2:b2Vec2, _arg3:_-7r, _arg4:Number):Boolean{
var _local5:b2Vec2;
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;
var _local18:Number;
_local5 = _arg3.p1;
_local6 = (_arg3.p2.x - _local5.x);
_local7 = (_arg3.p2.y - _local5.y);
_local8 = (p2.x - p1.x);
_local9 = (p2.y - p1.y);
_local10 = _local9;
_local11 = -(_local8);
_local12 = (100 * Number.MIN_VALUE);
_local13 = -(((_local6 * _local10) + (_local7 * _local11)));
if (_local13 > _local12){
_local14 = (_local5.x - p1.x);
_local15 = (_local5.y - p1.y);
_local16 = ((_local14 * _local10) + (_local15 * _local11));
if ((((0 <= _local16)) && ((_local16 <= (_arg4 * _local13))))){
_local17 = ((-(_local6) * _local15) + (_local7 * _local14));
if (((((-(_local12) * _local13) <= _local17)) && ((_local17 <= (_local13 * (1 + _local12)))))){
_local16 = (_local16 / _local13);
_local18 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11)));
_local10 = (_local10 / _local18);
_local11 = (_local11 / _local18);
_arg1[0] = _local16;
_arg2.Set(_local10, _local11);
return (true);
};
};
};
return (false);
}
}
}//package Box2D.Collision
Section 24
//_-8q (Box2D.Collision._-8q)
package Box2D.Collision {
public class _-8q {
public var _-7D:Array;
public var _-34:Array;
public function _-8q(){
_-7D = [0, 0];
_-34 = [0, 0];
super();
}
}
}//package Box2D.Collision
Section 25
//_-V (Box2D.Collision._-V)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Common.*;
public class _-V {
public var _-2R:b2Vec2;
public var m_worldAABB:b2AABB;
public var _-1K:Array;
public var _-56:uint;
public var _-64:int;
public var try:Array;
public var m_queryResultCount:int;
public var _-1G:_-5p;
public var static:uint;
public var _-7a:Array;
public static const else:uint = b2Settings.USHRT_MAX;
public static const _-3h:uint = b2Settings.USHRT_MAX;
public static var _-6t:Boolean = false;
public function _-V(_arg1:b2AABB, _arg2:_-4o){
var _local3:int;
var _local4:Number;
var _local5:Number;
var _local6:_-6s;
var _local7:int;
_-1G = new _-5p();
try = new Array(b2Settings.b2_maxPairs);
_-1K = new Array((2 * b2Settings.b2_maxProxies));
_-7a = new Array(b2Settings.b2_maxProxies);
_-2R = new b2Vec2();
super();
_-1G.Initialize(this, _arg2);
m_worldAABB = _arg1;
_-64 = 0;
_local3 = 0;
while (_local3 < b2Settings.b2_maxProxies) {
_-7a[_local3] = 0;
_local3++;
};
_-1K = new Array(2);
_local3 = 0;
while (_local3 < 2) {
_-1K[_local3] = new Array((2 * b2Settings.b2_maxProxies));
_local7 = 0;
while (_local7 < (2 * b2Settings.b2_maxProxies)) {
_-1K[_local3][_local7] = new b2Bound();
_local7++;
};
_local3++;
};
_local4 = (_arg1._-0Q.x - _arg1._-6x.x);
_local5 = (_arg1._-0Q.y - _arg1._-6x.y);
_-2R.x = (b2Settings.USHRT_MAX / _local4);
_-2R.y = (b2Settings.USHRT_MAX / _local5);
_local3 = 0;
while (_local3 < (b2Settings.b2_maxProxies - 1)) {
_local6 = new _-6s();
try[_local3] = _local6;
_local6._-7q((_local3 + 1));
_local6._-06 = 0;
_local6.false = _-3h;
_local6.userData = null;
_local3++;
};
_local6 = new _-6s();
try[int((b2Settings.b2_maxProxies - 1))] = _local6;
_local6._-7q(_-6R._-6d);
_local6._-06 = 0;
_local6.false = _-3h;
_local6.userData = null;
_-56 = 0;
static = 1;
m_queryResultCount = 0;
}
public function _-7l(_arg1:b2AABB, _arg2, _arg3:int):int{
var _local4:Array;
var _local5:Array;
var _local6:uint;
var _local7:uint;
var _local8:Array;
var _local9:Array;
var _local10:int;
var _local11:int;
var _local12:_-6s;
_local4 = new Array();
_local5 = new Array();
_-7W(_local4, _local5, _arg1);
_local8 = [_local6];
_local9 = [_local7];
_-5v(_local8, _local9, _local4[0], _local5[0], _-1K[0], (2 * _-64), 0);
_-5v(_local8, _local9, _local4[1], _local5[1], _-1K[1], (2 * _-64), 1);
_local10 = 0;
_local11 = 0;
while ((((_local11 < m_queryResultCount)) && ((_local10 < _arg3)))) {
_local12 = try[_-7a[_local11]];
_arg2[_local11] = _local12.userData;
_local11++;
_local10++;
};
m_queryResultCount = 0;
_-26();
return (_local10);
}
public function _-u():void{
_-1G._-u();
}
public function _-5u(_arg1:int):_-6s{
var _local2:_-6s;
_local2 = try[_arg1];
if ((((_arg1 == _-6R._-6d)) || ((_local2.IsValid() == false)))){
return (null);
};
return (_local2);
}
private function _-26():void{
var _local1:uint;
if (static == b2Settings.USHRT_MAX){
_local1 = 0;
while (_local1 < b2Settings.b2_maxProxies) {
(try[_local1] as _-6s)._-06 = 0;
_local1++;
};
static = 1;
} else {
static++;
};
}
private function _-5v(_arg1:Array, _arg2:Array, _arg3:uint, _arg4:uint, _arg5:Array, _arg6:uint, _arg7:int):void{
var _local8:uint;
var _local9:uint;
var _local10:b2Bound;
var _local11:uint;
var _local12:int;
var _local13:int;
var _local14:_-6s;
_local8 = _-3c(_arg5, _arg6, _arg3);
_local9 = _-3c(_arg5, _arg6, _arg4);
_local11 = _local8;
while (_local11 < _local9) {
_local10 = _arg5[_local11];
if (_local10._-6K()){
_-55(_local10._-4S);
};
_local11++;
};
if (_local8 > 0){
_local12 = (_local8 - 1);
_local10 = _arg5[_local12];
_local13 = _local10._-1E;
while (_local13) {
_local10 = _arg5[_local12];
if (_local10._-6K()){
_local14 = try[_local10._-4S];
if (_local8 <= _local14._-09[_arg7]){
_-55(_local10._-4S);
_local13--;
};
};
_local12--;
};
};
_arg1[0] = _local8;
_arg2[0] = _local9;
}
private function _-0M(_arg1:_-6s, _arg2:_-6s):Boolean{
var _local3:int;
var _local4:Array;
var _local5:b2Bound;
var _local6:b2Bound;
_local3 = 0;
while (_local3 < 2) {
_local4 = _-1K[_local3];
_local5 = _local4[_arg1.lowerBounds[_local3]];
_local6 = _local4[_arg2._-09[_local3]];
if (_local5.value > _local6.value){
return (false);
};
_local5 = _local4[_arg1._-09[_local3]];
_local6 = _local4[_arg2.lowerBounds[_local3]];
if (_local5.value < _local6.value){
return (false);
};
_local3++;
};
return (true);
}
private function _-7W(_arg1:Array, _arg2:Array, _arg3:b2AABB):void{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = _arg3._-6x.x;
_local5 = _arg3._-6x.y;
_local4 = b2Math.b2Min(_local4, m_worldAABB._-0Q.x);
_local5 = b2Math.b2Min(_local5, m_worldAABB._-0Q.y);
_local4 = b2Math.b2Max(_local4, m_worldAABB._-6x.x);
_local5 = b2Math.b2Max(_local5, m_worldAABB._-6x.y);
_local6 = _arg3._-0Q.x;
_local7 = _arg3._-0Q.y;
_local6 = b2Math.b2Min(_local6, m_worldAABB._-0Q.x);
_local7 = b2Math.b2Min(_local7, m_worldAABB._-0Q.y);
_local6 = b2Math.b2Max(_local6, m_worldAABB._-6x.x);
_local7 = b2Math.b2Max(_local7, m_worldAABB._-6x.y);
_arg1[0] = (uint((_-2R.x * (_local4 - m_worldAABB._-6x.x))) & (b2Settings.USHRT_MAX - 1));
_arg2[0] = ((uint((_-2R.x * (_local6 - m_worldAABB._-6x.x))) & 0xFFFF) | 1);
_arg1[1] = (uint((_-2R.y * (_local5 - m_worldAABB._-6x.y))) & (b2Settings.USHRT_MAX - 1));
_arg2[1] = ((uint((_-2R.y * (_local7 - m_worldAABB._-6x.y))) & 0xFFFF) | 1);
}
public function CreateProxy(_arg1:b2AABB, _arg2):uint{
var _local3:uint;
var _local4:_-6s;
var _local5:uint;
var _local6:uint;
var _local7:Array;
var _local8:Array;
var _local9:int;
var _local10:int;
var _local11:Array;
var _local12:uint;
var _local13:uint;
var _local14:Array;
var _local15:Array;
var _local16:Array;
var _local17:int;
var _local18:int;
var _local19:b2Bound;
var _local20:b2Bound;
var _local21:b2Bound;
var _local22:int;
var _local23:_-6s;
_local5 = _-56;
_local4 = try[_local5];
_-56 = _local4.GetNext();
_local4.false = 0;
_local4.userData = _arg2;
_local6 = (2 * _-64);
_local7 = new Array();
_local8 = new Array();
_-7W(_local7, _local8, _arg1);
_local9 = 0;
while (_local9 < 2) {
_local11 = _-1K[_local9];
_local14 = [_local12];
_local15 = [_local13];
_-5v(_local14, _local15, _local7[_local9], _local8[_local9], _local11, _local6, _local9);
_local12 = _local14[0];
_local13 = _local15[0];
_local16 = new Array();
_local18 = (_local6 - _local13);
_local17 = 0;
while (_local17 < _local18) {
_local16[_local17] = new b2Bound();
_local19 = _local16[_local17];
_local20 = _local11[int((_local13 + _local17))];
_local19.value = _local20.value;
_local19._-4S = _local20._-4S;
_local19._-1E = _local20._-1E;
_local17++;
};
_local18 = _local16.length;
_local22 = (_local13 + 2);
_local17 = 0;
while (_local17 < _local18) {
_local20 = _local16[_local17];
_local19 = _local11[int((_local22 + _local17))];
_local19.value = _local20.value;
_local19._-4S = _local20._-4S;
_local19._-1E = _local20._-1E;
_local17++;
};
_local16 = new Array();
_local18 = (_local13 - _local12);
_local17 = 0;
while (_local17 < _local18) {
_local16[_local17] = new b2Bound();
_local19 = _local16[_local17];
_local20 = _local11[int((_local12 + _local17))];
_local19.value = _local20.value;
_local19._-4S = _local20._-4S;
_local19._-1E = _local20._-1E;
_local17++;
};
_local18 = _local16.length;
_local22 = (_local12 + 1);
_local17 = 0;
while (_local17 < _local18) {
_local20 = _local16[_local17];
_local19 = _local11[int((_local22 + _local17))];
_local19.value = _local20.value;
_local19._-4S = _local20._-4S;
_local19._-1E = _local20._-1E;
_local17++;
};
_local13++;
_local19 = _local11[_local12];
_local20 = _local11[_local13];
_local19.value = _local7[_local9];
_local19._-4S = _local5;
_local20.value = _local8[_local9];
_local20._-4S = _local5;
_local21 = _local11[int((_local12 - 1))];
_local19._-1E = ((_local12 == 0)) ? 0 : _local21._-1E;
_local21 = _local11[int((_local13 - 1))];
_local20._-1E = _local21._-1E;
_local3 = _local12;
while (_local3 < _local13) {
_local21 = _local11[_local3];
_local21._-1E++;
_local3++;
};
_local3 = _local12;
while (_local3 < (_local6 + 2)) {
_local19 = _local11[_local3];
_local23 = try[_local19._-4S];
if (_local19._-6K()){
_local23.lowerBounds[_local9] = _local3;
} else {
_local23._-09[_local9] = _local3;
};
_local3++;
};
_local9++;
};
_-64++;
_local10 = 0;
while (_local10 < m_queryResultCount) {
_-1G._-5w(_local5, _-7a[_local10]);
_local10++;
};
_-1G._-u();
m_queryResultCount = 0;
_-26();
return (_local5);
}
public function DestroyProxy(_arg1:uint):void{
var _local2:b2Bound;
var _local3:b2Bound;
var _local4:_-6s;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:Array;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:Array;
var _local14:int;
var _local15:int;
var _local16:int;
var _local17:uint;
var _local18:int;
var _local19:_-6s;
_local4 = try[_arg1];
_local5 = (2 * _-64);
_local6 = 0;
while (_local6 < 2) {
_local8 = _-1K[_local6];
_local9 = _local4.lowerBounds[_local6];
_local10 = _local4._-09[_local6];
_local2 = _local8[_local9];
_local11 = _local2.value;
_local3 = _local8[_local10];
_local12 = _local3.value;
_local13 = new Array();
_local15 = ((_local10 - _local9) - 1);
_local14 = 0;
while (_local14 < _local15) {
_local13[_local14] = new b2Bound();
_local2 = _local13[_local14];
_local3 = _local8[int(((_local9 + 1) + _local14))];
_local2.value = _local3.value;
_local2._-4S = _local3._-4S;
_local2._-1E = _local3._-1E;
_local14++;
};
_local15 = _local13.length;
_local16 = _local9;
_local14 = 0;
while (_local14 < _local15) {
_local3 = _local13[_local14];
_local2 = _local8[int((_local16 + _local14))];
_local2.value = _local3.value;
_local2._-4S = _local3._-4S;
_local2._-1E = _local3._-1E;
_local14++;
};
_local13 = new Array();
_local15 = ((_local5 - _local10) - 1);
_local14 = 0;
while (_local14 < _local15) {
_local13[_local14] = new b2Bound();
_local2 = _local13[_local14];
_local3 = _local8[int(((_local10 + 1) + _local14))];
_local2.value = _local3.value;
_local2._-4S = _local3._-4S;
_local2._-1E = _local3._-1E;
_local14++;
};
_local15 = _local13.length;
_local16 = (_local10 - 1);
_local14 = 0;
while (_local14 < _local15) {
_local3 = _local13[_local14];
_local2 = _local8[int((_local16 + _local14))];
_local2.value = _local3.value;
_local2._-4S = _local3._-4S;
_local2._-1E = _local3._-1E;
_local14++;
};
_local15 = (_local5 - 2);
_local17 = _local9;
while (_local17 < _local15) {
_local2 = _local8[_local17];
_local19 = try[_local2._-4S];
if (_local2._-6K()){
_local19.lowerBounds[_local6] = _local17;
} else {
_local19._-09[_local6] = _local17;
};
_local17++;
};
_local15 = (_local10 - 1);
_local18 = _local9;
while (_local18 < _local15) {
_local2 = _local8[_local18];
_local2._-1E--;
_local18++;
};
_-5v([0], [0], _local11, _local12, _local8, (_local5 - 2), _local6);
_local6++;
};
_local7 = 0;
while (_local7 < m_queryResultCount) {
_-1G._-8D(_arg1, _-7a[_local7]);
_local7++;
};
_-1G._-u();
m_queryResultCount = 0;
_-26();
_local4.userData = null;
_local4.false = _-3h;
_local4.lowerBounds[0] = _-3h;
_local4.lowerBounds[1] = _-3h;
_local4._-09[0] = _-3h;
_local4._-09[1] = _-3h;
_local4._-7q(_-56);
_-56 = _arg1;
_-64--;
}
public function _-8w(_arg1:_-8q, _arg2:_-6s):Boolean{
var _local3:int;
var _local4:Array;
var _local5:b2Bound;
_local3 = 0;
while (_local3 < 2) {
_local4 = _-1K[_local3];
_local5 = _local4[_arg2._-09[_local3]];
if (_arg1._-7D[_local3] > _local5.value){
return (false);
};
_local5 = _local4[_arg2.lowerBounds[_local3]];
if (_arg1._-34[_local3] < _local5.value){
return (false);
};
_local3++;
};
return (true);
}
public function _-0o():void{
var _local1:_-6R;
var _local2:_-6s;
var _local3:_-6s;
var _local4:Boolean;
var _local5:int;
var _local6:b2Bound;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:b2Bound;
_local5 = 0;
while (_local5 < 2) {
_local6 = _-1K[_local5];
_local7 = (2 * _-64);
_local8 = 0;
_local9 = 0;
while (_local9 < _local7) {
_local10 = _local6[_local9];
if (_local10._-6K() == true){
_local8++;
} else {
_local8--;
};
_local9++;
};
_local5++;
};
}
private function _-55(_arg1:uint):void{
var _local2:_-6s;
_local2 = try[_arg1];
if (_local2._-06 < static){
_local2._-06 = static;
_local2.false = 1;
} else {
_local2.false = 2;
_-7a[m_queryResultCount] = _arg1;
m_queryResultCount++;
};
}
public function _-4Q(_arg1:b2AABB):Boolean{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local2 = _arg1._-6x.x;
_local3 = _arg1._-6x.y;
_local2 = (_local2 - m_worldAABB._-0Q.x);
_local3 = (_local3 - m_worldAABB._-0Q.y);
_local4 = m_worldAABB._-6x.x;
_local5 = m_worldAABB._-6x.y;
_local4 = (_local4 - _arg1._-0Q.x);
_local5 = (_local5 - _arg1._-0Q.y);
_local2 = b2Math.b2Max(_local2, _local4);
_local3 = b2Math.b2Max(_local3, _local5);
return ((b2Math.b2Max(_local2, _local3) < 0));
}
public function _-8P(_arg1:uint, _arg2:b2AABB):void{
var _local3:Array;
var _local4:int;
var _local5:uint;
var _local6:uint;
var _local7:b2Bound;
var _local8:b2Bound;
var _local9:b2Bound;
var _local10:uint;
var _local11:_-6s;
var _local12:uint;
var _local13:_-6s;
var _local14:_-8q;
var _local15:_-8q;
var _local16:Array;
var _local17:uint;
var _local18:uint;
var _local19:uint;
var _local20:uint;
var _local21:int;
var _local22:int;
var _local23:uint;
var _local24:_-6s;
if ((((_arg1 == _-6R._-6d)) || ((b2Settings.b2_maxProxies <= _arg1)))){
return;
};
if (_arg2.IsValid() == false){
return;
};
_local12 = (2 * _-64);
_local13 = try[_arg1];
_local14 = new _-8q();
_-7W(_local14._-7D, _local14._-34, _arg2);
_local15 = new _-8q();
_local5 = 0;
while (_local5 < 2) {
_local7 = _-1K[_local5][_local13.lowerBounds[_local5]];
_local15._-7D[_local5] = _local7.value;
_local7 = _-1K[_local5][_local13._-09[_local5]];
_local15._-34[_local5] = _local7.value;
_local5++;
};
_local5 = 0;
while (_local5 < 2) {
_local16 = _-1K[_local5];
_local17 = _local13.lowerBounds[_local5];
_local18 = _local13._-09[_local5];
_local19 = _local14._-7D[_local5];
_local20 = _local14._-34[_local5];
_local7 = _local16[_local17];
_local21 = (_local19 - _local7.value);
_local7.value = _local19;
_local7 = _local16[_local18];
_local22 = (_local20 - _local7.value);
_local7.value = _local20;
if (_local21 < 0){
_local6 = _local17;
while ((((_local6 > 0)) && ((_local19 < (_local16[int((_local6 - 1))] as b2Bound).value)))) {
_local7 = _local16[_local6];
_local8 = _local16[int((_local6 - 1))];
_local23 = _local8._-4S;
_local24 = try[_local8._-4S];
_local8._-1E++;
if (_local8._-6h() == true){
if (_-8w(_local14, _local24)){
_-1G._-5w(_arg1, _local23);
};
_local3 = _local24._-09;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7._-1E++;
} else {
_local3 = _local24.lowerBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7._-1E--;
};
_local3 = _local13.lowerBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7._-9(_local8);
_local6--;
};
};
if (_local22 > 0){
_local6 = _local18;
while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local20)))) {
_local7 = _local16[_local6];
_local9 = _local16[int((_local6 + 1))];
_local10 = _local9._-4S;
_local11 = try[_local10];
_local9._-1E++;
if (_local9._-6K() == true){
if (_-8w(_local14, _local11)){
_-1G._-5w(_arg1, _local10);
};
_local3 = _local11.lowerBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7._-1E++;
} else {
_local3 = _local11._-09;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7._-1E--;
};
_local3 = _local13._-09;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7._-9(_local9);
_local6++;
};
};
if (_local21 > 0){
_local6 = _local17;
while ((((_local6 < (_local12 - 1))) && (((_local16[int((_local6 + 1))] as b2Bound).value <= _local19)))) {
_local7 = _local16[_local6];
_local9 = _local16[int((_local6 + 1))];
_local10 = _local9._-4S;
_local11 = try[_local10];
_local9._-1E--;
if (_local9._-6h()){
if (_-8w(_local15, _local11)){
_-1G._-8D(_arg1, _local10);
};
_local3 = _local11._-09;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7._-1E--;
} else {
_local3 = _local11.lowerBounds;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7._-1E++;
};
_local3 = _local13.lowerBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7._-9(_local9);
_local6++;
};
};
if (_local22 < 0){
_local6 = _local18;
while ((((_local6 > 0)) && ((_local20 < (_local16[int((_local6 - 1))] as b2Bound).value)))) {
_local7 = _local16[_local6];
_local8 = _local16[int((_local6 - 1))];
_local23 = _local8._-4S;
_local24 = try[_local23];
_local8._-1E--;
if (_local8._-6K() == true){
if (_-8w(_local15, _local24)){
_-1G._-8D(_arg1, _local23);
};
_local3 = _local24.lowerBounds;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7._-1E--;
} else {
_local3 = _local24._-09;
_local4 = _local3[_local5];
_local4++;
_local3[_local5] = _local4;
_local7._-1E++;
};
_local3 = _local13._-09;
_local4 = _local3[_local5];
_local4--;
_local3[_local5] = _local4;
_local7._-9(_local8);
_local6--;
};
};
_local5++;
};
}
public static function _-3c(_arg1:Array, _arg2:int, _arg3:uint):uint{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:b2Bound;
_local4 = 0;
_local5 = (_arg2 - 1);
while (_local4 <= _local5) {
_local6 = ((_local4 + _local5) / 2);
_local7 = _arg1[_local6];
if (_local7.value > _arg3){
_local5 = (_local6 - 1);
} else {
if (_local7.value < _arg3){
_local4 = (_local6 + 1);
} else {
return (uint(_local6));
};
};
};
return (uint(_local4));
}
}
}//package Box2D.Collision
Section 26
//b2AABB (Box2D.Collision.b2AABB)
package Box2D.Collision {
import Box2D.Common.Math.*;
public class b2AABB {
public var _-0Q:b2Vec2;
public var _-6x:b2Vec2;
public function b2AABB(){
_-6x = new b2Vec2();
_-0Q = new b2Vec2();
super();
}
public function IsValid():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:Boolean;
_local1 = (_-0Q.x - _-6x.x);
_local2 = (_-0Q.y - _-6x.y);
_local3 = (((_local1 >= 0)) && ((_local2 >= 0)));
_local3 = ((((_local3) && (_-6x.IsValid()))) && (_-0Q.IsValid()));
return (_local3);
}
}
}//package Box2D.Collision
Section 27
//b2Bound (Box2D.Collision.b2Bound)
package Box2D.Collision {
public class b2Bound {
public var _-4S:uint;
public var _-1E:uint;
public var value:uint;
public function _-9(_arg1:b2Bound):void{
var _local2:uint;
var _local3:uint;
var _local4:uint;
_local2 = value;
_local3 = _-4S;
_local4 = _-1E;
value = _arg1.value;
_-4S = _arg1._-4S;
_-1E = _arg1._-1E;
_arg1.value = _local2;
_arg1._-4S = _local3;
_arg1._-1E = _local4;
}
public function _-6K():Boolean{
return (((value & 1) == 0));
}
public function _-6h():Boolean{
return (((value & 1) == 1));
}
}
}//package Box2D.Collision
Section 28
//b2ContactPoint (Box2D.Collision.b2ContactPoint)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
public class b2ContactPoint {
public var separation:Number;
public var normal:b2Vec2;
public var position:b2Vec2;
public var restitution:Number;
public var shape1:b2Shape;
public var shape2:b2Shape;
public var id:_-3o;
public var friction:Number;
public var _-1Z:b2Vec2;
public function b2ContactPoint(){
position = new b2Vec2();
_-1Z = new b2Vec2();
normal = new b2Vec2();
id = new _-3o();
super();
}
}
}//package Box2D.Collision
Section 29
//b2Distance (Box2D.Collision.b2Distance)
package Box2D.Collision {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.*;
public class b2Distance {
private static var _-3x:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()];
private static var _-6z:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()];
private static var _-5c:Array = [new b2Vec2(), new b2Vec2(), new b2Vec2()];
private static var _-3d:_-4l = new _-4l();
public static var _-8y:int = 0;
public static function _-66(_arg1:b2Vec2, _arg2:Array, _arg3:int):Boolean{
var _local4:Number;
var _local5:int;
var _local6:b2Vec2;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local4 = (100 * Number.MIN_VALUE);
_local5 = 0;
while (_local5 < _arg3) {
_local6 = _arg2[_local5];
_local7 = Math.abs((_arg1.x - _local6.x));
_local8 = Math.abs((_arg1.y - _local6.y));
_local9 = Math.max(Math.abs(_arg1.x), Math.abs(_local6.x));
_local10 = Math.max(Math.abs(_arg1.y), Math.abs(_local6.y));
if ((((_local7 < (_local4 * (_local9 + 1)))) && ((_local8 < (_local4 * (_local10 + 1)))))){
return (true);
};
_local5++;
};
return (false);
}
public static function _-6V(_arg1:b2Vec2, _arg2:b2Vec2, _arg3, _arg4:b2XForm, _arg5, _arg6:b2XForm):Number{
var _local7:b2Vec2;
var _local8:Array;
var _local9:Array;
var _local10:Array;
var _local11:int;
var _local12:Number;
var _local13:int;
var _local14:int;
var _local15:Number;
var _local16:Number;
var _local17:b2Vec2;
var _local18:b2Vec2;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:int;
_local8 = _-6z;
_local9 = _-3x;
_local10 = _-5c;
_local11 = 0;
_arg1.SetV(_arg3.GetFirstVertex(_arg4));
_arg2.SetV(_arg5.GetFirstVertex(_arg6));
_local12 = 0;
_local13 = 20;
_local14 = 0;
while (_local14 < _local13) {
_local15 = (_arg2.x - _arg1.x);
_local16 = (_arg2.y - _arg1.y);
_local17 = _arg3.Support(_arg4, _local15, _local16);
_local18 = _arg5.Support(_arg6, -(_local15), -(_local16));
_local12 = ((_local15 * _local15) + (_local16 * _local16));
_local19 = (_local18.x - _local17.x);
_local20 = (_local18.y - _local17.y);
_local21 = ((_local15 * _local19) + (_local16 * _local20));
if ((_local12 - _local21) <= (0.01 * _local12)){
if (_local11 == 0){
_arg1.SetV(_local17);
_arg2.SetV(_local18);
};
_-8y = _local14;
return (Math.sqrt(_local12));
};
switch (_local11){
case 0:
_local7 = _local8[0];
_local7.SetV(_local17);
_local7 = _local9[0];
_local7.SetV(_local18);
_local7 = _local10[0];
_local7.x = _local19;
_local7.y = _local20;
_arg1.SetV(_local8[0]);
_arg2.SetV(_local9[0]);
_local11++;
break;
case 1:
_local7 = _local8[1];
_local7.SetV(_local17);
_local7 = _local9[1];
_local7.SetV(_local18);
_local7 = _local10[1];
_local7.x = _local19;
_local7.y = _local20;
_local11 = _-2M(_arg1, _arg2, _local8, _local9, _local10);
break;
case 2:
_local7 = _local8[2];
_local7.SetV(_local17);
_local7 = _local9[2];
_local7.SetV(_local18);
_local7 = _local10[2];
_local7.x = _local19;
_local7.y = _local20;
_local11 = null(_arg1, _arg2, _local8, _local9, _local10);
break;
};
if (_local11 == 3){
_-8y = _local14;
return (0);
};
_local22 = -(Number.MAX_VALUE);
_local23 = 0;
while (_local23 < _local11) {
_local7 = _local10[_local23];
_local22 = b2Math.b2Max(_local22, ((_local7.x * _local7.x) + (_local7.y * _local7.y)));
_local23++;
};
if ((((_local11 == 3)) || ((_local12 <= ((100 * Number.MIN_VALUE) * _local22))))){
_-8y = _local14;
_local15 = (_arg2.x - _arg1.x);
_local16 = (_arg2.y - _arg1.y);
_local12 = ((_local15 * _local15) + (_local16 * _local16));
return (Math.sqrt(_local12));
};
_local14++;
};
_-8y = _local13;
return (Math.sqrt(_local12));
}
public static function _-2e(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2CircleShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{
var _local7:b2Mat22;
var _local8:b2Vec2;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
_local7 = _arg4.R;
_local8 = _arg3.m_localPosition;
_local9 = (_arg4.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y)));
_local10 = (_arg4.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y)));
_local7 = _arg6.R;
_local8 = _arg5.m_localPosition;
_local11 = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y)));
_local12 = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y)));
_local13 = (_local11 - _local9);
_local14 = (_local12 - _local10);
_local15 = ((_local13 * _local13) + (_local14 * _local14));
_local16 = (_arg3.m_radius - b2Settings.b2_toiSlop);
_local17 = (_arg5.m_radius - b2Settings.b2_toiSlop);
_local18 = (_local16 + _local17);
if (_local15 > (_local18 * _local18)){
_local19 = Math.sqrt(_local15);
_local13 = (_local13 / _local19);
_local14 = (_local14 / _local19);
_local20 = (_local19 - _local18);
_arg1.x = (_local9 + (_local16 * _local13));
_arg1.y = (_local10 + (_local16 * _local14));
_arg2.x = (_local11 - (_local17 * _local13));
_arg2.y = (_local12 - (_local17 * _local14));
return (_local20);
};
if (_local15 > (Number.MIN_VALUE * Number.MIN_VALUE)){
_local19 = Math.sqrt(_local15);
_local13 = (_local13 / _local19);
_local14 = (_local14 / _local19);
_arg1.x = (_local9 + (_local16 * _local13));
_arg1.y = (_local10 + (_local16 * _local14));
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
return (0);
};
_arg1.x = _local9;
_arg1.y = _local10;
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
return (0);
}
public static function null(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{
var _local6:b2Vec2;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:b2Vec2;
var _local10:b2Vec2;
var _local11:b2Vec2;
var _local12:b2Vec2;
var _local13:b2Vec2;
var _local14:b2Vec2;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:Number;
var _local38:Number;
var _local39:Number;
var _local40:Number;
var _local41:Number;
_local6 = _arg5[0];
_local7 = _arg5[1];
_local8 = _arg5[2];
_local9 = _arg3[0];
_local10 = _arg3[1];
_local11 = _arg3[2];
_local12 = _arg4[0];
_local13 = _arg4[1];
_local14 = _arg4[2];
_local15 = _local6.x;
_local16 = _local6.y;
_local17 = _local7.x;
_local18 = _local7.y;
_local19 = _local8.x;
_local20 = _local8.y;
_local21 = (_local17 - _local15);
_local22 = (_local18 - _local16);
_local23 = (_local19 - _local15);
_local24 = (_local20 - _local16);
_local25 = (_local19 - _local17);
_local26 = (_local20 - _local18);
_local27 = -(((_local15 * _local21) + (_local16 * _local22)));
_local28 = ((_local17 * _local21) + (_local18 * _local22));
_local29 = -(((_local15 * _local23) + (_local16 * _local24)));
_local30 = ((_local19 * _local23) + (_local20 * _local24));
_local31 = -(((_local17 * _local25) + (_local18 * _local26)));
_local32 = ((_local19 * _local25) + (_local20 * _local26));
if ((((_local30 <= 0)) && ((_local32 <= 0)))){
_arg1.SetV(_local11);
_arg2.SetV(_local14);
_local9.SetV(_local11);
_local12.SetV(_local14);
_local6.SetV(_local8);
return (1);
};
_local33 = ((_local21 * _local24) - (_local22 * _local23));
_local34 = (_local33 * ((_local15 * _local18) - (_local16 * _local17)));
_local36 = (_local33 * ((_local17 * _local20) - (_local18 * _local19)));
if ((((((((_local36 <= 0)) && ((_local31 >= 0)))) && ((_local32 >= 0)))) && (((_local31 + _local32) > 0)))){
_local35 = (_local31 / (_local31 + _local32));
_arg1.x = (_local10.x + (_local35 * (_local11.x - _local10.x)));
_arg1.y = (_local10.y + (_local35 * (_local11.y - _local10.y)));
_arg2.x = (_local13.x + (_local35 * (_local14.x - _local13.x)));
_arg2.y = (_local13.y + (_local35 * (_local14.y - _local13.y)));
_local9.SetV(_local11);
_local12.SetV(_local14);
_local6.SetV(_local8);
return (2);
};
_local37 = (_local33 * ((_local19 * _local16) - (_local20 * _local15)));
if ((((((((_local37 <= 0)) && ((_local29 >= 0)))) && ((_local30 >= 0)))) && (((_local29 + _local30) > 0)))){
_local35 = (_local29 / (_local29 + _local30));
_arg1.x = (_local9.x + (_local35 * (_local11.x - _local9.x)));
_arg1.y = (_local9.y + (_local35 * (_local11.y - _local9.y)));
_arg2.x = (_local12.x + (_local35 * (_local14.x - _local12.x)));
_arg2.y = (_local12.y + (_local35 * (_local14.y - _local12.y)));
_local10.SetV(_local11);
_local13.SetV(_local14);
_local7.SetV(_local8);
return (2);
};
_local38 = ((_local36 + _local37) + _local34);
_local38 = (1 / _local38);
_local39 = (_local36 * _local38);
_local40 = (_local37 * _local38);
_local41 = ((1 - _local39) - _local40);
_arg1.x = (((_local39 * _local9.x) + (_local40 * _local10.x)) + (_local41 * _local11.x));
_arg1.y = (((_local39 * _local9.y) + (_local40 * _local10.y)) + (_local41 * _local11.y));
_arg2.x = (((_local39 * _local12.x) + (_local40 * _local13.x)) + (_local41 * _local14.x));
_arg2.y = (((_local39 * _local12.y) + (_local40 * _local13.y)) + (_local41 * _local14.y));
return (3);
}
public static function _-57(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2PolygonShape, _arg4:b2XForm, _arg5:b2CircleShape, _arg6:b2XForm):Number{
var _local7:b2Mat22;
var _local8:b2Vec2;
var _local9:_-4l;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
_local9 = _-3d;
_local8 = _arg5.m_localPosition;
_local7 = _arg6.R;
_local9.p.x = (_arg6.position.x + ((_local7.col1.x * _local8.x) + (_local7.col2.x * _local8.y)));
_local9.p.y = (_arg6.position.y + ((_local7.col1.y * _local8.x) + (_local7.col2.y * _local8.y)));
_local10 = _-6V(_arg1, _arg2, _arg3, _arg4, _local9, b2Math.b2XForm_identity);
_local11 = (_arg5.m_radius - b2Settings.b2_toiSlop);
if (_local10 > _local11){
_local10 = (_local10 - _local11);
_local12 = (_arg2.x - _arg1.x);
_local13 = (_arg2.y - _arg1.y);
_local14 = Math.sqrt(((_local12 * _local12) + (_local13 * _local13)));
_local12 = (_local12 / _local14);
_local13 = (_local13 / _local14);
_arg2.x = (_arg2.x - (_local11 * _local12));
_arg2.y = (_arg2.y - (_local11 * _local13));
} else {
_local10 = 0;
_arg2.x = _arg1.x;
_arg2.y = _arg1.y;
};
return (_local10);
}
public static function _-10(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Shape, _arg4:b2XForm, _arg5:b2Shape, _arg6:b2XForm):Number{
var _local7:int;
var _local8:int;
_local7 = _arg3.m_type;
_local8 = _arg5.m_type;
if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_circleShape)))){
return (_-2e(_arg1, _arg2, (_arg3 as b2CircleShape), _arg4, (_arg5 as b2CircleShape), _arg6));
};
if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_circleShape)))){
return (_-57(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2CircleShape), _arg6));
};
if ((((_local7 == b2Shape.e_circleShape)) && ((_local8 == b2Shape.e_polygonShape)))){
return (_-57(_arg2, _arg1, (_arg5 as b2PolygonShape), _arg6, (_arg3 as b2CircleShape), _arg4));
};
if ((((_local7 == b2Shape.e_polygonShape)) && ((_local8 == b2Shape.e_polygonShape)))){
return (_-6V(_arg1, _arg2, (_arg3 as b2PolygonShape), _arg4, (_arg5 as b2PolygonShape), _arg6));
};
return (0);
}
public static function _-2M(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:Array, _arg4:Array, _arg5:Array):int{
var _local6:b2Vec2;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:b2Vec2;
var _local10:b2Vec2;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
_local6 = _arg5[0];
_local7 = _arg5[1];
_local8 = _arg3[0];
_local9 = _arg3[1];
_local10 = _arg4[0];
_local11 = _arg4[1];
_local12 = -(_local7.x);
_local13 = -(_local7.y);
_local14 = (_local6.x - _local7.x);
_local15 = (_local6.y - _local7.y);
_local16 = Math.sqrt(((_local14 * _local14) + (_local15 * _local15)));
_local14 = (_local14 / _local16);
_local15 = (_local15 / _local16);
_local17 = ((_local12 * _local14) + (_local13 * _local15));
if ((((_local17 <= 0)) || ((_local16 < Number.MIN_VALUE)))){
_arg1.SetV(_local9);
_arg2.SetV(_local11);
_local8.SetV(_local9);
_local10.SetV(_local11);
_local6.SetV(_local7);
return (1);
};
_local17 = (_local17 / _local16);
_arg1.x = (_local9.x + (_local17 * (_local8.x - _local9.x)));
_arg1.y = (_local9.y + (_local17 * (_local8.y - _local9.y)));
_arg2.x = (_local11.x + (_local17 * (_local10.x - _local11.x)));
_arg2.y = (_local11.y + (_local17 * (_local10.y - _local11.y)));
return (2);
}
}
}//package Box2D.Collision
Section 30
//b2Mat22 (Box2D.Common.Math.b2Mat22)
package Box2D.Common.Math {
public class b2Mat22 {
public var col1:b2Vec2;
public var col2:b2Vec2;
public function b2Mat22(_arg1:Number=0, _arg2:b2Vec2=null, _arg3:b2Vec2=null){
var _local4:Number;
var _local5:Number;
col1 = new b2Vec2();
col2 = new b2Vec2();
super();
if (((!((_arg2 == null))) && (!((_arg3 == null))))){
col1.SetV(_arg2);
col2.SetV(_arg3);
} else {
_local4 = Math.cos(_arg1);
_local5 = Math.sin(_arg1);
col1.x = _local4;
col2.x = -(_local5);
col1.y = _local5;
col2.y = _local4;
};
}
public function SetIdentity():void{
col1.x = 1;
col2.x = 0;
col1.y = 0;
col2.y = 1;
}
public function Set(_arg1:Number):void{
var _local2:Number;
var _local3:Number;
_local2 = Math.cos(_arg1);
_local3 = Math.sin(_arg1);
col1.x = _local2;
col2.x = -(_local3);
col1.y = _local3;
col2.y = _local2;
}
public function SetVV(_arg1:b2Vec2, _arg2:b2Vec2):void{
col1.SetV(_arg1);
col2.SetV(_arg2);
}
public function SetZero():void{
col1.x = 0;
col2.x = 0;
col1.y = 0;
col2.y = 0;
}
public function SetM(_arg1:b2Mat22):void{
col1.SetV(_arg1.col1);
col2.SetV(_arg1.col2);
}
public function AddM(_arg1:b2Mat22):void{
col1.x = (col1.x + _arg1.col1.x);
col1.y = (col1.y + _arg1.col1.y);
col2.x = (col2.x + _arg1.col2.x);
col2.y = (col2.y + _arg1.col2.y);
}
public function Abs():void{
col1.Abs();
col2.Abs();
}
public function Copy():b2Mat22{
return (new b2Mat22(0, col1, col2));
}
public function Invert(_arg1:b2Mat22):b2Mat22{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = col1.x;
_local3 = col2.x;
_local4 = col1.y;
_local5 = col2.y;
_local6 = ((_local2 * _local5) - (_local3 * _local4));
_local6 = (1 / _local6);
_arg1.col1.x = (_local6 * _local5);
_arg1.col2.x = (-(_local6) * _local3);
_arg1.col1.y = (-(_local6) * _local4);
_arg1.col2.y = (_local6 * _local2);
return (_arg1);
}
public function GetAngle():Number{
return (Math.atan2(col1.y, col1.x));
}
public function Solve(_arg1:b2Vec2, _arg2:Number, _arg3:Number):b2Vec2{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local4 = col1.x;
_local5 = col2.x;
_local6 = col1.y;
_local7 = col2.y;
_local8 = ((_local4 * _local7) - (_local5 * _local6));
_local8 = (1 / _local8);
_arg1.x = (_local8 * ((_local7 * _arg2) - (_local5 * _arg3)));
_arg1.y = (_local8 * ((_local4 * _arg3) - (_local6 * _arg2)));
return (_arg1);
}
}
}//package Box2D.Common.Math
Section 31
//b2Math (Box2D.Common.Math.b2Math)
package Box2D.Common.Math {
public class b2Math {
public static const b2Mat22_identity:b2Mat22 = new b2Mat22(0, new b2Vec2(1, 0), new b2Vec2(0, 1));
public static const b2XForm_identity:b2XForm = new b2XForm(b2Vec2_zero, b2Mat22_identity);
public static const b2Vec2_zero:b2Vec2 = new b2Vec2(0, 0);
public static function b2CrossVF(_arg1:b2Vec2, _arg2:Number):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2((_arg2 * _arg1.y), (-(_arg2) * _arg1.x));
return (_local3);
}
public static function AddVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2((_arg1.x + _arg2.x), (_arg1.y + _arg2.y));
return (_local3);
}
public static function b2IsValid(_arg1:Number):Boolean{
return (isFinite(_arg1));
}
public static function b2MinV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2(b2Min(_arg1.x, _arg2.x), b2Min(_arg1.y, _arg2.y));
return (_local3);
}
public static function b2MulX(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = b2MulMV(_arg1.R, _arg2);
_local3.x = (_local3.x + _arg1.position.x);
_local3.y = (_local3.y + _arg1.position.y);
return (_local3);
}
public static function b2DistanceSquared(_arg1:b2Vec2, _arg2:b2Vec2):Number{
var _local3:Number;
var _local4:Number;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
return (((_local3 * _local3) + (_local4 * _local4)));
}
public static function b2Swap(_arg1:Array, _arg2:Array):void{
var _local3:*;
_local3 = _arg1[0];
_arg1[0] = _arg2[0];
_arg2[0] = _local3;
}
public static function b2AbsM(_arg1:b2Mat22):b2Mat22{
var _local2:b2Mat22;
_local2 = new b2Mat22(0, b2AbsV(_arg1.col1), b2AbsV(_arg1.col2));
return (_local2);
}
public static function SubtractVV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2((_arg1.x - _arg2.x), (_arg1.y - _arg2.y));
return (_local3);
}
public static function b2MulXT(_arg1:b2XForm, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
var _local4:Number;
_local3 = SubtractVV(_arg2, _arg1.position);
_local4 = ((_local3.x * _arg1.R.col1.x) + (_local3.y * _arg1.R.col1.y));
_local3.y = ((_local3.x * _arg1.R.col2.x) + (_local3.y * _arg1.R.col2.y));
_local3.x = _local4;
return (_local3);
}
public static function b2Abs(_arg1:Number):Number{
return (((_arg1 > 0)) ? _arg1 : -(_arg1));
}
public static function b2Clamp(_arg1:Number, _arg2:Number, _arg3:Number):Number{
return (b2Max(_arg2, b2Min(_arg1, _arg3)));
}
public static function b2AbsV(_arg1:b2Vec2):b2Vec2{
var _local2:b2Vec2;
_local2 = new b2Vec2(b2Abs(_arg1.x), b2Abs(_arg1.y));
return (_local2);
}
public static function MulFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2((_arg1 * _arg2.x), (_arg1 * _arg2.y));
return (_local3);
}
public static function b2CrossVV(_arg1:b2Vec2, _arg2:b2Vec2):Number{
return (((_arg1.x * _arg2.y) - (_arg1.y * _arg2.x)));
}
public static function b2Dot(_arg1:b2Vec2, _arg2:b2Vec2):Number{
return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)));
}
public static function b2CrossFV(_arg1:Number, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2((-(_arg1) * _arg2.y), (_arg1 * _arg2.x));
return (_local3);
}
public static function AddMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{
var _local3:b2Mat22;
_local3 = new b2Mat22(0, AddVV(_arg1.col1, _arg2.col1), AddVV(_arg1.col2, _arg2.col2));
return (_local3);
}
public static function b2Distance(_arg1:b2Vec2, _arg2:b2Vec2):Number{
var _local3:Number;
var _local4:Number;
_local3 = (_arg1.x - _arg2.x);
_local4 = (_arg1.y - _arg2.y);
return (Math.sqrt(((_local3 * _local3) + (_local4 * _local4))));
}
public static function b2MulTMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{
var _local3:b2Vec2;
var _local4:b2Vec2;
var _local5:b2Mat22;
_local3 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col1), b2Dot(_arg1.col2, _arg2.col1));
_local4 = new b2Vec2(b2Dot(_arg1.col1, _arg2.col2), b2Dot(_arg1.col2, _arg2.col2));
_local5 = new b2Mat22(0, _local3, _local4);
return (_local5);
}
public static function b2MaxV(_arg1:b2Vec2, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2(b2Max(_arg1.x, _arg2.x), b2Max(_arg1.y, _arg2.y));
return (_local3);
}
public static function b2IsPowerOfTwo(_arg1:uint):Boolean{
var _local2:Boolean;
_local2 = (((_arg1 > 0)) && (((_arg1 & (_arg1 - 1)) == 0)));
return (_local2);
}
public static function b2ClampV(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Vec2):b2Vec2{
return (b2MaxV(_arg2, b2MinV(_arg1, _arg3)));
}
public static function b2RandomRange(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
_local3 = Math.random();
_local3 = (((_arg2 - _arg1) * _local3) + _arg1);
return (_local3);
}
public static function b2MulTMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2(b2Dot(_arg2, _arg1.col1), b2Dot(_arg2, _arg1.col2));
return (_local3);
}
public static function b2Min(_arg1:Number, _arg2:Number):Number{
return (((_arg1 < _arg2)) ? _arg1 : _arg2);
}
public static function b2Random():Number{
return (((Math.random() * 2) - 1));
}
public static function b2MulMM(_arg1:b2Mat22, _arg2:b2Mat22):b2Mat22{
var _local3:b2Mat22;
_local3 = new b2Mat22(0, b2MulMV(_arg1, _arg2.col1), b2MulMV(_arg1, _arg2.col2));
return (_local3);
}
public static function b2NextPowerOfTwo(_arg1:uint):uint{
_arg1 = (_arg1 | ((_arg1 >> 1) & 2147483647));
_arg1 = (_arg1 | ((_arg1 >> 2) & 1073741823));
_arg1 = (_arg1 | ((_arg1 >> 4) & 268435455));
_arg1 = (_arg1 | ((_arg1 >> 8) & 0xFFFFFF));
_arg1 = (_arg1 | ((_arg1 >> 16) & 0xFFFF));
return ((_arg1 + 1));
}
public static function b2Max(_arg1:Number, _arg2:Number):Number{
return (((_arg1 > _arg2)) ? _arg1 : _arg2);
}
public static function b2MulMV(_arg1:b2Mat22, _arg2:b2Vec2):b2Vec2{
var _local3:b2Vec2;
_local3 = new b2Vec2(((_arg1.col1.x * _arg2.x) + (_arg1.col2.x * _arg2.y)), ((_arg1.col1.y * _arg2.x) + (_arg1.col2.y * _arg2.y)));
return (_local3);
}
}
}//package Box2D.Common.Math
Section 32
//b2Sweep (Box2D.Common.Math.b2Sweep)
package Box2D.Common.Math {
public class b2Sweep {
public var localCenter:b2Vec2;
public var c:b2Vec2;
public var a:Number;
public var c0:b2Vec2;
public var a0:Number;
public var t0:Number;
public function b2Sweep(){
localCenter = new b2Vec2();
c0 = new b2Vec2();
c = new b2Vec2();
super();
}
public function Advance(_arg1:Number):void{
var _local2:Number;
if ((((t0 < _arg1)) && (((1 - t0) > Number.MIN_VALUE)))){
_local2 = ((_arg1 - t0) / (1 - t0));
c0.x = (((1 - _local2) * c0.x) + (_local2 * c.x));
c0.y = (((1 - _local2) * c0.y) + (_local2 * c.y));
a0 = (((1 - _local2) * a0) + (_local2 * a));
t0 = _arg1;
};
}
public function GetXForm(_arg1:b2XForm, _arg2:Number):void{
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
if ((1 - t0) > Number.MIN_VALUE){
_local4 = ((_arg2 - t0) / (1 - t0));
_arg1.position.x = (((1 - _local4) * c0.x) + (_local4 * c.x));
_arg1.position.y = (((1 - _local4) * c0.y) + (_local4 * c.y));
_local5 = (((1 - _local4) * a0) + (_local4 * a));
_arg1.R.Set(_local5);
} else {
_arg1.position.SetV(c);
_arg1.R.Set(a);
};
_local3 = _arg1.R;
_arg1.position.x = (_arg1.position.x - ((_local3.col1.x * localCenter.x) + (_local3.col2.x * localCenter.y)));
_arg1.position.y = (_arg1.position.y - ((_local3.col1.y * localCenter.x) + (_local3.col2.y * localCenter.y)));
}
}
}//package Box2D.Common.Math
Section 33
//b2Vec2 (Box2D.Common.Math.b2Vec2)
package Box2D.Common.Math {
public class b2Vec2 {
public var x:Number;
public var y:Number;
public function b2Vec2(_arg1:Number=0, _arg2:Number=0):void{
x = _arg1;
y = _arg2;
}
public function Set(_arg1:Number=0, _arg2:Number=0):void{
x = _arg1;
y = _arg2;
}
public function Multiply(_arg1:Number):void{
x = (x * _arg1);
y = (y * _arg1);
}
public function Length():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function LengthSquared():Number{
return (((x * x) + (y * y)));
}
public function SetZero():void{
x = 0;
y = 0;
}
public function Add(_arg1:b2Vec2):void{
x = (x + _arg1.x);
y = (y + _arg1.y);
}
public function MaxV(_arg1:b2Vec2):void{
x = ((x > _arg1.x)) ? x : _arg1.x;
y = ((y > _arg1.y)) ? y : _arg1.y;
}
public function SetV(_arg1:b2Vec2):void{
x = _arg1.x;
y = _arg1.y;
}
public function Negative():b2Vec2{
return (new b2Vec2(-(x), -(y)));
}
public function CrossVF(_arg1:Number):void{
var _local2:Number;
_local2 = x;
x = (_arg1 * y);
y = (-(_arg1) * _local2);
}
public function Abs():void{
if (x < 0){
x = -(x);
};
if (y < 0){
y = -(y);
};
}
public function Copy():b2Vec2{
return (new b2Vec2(x, y));
}
public function MulTM(_arg1:b2Mat22):void{
var _local2:Number;
_local2 = b2Math.b2Dot(this, _arg1.col1);
y = b2Math.b2Dot(this, _arg1.col2);
x = _local2;
}
public function IsValid():Boolean{
return (((b2Math.b2IsValid(x)) && (b2Math.b2IsValid(y))));
}
public function MinV(_arg1:b2Vec2):void{
x = ((x < _arg1.x)) ? x : _arg1.x;
y = ((y < _arg1.y)) ? y : _arg1.y;
}
public function MulM(_arg1:b2Mat22):void{
var _local2:Number;
_local2 = x;
x = ((_arg1.col1.x * _local2) + (_arg1.col2.x * y));
y = ((_arg1.col1.y * _local2) + (_arg1.col2.y * y));
}
public function Normalize():Number{
var _local1:Number;
var _local2:Number;
_local1 = Math.sqrt(((x * x) + (y * y)));
if (_local1 < Number.MIN_VALUE){
return (0);
};
_local2 = (1 / _local1);
x = (x * _local2);
y = (y * _local2);
return (_local1);
}
public function Subtract(_arg1:b2Vec2):void{
x = (x - _arg1.x);
y = (y - _arg1.y);
}
public function CrossFV(_arg1:Number):void{
var _local2:Number;
_local2 = x;
x = (-(_arg1) * y);
y = (_arg1 * _local2);
}
public static function Make(_arg1:Number, _arg2:Number):b2Vec2{
return (new b2Vec2(_arg1, _arg2));
}
}
}//package Box2D.Common.Math
Section 34
//b2XForm (Box2D.Common.Math.b2XForm)
package Box2D.Common.Math {
public class b2XForm {
public var R:b2Mat22;
public var position:b2Vec2;
public function b2XForm(_arg1:b2Vec2=null, _arg2:b2Mat22=null):void{
position = new b2Vec2();
R = new b2Mat22();
super();
if (_arg1){
position.SetV(_arg1);
R.SetM(_arg2);
};
}
public function Initialize(_arg1:b2Vec2, _arg2:b2Mat22):void{
position.SetV(_arg1);
R.SetM(_arg2);
}
public function Set(_arg1:b2XForm):void{
position.SetV(_arg1.position);
R.SetM(_arg1.R);
}
public function SetIdentity():void{
position.SetZero();
R.SetIdentity();
}
}
}//package Box2D.Common.Math
Section 35
//b2Color (Box2D.Common.b2Color)
package Box2D.Common {
import Box2D.Common.Math.*;
public class b2Color {
private var _g:uint;// = 0
private var _b:uint;// = 0
private var _r:uint;// = 0
public function b2Color(_arg1:Number, _arg2:Number, _arg3:Number){
_r = 0;
_g = 0;
_b = 0;
super();
_r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
_g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));
_b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1)));
}
public function Set(_arg1:Number, _arg2:Number, _arg3:Number):void{
_r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
_g = uint((0xFF * b2Math.b2Clamp(_arg2, 0, 1)));
_b = uint((0xFF * b2Math.b2Clamp(_arg3, 0, 1)));
}
public function get color():uint{
return ((((_r << 16) | (_g << 8)) | _b));
}
public function set r(_arg1:Number):void{
_r = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
}
public function set b(_arg1:Number):void{
_b = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
}
public function set g(_arg1:Number):void{
_g = uint((0xFF * b2Math.b2Clamp(_arg1, 0, 1)));
}
}
}//package Box2D.Common
Section 36
//b2Settings (Box2D.Common.b2Settings)
package Box2D.Common {
import Box2D.Common.Math.*;
public class b2Settings {
public static const b2_angularSleepTolerance:Number = 0.0111111111111111;
public static const b2_linearSleepTolerance:Number = 0.01;
public static const b2_angularSlop:Number = 0.0349065850398866;
public static const b2_linearSlop:Number = 0.005;
public static const b2_pi:Number = 3.14159265358979;
public static const b2_maxProxies:int = 0x0200;
public static const b2_maxAngularVelocitySquared:Number = 62500;
public static const b2_maxPolygonVertices:int = 20;
public static const b2_velocityThreshold:Number = 1;
public static const b2_contactBaumgarte:Number = 0.2;
public static const b2_maxPairs:int = 4096;
public static const b2_maxTOIContactsPerIsland:int = 32;
public static const b2_timeToSleep:Number = 0.5;
public static const b2_maxManifoldPoints:int = 2;
public static const b2_maxAngularVelocity:Number = 250;
public static const b2_maxAngularCorrection:Number = 0.139626340159546;
public static const USHRT_MAX:int = 0xFFFF;
public static const b2_maxLinearVelocity:Number = 200;
public static const b2_maxLinearCorrection:Number = 0.2;
public static const b2_toiSlop:Number = 0.04;
public static const b2_maxLinearVelocitySquared:Number = 40000;
public static function b2Assert(_arg1:Boolean):void{
var _local2:b2Vec2;
if (!_arg1){
_local2.x++;
};
}
}
}//package Box2D.Common
Section 37
//b2CircleContact (Box2D.Dynamics.Contacts.b2CircleContact)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Collision.Shapes.*;
public class b2CircleContact extends b2Contact {
private var m_manifolds:Array;
private var m0:_-1v;
public var m_manifold:_-1v;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2CircleContact(_arg1:b2Shape, _arg2:b2Shape){
var _local3:_-62;
m_manifolds = [new _-1v()];
m0 = new _-1v();
super(_arg1, _arg2);
m_manifold = m_manifolds[0];
m_manifold.pointCount = 0;
_local3 = m_manifold.points[0];
_local3.normalImpulse = 0;
_local3.tangentImpulse = 0;
}
override public function GetManifolds():Array{
return (m_manifolds);
}
override public function Evaluate(_arg1:_-0L):void{
var _local2:b2Vec2;
var _local3:b2Vec2;
var _local4:_-62;
var _local5:_-0F;
var _local6:_-0F;
var _local7:b2ContactPoint;
var _local8:_-62;
_local5 = m_shape1.m_body;
_local6 = m_shape2.m_body;
m0.Set(m_manifold);
_-5h.extends(m_manifold, (m_shape1 as b2CircleShape), _local5.m_xf, (m_shape2 as b2CircleShape), _local6.m_xf);
_local7 = s_evalCP;
_local7.shape1 = m_shape1;
_local7.shape2 = m_shape2;
_local7.friction = m_friction;
_local7.restitution = m_restitution;
if (m_manifold.pointCount > 0){
m_manifoldCount = 1;
_local8 = m_manifold.points[0];
if (m0.pointCount == 0){
_local8.normalImpulse = 0;
_local8.tangentImpulse = 0;
if (_arg1){
_local7.position = _local5.GetWorldPoint(_local8._-z);
_local2 = _local5._-5V(_local8._-z);
_local3 = _local6._-5V(_local8._-6a);
_local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local8.separation;
_local7.id._-1V = _local8.id._key;
_arg1.Add(_local7);
};
} else {
_local4 = m0.points[0];
_local8.normalImpulse = _local4.normalImpulse;
_local8.tangentImpulse = _local4.tangentImpulse;
if (_arg1){
_local7.position = _local5.GetWorldPoint(_local8._-z);
_local2 = _local5._-5V(_local8._-z);
_local3 = _local6._-5V(_local8._-6a);
_local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local8.separation;
_local7.id._-1V = _local8.id._key;
_arg1._-B(_local7);
};
};
} else {
m_manifoldCount = 0;
if ((((m0.pointCount > 0)) && (_arg1))){
_local4 = m0.points[0];
_local7.position = _local5.GetWorldPoint(_local4._-z);
_local2 = _local5._-5V(_local4._-z);
_local3 = _local6._-5V(_local4._-6a);
_local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m0.normal);
_local7.separation = _local4.separation;
_local7.id._-1V = _local4.id._key;
_arg1._-7M(_local7);
};
};
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
return (new b2CircleContact(_arg1, _arg2));
}
}
}//package Box2D.Dynamics.Contacts
Section 38
//b2Contact (Box2D.Dynamics.Contacts.b2Contact)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.*;
public class b2Contact {
public var m_shape1:b2Shape;
public var m_shape2:b2Shape;
public var m_prev:b2Contact;
public var m_toi:Number;
public var m_next:b2Contact;
public var m_friction:Number;
public var m_manifoldCount:int;
public var m_node1:b2ContactEdge;
public var m_node2:b2ContactEdge;
public var m_restitution:Number;
public var m_flags:uint;
public static var e_toiFlag:uint = 8;
public static var e_nonSolidFlag:uint = 1;
public static var e_slowFlag:uint = 2;
public static var e_islandFlag:uint = 4;
public static var s_registers:Array;
public static var s_initialized:Boolean = false;
public function b2Contact(_arg1:b2Shape=null, _arg2:b2Shape=null){
m_node1 = new b2ContactEdge();
m_node2 = new b2ContactEdge();
super();
m_flags = 0;
if (((!(_arg1)) || (!(_arg2)))){
m_shape1 = null;
m_shape2 = null;
return;
};
if (((_arg1.IsSensor()) || (_arg2.IsSensor()))){
m_flags = (m_flags | e_nonSolidFlag);
};
m_shape1 = _arg1;
m_shape2 = _arg2;
m_manifoldCount = 0;
m_friction = Math.sqrt((m_shape1.m_friction * m_shape2.m_friction));
m_restitution = b2Math.b2Max(m_shape1.m_restitution, m_shape2.m_restitution);
m_prev = null;
m_next = null;
m_node1.contact = null;
m_node1.prev = null;
m_node1.next = null;
m_node1.other = null;
m_node2.contact = null;
m_node2.prev = null;
m_node2.next = null;
m_node2.other = null;
}
public function GetShape1():b2Shape{
return (m_shape1);
}
public function IsSolid():Boolean{
return (((m_flags & e_nonSolidFlag) == 0));
}
public function GetNext():b2Contact{
return (m_next);
}
public function GetManifolds():Array{
return (null);
}
public function GetShape2():b2Shape{
return (m_shape2);
}
public function GetManifoldCount():int{
return (m_manifoldCount);
}
public function Update(_arg1:_-0L):void{
var _local2:int;
var _local3:int;
var _local4:_-0F;
var _local5:_-0F;
_local2 = m_manifoldCount;
Evaluate(_arg1);
_local3 = m_manifoldCount;
_local4 = m_shape1.m_body;
_local5 = m_shape2.m_body;
if ((((_local3 == 0)) && ((_local2 > 0)))){
_local4.WakeUp();
_local5.WakeUp();
};
if (((((((_local4.IsStatic()) || (_local4._-7J()))) || (_local5.IsStatic()))) || (_local5._-7J()))){
m_flags = (m_flags & ~(e_slowFlag));
} else {
m_flags = (m_flags | e_slowFlag);
};
}
public function Evaluate(_arg1:_-0L):void{
}
public static function InitializeRegisters():void{
var _local1:int;
var _local2:int;
s_registers = new Array(b2Shape.e_shapeTypeCount);
_local1 = 0;
while (_local1 < b2Shape.e_shapeTypeCount) {
s_registers[_local1] = new Array(b2Shape.e_shapeTypeCount);
_local2 = 0;
while (_local2 < b2Shape.e_shapeTypeCount) {
s_registers[_local1][_local2] = new b2ContactRegister();
_local2++;
};
_local1++;
};
AddType(b2CircleContact.Create, b2CircleContact.Destroy, b2Shape.e_circleShape, b2Shape.e_circleShape);
AddType(b2PolyAndCircleContact.Create, b2PolyAndCircleContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_circleShape);
AddType(b2PolygonContact.Create, b2PolygonContact.Destroy, b2Shape.e_polygonShape, b2Shape.e_polygonShape);
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
var _local3:int;
var _local4:int;
var _local5:b2ContactRegister;
var _local6:Function;
if (_arg1.m_manifoldCount > 0){
_arg1.m_shape1.m_body.WakeUp();
_arg1.m_shape2.m_body.WakeUp();
};
_local3 = _arg1.m_shape1.m_type;
_local4 = _arg1.m_shape2.m_type;
_local5 = s_registers[_local3][_local4];
_local6 = _local5.destroyFcn;
_local6(_arg1, _arg2);
}
public static function AddType(_arg1:Function, _arg2:Function, _arg3:int, _arg4:int):void{
s_registers[_arg3][_arg4].createFcn = _arg1;
s_registers[_arg3][_arg4].destroyFcn = _arg2;
s_registers[_arg3][_arg4].primary = true;
if (_arg3 != _arg4){
s_registers[_arg4][_arg3].createFcn = _arg1;
s_registers[_arg4][_arg3].destroyFcn = _arg2;
s_registers[_arg4][_arg3].primary = false;
};
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
var _local4:int;
var _local5:int;
var _local6:b2ContactRegister;
var _local7:Function;
var _local8:b2Contact;
var _local9:int;
var _local10:_-1v;
if (s_initialized == false){
InitializeRegisters();
s_initialized = true;
};
_local4 = _arg1.m_type;
_local5 = _arg2.m_type;
_local6 = s_registers[_local4][_local5];
_local7 = _local6.createFcn;
if (_local7 != null){
if (_local6.primary){
return (_local7(_arg1, _arg2, _arg3));
};
_local8 = _local7(_arg2, _arg1, _arg3);
_local9 = 0;
while (_local9 < _local8.m_manifoldCount) {
_local10 = _local8.GetManifolds()[_local9];
_local10.normal = _local10.normal.Negative();
_local9++;
};
return (_local8);
} else {
};
return (!NULL!);
}
}
}//package Box2D.Dynamics.Contacts
Section 39
//b2ContactConstraint (Box2D.Dynamics.Contacts.b2ContactConstraint)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2ContactConstraint {
public var points:Array;
public var restitution:Number;
public var body1:_-0F;
public var manifold:_-1v;
public var normal:b2Vec2;
public var body2:_-0F;
public var friction:Number;
public var pointCount:int;
public function b2ContactConstraint(){
var _local1:int;
normal = new b2Vec2();
super();
points = new Array(b2Settings.b2_maxManifoldPoints);
_local1 = 0;
while (_local1 < b2Settings.b2_maxManifoldPoints) {
points[_local1] = new b2ContactConstraintPoint();
_local1++;
};
}
}
}//package Box2D.Dynamics.Contacts
Section 40
//b2ContactConstraintPoint (Box2D.Dynamics.Contacts.b2ContactConstraintPoint)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
public class b2ContactConstraintPoint {
public var r2:b2Vec2;
public var separation:Number;
public var positionImpulse:Number;
public var normalImpulse:Number;
public var equalizedMass:Number;
public var tangentMass:Number;
public var tangentImpulse:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var normalMass:Number;
public var velocityBias:Number;
public var r1:b2Vec2;
public function b2ContactConstraintPoint(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
r1 = new b2Vec2();
r2 = new b2Vec2();
super();
}
}
}//package Box2D.Dynamics.Contacts
Section 41
//b2ContactEdge (Box2D.Dynamics.Contacts.b2ContactEdge)
package Box2D.Dynamics.Contacts {
import Box2D.Dynamics.*;
public class b2ContactEdge {
public var next:b2ContactEdge;
public var other:_-0F;
public var contact:b2Contact;
public var prev:b2ContactEdge;
}
}//package Box2D.Dynamics.Contacts
Section 42
//b2ContactRegister (Box2D.Dynamics.Contacts.b2ContactRegister)
package Box2D.Dynamics.Contacts {
public class b2ContactRegister {
public var primary:Boolean;
public var createFcn:Function;
public var destroyFcn:Function;
}
}//package Box2D.Dynamics.Contacts
Section 43
//b2ContactResult (Box2D.Dynamics.Contacts.b2ContactResult)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
public class b2ContactResult {
public var normal:b2Vec2;
public var position:b2Vec2;
public var shape1:b2Shape;
public var shape2:b2Shape;
public var normalImpulse:Number;
public var tangentImpulse:Number;
public var id:_-3o;
public function b2ContactResult(){
position = new b2Vec2();
normal = new b2Vec2();
id = new _-3o();
super();
}
}
}//package Box2D.Dynamics.Contacts
Section 44
//b2ContactSolver (Box2D.Dynamics.Contacts.b2ContactSolver)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2ContactSolver {
public var m_constraintCount:int;
public var m_constraints:Array;
public var m_allocator;
public var m_step:_-6C;
public function b2ContactSolver(_arg1:_-6C, _arg2:Array, _arg3:int, _arg4){
var _local5:b2Contact;
var _local6:int;
var _local7:b2Vec2;
var _local8:b2Mat22;
var _local9:int;
var _local10:_-0F;
var _local11:_-0F;
var _local12:int;
var _local13:Array;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:int;
var _local23:_-1v;
var _local24:Number;
var _local25:Number;
var _local26:b2ContactConstraint;
var _local27:uint;
var _local28:_-62;
var _local29:b2ContactConstraintPoint;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:Number;
var _local38:Number;
var _local39:Number;
var _local40:Number;
var _local41:Number;
var _local42:Number;
var _local43:Number;
var _local44:Number;
var _local45:Number;
var _local46:Number;
var _local47:Number;
m_step = new _-6C();
m_constraints = new Array();
super();
m_step.function = _arg1.function;
m_step._-3T = _arg1._-3T;
m_step._-45 = _arg1._-45;
m_allocator = _arg4;
m_constraintCount = 0;
_local6 = 0;
while (_local6 < _arg3) {
_local5 = _arg2[_local6];
m_constraintCount = (m_constraintCount + _local5.m_manifoldCount);
_local6++;
};
_local6 = 0;
while (_local6 < m_constraintCount) {
m_constraints[_local6] = new b2ContactConstraint();
_local6++;
};
_local9 = 0;
_local6 = 0;
while (_local6 < _arg3) {
_local5 = _arg2[_local6];
_local10 = _local5.m_shape1.m_body;
_local11 = _local5.m_shape2.m_body;
_local12 = _local5.m_manifoldCount;
_local13 = _local5.GetManifolds();
_local14 = _local5.m_friction;
_local15 = _local5.m_restitution;
_local16 = _local10._-R.x;
_local17 = _local10._-R.y;
_local18 = _local11._-R.x;
_local19 = _local11._-R.y;
_local20 = _local10.m_angularVelocity;
_local21 = _local11.m_angularVelocity;
_local22 = 0;
while (_local22 < _local12) {
_local23 = _local13[_local22];
_local24 = _local23.normal.x;
_local25 = _local23.normal.y;
_local26 = m_constraints[_local9];
_local26.body1 = _local10;
_local26.body2 = _local11;
_local26.manifold = _local23;
_local26.normal.x = _local24;
_local26.normal.y = _local25;
_local26.pointCount = _local23.pointCount;
_local26.friction = _local14;
_local26.restitution = _local15;
_local27 = 0;
while (_local27 < _local26.pointCount) {
_local28 = _local23.points[_local27];
_local29 = _local26.points[_local27];
_local29.normalImpulse = _local28.normalImpulse;
_local29.tangentImpulse = _local28.tangentImpulse;
_local29.separation = _local28.separation;
_local29.positionImpulse = 0;
_local29.localAnchor1.SetV(_local28._-z);
_local29.localAnchor2.SetV(_local28._-6a);
_local8 = _local10.m_xf.R;
_local32 = (_local28._-z.x - _local10.m_sweep.localCenter.x);
_local33 = (_local28._-z.y - _local10.m_sweep.localCenter.y);
_local30 = ((_local8.col1.x * _local32) + (_local8.col2.x * _local33));
_local33 = ((_local8.col1.y * _local32) + (_local8.col2.y * _local33));
_local32 = _local30;
_local29.r1.Set(_local32, _local33);
_local8 = _local11.m_xf.R;
_local34 = (_local28._-6a.x - _local11.m_sweep.localCenter.x);
_local35 = (_local28._-6a.y - _local11.m_sweep.localCenter.y);
_local30 = ((_local8.col1.x * _local34) + (_local8.col2.x * _local35));
_local35 = ((_local8.col1.y * _local34) + (_local8.col2.y * _local35));
_local34 = _local30;
_local29.r2.Set(_local34, _local35);
_local36 = ((_local32 * _local32) + (_local33 * _local33));
_local37 = ((_local34 * _local34) + (_local35 * _local35));
_local38 = ((_local32 * _local24) + (_local33 * _local25));
_local39 = ((_local34 * _local24) + (_local35 * _local25));
_local40 = (_local10._-4L + _local11._-4L);
_local40 = (_local40 + ((_local10._-1 * (_local36 - (_local38 * _local38))) + (_local11._-1 * (_local37 - (_local39 * _local39)))));
_local29.normalMass = (1 / _local40);
_local41 = ((_local10.m_mass * _local10._-4L) + (_local11.m_mass * _local11._-4L));
_local41 = (_local41 + (((_local10.m_mass * _local10._-1) * (_local36 - (_local38 * _local38))) + ((_local11.m_mass * _local11._-1) * (_local37 - (_local39 * _local39)))));
_local29.equalizedMass = (1 / _local41);
_local42 = _local25;
_local43 = -(_local24);
_local44 = ((_local32 * _local42) + (_local33 * _local43));
_local45 = ((_local34 * _local42) + (_local35 * _local43));
_local46 = (_local10._-4L + _local11._-4L);
_local46 = (_local46 + ((_local10._-1 * (_local36 - (_local44 * _local44))) + (_local11._-1 * (_local37 - (_local45 * _local45)))));
_local29.tangentMass = (1 / _local46);
_local29.velocityBias = 0;
if (_local29.separation > 0){
_local29.velocityBias = (-60 * _local29.separation);
};
_local30 = (((_local18 + (-(_local21) * _local35)) - _local16) - (-(_local20) * _local33));
_local31 = (((_local19 + (_local21 * _local34)) - _local17) - (_local20 * _local32));
_local47 = ((_local26.normal.x * _local30) + (_local26.normal.y * _local31));
if (_local47 < -(b2Settings.b2_velocityThreshold)){
_local29.velocityBias = (_local29.velocityBias + (-(_local26.restitution) * _local47));
};
_local27++;
};
_local9++;
_local22++;
};
_local6++;
};
}
public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:b2Vec2;
var _local3:b2Vec2;
var _local4:b2Mat22;
var _local5:int;
var _local6:b2ContactConstraint;
var _local7:_-0F;
var _local8:_-0F;
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;
var _local18:int;
var _local19:int;
var _local20:b2ContactConstraintPoint;
var _local21:Number;
var _local22:Number;
var _local23:b2ContactConstraintPoint;
_local5 = 0;
while (_local5 < m_constraintCount) {
_local6 = m_constraints[_local5];
_local7 = _local6.body1;
_local8 = _local6.body2;
_local9 = _local7._-4L;
_local10 = _local7._-1;
_local11 = _local8._-4L;
_local12 = _local8._-1;
_local13 = _local6.normal.x;
_local14 = _local6.normal.y;
_local15 = _local14;
_local16 = -(_local13);
if (_arg1._-7P){
_local19 = _local6.pointCount;
_local18 = 0;
while (_local18 < _local19) {
_local20 = _local6.points[_local18];
_local20.normalImpulse = (_local20.normalImpulse * _arg1._-0K);
_local20.tangentImpulse = (_local20.tangentImpulse * _arg1._-0K);
_local21 = ((_local20.normalImpulse * _local13) + (_local20.tangentImpulse * _local15));
_local22 = ((_local20.normalImpulse * _local14) + (_local20.tangentImpulse * _local16));
_local7.m_angularVelocity = (_local7.m_angularVelocity - (_local10 * ((_local20.r1.x * _local22) - (_local20.r1.y * _local21))));
_local7._-R.x = (_local7._-R.x - (_local9 * _local21));
_local7._-R.y = (_local7._-R.y - (_local9 * _local22));
_local8.m_angularVelocity = (_local8.m_angularVelocity + (_local12 * ((_local20.r2.x * _local22) - (_local20.r2.y * _local21))));
_local8._-R.x = (_local8._-R.x + (_local11 * _local21));
_local8._-R.y = (_local8._-R.y + (_local11 * _local22));
_local18++;
};
} else {
_local19 = _local6.pointCount;
_local18 = 0;
while (_local18 < _local19) {
_local23 = _local6.points[_local18];
_local23.normalImpulse = 0;
_local23.tangentImpulse = 0;
_local18++;
};
};
_local5++;
};
}
public function SolvePositionConstraints(_arg1:Number):Boolean{
var _local2:Number;
var _local3:b2Mat22;
var _local4:b2Vec2;
var _local5:int;
var _local6:b2ContactConstraint;
var _local7:_-0F;
var _local8:_-0F;
var _local9:b2Vec2;
var _local10:Number;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:int;
var _local20:int;
var _local21:b2ContactConstraintPoint;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:Number;
var _local38:Number;
_local2 = 0;
_local5 = 0;
while (_local5 < m_constraintCount) {
_local6 = m_constraints[_local5];
_local7 = _local6.body1;
_local8 = _local6.body2;
_local9 = _local7.m_sweep.c;
_local10 = _local7.m_sweep.a;
_local11 = _local8.m_sweep.c;
_local12 = _local8.m_sweep.a;
_local13 = (_local7.m_mass * _local7._-4L);
_local14 = (_local7.m_mass * _local7._-1);
_local15 = (_local8.m_mass * _local8._-4L);
_local16 = (_local8.m_mass * _local8._-1);
_local17 = _local6.normal.x;
_local18 = _local6.normal.y;
_local19 = _local6.pointCount;
_local20 = 0;
while (_local20 < _local19) {
_local21 = _local6.points[_local20];
_local3 = _local7.m_xf.R;
_local4 = _local7.m_sweep.localCenter;
_local22 = (_local21.localAnchor1.x - _local4.x);
_local23 = (_local21.localAnchor1.y - _local4.y);
_local26 = ((_local3.col1.x * _local22) + (_local3.col2.x * _local23));
_local23 = ((_local3.col1.y * _local22) + (_local3.col2.y * _local23));
_local22 = _local26;
_local3 = _local8.m_xf.R;
_local4 = _local8.m_sweep.localCenter;
_local24 = (_local21.localAnchor2.x - _local4.x);
_local25 = (_local21.localAnchor2.y - _local4.y);
_local26 = ((_local3.col1.x * _local24) + (_local3.col2.x * _local25));
_local25 = ((_local3.col1.y * _local24) + (_local3.col2.y * _local25));
_local24 = _local26;
_local27 = (_local9.x + _local22);
_local28 = (_local9.y + _local23);
_local29 = (_local11.x + _local24);
_local30 = (_local11.y + _local25);
_local31 = (_local29 - _local27);
_local32 = (_local30 - _local28);
_local33 = (((_local31 * _local17) + (_local32 * _local18)) + _local21.separation);
_local2 = b2Math.b2Min(_local2, _local33);
_local34 = (_arg1 * b2Math.b2Clamp((_local33 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0));
_local35 = (-(_local21.equalizedMass) * _local34);
_local36 = _local21.positionImpulse;
_local21.positionImpulse = b2Math.b2Max((_local36 + _local35), 0);
_local35 = (_local21.positionImpulse - _local36);
_local37 = (_local35 * _local17);
_local38 = (_local35 * _local18);
_local9.x = (_local9.x - (_local13 * _local37));
_local9.y = (_local9.y - (_local13 * _local38));
_local10 = (_local10 - (_local14 * ((_local22 * _local38) - (_local23 * _local37))));
_local7.m_sweep.a = _local10;
_local7._-3E();
_local11.x = (_local11.x + (_local15 * _local37));
_local11.y = (_local11.y + (_local15 * _local38));
_local12 = (_local12 + (_local16 * ((_local24 * _local38) - (_local25 * _local37))));
_local8.m_sweep.a = _local12;
_local8._-3E();
_local20++;
};
_local5++;
};
return ((_local2 >= (-1.5 * b2Settings.b2_linearSlop)));
}
public function SolveVelocityConstraints():void{
var _local1:int;
var _local2:b2ContactConstraintPoint;
var _local3:Number;
var _local4:Number;
var _local5:Number;
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:b2Mat22;
var _local18:b2Vec2;
var _local19:int;
var _local20:b2ContactConstraint;
var _local21:_-0F;
var _local22:_-0F;
var _local23:Number;
var _local24:Number;
var _local25:b2Vec2;
var _local26:b2Vec2;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
var _local33:Number;
var _local34:Number;
var _local35:Number;
var _local36:Number;
var _local37:int;
var _local38:Number;
_local19 = 0;
while (_local19 < m_constraintCount) {
_local20 = m_constraints[_local19];
_local21 = _local20.body1;
_local22 = _local20.body2;
_local23 = _local21.m_angularVelocity;
_local24 = _local22.m_angularVelocity;
_local25 = _local21._-R;
_local26 = _local22._-R;
_local27 = _local21._-4L;
_local28 = _local21._-1;
_local29 = _local22._-4L;
_local30 = _local22._-1;
_local31 = _local20.normal.x;
_local32 = _local20.normal.y;
_local33 = _local32;
_local34 = -(_local31);
_local35 = _local20.friction;
_local37 = _local20.pointCount;
_local1 = 0;
while (_local1 < _local37) {
_local2 = _local20.points[_local1];
_local7 = (((_local26.x + (-(_local24) * _local2.r2.y)) - _local25.x) - (-(_local23) * _local2.r1.y));
_local8 = (((_local26.y + (_local24 * _local2.r2.x)) - _local25.y) - (_local23 * _local2.r1.x));
_local9 = ((_local7 * _local31) + (_local8 * _local32));
_local11 = (-(_local2.normalMass) * (_local9 - _local2.velocityBias));
_local10 = ((_local7 * _local33) + (_local8 * _local34));
_local12 = (_local2.tangentMass * -(_local10));
_local13 = b2Math.b2Max((_local2.normalImpulse + _local11), 0);
_local11 = (_local13 - _local2.normalImpulse);
_local38 = (_local35 * _local2.normalImpulse);
_local14 = b2Math.b2Clamp((_local2.tangentImpulse + _local12), -(_local38), _local38);
_local12 = (_local14 - _local2.tangentImpulse);
_local15 = ((_local11 * _local31) + (_local12 * _local33));
_local16 = ((_local11 * _local32) + (_local12 * _local34));
_local25.x = (_local25.x - (_local27 * _local15));
_local25.y = (_local25.y - (_local27 * _local16));
_local23 = (_local23 - (_local28 * ((_local2.r1.x * _local16) - (_local2.r1.y * _local15))));
_local26.x = (_local26.x + (_local29 * _local15));
_local26.y = (_local26.y + (_local29 * _local16));
_local24 = (_local24 + (_local30 * ((_local2.r2.x * _local16) - (_local2.r2.y * _local15))));
_local2.normalImpulse = _local13;
_local2.tangentImpulse = _local14;
_local1++;
};
_local21.m_angularVelocity = _local23;
_local22.m_angularVelocity = _local24;
_local19++;
};
}
public function FinalizeVelocityConstraints():void{
var _local1:int;
var _local2:b2ContactConstraint;
var _local3:_-1v;
var _local4:int;
var _local5:_-62;
var _local6:b2ContactConstraintPoint;
_local1 = 0;
while (_local1 < m_constraintCount) {
_local2 = m_constraints[_local1];
_local3 = _local2.manifold;
_local4 = 0;
while (_local4 < _local2.pointCount) {
_local5 = _local3.points[_local4];
_local6 = _local2.points[_local4];
_local5.normalImpulse = _local6.normalImpulse;
_local5.tangentImpulse = _local6.tangentImpulse;
_local4++;
};
_local1++;
};
}
}
}//package Box2D.Dynamics.Contacts
Section 45
//b2NullContact (Box2D.Dynamics.Contacts.b2NullContact)
package Box2D.Dynamics.Contacts {
import Box2D.Dynamics.*;
public class b2NullContact extends b2Contact {
override public function GetManifolds():Array{
return (null);
}
override public function Evaluate(_arg1:_-0L):void{
}
}
}//package Box2D.Dynamics.Contacts
Section 46
//b2PolyAndCircleContact (Box2D.Dynamics.Contacts.b2PolyAndCircleContact)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Collision.Shapes.*;
import Box2D.Common.*;
public class b2PolyAndCircleContact extends b2Contact {
private var m_manifolds:Array;
private var m0:_-1v;
public var m_manifold:_-1v;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2PolyAndCircleContact(_arg1:b2Shape, _arg2:b2Shape){
var _local3:_-62;
m_manifolds = [new _-1v()];
m0 = new _-1v();
super(_arg1, _arg2);
m_manifold = m_manifolds[0];
b2Settings.b2Assert((m_shape1.m_type == b2Shape.e_polygonShape));
b2Settings.b2Assert((m_shape2.m_type == b2Shape.e_circleShape));
m_manifold.pointCount = 0;
_local3 = m_manifold.points[0];
_local3.normalImpulse = 0;
_local3.tangentImpulse = 0;
}
override public function GetManifolds():Array{
return (m_manifolds);
}
override public function Evaluate(_arg1:_-0L):void{
var _local2:int;
var _local3:b2Vec2;
var _local4:b2Vec2;
var _local5:_-62;
var _local6:_-0F;
var _local7:_-0F;
var _local8:Array;
var _local9:b2ContactPoint;
var _local10:_-62;
var _local11:Boolean;
var _local12:uint;
var _local13:int;
_local6 = m_shape1.m_body;
_local7 = m_shape2.m_body;
m0.Set(m_manifold);
_-5h._-2P(m_manifold, (m_shape1 as b2PolygonShape), _local6.m_xf, (m_shape2 as b2CircleShape), _local7.m_xf);
_local8 = [false, false];
_local9 = s_evalCP;
_local9.shape1 = m_shape1;
_local9.shape2 = m_shape2;
_local9.friction = m_friction;
_local9.restitution = m_restitution;
if (m_manifold.pointCount > 0){
_local2 = 0;
while (_local2 < m_manifold.pointCount) {
_local10 = m_manifold.points[_local2];
_local10.normalImpulse = 0;
_local10.tangentImpulse = 0;
_local11 = false;
_local12 = _local10.id._key;
_local13 = 0;
while (_local13 < m0.pointCount) {
if (_local8[_local13] == true){
} else {
_local5 = m0.points[_local13];
if (_local5.id._key == _local12){
_local8[_local13] = true;
_local10.normalImpulse = _local5.normalImpulse;
_local10.tangentImpulse = _local5.tangentImpulse;
_local11 = true;
if (_arg1 != null){
_local9.position = _local6.GetWorldPoint(_local10._-z);
_local3 = _local6._-5V(_local10._-z);
_local4 = _local7._-5V(_local10._-6a);
_local9._-1Z.Set((_local4.x - _local3.x), (_local4.y - _local3.y));
_local9.normal.SetV(m_manifold.normal);
_local9.separation = _local10.separation;
_local9.id._-1V = _local12;
_arg1._-B(_local9);
};
break;
};
};
_local13++;
};
if ((((_local11 == false)) && (!((_arg1 == null))))){
_local9.position = _local6.GetWorldPoint(_local10._-z);
_local3 = _local6._-5V(_local10._-z);
_local4 = _local7._-5V(_local10._-6a);
_local9._-1Z.Set((_local4.x - _local3.x), (_local4.y - _local3.y));
_local9.normal.SetV(m_manifold.normal);
_local9.separation = _local10.separation;
_local9.id._-1V = _local12;
_arg1.Add(_local9);
};
_local2++;
};
m_manifoldCount = 1;
} else {
m_manifoldCount = 0;
};
if (_arg1 == null){
return;
};
_local2 = 0;
while (_local2 < m0.pointCount) {
if (_local8[_local2]){
} else {
_local5 = m0.points[_local2];
_local9.position = _local6.GetWorldPoint(_local5._-z);
_local3 = _local6._-5V(_local5._-z);
_local4 = _local7._-5V(_local5._-6a);
_local9._-1Z.Set((_local4.x - _local3.x), (_local4.y - _local3.y));
_local9.normal.SetV(m0.normal);
_local9.separation = _local5.separation;
_local9.id._-1V = _local5.id._key;
_arg1._-7M(_local9);
};
_local2++;
};
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
return (new b2PolyAndCircleContact(_arg1, _arg2));
}
}
}//package Box2D.Dynamics.Contacts
Section 47
//b2PolygonContact (Box2D.Dynamics.Contacts.b2PolygonContact)
package Box2D.Dynamics.Contacts {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Collision.Shapes.*;
public class b2PolygonContact extends b2Contact {
private var m_manifolds:Array;
private var m0:_-1v;
public var m_manifold:_-1v;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function b2PolygonContact(_arg1:b2Shape, _arg2:b2Shape):void{
m0 = new _-1v();
m_manifolds = [new _-1v()];
super(_arg1, _arg2);
m_manifold = m_manifolds[0];
m_manifold.pointCount = 0;
}
override public function GetManifolds():Array{
return (m_manifolds);
}
override public function Evaluate(_arg1:_-0L):void{
var _local2:b2Vec2;
var _local3:b2Vec2;
var _local4:_-62;
var _local5:_-0F;
var _local6:_-0F;
var _local7:b2ContactPoint;
var _local8:int;
var _local9:Array;
var _local10:_-62;
var _local11:Boolean;
var _local12:uint;
var _local13:int;
_local5 = m_shape1.m_body;
_local6 = m_shape2.m_body;
m0.Set(m_manifold);
_-5h._-3k(m_manifold, (m_shape1 as b2PolygonShape), _local5.m_xf, (m_shape2 as b2PolygonShape), _local6.m_xf);
_local9 = [false, false];
_local7 = s_evalCP;
_local7.shape1 = m_shape1;
_local7.shape2 = m_shape2;
_local7.friction = m_friction;
_local7.restitution = m_restitution;
if (m_manifold.pointCount > 0){
_local8 = 0;
while (_local8 < m_manifold.pointCount) {
_local10 = m_manifold.points[_local8];
_local10.normalImpulse = 0;
_local10.tangentImpulse = 0;
_local11 = false;
_local12 = _local10.id._key;
_local13 = 0;
while (_local13 < m0.pointCount) {
if (_local9[_local13] == true){
} else {
_local4 = m0.points[_local13];
if (_local4.id._key == _local12){
_local9[_local13] = true;
_local10.normalImpulse = _local4.normalImpulse;
_local10.tangentImpulse = _local4.tangentImpulse;
_local11 = true;
if (_arg1 != null){
_local7.position = _local5.GetWorldPoint(_local10._-z);
_local2 = _local5._-5V(_local10._-z);
_local3 = _local6._-5V(_local10._-6a);
_local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local10.separation;
_local7.id._-1V = _local12;
_arg1._-B(_local7);
};
break;
};
};
_local13++;
};
if ((((_local11 == false)) && (!((_arg1 == null))))){
_local7.position = _local5.GetWorldPoint(_local10._-z);
_local2 = _local5._-5V(_local10._-z);
_local3 = _local6._-5V(_local10._-6a);
_local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m_manifold.normal);
_local7.separation = _local10.separation;
_local7.id._-1V = _local12;
_arg1.Add(_local7);
};
_local8++;
};
m_manifoldCount = 1;
} else {
m_manifoldCount = 0;
};
if (_arg1 == null){
return;
};
_local8 = 0;
while (_local8 < m0.pointCount) {
if (_local9[_local8]){
} else {
_local4 = m0.points[_local8];
_local7.position = _local5.GetWorldPoint(_local4._-z);
_local2 = _local5._-5V(_local4._-z);
_local3 = _local6._-5V(_local4._-6a);
_local7._-1Z.Set((_local3.x - _local2.x), (_local3.y - _local2.y));
_local7.normal.SetV(m0.normal);
_local7.separation = _local4.separation;
_local7.id._-1V = _local4.id._key;
_arg1._-7M(_local7);
};
_local8++;
};
}
public static function Destroy(_arg1:b2Contact, _arg2):void{
}
public static function Create(_arg1:b2Shape, _arg2:b2Shape, _arg3):b2Contact{
return (new b2PolygonContact(_arg1, _arg2));
}
}
}//package Box2D.Dynamics.Contacts
Section 48
//b2DistanceJoint (Box2D.Dynamics.Joints.b2DistanceJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2DistanceJoint extends b2Joint {
public var m_mass:Number;
public var m_u:b2Vec2;
public var m_impulse:Number;
public var m_dampingRatio:Number;
public var m_frequencyHz:Number;
public var m_localAnchor2:b2Vec2;
public var m_localAnchor1:b2Vec2;
public var m_bias:Number;
public var m_gamma:Number;
public var m_length:Number;
public function b2DistanceJoint(_arg1:b2DistanceJointDef){
var _local2:b2Mat22;
var _local3:Number;
var _local4:Number;
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_u = new b2Vec2();
super(_arg1);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_length = _arg1.length;
m_frequencyHz = _arg1.frequencyHz;
m_dampingRatio = _arg1.dampingRatio;
m_impulse = 0;
m_gamma = 0;
m_bias = 0;
m_inv_dt = 0;
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Vec2;
_local1 = new b2Vec2();
_local1.SetV(m_u);
_local1.Multiply((m_inv_dt * m_impulse));
return (_local1);
}
override public function SolvePositionConstraints():Boolean{
var _local1:b2Mat22;
var _local2:_-0F;
var _local3:_-0F;
var _local4:Number;
var _local5:Number;
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;
if (m_frequencyHz > 0){
return (true);
};
_local2 = m_body1;
_local3 = m_body2;
_local1 = _local2.m_xf.R;
_local4 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local5 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local6 = ((_local1.col1.x * _local4) + (_local1.col2.x * _local5));
_local5 = ((_local1.col1.y * _local4) + (_local1.col2.y * _local5));
_local4 = _local6;
_local1 = _local3.m_xf.R;
_local7 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
_local8 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local6 = ((_local1.col1.x * _local7) + (_local1.col2.x * _local8));
_local8 = ((_local1.col1.y * _local7) + (_local1.col2.y * _local8));
_local7 = _local6;
_local9 = (((_local3.m_sweep.c.x + _local7) - _local2.m_sweep.c.x) - _local4);
_local10 = (((_local3.m_sweep.c.y + _local8) - _local2.m_sweep.c.y) - _local5);
_local11 = Math.sqrt(((_local9 * _local9) + (_local10 * _local10)));
_local9 = (_local9 / _local11);
_local10 = (_local10 / _local11);
_local12 = (_local11 - m_length);
_local12 = b2Math.b2Clamp(_local12, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection);
_local13 = (-(m_mass) * _local12);
m_u.Set(_local9, _local10);
_local14 = (_local13 * m_u.x);
_local15 = (_local13 * m_u.y);
_local2.m_sweep.c.x = (_local2.m_sweep.c.x - (_local2._-4L * _local14));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y - (_local2._-4L * _local15));
_local2.m_sweep.a = (_local2.m_sweep.a - (_local2._-1 * ((_local4 * _local15) - (_local5 * _local14))));
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + (_local3._-4L * _local14));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + (_local3._-4L * _local15));
_local3.m_sweep.a = (_local3.m_sweep.a + (_local3._-1 * ((_local7 * _local15) - (_local8 * _local14))));
_local2._-3E();
_local3._-3E();
return ((b2Math.b2Abs(_local12) < b2Settings.b2_linearSlop));
}
override public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:b2Mat22;
var _local3:Number;
var _local4:_-0F;
var _local5:_-0F;
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;
var _local18:Number;
var _local19:Number;
m_inv_dt = _arg1._-3T;
_local4 = m_body1;
_local5 = m_body2;
_local2 = _local4.m_xf.R;
_local6 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x);
_local7 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y);
_local3 = ((_local2.col1.x * _local6) + (_local2.col2.x * _local7));
_local7 = ((_local2.col1.y * _local6) + (_local2.col2.y * _local7));
_local6 = _local3;
_local2 = _local5.m_xf.R;
_local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y);
_local3 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9));
_local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9));
_local8 = _local3;
m_u.x = (((_local5.m_sweep.c.x + _local8) - _local4.m_sweep.c.x) - _local6);
m_u.y = (((_local5.m_sweep.c.y + _local9) - _local4.m_sweep.c.y) - _local7);
_local10 = Math.sqrt(((m_u.x * m_u.x) + (m_u.y * m_u.y)));
if (_local10 > b2Settings.b2_linearSlop){
m_u.Multiply((1 / _local10));
} else {
m_u.SetZero();
};
_local11 = ((_local6 * m_u.y) - (_local7 * m_u.x));
_local12 = ((_local8 * m_u.y) - (_local9 * m_u.x));
_local13 = (((_local4._-4L + ((_local4._-1 * _local11) * _local11)) + _local5._-4L) + ((_local5._-1 * _local12) * _local12));
m_mass = (1 / _local13);
if (m_frequencyHz > 0){
_local14 = (_local10 - m_length);
_local15 = ((2 * Math.PI) * m_frequencyHz);
_local16 = (((2 * m_mass) * m_dampingRatio) * _local15);
_local17 = ((m_mass * _local15) * _local15);
m_gamma = (1 / (_arg1.function * (_local16 + (_arg1.function * _local17))));
m_bias = (((_local14 * _arg1.function) * _local17) * m_gamma);
m_mass = (1 / (_local13 + m_gamma));
};
if (_arg1._-7P){
m_impulse = (m_impulse * _arg1._-0K);
_local18 = (m_impulse * m_u.x);
_local19 = (m_impulse * m_u.y);
_local4._-R.x = (_local4._-R.x - (_local4._-4L * _local18));
_local4._-R.y = (_local4._-R.y - (_local4._-4L * _local19));
_local4.m_angularVelocity = (_local4.m_angularVelocity - (_local4._-1 * ((_local6 * _local19) - (_local7 * _local18))));
_local5._-R.x = (_local5._-R.x + (_local5._-4L * _local18));
_local5._-R.y = (_local5._-R.y + (_local5._-4L * _local19));
_local5.m_angularVelocity = (_local5.m_angularVelocity + (_local5._-1 * ((_local8 * _local19) - (_local9 * _local18))));
} else {
m_impulse = 0;
};
}
override public function GetReactionTorque():Number{
return (0);
}
override public function SolveVelocityConstraints(_arg1:_-6C):void{
var _local2:b2Mat22;
var _local3:_-0F;
var _local4:_-0F;
var _local5:Number;
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;
_local3 = m_body1;
_local4 = m_body2;
_local2 = _local3.m_xf.R;
_local5 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
_local6 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
_local7 = ((_local2.col1.x * _local5) + (_local2.col2.x * _local6));
_local6 = ((_local2.col1.y * _local5) + (_local2.col2.y * _local6));
_local5 = _local7;
_local2 = _local4.m_xf.R;
_local8 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local7 = ((_local2.col1.x * _local8) + (_local2.col2.x * _local9));
_local9 = ((_local2.col1.y * _local8) + (_local2.col2.y * _local9));
_local8 = _local7;
_local10 = (_local3._-R.x + (-(_local3.m_angularVelocity) * _local6));
_local11 = (_local3._-R.y + (_local3.m_angularVelocity * _local5));
_local12 = (_local4._-R.x + (-(_local4.m_angularVelocity) * _local9));
_local13 = (_local4._-R.y + (_local4.m_angularVelocity * _local8));
_local14 = ((m_u.x * (_local12 - _local10)) + (m_u.y * (_local13 - _local11)));
_local15 = (-(m_mass) * ((_local14 + m_bias) + (m_gamma * m_impulse)));
m_impulse = (m_impulse + _local15);
_local16 = (_local15 * m_u.x);
_local17 = (_local15 * m_u.y);
_local3._-R.x = (_local3._-R.x - (_local3._-4L * _local16));
_local3._-R.y = (_local3._-R.y - (_local3._-4L * _local17));
_local3.m_angularVelocity = (_local3.m_angularVelocity - (_local3._-1 * ((_local5 * _local17) - (_local6 * _local16))));
_local4._-R.x = (_local4._-R.x + (_local4._-4L * _local16));
_local4._-R.y = (_local4._-R.y + (_local4._-4L * _local17));
_local4.m_angularVelocity = (_local4.m_angularVelocity + (_local4._-1 * ((_local8 * _local17) - (_local9 * _local16))));
}
}
}//package Box2D.Dynamics.Joints
Section 49
//b2DistanceJointDef (Box2D.Dynamics.Joints.b2DistanceJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2DistanceJointDef extends b2JointDef {
public var length:Number;
public var dampingRatio:Number;
public var frequencyHz:Number;
public var localAnchor2:b2Vec2;
public var localAnchor1:b2Vec2;
public function b2DistanceJointDef(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
super();
type = b2Joint.e_distanceJoint;
length = 1;
frequencyHz = 0;
dampingRatio = 0;
}
public function Initialize(_arg1:_-0F, _arg2:_-0F, _arg3:b2Vec2, _arg4:b2Vec2):void{
var _local5:Number;
var _local6:Number;
body1 = _arg1;
body2 = _arg2;
localAnchor1.SetV(body1.GetLocalPoint(_arg3));
localAnchor2.SetV(body2.GetLocalPoint(_arg4));
_local5 = (_arg4.x - _arg3.x);
_local6 = (_arg4.y - _arg3.y);
length = Math.sqrt(((_local5 * _local5) + (_local6 * _local6)));
frequencyHz = 0;
dampingRatio = 0;
}
}
}//package Box2D.Dynamics.Joints
Section 50
//b2GearJoint (Box2D.Dynamics.Joints.b2GearJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2GearJoint extends b2Joint {
public var m_force:Number;
public var m_mass:Number;
public var m_prismatic1:b2PrismaticJoint;
public var m_prismatic2:b2PrismaticJoint;
public var m_ground1:_-0F;
public var m_ground2:_-0F;
public var m_constant:Number;
public var m_revolute1:b2RevoluteJoint;
public var m_revolute2:b2RevoluteJoint;
public var m_groundAnchor1:b2Vec2;
public var m_groundAnchor2:b2Vec2;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_ratio:Number;
public var m_J:b2Jacobian;
public function b2GearJoint(_arg1:b2GearJointDef){
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
m_groundAnchor1 = new b2Vec2();
m_groundAnchor2 = new b2Vec2();
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_J = new b2Jacobian();
super(_arg1);
_local2 = _arg1.joint1.m_type;
_local3 = _arg1.joint2.m_type;
m_revolute1 = null;
m_prismatic1 = null;
m_revolute2 = null;
m_prismatic2 = null;
m_ground1 = _arg1.joint1.m_body1;
m_body1 = _arg1.joint1.m_body2;
if (_local2 == b2Joint.e_revoluteJoint){
m_revolute1 = (_arg1.joint1 as b2RevoluteJoint);
m_groundAnchor1.SetV(m_revolute1.m_localAnchor1);
m_localAnchor1.SetV(m_revolute1.m_localAnchor2);
_local4 = m_revolute1.GetJointAngle();
} else {
m_prismatic1 = (_arg1.joint1 as b2PrismaticJoint);
m_groundAnchor1.SetV(m_prismatic1.m_localAnchor1);
m_localAnchor1.SetV(m_prismatic1.m_localAnchor2);
_local4 = m_prismatic1.GetJointTranslation();
};
m_ground2 = _arg1.joint2.m_body1;
m_body2 = _arg1.joint2.m_body2;
if (_local3 == b2Joint.e_revoluteJoint){
m_revolute2 = (_arg1.joint2 as b2RevoluteJoint);
m_groundAnchor2.SetV(m_revolute2.m_localAnchor1);
m_localAnchor2.SetV(m_revolute2.m_localAnchor2);
_local5 = m_revolute2.GetJointAngle();
} else {
m_prismatic2 = (_arg1.joint2 as b2PrismaticJoint);
m_groundAnchor2.SetV(m_prismatic2.m_localAnchor1);
m_localAnchor2.SetV(m_prismatic2.m_localAnchor2);
_local5 = m_prismatic2.GetJointTranslation();
};
m_ratio = _arg1.ratio;
m_constant = (_local4 + (m_ratio * _local5));
m_force = 0;
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Vec2;
_local1 = new b2Vec2((m_force * m_J.linear2.x), (m_force * m_J.linear2.y));
return (_local1);
}
override public function SolvePositionConstraints():Boolean{
var _local1:Number;
var _local2:_-0F;
var _local3:_-0F;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local1 = 0;
_local2 = m_body1;
_local3 = m_body2;
if (m_revolute1){
_local4 = m_revolute1.GetJointAngle();
} else {
_local4 = m_prismatic1.GetJointTranslation();
};
if (m_revolute2){
_local5 = m_revolute2.GetJointAngle();
} else {
_local5 = m_prismatic2.GetJointTranslation();
};
_local6 = (m_constant - (_local4 + (m_ratio * _local5)));
_local7 = (-(m_mass) * _local6);
_local2.m_sweep.c.x = (_local2.m_sweep.c.x + ((_local2._-4L * _local7) * m_J.linear1.x));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y + ((_local2._-4L * _local7) * m_J.linear1.y));
_local2.m_sweep.a = (_local2.m_sweep.a + ((_local2._-1 * _local7) * m_J.angular1));
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local3._-4L * _local7) * m_J.linear2.x));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local3._-4L * _local7) * m_J.linear2.y));
_local3.m_sweep.a = (_local3.m_sweep.a + ((_local3._-1 * _local7) * m_J.angular2));
_local2._-3E();
_local3._-3E();
return ((_local1 < b2Settings.b2_linearSlop));
}
override public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:_-0F;
var _local5:_-0F;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:b2Mat22;
var _local11:b2Vec2;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
_local2 = m_ground1;
_local3 = m_ground2;
_local4 = m_body1;
_local5 = m_body2;
_local14 = 0;
m_J.SetZero();
if (m_revolute1){
m_J.angular1 = -1;
_local14 = (_local14 + _local4._-1);
} else {
_local10 = _local2.m_xf.R;
_local11 = m_prismatic1.m_localXAxis1;
_local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y));
_local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y));
_local10 = _local4.m_xf.R;
_local8 = (m_localAnchor1.x - _local4.m_sweep.localCenter.x);
_local9 = (m_localAnchor1.y - _local4.m_sweep.localCenter.y);
_local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9));
_local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9));
_local8 = _local13;
_local12 = ((_local8 * _local7) - (_local9 * _local6));
m_J.linear1.Set(-(_local6), -(_local7));
m_J.angular1 = -(_local12);
_local14 = (_local14 + (_local4._-4L + ((_local4._-1 * _local12) * _local12)));
};
if (m_revolute2){
m_J.angular2 = -(m_ratio);
_local14 = (_local14 + ((m_ratio * m_ratio) * _local5._-1));
} else {
_local10 = _local3.m_xf.R;
_local11 = m_prismatic2.m_localXAxis1;
_local6 = ((_local10.col1.x * _local11.x) + (_local10.col2.x * _local11.y));
_local7 = ((_local10.col1.y * _local11.x) + (_local10.col2.y * _local11.y));
_local10 = _local5.m_xf.R;
_local8 = (m_localAnchor2.x - _local5.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local5.m_sweep.localCenter.y);
_local13 = ((_local10.col1.x * _local8) + (_local10.col2.x * _local9));
_local9 = ((_local10.col1.y * _local8) + (_local10.col2.y * _local9));
_local8 = _local13;
_local12 = ((_local8 * _local7) - (_local9 * _local6));
m_J.linear2.Set((-(m_ratio) * _local6), (-(m_ratio) * _local7));
m_J.angular2 = (-(m_ratio) * _local12);
_local14 = (_local14 + ((m_ratio * m_ratio) * (_local5._-4L + ((_local5._-1 * _local12) * _local12))));
};
m_mass = (1 / _local14);
if (_arg1._-7P){
_local15 = (_arg1.function * m_force);
_local4._-R.x = (_local4._-R.x + ((_local4._-4L * _local15) * m_J.linear1.x));
_local4._-R.y = (_local4._-R.y + ((_local4._-4L * _local15) * m_J.linear1.y));
_local4.m_angularVelocity = (_local4.m_angularVelocity + ((_local4._-1 * _local15) * m_J.angular1));
_local5._-R.x = (_local5._-R.x + ((_local5._-4L * _local15) * m_J.linear2.x));
_local5._-R.y = (_local5._-R.y + ((_local5._-4L * _local15) * m_J.linear2.y));
_local5.m_angularVelocity = (_local5.m_angularVelocity + ((_local5._-1 * _local15) * m_J.angular2));
} else {
m_force = 0;
};
}
override public function GetReactionTorque():Number{
var _local1:b2Mat22;
var _local2:Number;
var _local3:Number;
var _local4:Number;
_local1 = m_body2.m_xf.R;
_local2 = (m_localAnchor1.x - m_body2.m_sweep.localCenter.x);
_local3 = (m_localAnchor1.y - m_body2.m_sweep.localCenter.y);
_local4 = ((_local1.col1.x * _local2) + (_local1.col2.x * _local3));
_local3 = ((_local1.col1.y * _local2) + (_local1.col2.y * _local3));
_local2 = _local4;
_local4 = ((m_force * m_J.angular2) - ((_local2 * (m_force * m_J.linear2.y)) - (_local3 * (m_force * m_J.linear2.x))));
return (_local4);
}
public function GetRatio():Number{
return (m_ratio);
}
override public function SolveVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = m_J.Compute(_local2._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity);
_local5 = ((-(_arg1._-3T) * m_mass) * _local4);
m_force = (m_force + _local5);
_local6 = (_arg1.function * _local5);
_local2._-R.x = (_local2._-R.x + ((_local2._-4L * _local6) * m_J.linear1.x));
_local2._-R.y = (_local2._-R.y + ((_local2._-4L * _local6) * m_J.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local2._-1 * _local6) * m_J.angular1));
_local3._-R.x = (_local3._-R.x + ((_local3._-4L * _local6) * m_J.linear2.x));
_local3._-R.y = (_local3._-R.y + ((_local3._-4L * _local6) * m_J.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3._-1 * _local6) * m_J.angular2));
}
}
}//package Box2D.Dynamics.Joints
Section 51
//b2GearJointDef (Box2D.Dynamics.Joints.b2GearJointDef)
package Box2D.Dynamics.Joints {
public class b2GearJointDef extends b2JointDef {
public var joint2:b2Joint;
public var joint1:b2Joint;
public var ratio:Number;
public function b2GearJointDef(){
type = b2Joint.e_gearJoint;
joint1 = null;
joint2 = null;
ratio = 1;
}
}
}//package Box2D.Dynamics.Joints
Section 52
//b2Jacobian (Box2D.Dynamics.Joints.b2Jacobian)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
public class b2Jacobian {
public var linear1:b2Vec2;
public var linear2:b2Vec2;
public var angular2:Number;
public var angular1:Number;
public function b2Jacobian(){
linear1 = new b2Vec2();
linear2 = new b2Vec2();
super();
}
public function Set(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):void{
linear1.SetV(_arg1);
angular1 = _arg2;
linear2.SetV(_arg3);
angular2 = _arg4;
}
public function SetZero():void{
linear1.SetZero();
angular1 = 0;
linear2.SetZero();
angular2 = 0;
}
public function Compute(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:Number):Number{
return ((((((linear1.x * _arg1.x) + (linear1.y * _arg1.y)) + (angular1 * _arg2)) + ((linear2.x * _arg3.x) + (linear2.y * _arg3.y))) + (angular2 * _arg4)));
}
}
}//package Box2D.Dynamics.Joints
Section 53
//b2Joint (Box2D.Dynamics.Joints.b2Joint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2Joint {
public var m_islandFlag:Boolean;
public var m_body1:_-0F;
public var m_prev:b2Joint;
public var m_next:b2Joint;
public var m_type:int;
public var m_collideConnected:Boolean;
public var m_node1:b2JointEdge;
public var m_node2:b2JointEdge;
public var m_inv_dt:Number;
public var m_userData;
public var m_body2:_-0F;
public static const e_unknownJoint:int = 0;
public static const e_inactiveLimit:int = 0;
public static const e_atUpperLimit:int = 2;
public static const e_atLowerLimit:int = 1;
public static const e_gearJoint:int = 6;
public static const e_revoluteJoint:int = 1;
public static const e_equalLimits:int = 3;
public static const e_distanceJoint:int = 3;
public static const e_pulleyJoint:int = 4;
public static const e_prismaticJoint:int = 2;
public static const e_mouseJoint:int = 5;
public function b2Joint(_arg1:b2JointDef){
m_node1 = new b2JointEdge();
m_node2 = new b2JointEdge();
super();
m_type = _arg1.type;
m_prev = null;
m_next = null;
m_body1 = _arg1.body1;
m_body2 = _arg1.body2;
m_collideConnected = _arg1.collideConnected;
m_islandFlag = false;
m_userData = _arg1.userData;
}
public function GetAnchor1():b2Vec2{
return (null);
}
public function GetAnchor2():b2Vec2{
return (null);
}
public function InitVelocityConstraints(_arg1:_-6C):void{
}
public function GetType():int{
return (m_type);
}
public function GetBody2():_-0F{
return (m_body2);
}
public function GetNext():b2Joint{
return (m_next);
}
public function GetReactionTorque():Number{
return (0);
}
public function GetUserData(){
return (m_userData);
}
public function GetReactionForce():b2Vec2{
return (null);
}
public function SolvePositionConstraints():Boolean{
return (false);
}
public function SetUserData(_arg1):void{
m_userData = _arg1;
}
public function GetBody1():_-0F{
return (m_body1);
}
public function SolveVelocityConstraints(_arg1:_-6C):void{
}
public function InitPositionConstraints():void{
}
public static function Destroy(_arg1:b2Joint, _arg2):void{
}
public static function Create(_arg1:b2JointDef, _arg2):b2Joint{
var _local3:b2Joint;
_local3 = null;
switch (_arg1.type){
case e_distanceJoint:
_local3 = new b2DistanceJoint((_arg1 as b2DistanceJointDef));
break;
case e_mouseJoint:
_local3 = new b2MouseJoint((_arg1 as b2MouseJointDef));
break;
case e_prismaticJoint:
_local3 = new b2PrismaticJoint((_arg1 as b2PrismaticJointDef));
break;
case e_revoluteJoint:
_local3 = new b2RevoluteJoint((_arg1 as b2RevoluteJointDef));
break;
case e_pulleyJoint:
_local3 = new b2PulleyJoint((_arg1 as b2PulleyJointDef));
break;
case e_gearJoint:
_local3 = new b2GearJoint((_arg1 as b2GearJointDef));
break;
default:
break;
};
return (_local3);
}
}
}//package Box2D.Dynamics.Joints
Section 54
//b2JointDef (Box2D.Dynamics.Joints.b2JointDef)
package Box2D.Dynamics.Joints {
import Box2D.Dynamics.*;
public class b2JointDef {
public var collideConnected:Boolean;
public var body1:_-0F;
public var body2:_-0F;
public var userData;
public var type:int;
public function b2JointDef(){
type = b2Joint.e_unknownJoint;
userData = null;
body1 = null;
body2 = null;
collideConnected = false;
}
}
}//package Box2D.Dynamics.Joints
Section 55
//b2JointEdge (Box2D.Dynamics.Joints.b2JointEdge)
package Box2D.Dynamics.Joints {
import Box2D.Dynamics.*;
public class b2JointEdge {
public var joint:b2Joint;
public var other:_-0F;
public var next:b2JointEdge;
public var prev:b2JointEdge;
}
}//package Box2D.Dynamics.Joints
Section 56
//b2MouseJoint (Box2D.Dynamics.Joints.b2MouseJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2MouseJoint extends b2Joint {
public var m_beta:Number;
public var m_mass:b2Mat22;
public var m_target:b2Vec2;
public var m_impulse:b2Vec2;
public var m_localAnchor:b2Vec2;
private var K1:b2Mat22;
private var K2:b2Mat22;
private var K:b2Mat22;
public var m_gamma:Number;
public var m_C:b2Vec2;
public var m_maxForce:Number;
public function b2MouseJoint(_arg1:b2MouseJointDef){
var _local2:Number;
var _local3:Number;
var _local4:b2Mat22;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
K = new b2Mat22();
K1 = new b2Mat22();
K2 = new b2Mat22();
m_localAnchor = new b2Vec2();
m_target = new b2Vec2();
m_impulse = new b2Vec2();
m_mass = new b2Mat22();
m_C = new b2Vec2();
super(_arg1);
m_target.SetV(_arg1.target);
_local2 = (m_target.x - m_body2.m_xf.position.x);
_local3 = (m_target.y - m_body2.m_xf.position.y);
_local4 = m_body2.m_xf.R;
m_localAnchor.x = ((_local2 * _local4.col1.x) + (_local3 * _local4.col1.y));
m_localAnchor.y = ((_local2 * _local4.col2.x) + (_local3 * _local4.col2.y));
m_maxForce = _arg1.maxForce;
m_impulse.SetZero();
_local5 = m_body2.m_mass;
_local6 = ((2 * b2Settings.b2_pi) * _arg1.frequencyHz);
_local7 = (((2 * _local5) * _arg1.dampingRatio) * _local6);
_local8 = ((_arg1.timeStep * _local5) * (_local6 * _local6));
m_gamma = (1 / (_local7 + _local8));
m_beta = (_local8 / (_local7 + _local8));
}
override public function GetAnchor1():b2Vec2{
return (m_target);
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor));
}
override public function GetReactionForce():b2Vec2{
return (m_impulse);
}
override public function SolvePositionConstraints():Boolean{
return (true);
}
override public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local2 = m_body2;
_local3 = _local2.m_xf.R;
_local4 = (m_localAnchor.x - _local2.m_sweep.localCenter.x);
_local5 = (m_localAnchor.y - _local2.m_sweep.localCenter.y);
_local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5));
_local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5));
_local4 = _local6;
_local7 = _local2._-4L;
_local8 = _local2._-1;
K1.col1.x = _local7;
K1.col2.x = 0;
K1.col1.y = 0;
K1.col2.y = _local7;
K2.col1.x = ((_local8 * _local5) * _local5);
K2.col2.x = ((-(_local8) * _local4) * _local5);
K2.col1.y = ((-(_local8) * _local4) * _local5);
K2.col2.y = ((_local8 * _local4) * _local4);
K.SetM(K1);
K.AddM(K2);
K.col1.x = (K.col1.x + m_gamma);
K.col2.y = (K.col2.y + m_gamma);
K.Invert(m_mass);
m_C.x = ((_local2.m_sweep.c.x + _local4) - m_target.x);
m_C.y = ((_local2.m_sweep.c.y + _local5) - m_target.y);
_local2.m_angularVelocity = (_local2.m_angularVelocity * 0.98);
_local9 = (_arg1.function * m_impulse.x);
_local10 = (_arg1.function * m_impulse.y);
_local2._-R.x = (_local2._-R.x + (_local7 * _local9));
_local2._-R.y = (_local2._-R.y + (_local7 * _local10));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local8 * ((_local4 * _local10) - (_local5 * _local9))));
}
override public function GetReactionTorque():Number{
return (0);
}
public function SetTarget(_arg1:b2Vec2):void{
if (m_body2.IsSleeping()){
m_body2.WakeUp();
};
m_target = _arg1;
}
override public function SolveVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
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;
_local2 = m_body2;
_local3 = _local2.m_xf.R;
_local6 = (m_localAnchor.x - _local2.m_sweep.localCenter.x);
_local7 = (m_localAnchor.y - _local2.m_sweep.localCenter.y);
_local4 = ((_local3.col1.x * _local6) + (_local3.col2.x * _local7));
_local7 = ((_local3.col1.y * _local6) + (_local3.col2.y * _local7));
_local6 = _local4;
_local8 = (_local2._-R.x + (-(_local2.m_angularVelocity) * _local7));
_local9 = (_local2._-R.y + (_local2.m_angularVelocity * _local6));
_local3 = m_mass;
_local4 = ((_local8 + ((m_beta * _arg1._-3T) * m_C.x)) + ((m_gamma * _arg1.function) * m_impulse.x));
_local5 = ((_local9 + ((m_beta * _arg1._-3T) * m_C.y)) + ((m_gamma * _arg1.function) * m_impulse.y));
_local10 = (-(_arg1._-3T) * ((_local3.col1.x * _local4) + (_local3.col2.x * _local5)));
_local11 = (-(_arg1._-3T) * ((_local3.col1.y * _local4) + (_local3.col2.y * _local5)));
_local12 = m_impulse.x;
_local13 = m_impulse.y;
m_impulse.x = (m_impulse.x + _local10);
m_impulse.y = (m_impulse.y + _local11);
_local14 = m_impulse.Length();
if (_local14 > m_maxForce){
m_impulse.Multiply((m_maxForce / _local14));
};
_local10 = (m_impulse.x - _local12);
_local11 = (m_impulse.y - _local13);
_local15 = (_arg1.function * _local10);
_local16 = (_arg1.function * _local11);
_local2._-R.x = (_local2._-R.x + (_local2._-4L * _local15));
_local2._-R.y = (_local2._-R.y + (_local2._-4L * _local16));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local6 * _local16) - (_local7 * _local15))));
}
}
}//package Box2D.Dynamics.Joints
Section 57
//b2MouseJointDef (Box2D.Dynamics.Joints.b2MouseJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
public class b2MouseJointDef extends b2JointDef {
public var frequencyHz:Number;
public var dampingRatio:Number;
public var maxForce:Number;
public var target:b2Vec2;
public var timeStep:Number;
public function b2MouseJointDef(){
target = new b2Vec2();
super();
type = b2Joint.e_mouseJoint;
maxForce = 0;
frequencyHz = 5;
dampingRatio = 0.7;
timeStep = (1 / 60);
}
}
}//package Box2D.Dynamics.Joints
Section 58
//b2PrismaticJoint (Box2D.Dynamics.Joints.b2PrismaticJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PrismaticJoint extends b2Joint {
public var m_limitForce:Number;
public var m_refAngle:Number;
public var m_lowerTranslation:Number;
public var m_localXAxis1:b2Vec2;
public var m_torque:Number;
public var m_enableLimit:Boolean;
public var m_motorForce:Number;
public var m_force:Number;
public var m_localYAxis1:b2Vec2;
public var m_motorMass:Number;
public var m_maxMotorForce:Number;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_angularMass:Number;
public var m_limitState:int;
public var m_linearMass:Number;
public var m_upperTranslation:Number;
public var m_motorJacobian:b2Jacobian;
public var m_limitPositionImpulse:Number;
public var m_motorSpeed:Number;
public var m_linearJacobian:b2Jacobian;
public var m_enableMotor:Boolean;
public function b2PrismaticJoint(_arg1:b2PrismaticJointDef){
var _local2:b2Mat22;
var _local3:Number;
var _local4:Number;
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_localXAxis1 = new b2Vec2();
m_localYAxis1 = new b2Vec2();
m_linearJacobian = new b2Jacobian();
m_motorJacobian = new b2Jacobian();
super(_arg1);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_localXAxis1.SetV(_arg1.localAxis1);
m_localYAxis1.x = -(m_localXAxis1.y);
m_localYAxis1.y = m_localXAxis1.x;
m_refAngle = _arg1.referenceAngle;
m_linearJacobian.SetZero();
m_linearMass = 0;
m_force = 0;
m_angularMass = 0;
m_torque = 0;
m_motorJacobian.SetZero();
m_motorMass = 0;
m_motorForce = 0;
m_limitForce = 0;
m_limitPositionImpulse = 0;
m_lowerTranslation = _arg1.lowerTranslation;
m_upperTranslation = _arg1.upperTranslation;
m_maxMotorForce = _arg1.maxMotorForce;
m_motorSpeed = _arg1.motorSpeed;
m_enableLimit = _arg1.enableLimit;
m_enableMotor = _arg1.enableMotor;
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
public function EnableMotor(_arg1:Boolean):void{
m_enableMotor = _arg1;
}
public function GetUpperLimit():Number{
return (m_upperTranslation);
}
public function GetLowerLimit():Number{
return (m_lowerTranslation);
}
public function GetJointTranslation():Number{
var _local1:_-0F;
var _local2:_-0F;
var _local3:b2Mat22;
var _local4:b2Vec2;
var _local5:b2Vec2;
var _local6:Number;
var _local7:Number;
var _local8:b2Vec2;
var _local9:Number;
_local1 = m_body1;
_local2 = m_body2;
_local4 = _local1.GetWorldPoint(m_localAnchor1);
_local5 = _local2.GetWorldPoint(m_localAnchor2);
_local6 = (_local5.x - _local4.x);
_local7 = (_local5.y - _local4.y);
_local8 = _local1._-6u(m_localXAxis1);
_local9 = ((_local8.x * _local6) + (_local8.y * _local7));
return (_local9);
}
public function SetLimits(_arg1:Number, _arg2:Number):void{
m_lowerTranslation = _arg1;
m_upperTranslation = _arg2;
}
public function GetMotorSpeed():Number{
return (m_motorSpeed);
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Mat22;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = m_body1.m_xf.R;
_local2 = (m_limitForce * ((_local1.col1.x * m_localXAxis1.x) + (_local1.col2.x * m_localXAxis1.y)));
_local3 = (m_limitForce * ((_local1.col1.y * m_localXAxis1.x) + (_local1.col2.y * m_localXAxis1.y)));
_local4 = (m_force * ((_local1.col1.x * m_localYAxis1.x) + (_local1.col2.x * m_localYAxis1.y)));
_local5 = (m_force * ((_local1.col1.y * m_localYAxis1.x) + (_local1.col2.y * m_localYAxis1.y)));
return (new b2Vec2(((m_limitForce * _local2) + (m_force * _local4)), ((m_limitForce * _local3) + (m_force * _local5))));
}
override public function SolvePositionConstraints():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:_-0F;
var _local4:_-0F;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:b2Mat22;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
var _local29:Number;
var _local30:Number;
var _local31:Number;
var _local32:Number;
_local3 = m_body1;
_local4 = m_body2;
_local5 = _local3._-4L;
_local6 = _local4._-4L;
_local7 = _local3._-1;
_local8 = _local4._-1;
_local9 = _local3.m_xf.R;
_local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
_local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12));
_local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12));
_local11 = _local10;
_local9 = _local4.m_xf.R;
_local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
_local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14));
_local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14));
_local13 = _local10;
_local15 = (_local3.m_sweep.c.x + _local11);
_local16 = (_local3.m_sweep.c.y + _local12);
_local17 = (_local4.m_sweep.c.x + _local13);
_local18 = (_local4.m_sweep.c.y + _local14);
_local19 = (_local17 - _local15);
_local20 = (_local18 - _local16);
_local9 = _local3.m_xf.R;
_local21 = ((_local9.col1.x * m_localYAxis1.x) + (_local9.col2.x * m_localYAxis1.y));
_local22 = ((_local9.col1.y * m_localYAxis1.x) + (_local9.col2.y * m_localYAxis1.y));
_local23 = ((_local21 * _local19) + (_local22 * _local20));
_local23 = b2Math.b2Clamp(_local23, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection);
_local24 = (-(m_linearMass) * _local23);
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local24) * m_linearJacobian.linear1.x));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local24) * m_linearJacobian.linear1.y));
_local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local24) * m_linearJacobian.angular1));
_local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local24) * m_linearJacobian.linear2.x));
_local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local24) * m_linearJacobian.linear2.y));
_local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local24) * m_linearJacobian.angular2));
_local25 = b2Math.b2Abs(_local23);
_local26 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_refAngle);
_local26 = b2Math.b2Clamp(_local26, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection);
_local27 = (-(m_angularMass) * _local26);
_local3.m_sweep.a = (_local3.m_sweep.a - (_local3._-1 * _local27));
_local4.m_sweep.a = (_local4.m_sweep.a + (_local4._-1 * _local27));
_local3._-3E();
_local4._-3E();
_local28 = b2Math.b2Abs(_local26);
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local9 = _local3.m_xf.R;
_local11 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
_local12 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local11) + (_local9.col2.x * _local12));
_local12 = ((_local9.col1.y * _local11) + (_local9.col2.y * _local12));
_local11 = _local10;
_local9 = _local4.m_xf.R;
_local13 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
_local14 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local10 = ((_local9.col1.x * _local13) + (_local9.col2.x * _local14));
_local14 = ((_local9.col1.y * _local13) + (_local9.col2.y * _local14));
_local13 = _local10;
_local15 = (_local3.m_sweep.c.x + _local11);
_local16 = (_local3.m_sweep.c.y + _local12);
_local17 = (_local4.m_sweep.c.x + _local13);
_local18 = (_local4.m_sweep.c.y + _local14);
_local19 = (_local17 - _local15);
_local20 = (_local18 - _local16);
_local9 = _local3.m_xf.R;
_local29 = ((_local9.col1.x * m_localXAxis1.x) + (_local9.col2.x * m_localXAxis1.y));
_local30 = ((_local9.col1.y * m_localXAxis1.x) + (_local9.col2.y * m_localXAxis1.y));
_local31 = ((_local29 * _local19) + (_local30 * _local20));
_local32 = 0;
if (m_limitState == e_equalLimits){
_local1 = b2Math.b2Clamp(_local31, -(b2Settings.b2_maxLinearCorrection), b2Settings.b2_maxLinearCorrection);
_local32 = (-(m_motorMass) * _local1);
_local25 = b2Math.b2Max(_local25, b2Math.b2Abs(_local26));
} else {
if (m_limitState == e_atLowerLimit){
_local1 = (_local31 - m_lowerTranslation);
_local25 = b2Math.b2Max(_local25, -(_local1));
_local1 = b2Math.b2Clamp((_local1 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local32 = (-(m_motorMass) * _local1);
_local2 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local32), 0);
_local32 = (m_limitPositionImpulse - _local2);
} else {
if (m_limitState == e_atUpperLimit){
_local1 = (_local31 - m_upperTranslation);
_local25 = b2Math.b2Max(_local25, _local1);
_local1 = b2Math.b2Clamp((_local1 - b2Settings.b2_linearSlop), 0, b2Settings.b2_maxLinearCorrection);
_local32 = (-(m_motorMass) * _local1);
_local2 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local32), 0);
_local32 = (m_limitPositionImpulse - _local2);
};
};
};
_local3.m_sweep.c.x = (_local3.m_sweep.c.x + ((_local5 * _local32) * m_motorJacobian.linear1.x));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y + ((_local5 * _local32) * m_motorJacobian.linear1.y));
_local3.m_sweep.a = (_local3.m_sweep.a + ((_local7 * _local32) * m_motorJacobian.angular1));
_local4.m_sweep.c.x = (_local4.m_sweep.c.x + ((_local6 * _local32) * m_motorJacobian.linear2.x));
_local4.m_sweep.c.y = (_local4.m_sweep.c.y + ((_local6 * _local32) * m_motorJacobian.linear2.y));
_local4.m_sweep.a = (_local4.m_sweep.a + ((_local8 * _local32) * m_motorJacobian.angular2));
_local3._-3E();
_local4._-3E();
};
return ((((_local25 <= b2Settings.b2_linearSlop)) && ((_local28 <= b2Settings.b2_angularSlop))));
}
public function GetJointSpeed():Number{
var _local1:_-0F;
var _local2:_-0F;
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
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:b2Vec2;
var _local16:b2Vec2;
var _local17:b2Vec2;
var _local18:Number;
var _local19:Number;
var _local20:Number;
_local1 = m_body1;
_local2 = m_body2;
_local3 = _local1.m_xf.R;
_local4 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x);
_local5 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y);
_local6 = ((_local3.col1.x * _local4) + (_local3.col2.x * _local5));
_local5 = ((_local3.col1.y * _local4) + (_local3.col2.y * _local5));
_local4 = _local6;
_local3 = _local2.m_xf.R;
_local7 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x);
_local8 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y);
_local6 = ((_local3.col1.x * _local7) + (_local3.col2.x * _local8));
_local8 = ((_local3.col1.y * _local7) + (_local3.col2.y * _local8));
_local7 = _local6;
_local9 = (_local1.m_sweep.c.x + _local4);
_local10 = (_local1.m_sweep.c.y + _local5);
_local11 = (_local2.m_sweep.c.x + _local7);
_local12 = (_local2.m_sweep.c.y + _local8);
_local13 = (_local11 - _local9);
_local14 = (_local12 - _local10);
_local15 = _local1._-6u(m_localXAxis1);
_local16 = _local1._-R;
_local17 = _local2._-R;
_local18 = _local1.m_angularVelocity;
_local19 = _local2.m_angularVelocity;
_local20 = (((_local13 * (-(_local18) * _local15.y)) + (_local14 * (_local18 * _local15.x))) + ((_local15.x * (((_local17.x + (-(_local19) * _local8)) - _local16.x) - (-(_local18) * _local5))) + (_local15.y * (((_local17.y + (_local19 * _local7)) - _local16.y) - (_local18 * _local4)))));
return (_local20);
}
public function SetMotorSpeed(_arg1:Number):void{
m_motorSpeed = _arg1;
}
override public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:b2Mat22;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
var _local27:Number;
var _local28:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2.m_xf.R;
_local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7));
_local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7));
_local6 = _local5;
_local4 = _local3.m_xf.R;
_local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local5;
_local10 = _local2._-4L;
_local11 = _local3._-4L;
_local12 = _local2._-1;
_local13 = _local3._-1;
_local4 = _local2.m_xf.R;
_local14 = ((_local4.col1.x * m_localYAxis1.x) + (_local4.col2.x * m_localYAxis1.y));
_local15 = ((_local4.col1.y * m_localYAxis1.x) + (_local4.col2.y * m_localYAxis1.y));
_local16 = ((_local3.m_sweep.c.x + _local8) - _local2.m_sweep.c.x);
_local17 = ((_local3.m_sweep.c.y + _local9) - _local2.m_sweep.c.y);
m_linearJacobian.linear1.x = -(_local14);
m_linearJacobian.linear1.y = -(_local15);
m_linearJacobian.linear2.x = _local14;
m_linearJacobian.linear2.y = _local15;
m_linearJacobian.angular1 = -(((_local16 * _local15) - (_local17 * _local14)));
m_linearJacobian.angular2 = ((_local8 * _local15) - (_local9 * _local14));
m_linearMass = (((_local10 + ((_local12 * m_linearJacobian.angular1) * m_linearJacobian.angular1)) + _local11) + ((_local13 * m_linearJacobian.angular2) * m_linearJacobian.angular2));
m_linearMass = (1 / m_linearMass);
m_angularMass = (_local12 + _local13);
if (m_angularMass > Number.MIN_VALUE){
m_angularMass = (1 / m_angularMass);
};
if (((m_enableLimit) || (m_enableMotor))){
_local4 = _local2.m_xf.R;
_local18 = ((_local4.col1.x * m_localXAxis1.x) + (_local4.col2.x * m_localXAxis1.y));
_local19 = ((_local4.col1.y * m_localXAxis1.x) + (_local4.col2.y * m_localXAxis1.y));
m_motorJacobian.linear1.x = -(_local18);
m_motorJacobian.linear1.y = -(_local19);
m_motorJacobian.linear2.x = _local18;
m_motorJacobian.linear2.y = _local19;
m_motorJacobian.angular1 = -(((_local16 * _local19) - (_local17 * _local18)));
m_motorJacobian.angular2 = ((_local8 * _local19) - (_local9 * _local18));
m_motorMass = (((_local10 + ((_local12 * m_motorJacobian.angular1) * m_motorJacobian.angular1)) + _local11) + ((_local13 * m_motorJacobian.angular2) * m_motorJacobian.angular2));
m_motorMass = (1 / m_motorMass);
if (m_enableLimit){
_local20 = (_local16 - _local6);
_local21 = (_local17 - _local7);
_local22 = ((_local18 * _local20) + (_local19 * _local21));
if (b2Math.b2Abs((m_upperTranslation - m_lowerTranslation)) < (2 * b2Settings.b2_linearSlop)){
m_limitState = e_equalLimits;
} else {
if (_local22 <= m_lowerTranslation){
if (m_limitState != e_atLowerLimit){
m_limitForce = 0;
};
m_limitState = e_atLowerLimit;
} else {
if (_local22 >= m_upperTranslation){
if (m_limitState != e_atUpperLimit){
m_limitForce = 0;
};
m_limitState = e_atUpperLimit;
} else {
m_limitState = e_inactiveLimit;
m_limitForce = 0;
};
};
};
};
};
if (m_enableMotor == false){
m_motorForce = 0;
};
if (m_enableLimit == false){
m_limitForce = 0;
};
if (_arg1._-7P){
_local23 = (_arg1.function * ((m_force * m_linearJacobian.linear1.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.x)));
_local24 = (_arg1.function * ((m_force * m_linearJacobian.linear1.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear1.y)));
_local25 = (_arg1.function * ((m_force * m_linearJacobian.linear2.x) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.x)));
_local26 = (_arg1.function * ((m_force * m_linearJacobian.linear2.y) + ((m_motorForce + m_limitForce) * m_motorJacobian.linear2.y)));
_local27 = (_arg1.function * (((m_force * m_linearJacobian.angular1) - m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular1)));
_local28 = (_arg1.function * (((m_force * m_linearJacobian.angular2) + m_torque) + ((m_motorForce + m_limitForce) * m_motorJacobian.angular2)));
_local2._-R.x = (_local2._-R.x + (_local10 * _local23));
_local2._-R.y = (_local2._-R.y + (_local10 * _local24));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local12 * _local27));
_local3._-R.x = (_local3._-R.x + (_local11 * _local25));
_local3._-R.y = (_local3._-R.y + (_local11 * _local26));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local13 * _local28));
} else {
m_force = 0;
m_torque = 0;
m_limitForce = 0;
m_motorForce = 0;
};
m_limitPositionImpulse = 0;
}
public function GetMotorForce():Number{
return (m_motorForce);
}
public function SetMaxMotorForce(_arg1:Number):void{
m_maxMotorForce = _arg1;
}
public function EnableLimit(_arg1:Boolean):void{
m_enableLimit = _arg1;
}
override public function GetReactionTorque():Number{
return (m_torque);
}
public function IsLimitEnabled():Boolean{
return (m_enableLimit);
}
public function IsMotorEnabled():Boolean{
return (m_enableMotor);
}
override public function SolveVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:Number;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2._-4L;
_local5 = _local3._-4L;
_local6 = _local2._-1;
_local7 = _local3._-1;
_local9 = m_linearJacobian.Compute(_local2._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity);
_local10 = ((-(_arg1._-3T) * m_linearMass) * _local9);
m_force = (m_force + _local10);
_local11 = (_arg1.function * _local10);
_local2._-R.x = (_local2._-R.x + ((_local4 * _local11) * m_linearJacobian.linear1.x));
_local2._-R.y = (_local2._-R.y + ((_local4 * _local11) * m_linearJacobian.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_linearJacobian.angular1));
_local3._-R.x = (_local3._-R.x + ((_local5 * _local11) * m_linearJacobian.linear2.x));
_local3._-R.y = (_local3._-R.y + ((_local5 * _local11) * m_linearJacobian.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_linearJacobian.angular2));
_local12 = (_local3.m_angularVelocity - _local2.m_angularVelocity);
_local13 = ((-(_arg1._-3T) * m_angularMass) * _local12);
m_torque = (m_torque + _local13);
_local14 = (_arg1.function * _local13);
_local2.m_angularVelocity = (_local2.m_angularVelocity - (_local6 * _local14));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local7 * _local14));
if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){
_local15 = (m_motorJacobian.Compute(_local2._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity) - m_motorSpeed);
_local16 = ((-(_arg1._-3T) * m_motorMass) * _local15);
_local17 = m_motorForce;
m_motorForce = b2Math.b2Clamp((m_motorForce + _local16), -(m_maxMotorForce), m_maxMotorForce);
_local16 = (m_motorForce - _local17);
_local11 = (_arg1.function * _local16);
_local2._-R.x = (_local2._-R.x + ((_local4 * _local11) * m_motorJacobian.linear1.x));
_local2._-R.y = (_local2._-R.y + ((_local4 * _local11) * m_motorJacobian.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1));
_local3._-R.x = (_local3._-R.x + ((_local5 * _local11) * m_motorJacobian.linear2.x));
_local3._-R.y = (_local3._-R.y + ((_local5 * _local11) * m_motorJacobian.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2));
};
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local18 = m_motorJacobian.Compute(_local2._-R, _local2.m_angularVelocity, _local3._-R, _local3.m_angularVelocity);
_local19 = ((-(_arg1._-3T) * m_motorMass) * _local18);
if (m_limitState == e_equalLimits){
m_limitForce = (m_limitForce + _local19);
} else {
if (m_limitState == e_atLowerLimit){
_local8 = m_limitForce;
m_limitForce = b2Math.b2Max((m_limitForce + _local19), 0);
_local19 = (m_limitForce - _local8);
} else {
if (m_limitState == e_atUpperLimit){
_local8 = m_limitForce;
m_limitForce = b2Math.b2Min((m_limitForce + _local19), 0);
_local19 = (m_limitForce - _local8);
};
};
};
_local11 = (_arg1.function * _local19);
_local2._-R.x = (_local2._-R.x + ((_local4 * _local11) * m_motorJacobian.linear1.x));
_local2._-R.y = (_local2._-R.y + ((_local4 * _local11) * m_motorJacobian.linear1.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity + ((_local6 * _local11) * m_motorJacobian.angular1));
_local3._-R.x = (_local3._-R.x + ((_local5 * _local11) * m_motorJacobian.linear2.x));
_local3._-R.y = (_local3._-R.y + ((_local5 * _local11) * m_motorJacobian.linear2.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local7 * _local11) * m_motorJacobian.angular2));
};
}
}
}//package Box2D.Dynamics.Joints
Section 59
//b2PrismaticJointDef (Box2D.Dynamics.Joints.b2PrismaticJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2PrismaticJointDef extends b2JointDef {
public var localAxis1:b2Vec2;
public var referenceAngle:Number;
public var maxMotorForce:Number;
public var motorSpeed:Number;
public var upperTranslation:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var enableLimit:Boolean;
public var enableMotor:Boolean;
public var lowerTranslation:Number;
public function b2PrismaticJointDef(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
localAxis1 = new b2Vec2();
super();
type = b2Joint.e_prismaticJoint;
localAxis1.Set(1, 0);
referenceAngle = 0;
enableLimit = false;
lowerTranslation = 0;
upperTranslation = 0;
enableMotor = false;
maxMotorForce = 0;
motorSpeed = 0;
}
public function Initialize(_arg1:_-0F, _arg2:_-0F, _arg3:b2Vec2, _arg4:b2Vec2):void{
body1 = _arg1;
body2 = _arg2;
localAnchor1 = body1.GetLocalPoint(_arg3);
localAnchor2 = body2.GetLocalPoint(_arg3);
localAxis1 = body1.GetLocalVector(_arg4);
referenceAngle = (body2.GetAngle() - body1.GetAngle());
}
}
}//package Box2D.Dynamics.Joints
Section 60
//b2PulleyJoint (Box2D.Dynamics.Joints.b2PulleyJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2PulleyJoint extends b2Joint {
public var m_ground:_-0F;
public var m_maxLength2:Number;
public var m_limitForce1:Number;
public var m_maxLength1:Number;
public var m_limitState1:int;
public var m_limitState2:int;
public var m_limitPositionImpulse2:Number;
public var m_force:Number;
public var m_limitPositionImpulse1:Number;
public var m_constant:Number;
public var m_state:int;
public var m_ratio:Number;
public var m_groundAnchor1:b2Vec2;
public var m_groundAnchor2:b2Vec2;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
public var m_positionImpulse:Number;
public var m_limitMass2:Number;
public var m_limitMass1:Number;
public var m_pulleyMass:Number;
public var m_u1:b2Vec2;
public var m_u2:b2Vec2;
public var m_limitForce2:Number;
public static const b2_minPulleyLength:Number = 1;
public function b2PulleyJoint(_arg1:b2PulleyJointDef){
var _local2:b2Mat22;
var _local3:Number;
var _local4:Number;
m_groundAnchor1 = new b2Vec2();
m_groundAnchor2 = new b2Vec2();
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_u1 = new b2Vec2();
m_u2 = new b2Vec2();
super(_arg1);
m_ground = m_body1.m_world.m_groundBody;
m_groundAnchor1.x = (_arg1.groundAnchor1.x - m_ground.m_xf.position.x);
m_groundAnchor1.y = (_arg1.groundAnchor1.y - m_ground.m_xf.position.y);
m_groundAnchor2.x = (_arg1.groundAnchor2.x - m_ground.m_xf.position.x);
m_groundAnchor2.y = (_arg1.groundAnchor2.y - m_ground.m_xf.position.y);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_ratio = _arg1.ratio;
m_constant = (_arg1.length1 + (m_ratio * _arg1.length2));
m_maxLength1 = b2Math.b2Min(_arg1.maxLength1, (m_constant - (m_ratio * b2_minPulleyLength)));
m_maxLength2 = b2Math.b2Min(_arg1.maxLength2, ((m_constant - b2_minPulleyLength) / m_ratio));
m_force = 0;
m_limitForce1 = 0;
m_limitForce2 = 0;
}
public function GetGroundAnchor2():b2Vec2{
var _local1:b2Vec2;
_local1 = m_ground.m_xf.position.Copy();
_local1.Add(m_groundAnchor2);
return (_local1);
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
override public function GetReactionForce():b2Vec2{
var _local1:b2Vec2;
_local1 = m_u2.Copy();
_local1.Multiply(m_force);
return (_local1);
}
override public function SolvePositionConstraints():Boolean{
var _local1:_-0F;
var _local2:_-0F;
var _local3:b2Mat22;
var _local4:Number;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
_local1 = m_body1;
_local2 = m_body2;
_local4 = (m_ground.m_xf.position.x + m_groundAnchor1.x);
_local5 = (m_ground.m_xf.position.y + m_groundAnchor1.y);
_local6 = (m_ground.m_xf.position.x + m_groundAnchor2.x);
_local7 = (m_ground.m_xf.position.y + m_groundAnchor2.y);
_local23 = 0;
if (m_state == e_atUpperLimit){
_local3 = _local1.m_xf.R;
_local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x);
_local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9));
_local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9));
_local8 = _local22;
_local3 = _local2.m_xf.R;
_local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x);
_local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11));
_local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11));
_local10 = _local22;
_local12 = (_local1.m_sweep.c.x + _local8);
_local13 = (_local1.m_sweep.c.y + _local9);
_local14 = (_local2.m_sweep.c.x + _local10);
_local15 = (_local2.m_sweep.c.y + _local11);
m_u1.Set((_local12 - _local4), (_local13 - _local5));
m_u2.Set((_local14 - _local6), (_local15 - _local7));
_local16 = m_u1.Length();
_local17 = m_u2.Length();
if (_local16 > b2Settings.b2_linearSlop){
m_u1.Multiply((1 / _local16));
} else {
m_u1.SetZero();
};
if (_local17 > b2Settings.b2_linearSlop){
m_u2.Multiply((1 / _local17));
} else {
m_u2.SetZero();
};
_local18 = ((m_constant - _local16) - (m_ratio * _local17));
_local23 = b2Math.b2Max(_local23, -(_local18));
_local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local19 = (-(m_pulleyMass) * _local18);
_local20 = m_positionImpulse;
m_positionImpulse = b2Math.b2Max(0, (m_positionImpulse + _local19));
_local19 = (m_positionImpulse - _local20);
_local12 = (-(_local19) * m_u1.x);
_local13 = (-(_local19) * m_u1.y);
_local14 = ((-(m_ratio) * _local19) * m_u2.x);
_local15 = ((-(m_ratio) * _local19) * m_u2.y);
_local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1._-4L * _local12));
_local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1._-4L * _local13));
_local1.m_sweep.a = (_local1.m_sweep.a + (_local1._-1 * ((_local8 * _local13) - (_local9 * _local12))));
_local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2._-4L * _local14));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2._-4L * _local15));
_local2.m_sweep.a = (_local2.m_sweep.a + (_local2._-1 * ((_local10 * _local15) - (_local11 * _local14))));
_local1._-3E();
_local2._-3E();
};
if (m_limitState1 == e_atUpperLimit){
_local3 = _local1.m_xf.R;
_local8 = (m_localAnchor1.x - _local1.m_sweep.localCenter.x);
_local9 = (m_localAnchor1.y - _local1.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local8) + (_local3.col2.x * _local9));
_local9 = ((_local3.col1.y * _local8) + (_local3.col2.y * _local9));
_local8 = _local22;
_local12 = (_local1.m_sweep.c.x + _local8);
_local13 = (_local1.m_sweep.c.y + _local9);
m_u1.Set((_local12 - _local4), (_local13 - _local5));
_local16 = m_u1.Length();
if (_local16 > b2Settings.b2_linearSlop){
m_u1.x = (m_u1.x * (1 / _local16));
m_u1.y = (m_u1.y * (1 / _local16));
} else {
m_u1.SetZero();
};
_local18 = (m_maxLength1 - _local16);
_local23 = b2Math.b2Max(_local23, -(_local18));
_local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local19 = (-(m_limitMass1) * _local18);
_local21 = m_limitPositionImpulse1;
m_limitPositionImpulse1 = b2Math.b2Max(0, (m_limitPositionImpulse1 + _local19));
_local19 = (m_limitPositionImpulse1 - _local21);
_local12 = (-(_local19) * m_u1.x);
_local13 = (-(_local19) * m_u1.y);
_local1.m_sweep.c.x = (_local1.m_sweep.c.x + (_local1._-4L * _local12));
_local1.m_sweep.c.y = (_local1.m_sweep.c.y + (_local1._-4L * _local13));
_local1.m_sweep.a = (_local1.m_sweep.a + (_local1._-1 * ((_local8 * _local13) - (_local9 * _local12))));
_local1._-3E();
};
if (m_limitState2 == e_atUpperLimit){
_local3 = _local2.m_xf.R;
_local10 = (m_localAnchor2.x - _local2.m_sweep.localCenter.x);
_local11 = (m_localAnchor2.y - _local2.m_sweep.localCenter.y);
_local22 = ((_local3.col1.x * _local10) + (_local3.col2.x * _local11));
_local11 = ((_local3.col1.y * _local10) + (_local3.col2.y * _local11));
_local10 = _local22;
_local14 = (_local2.m_sweep.c.x + _local10);
_local15 = (_local2.m_sweep.c.y + _local11);
m_u2.Set((_local14 - _local6), (_local15 - _local7));
_local17 = m_u2.Length();
if (_local17 > b2Settings.b2_linearSlop){
m_u2.x = (m_u2.x * (1 / _local17));
m_u2.y = (m_u2.y * (1 / _local17));
} else {
m_u2.SetZero();
};
_local18 = (m_maxLength2 - _local17);
_local23 = b2Math.b2Max(_local23, -(_local18));
_local18 = b2Math.b2Clamp((_local18 + b2Settings.b2_linearSlop), -(b2Settings.b2_maxLinearCorrection), 0);
_local19 = (-(m_limitMass2) * _local18);
_local21 = m_limitPositionImpulse2;
m_limitPositionImpulse2 = b2Math.b2Max(0, (m_limitPositionImpulse2 + _local19));
_local19 = (m_limitPositionImpulse2 - _local21);
_local14 = (-(_local19) * m_u2.x);
_local15 = (-(_local19) * m_u2.y);
_local2.m_sweep.c.x = (_local2.m_sweep.c.x + (_local2._-4L * _local14));
_local2.m_sweep.c.y = (_local2.m_sweep.c.y + (_local2._-4L * _local15));
_local2.m_sweep.a = (_local2.m_sweep.a + (_local2._-1 * ((_local10 * _local15) - (_local11 * _local14))));
_local2._-3E();
};
return ((_local23 < b2Settings.b2_linearSlop));
}
override public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:b2Mat22;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2.m_xf.R;
_local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6));
_local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6));
_local5 = _local7;
_local4 = _local3.m_xf.R;
_local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local7;
_local10 = (_local2.m_sweep.c.x + _local5);
_local11 = (_local2.m_sweep.c.y + _local6);
_local12 = (_local3.m_sweep.c.x + _local8);
_local13 = (_local3.m_sweep.c.y + _local9);
_local14 = (m_ground.m_xf.position.x + m_groundAnchor1.x);
_local15 = (m_ground.m_xf.position.y + m_groundAnchor1.y);
_local16 = (m_ground.m_xf.position.x + m_groundAnchor2.x);
_local17 = (m_ground.m_xf.position.y + m_groundAnchor2.y);
m_u1.Set((_local10 - _local14), (_local11 - _local15));
m_u2.Set((_local12 - _local16), (_local13 - _local17));
_local18 = m_u1.Length();
_local19 = m_u2.Length();
if (_local18 > b2Settings.b2_linearSlop){
m_u1.Multiply((1 / _local18));
} else {
m_u1.SetZero();
};
if (_local19 > b2Settings.b2_linearSlop){
m_u2.Multiply((1 / _local19));
} else {
m_u2.SetZero();
};
_local20 = ((m_constant - _local18) - (m_ratio * _local19));
if (_local20 > 0){
m_state = e_inactiveLimit;
m_force = 0;
} else {
m_state = e_atUpperLimit;
m_positionImpulse = 0;
};
if (_local18 < m_maxLength1){
m_limitState1 = e_inactiveLimit;
m_limitForce1 = 0;
} else {
m_limitState1 = e_atUpperLimit;
m_limitPositionImpulse1 = 0;
};
if (_local19 < m_maxLength2){
m_limitState2 = e_inactiveLimit;
m_limitForce2 = 0;
} else {
m_limitState2 = e_atUpperLimit;
m_limitPositionImpulse2 = 0;
};
_local21 = ((_local5 * m_u1.y) - (_local6 * m_u1.x));
_local22 = ((_local8 * m_u2.y) - (_local9 * m_u2.x));
m_limitMass1 = (_local2._-4L + ((_local2._-1 * _local21) * _local21));
m_limitMass2 = (_local3._-4L + ((_local3._-1 * _local22) * _local22));
m_pulleyMass = (m_limitMass1 + ((m_ratio * m_ratio) * m_limitMass2));
m_limitMass1 = (1 / m_limitMass1);
m_limitMass2 = (1 / m_limitMass2);
m_pulleyMass = (1 / m_pulleyMass);
if (_arg1._-7P){
_local23 = ((_arg1.function * (-(m_force) - m_limitForce1)) * m_u1.x);
_local24 = ((_arg1.function * (-(m_force) - m_limitForce1)) * m_u1.y);
_local25 = ((_arg1.function * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.x);
_local26 = ((_arg1.function * ((-(m_ratio) * m_force) - m_limitForce2)) * m_u2.y);
_local2._-R.x = (_local2._-R.x + (_local2._-4L * _local23));
_local2._-R.y = (_local2._-R.y + (_local2._-4L * _local24));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local5 * _local24) - (_local6 * _local23))));
_local3._-R.x = (_local3._-R.x + (_local3._-4L * _local25));
_local3._-R.y = (_local3._-R.y + (_local3._-4L * _local26));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local26) - (_local9 * _local25))));
} else {
m_force = 0;
m_limitForce1 = 0;
m_limitForce2 = 0;
};
}
override public function GetReactionTorque():Number{
return (0);
}
public function GetRatio():Number{
return (m_ratio);
}
public function GetLength2():Number{
var _local1:b2Vec2;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = m_body2.GetWorldPoint(m_localAnchor2);
_local2 = (m_ground.m_xf.position.x + m_groundAnchor2.x);
_local3 = (m_ground.m_xf.position.y + m_groundAnchor2.y);
_local4 = (_local1.x - _local2);
_local5 = (_local1.y - _local3);
return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5))));
}
override public function SolveVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:b2Mat22;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2.m_xf.R;
_local5 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local6 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local7 = ((_local4.col1.x * _local5) + (_local4.col2.x * _local6));
_local6 = ((_local4.col1.y * _local5) + (_local4.col2.y * _local6));
_local5 = _local7;
_local4 = _local3.m_xf.R;
_local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local7 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local7;
if (m_state == e_atUpperLimit){
_local10 = (_local2._-R.x + (-(_local2.m_angularVelocity) * _local6));
_local11 = (_local2._-R.y + (_local2.m_angularVelocity * _local5));
_local12 = (_local3._-R.x + (-(_local3.m_angularVelocity) * _local9));
_local13 = (_local3._-R.y + (_local3.m_angularVelocity * _local8));
_local18 = (-(((m_u1.x * _local10) + (m_u1.y * _local11))) - (m_ratio * ((m_u2.x * _local12) + (m_u2.y * _local13))));
_local19 = ((-(_arg1._-3T) * m_pulleyMass) * _local18);
_local20 = m_force;
m_force = b2Math.b2Max(0, (m_force + _local19));
_local19 = (m_force - _local20);
_local14 = ((-(_arg1.function) * _local19) * m_u1.x);
_local15 = ((-(_arg1.function) * _local19) * m_u1.y);
_local16 = (((-(_arg1.function) * m_ratio) * _local19) * m_u2.x);
_local17 = (((-(_arg1.function) * m_ratio) * _local19) * m_u2.y);
_local2._-R.x = (_local2._-R.x + (_local2._-4L * _local14));
_local2._-R.y = (_local2._-R.y + (_local2._-4L * _local15));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local5 * _local15) - (_local6 * _local14))));
_local3._-R.x = (_local3._-R.x + (_local3._-4L * _local16));
_local3._-R.y = (_local3._-R.y + (_local3._-4L * _local17));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local17) - (_local9 * _local16))));
};
if (m_limitState1 == e_atUpperLimit){
_local10 = (_local2._-R.x + (-(_local2.m_angularVelocity) * _local6));
_local11 = (_local2._-R.y + (_local2.m_angularVelocity * _local5));
_local18 = -(((m_u1.x * _local10) + (m_u1.y * _local11)));
_local19 = ((-(_arg1._-3T) * m_limitMass1) * _local18);
_local20 = m_limitForce1;
m_limitForce1 = b2Math.b2Max(0, (m_limitForce1 + _local19));
_local19 = (m_limitForce1 - _local20);
_local14 = ((-(_arg1.function) * _local19) * m_u1.x);
_local15 = ((-(_arg1.function) * _local19) * m_u1.y);
_local2._-R.x = (_local2._-R.x + (_local2._-4L * _local14));
_local2._-R.y = (_local2._-R.y + (_local2._-4L * _local15));
_local2.m_angularVelocity = (_local2.m_angularVelocity + (_local2._-1 * ((_local5 * _local15) - (_local6 * _local14))));
};
if (m_limitState2 == e_atUpperLimit){
_local12 = (_local3._-R.x + (-(_local3.m_angularVelocity) * _local9));
_local13 = (_local3._-R.y + (_local3.m_angularVelocity * _local8));
_local18 = -(((m_u2.x * _local12) + (m_u2.y * _local13)));
_local19 = ((-(_arg1._-3T) * m_limitMass2) * _local18);
_local20 = m_limitForce2;
m_limitForce2 = b2Math.b2Max(0, (m_limitForce2 + _local19));
_local19 = (m_limitForce2 - _local20);
_local16 = ((-(_arg1.function) * _local19) * m_u2.x);
_local17 = ((-(_arg1.function) * _local19) * m_u2.y);
_local3._-R.x = (_local3._-R.x + (_local3._-4L * _local16));
_local3._-R.y = (_local3._-R.y + (_local3._-4L * _local17));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local17) - (_local9 * _local16))));
};
}
public function GetLength1():Number{
var _local1:b2Vec2;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = m_body1.GetWorldPoint(m_localAnchor1);
_local2 = (m_ground.m_xf.position.x + m_groundAnchor1.x);
_local3 = (m_ground.m_xf.position.y + m_groundAnchor1.y);
_local4 = (_local1.x - _local2);
_local5 = (_local1.y - _local3);
return (Math.sqrt(((_local4 * _local4) + (_local5 * _local5))));
}
public function GetGroundAnchor1():b2Vec2{
var _local1:b2Vec2;
_local1 = m_ground.m_xf.position.Copy();
_local1.Add(m_groundAnchor1);
return (_local1);
}
}
}//package Box2D.Dynamics.Joints
Section 61
//b2PulleyJointDef (Box2D.Dynamics.Joints.b2PulleyJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2PulleyJointDef extends b2JointDef {
public var maxLength2:Number;
public var length1:Number;
public var length2:Number;
public var maxLength1:Number;
public var ratio:Number;
public var groundAnchor1:b2Vec2;
public var groundAnchor2:b2Vec2;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public function b2PulleyJointDef(){
groundAnchor1 = new b2Vec2();
groundAnchor2 = new b2Vec2();
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
super();
type = b2Joint.e_pulleyJoint;
groundAnchor1.Set(-1, 1);
groundAnchor2.Set(1, 1);
localAnchor1.Set(-1, 0);
localAnchor2.Set(1, 0);
length1 = 0;
maxLength1 = 0;
length2 = 0;
maxLength2 = 0;
ratio = 1;
collideConnected = true;
}
public function Initialize(_arg1:_-0F, _arg2:_-0F, _arg3:b2Vec2, _arg4:b2Vec2, _arg5:b2Vec2, _arg6:b2Vec2, _arg7:Number):void{
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
body1 = _arg1;
body2 = _arg2;
groundAnchor1.SetV(_arg3);
groundAnchor2.SetV(_arg4);
localAnchor1 = body1.GetLocalPoint(_arg5);
localAnchor2 = body2.GetLocalPoint(_arg6);
_local8 = (_arg5.x - _arg3.x);
_local9 = (_arg5.y - _arg3.y);
length1 = Math.sqrt(((_local8 * _local8) + (_local9 * _local9)));
_local10 = (_arg6.x - _arg4.x);
_local11 = (_arg6.y - _arg4.y);
length2 = Math.sqrt(((_local10 * _local10) + (_local11 * _local11)));
ratio = _arg7;
_local12 = (length1 + (ratio * length2));
maxLength1 = (_local12 - (ratio * b2PulleyJoint.b2_minPulleyLength));
maxLength2 = ((_local12 - b2PulleyJoint.b2_minPulleyLength) / ratio);
}
}
}//package Box2D.Dynamics.Joints
Section 62
//b2RevoluteJoint (Box2D.Dynamics.Joints.b2RevoluteJoint)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
import Box2D.Common.*;
public class b2RevoluteJoint extends b2Joint {
public var m_limitForce:Number;
public var m_motorForce:Number;
public var m_pivotMass:b2Mat22;
public var m_enableLimit:Boolean;
public var m_limitState:int;
public var m_motorMass:Number;
public var m_localAnchor1:b2Vec2;
public var m_localAnchor2:b2Vec2;
private var K1:b2Mat22;
private var K2:b2Mat22;
private var K3:b2Mat22;
private var K:b2Mat22;
public var m_pivotForce:b2Vec2;
public var m_motorSpeed:Number;
public var m_enableMotor:Boolean;
public var m_limitPositionImpulse:Number;
public var m_maxMotorTorque:Number;
public var m_referenceAngle:Number;
public var m_lowerAngle:Number;
public var m_upperAngle:Number;
public static var tImpulse:b2Vec2 = new b2Vec2();
public function b2RevoluteJoint(_arg1:b2RevoluteJointDef){
K = new b2Mat22();
K1 = new b2Mat22();
K2 = new b2Mat22();
K3 = new b2Mat22();
m_localAnchor1 = new b2Vec2();
m_localAnchor2 = new b2Vec2();
m_pivotForce = new b2Vec2();
m_pivotMass = new b2Mat22();
super(_arg1);
m_localAnchor1.SetV(_arg1.localAnchor1);
m_localAnchor2.SetV(_arg1.localAnchor2);
m_referenceAngle = _arg1.referenceAngle;
m_pivotForce.Set(0, 0);
m_motorForce = 0;
m_limitForce = 0;
m_limitPositionImpulse = 0;
m_lowerAngle = _arg1.lowerAngle;
m_upperAngle = _arg1.upperAngle;
m_maxMotorTorque = _arg1.maxMotorTorque;
m_motorSpeed = _arg1.motorSpeed;
m_enableLimit = _arg1.enableLimit;
m_enableMotor = _arg1.enableMotor;
}
override public function GetAnchor1():b2Vec2{
return (m_body1.GetWorldPoint(m_localAnchor1));
}
override public function GetAnchor2():b2Vec2{
return (m_body2.GetWorldPoint(m_localAnchor2));
}
public function EnableMotor(_arg1:Boolean):void{
m_enableMotor = _arg1;
}
public function GetUpperLimit():Number{
return (m_upperAngle);
}
public function GetLowerLimit():Number{
return (m_lowerAngle);
}
public function SetLimits(_arg1:Number, _arg2:Number):void{
m_lowerAngle = _arg1;
m_upperAngle = _arg2;
}
public function GetMotorSpeed():Number{
return (m_motorSpeed);
}
override public function GetReactionForce():b2Vec2{
return (m_pivotForce);
}
override public function SolvePositionConstraints():Boolean{
var _local1:Number;
var _local2:Number;
var _local3:_-0F;
var _local4:_-0F;
var _local5:Number;
var _local6:b2Mat22;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:Number;
var _local23:Number;
var _local24:Number;
var _local25:Number;
var _local26:Number;
_local3 = m_body1;
_local4 = m_body2;
_local5 = 0;
_local6 = _local3.m_xf.R;
_local7 = (m_localAnchor1.x - _local3.m_sweep.localCenter.x);
_local8 = (m_localAnchor1.y - _local3.m_sweep.localCenter.y);
_local9 = ((_local6.col1.x * _local7) + (_local6.col2.x * _local8));
_local8 = ((_local6.col1.y * _local7) + (_local6.col2.y * _local8));
_local7 = _local9;
_local6 = _local4.m_xf.R;
_local10 = (m_localAnchor2.x - _local4.m_sweep.localCenter.x);
_local11 = (m_localAnchor2.y - _local4.m_sweep.localCenter.y);
_local9 = ((_local6.col1.x * _local10) + (_local6.col2.x * _local11));
_local11 = ((_local6.col1.y * _local10) + (_local6.col2.y * _local11));
_local10 = _local9;
_local12 = (_local3.m_sweep.c.x + _local7);
_local13 = (_local3.m_sweep.c.y + _local8);
_local14 = (_local4.m_sweep.c.x + _local10);
_local15 = (_local4.m_sweep.c.y + _local11);
_local16 = (_local14 - _local12);
_local17 = (_local15 - _local13);
_local5 = Math.sqrt(((_local16 * _local16) + (_local17 * _local17)));
_local18 = _local3._-4L;
_local19 = _local4._-4L;
_local20 = _local3._-1;
_local21 = _local4._-1;
K1.col1.x = (_local18 + _local19);
K1.col2.x = 0;
K1.col1.y = 0;
K1.col2.y = (_local18 + _local19);
K2.col1.x = ((_local20 * _local8) * _local8);
K2.col2.x = ((-(_local20) * _local7) * _local8);
K2.col1.y = ((-(_local20) * _local7) * _local8);
K2.col2.y = ((_local20 * _local7) * _local7);
K3.col1.x = ((_local21 * _local11) * _local11);
K3.col2.x = ((-(_local21) * _local10) * _local11);
K3.col1.y = ((-(_local21) * _local10) * _local11);
K3.col2.y = ((_local21 * _local10) * _local10);
K.SetM(K1);
K.AddM(K2);
K.AddM(K3);
K.Solve(tImpulse, -(_local16), -(_local17));
_local22 = tImpulse.x;
_local23 = tImpulse.y;
_local3.m_sweep.c.x = (_local3.m_sweep.c.x - (_local3._-4L * _local22));
_local3.m_sweep.c.y = (_local3.m_sweep.c.y - (_local3._-4L * _local23));
_local3.m_sweep.a = (_local3.m_sweep.a - (_local3._-1 * ((_local7 * _local23) - (_local8 * _local22))));
_local4.m_sweep.c.x = (_local4.m_sweep.c.x + (_local4._-4L * _local22));
_local4.m_sweep.c.y = (_local4.m_sweep.c.y + (_local4._-4L * _local23));
_local4.m_sweep.a = (_local4.m_sweep.a + (_local4._-1 * ((_local10 * _local23) - (_local11 * _local22))));
_local3._-3E();
_local4._-3E();
_local24 = 0;
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local25 = ((_local4.m_sweep.a - _local3.m_sweep.a) - m_referenceAngle);
_local26 = 0;
if (m_limitState == e_equalLimits){
_local2 = b2Math.b2Clamp(_local25, -(b2Settings.b2_maxAngularCorrection), b2Settings.b2_maxAngularCorrection);
_local26 = (-(m_motorMass) * _local2);
_local24 = b2Math.b2Abs(_local2);
} else {
if (m_limitState == e_atLowerLimit){
_local2 = (_local25 - m_lowerAngle);
_local24 = b2Math.b2Max(0, -(_local2));
_local2 = b2Math.b2Clamp((_local2 + b2Settings.b2_angularSlop), -(b2Settings.b2_maxAngularCorrection), 0);
_local26 = (-(m_motorMass) * _local2);
_local1 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Max((m_limitPositionImpulse + _local26), 0);
_local26 = (m_limitPositionImpulse - _local1);
} else {
if (m_limitState == e_atUpperLimit){
_local2 = (_local25 - m_upperAngle);
_local24 = b2Math.b2Max(0, _local2);
_local2 = b2Math.b2Clamp((_local2 - b2Settings.b2_angularSlop), 0, b2Settings.b2_maxAngularCorrection);
_local26 = (-(m_motorMass) * _local2);
_local1 = m_limitPositionImpulse;
m_limitPositionImpulse = b2Math.b2Min((m_limitPositionImpulse + _local26), 0);
_local26 = (m_limitPositionImpulse - _local1);
};
};
};
_local3.m_sweep.a = (_local3.m_sweep.a - (_local3._-1 * _local26));
_local4.m_sweep.a = (_local4.m_sweep.a + (_local4._-1 * _local26));
_local3._-3E();
_local4._-3E();
};
return ((((_local5 <= b2Settings.b2_linearSlop)) && ((_local24 <= b2Settings.b2_angularSlop))));
}
public function GetJointSpeed():Number{
return ((m_body2.m_angularVelocity - m_body1.m_angularVelocity));
}
public function SetMotorSpeed(_arg1:Number):void{
m_motorSpeed = _arg1;
}
public function SetMaxMotorTorque(_arg1:Number):void{
m_maxMotorTorque = _arg1;
}
public function GetJointAngle():Number{
return (((m_body2.m_sweep.a - m_body1.m_sweep.a) - m_referenceAngle));
}
override public function InitVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:b2Mat22;
var _local5:Number;
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;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2.m_xf.R;
_local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7));
_local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7));
_local6 = _local5;
_local4 = _local3.m_xf.R;
_local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local5;
_local10 = _local2._-4L;
_local11 = _local3._-4L;
_local12 = _local2._-1;
_local13 = _local3._-1;
K1.col1.x = (_local10 + _local11);
K1.col2.x = 0;
K1.col1.y = 0;
K1.col2.y = (_local10 + _local11);
K2.col1.x = ((_local12 * _local7) * _local7);
K2.col2.x = ((-(_local12) * _local6) * _local7);
K2.col1.y = ((-(_local12) * _local6) * _local7);
K2.col2.y = ((_local12 * _local6) * _local6);
K3.col1.x = ((_local13 * _local9) * _local9);
K3.col2.x = ((-(_local13) * _local8) * _local9);
K3.col1.y = ((-(_local13) * _local8) * _local9);
K3.col2.y = ((_local13 * _local8) * _local8);
K.SetM(K1);
K.AddM(K2);
K.AddM(K3);
K.Invert(m_pivotMass);
m_motorMass = (1 / (_local12 + _local13));
if (m_enableMotor == false){
m_motorForce = 0;
};
if (m_enableLimit){
_local14 = ((_local3.m_sweep.a - _local2.m_sweep.a) - m_referenceAngle);
if (b2Math.b2Abs((m_upperAngle - m_lowerAngle)) < (2 * b2Settings.b2_angularSlop)){
m_limitState = e_equalLimits;
} else {
if (_local14 <= m_lowerAngle){
if (m_limitState != e_atLowerLimit){
m_limitForce = 0;
};
m_limitState = e_atLowerLimit;
} else {
if (_local14 >= m_upperAngle){
if (m_limitState != e_atUpperLimit){
m_limitForce = 0;
};
m_limitState = e_atUpperLimit;
} else {
m_limitState = e_inactiveLimit;
m_limitForce = 0;
};
};
};
} else {
m_limitForce = 0;
};
if (_arg1._-7P){
_local2._-R.x = (_local2._-R.x - ((_arg1.function * _local10) * m_pivotForce.x));
_local2._-R.y = (_local2._-R.y - ((_arg1.function * _local10) * m_pivotForce.y));
_local2.m_angularVelocity = (_local2.m_angularVelocity - ((_arg1.function * _local12) * ((((_local6 * m_pivotForce.y) - (_local7 * m_pivotForce.x)) + m_motorForce) + m_limitForce)));
_local3._-R.x = (_local3._-R.x + ((_arg1.function * _local11) * m_pivotForce.x));
_local3._-R.y = (_local3._-R.y + ((_arg1.function * _local11) * m_pivotForce.y));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_arg1.function * _local13) * ((((_local8 * m_pivotForce.y) - (_local9 * m_pivotForce.x)) + m_motorForce) + m_limitForce)));
} else {
m_pivotForce.SetZero();
m_motorForce = 0;
m_limitForce = 0;
};
m_limitPositionImpulse = 0;
}
public function EnableLimit(_arg1:Boolean):void{
m_enableLimit = _arg1;
}
public function GetMotorTorque():Number{
return (m_motorForce);
}
override public function GetReactionTorque():Number{
return (m_limitForce);
}
public function IsLimitEnabled():Boolean{
return (m_enableLimit);
}
public function IsMotorEnabled():Boolean{
return (m_enableMotor);
}
override public function SolveVelocityConstraints(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:b2Mat22;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
_local2 = m_body1;
_local3 = m_body2;
_local4 = _local2.m_xf.R;
_local6 = (m_localAnchor1.x - _local2.m_sweep.localCenter.x);
_local7 = (m_localAnchor1.y - _local2.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local6) + (_local4.col2.x * _local7));
_local7 = ((_local4.col1.y * _local6) + (_local4.col2.y * _local7));
_local6 = _local5;
_local4 = _local3.m_xf.R;
_local8 = (m_localAnchor2.x - _local3.m_sweep.localCenter.x);
_local9 = (m_localAnchor2.y - _local3.m_sweep.localCenter.y);
_local5 = ((_local4.col1.x * _local8) + (_local4.col2.x * _local9));
_local9 = ((_local4.col1.y * _local8) + (_local4.col2.y * _local9));
_local8 = _local5;
_local11 = (((_local3._-R.x + (-(_local3.m_angularVelocity) * _local9)) - _local2._-R.x) - (-(_local2.m_angularVelocity) * _local7));
_local12 = (((_local3._-R.y + (_local3.m_angularVelocity * _local8)) - _local2._-R.y) - (_local2.m_angularVelocity * _local6));
_local13 = (-(_arg1._-3T) * ((m_pivotMass.col1.x * _local11) + (m_pivotMass.col2.x * _local12)));
_local14 = (-(_arg1._-3T) * ((m_pivotMass.col1.y * _local11) + (m_pivotMass.col2.y * _local12)));
m_pivotForce.x = (m_pivotForce.x + _local13);
m_pivotForce.y = (m_pivotForce.y + _local14);
_local15 = (_arg1.function * _local13);
_local16 = (_arg1.function * _local14);
_local2._-R.x = (_local2._-R.x - (_local2._-4L * _local15));
_local2._-R.y = (_local2._-R.y - (_local2._-4L * _local16));
_local2.m_angularVelocity = (_local2.m_angularVelocity - (_local2._-1 * ((_local6 * _local16) - (_local7 * _local15))));
_local3._-R.x = (_local3._-R.x + (_local3._-4L * _local15));
_local3._-R.y = (_local3._-R.y + (_local3._-4L * _local16));
_local3.m_angularVelocity = (_local3.m_angularVelocity + (_local3._-1 * ((_local8 * _local16) - (_local9 * _local15))));
if (((m_enableMotor) && (!((m_limitState == e_equalLimits))))){
_local17 = ((_local3.m_angularVelocity - _local2.m_angularVelocity) - m_motorSpeed);
_local18 = ((-(_arg1._-3T) * m_motorMass) * _local17);
_local19 = m_motorForce;
m_motorForce = b2Math.b2Clamp((m_motorForce + _local18), -(m_maxMotorTorque), m_maxMotorTorque);
_local18 = (m_motorForce - _local19);
_local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2._-1 * _arg1.function) * _local18));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3._-1 * _arg1.function) * _local18));
};
if (((m_enableLimit) && (!((m_limitState == e_inactiveLimit))))){
_local20 = (_local3.m_angularVelocity - _local2.m_angularVelocity);
_local21 = ((-(_arg1._-3T) * m_motorMass) * _local20);
if (m_limitState == e_equalLimits){
m_limitForce = (m_limitForce + _local21);
} else {
if (m_limitState == e_atLowerLimit){
_local10 = m_limitForce;
m_limitForce = b2Math.b2Max((m_limitForce + _local21), 0);
_local21 = (m_limitForce - _local10);
} else {
if (m_limitState == e_atUpperLimit){
_local10 = m_limitForce;
m_limitForce = b2Math.b2Min((m_limitForce + _local21), 0);
_local21 = (m_limitForce - _local10);
};
};
};
_local2.m_angularVelocity = (_local2.m_angularVelocity - ((_local2._-1 * _arg1.function) * _local21));
_local3.m_angularVelocity = (_local3.m_angularVelocity + ((_local3._-1 * _arg1.function) * _local21));
};
}
}
}//package Box2D.Dynamics.Joints
Section 63
//b2RevoluteJointDef (Box2D.Dynamics.Joints.b2RevoluteJointDef)
package Box2D.Dynamics.Joints {
import Box2D.Common.Math.*;
import Box2D.Dynamics.*;
public class b2RevoluteJointDef extends b2JointDef {
public var referenceAngle:Number;
public var upperAngle:Number;
public var lowerAngle:Number;
public var motorSpeed:Number;
public var maxMotorTorque:Number;
public var localAnchor1:b2Vec2;
public var localAnchor2:b2Vec2;
public var enableLimit:Boolean;
public var enableMotor:Boolean;
public function b2RevoluteJointDef(){
localAnchor1 = new b2Vec2();
localAnchor2 = new b2Vec2();
super();
type = b2Joint.e_revoluteJoint;
localAnchor1.Set(0, 0);
localAnchor2.Set(0, 0);
referenceAngle = 0;
lowerAngle = 0;
upperAngle = 0;
maxMotorTorque = 0;
motorSpeed = 0;
enableLimit = false;
enableMotor = false;
}
public function Initialize(_arg1:_-0F, _arg2:_-0F, _arg3:b2Vec2):void{
body1 = _arg1;
body2 = _arg2;
localAnchor1 = body1.GetLocalPoint(_arg3);
localAnchor2 = body2.GetLocalPoint(_arg3);
referenceAngle = (body2.GetAngle() - body1.GetAngle());
}
}
}//package Box2D.Dynamics.Joints
Section 64
//_-0F (Box2D.Dynamics._-0F)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Dynamics.Contacts.*;
public class _-0F {
public var m_next:_-0F;
public var _-7O:b2ContactEdge;
public var m_angularVelocity:Number;
public var _-6Q:b2Shape;
public var m_force:b2Vec2;
public var m_mass:Number;
public var m_sweep:b2Sweep;
public var m_xf:b2XForm;
public var m_torque:Number;
public var m_userData;
public var m_flags:uint;
public var m_world:_-5Y;
public var m_prev:_-0F;
public var _-4L:Number;
public var m_type:int;
public var _-0Z:Number;
public var _-8Z:Number;
public var _-1:Number;
public var _-R:b2Vec2;
public var _-4P:Number;
public var _-7Y:int;
public var _-5b:b2JointEdge;
public var _-5P:Number;
public static var e_fixedRotationFlag:uint = 64;
public static var _-2j:uint = 2;
public static var _-4e:uint = 3;
public static var _-0H:uint = 8;
private static var _-1A:b2MassData = new b2MassData();
public static var _-8r:uint = 32;
public static var _-8Q:uint = 1;
public static var e_islandFlag:uint = 4;
public static var _-6T:uint = 16;
private static var _-8m:b2XForm = new b2XForm();
public static var _-4C:uint = 2;
public function _-0F(_arg1:_-8u, _arg2:_-5Y){
var _local3:b2Mat22;
var _local4:b2Vec2;
m_xf = new b2XForm();
m_sweep = new b2Sweep();
_-R = new b2Vec2();
m_force = new b2Vec2();
super();
m_flags = 0;
if (_arg1._-8J){
m_flags = (m_flags | _-8r);
};
if (_arg1._-68){
m_flags = (m_flags | e_fixedRotationFlag);
};
if (_arg1._-5x){
m_flags = (m_flags | _-6T);
};
if (_arg1._-74){
m_flags = (m_flags | _-0H);
};
m_world = _arg2;
m_xf.position.SetV(_arg1.position);
m_xf.R.Set(_arg1.angle);
m_sweep.localCenter.SetV(_arg1._-7I.center);
m_sweep.t0 = 1;
m_sweep.a0 = (m_sweep.a = _arg1.angle);
_local3 = m_xf.R;
_local4 = m_sweep.localCenter;
m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
_-5b = null;
_-7O = null;
m_prev = null;
m_next = null;
_-0Z = _arg1._-5I;
_-8Z = _arg1._-6r;
m_force.Set(0, 0);
m_torque = 0;
_-R.SetZero();
m_angularVelocity = 0;
_-4P = 0;
_-4L = 0;
_-5P = 0;
_-1 = 0;
m_mass = _arg1._-7I.mass;
if (m_mass > 0){
_-4L = (1 / m_mass);
};
if ((m_flags & _-0F.e_fixedRotationFlag) == 0){
_-5P = _arg1._-7I.I;
};
if (_-5P > 0){
_-1 = (1 / _-5P);
};
if ((((_-4L == 0)) && ((_-1 == 0)))){
m_type = _-8Q;
} else {
m_type = _-4C;
};
m_userData = _arg1.userData;
_-6Q = null;
_-7Y = 0;
}
public function _-3N(_arg1:b2Vec2):b2Vec2{
return (new b2Vec2((_-R.x - (m_angularVelocity * (_arg1.y - m_sweep.c.y))), (_-R.y + (m_angularVelocity * (_arg1.x - m_sweep.c.x)))));
}
public function _-j(_arg1:b2Vec2):void{
_-R.SetV(_arg1);
}
public function WakeUp():void{
m_flags = (m_flags & ~(_-0H));
_-4P = 0;
}
public function _-1u():b2Vec2{
return (m_sweep.localCenter);
}
public function _-70(_arg1:Number):void{
if (IsSleeping()){
WakeUp();
};
m_torque = (m_torque + _arg1);
}
public function _-2G():Boolean{
return (((m_flags & _-2j) == _-2j));
}
public function _-5t():Boolean{
return ((m_type == _-4C));
}
public function _-0-():b2Vec2{
return (_-R);
}
public function _-3E():void{
var _local1:b2Mat22;
var _local2:b2Vec2;
m_xf.R.Set(m_sweep.a);
_local1 = m_xf.R;
_local2 = m_sweep.localCenter;
m_xf.position.x = (m_sweep.c.x - ((_local1.col1.x * _local2.x) + (_local1.col2.x * _local2.y)));
m_xf.position.y = (m_sweep.c.y - ((_local1.col1.y * _local2.x) + (_local1.col2.y * _local2.y)));
}
public function _-8O():Number{
return (_-5P);
}
public function IsSleeping():Boolean{
return (((m_flags & _-0H) == _-0H));
}
public function _-6A():void{
var _local1:b2Shape;
var _local2:Number;
var _local3:Number;
var _local4:b2MassData;
var _local5:b2Mat22;
var _local6:b2Vec2;
var _local7:int;
if (m_world.m_lock == true){
return;
};
m_mass = 0;
_-4L = 0;
_-5P = 0;
_-1 = 0;
_local2 = 0;
_local3 = 0;
_local4 = _-1A;
_local1 = _-6Q;
while (_local1) {
_local1.ComputeMass(_local4);
m_mass = (m_mass + _local4.mass);
_local2 = (_local2 + (_local4.mass * _local4.center.x));
_local3 = (_local3 + (_local4.mass * _local4.center.y));
_-5P = (_-5P + _local4.I);
_local1 = _local1.m_next;
};
if (m_mass > 0){
_-4L = (1 / m_mass);
_local2 = (_local2 * _-4L);
_local3 = (_local3 * _-4L);
};
if ((((_-5P > 0)) && (((m_flags & e_fixedRotationFlag) == 0)))){
_-5P = (_-5P - (m_mass * ((_local2 * _local2) + (_local3 * _local3))));
_-1 = (1 / _-5P);
} else {
_-5P = 0;
_-1 = 0;
};
m_sweep.localCenter.Set(_local2, _local3);
_local5 = m_xf.R;
_local6 = m_sweep.localCenter;
m_sweep.c.x = ((_local5.col1.x * _local6.x) + (_local5.col2.x * _local6.y));
m_sweep.c.y = ((_local5.col1.y * _local6.x) + (_local5.col2.y * _local6.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
_local1 = _-6Q;
while (_local1) {
_local1.UpdateSweepRadius(m_sweep.localCenter);
_local1 = _local1.m_next;
};
_local7 = m_type;
if ((((_-4L == 0)) && ((_-1 == 0)))){
m_type = _-8Q;
} else {
m_type = _-4C;
};
if (_local7 != m_type){
_local1 = _-6Q;
while (_local1) {
_local1.RefilterProxy(m_world._-6X, m_xf);
_local1 = _local1.m_next;
};
};
}
public function _-2Y():void{
m_flags = (m_flags | _-0H);
_-4P = 0;
_-R.SetZero();
m_angularVelocity = 0;
m_force.SetZero();
m_torque = 0;
}
public function _-1S():b2JointEdge{
return (_-5b);
}
public function _-3-(_arg1:b2Vec2, _arg2:Number):Boolean{
var _local3:b2Shape;
var _local4:b2Mat22;
var _local5:b2Vec2;
var _local6:Boolean;
var _local7:Boolean;
if (m_world.m_lock == true){
return (true);
};
if (_-2G()){
return (false);
};
m_xf.R.Set(_arg2);
m_xf.position.SetV(_arg1);
_local4 = m_xf.R;
_local5 = m_sweep.localCenter;
m_sweep.c.x = ((_local4.col1.x * _local5.x) + (_local4.col2.x * _local5.y));
m_sweep.c.y = ((_local4.col1.y * _local5.x) + (_local4.col2.y * _local5.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
m_sweep.a0 = (m_sweep.a = _arg2);
_local6 = false;
_local3 = _-6Q;
while (_local3) {
_local7 = _local3.Synchronize(m_world._-6X, m_xf, m_xf);
if (_local7 == false){
_local6 = true;
break;
};
_local3 = _local3.m_next;
};
if (_local6 == true){
m_flags = (m_flags | _-2j);
_-R.SetZero();
m_angularVelocity = 0;
_local3 = _-6Q;
while (_local3) {
_local3.DestroyProxy(m_world._-6X);
_local3 = _local3.m_next;
};
return (false);
};
m_world._-6X._-u();
return (true);
}
public function GetLocalPoint(_arg1:b2Vec2):b2Vec2{
return (b2Math.b2MulXT(m_xf, _arg1));
}
public function _-36(_arg1:b2Vec2, _arg2:b2Vec2):void{
if (IsSleeping()){
WakeUp();
};
m_force.x = (m_force.x + _arg1.x);
m_force.y = (m_force.y + _arg1.y);
m_torque = (m_torque + (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x)));
}
public function var():Boolean{
var _local1:b2XForm;
var _local2:b2Mat22;
var _local3:b2Vec2;
var _local4:b2Shape;
var _local5:Boolean;
_local1 = _-8m;
_local1.R.Set(m_sweep.a0);
_local2 = _local1.R;
_local3 = m_sweep.localCenter;
_local1.position.x = (m_sweep.c0.x - ((_local2.col1.x * _local3.x) + (_local2.col2.x * _local3.y)));
_local1.position.y = (m_sweep.c0.y - ((_local2.col1.y * _local3.x) + (_local2.col2.y * _local3.y)));
_local5 = true;
_local4 = _-6Q;
while (_local4) {
_local5 = _local4.Synchronize(m_world._-6X, _local1, m_xf);
if (_local5 == false){
break;
};
_local4 = _local4.m_next;
};
if (_local5 == false){
m_flags = (m_flags | _-2j);
_-R.SetZero();
m_angularVelocity = 0;
_local4 = _-6Q;
while (_local4) {
_local4.DestroyProxy(m_world._-6X);
_local4 = _local4.m_next;
};
return (false);
};
return (true);
}
public function GetAngle():Number{
return (m_sweep.a);
}
public function GetXForm():b2XForm{
return (m_xf);
}
public function _-5z(_arg1:b2Vec2, _arg2:b2Vec2):void{
if (IsSleeping()){
WakeUp();
};
_-R.x = (_-R.x + (_-4L * _arg1.x));
_-R.y = (_-R.y + (_-4L * _arg1.y));
m_angularVelocity = (m_angularVelocity + (_-1 * (((_arg2.x - m_sweep.c.x) * _arg1.y) - ((_arg2.y - m_sweep.c.y) * _arg1.x))));
}
public function GetNext():_-0F{
return (m_next);
}
public function _-71():Number{
return (m_mass);
}
public function _-5V(_arg1:b2Vec2):b2Vec2{
var _local2:b2Mat22;
var _local3:b2Vec2;
_local2 = m_xf.R;
_local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y)));
_local3.x = (_local3.x + m_xf.position.x);
_local3.y = (_local3.y + m_xf.position.y);
return (new b2Vec2((_-R.x + (m_angularVelocity * (_local3.y - m_sweep.c.y))), (_-R.x - (m_angularVelocity * (_local3.x - m_sweep.c.x)))));
}
public function _-23():Number{
return (m_angularVelocity);
}
public function _-3L(_arg1:Number):void{
m_angularVelocity = _arg1;
}
public function _-27(_arg1:b2MassData):void{
var _local2:b2Shape;
var _local3:b2Mat22;
var _local4:b2Vec2;
var _local5:int;
if (m_world.m_lock == true){
return;
};
_-4L = 0;
_-5P = 0;
_-1 = 0;
m_mass = _arg1.mass;
if (m_mass > 0){
_-4L = (1 / m_mass);
};
if ((m_flags & _-0F.e_fixedRotationFlag) == 0){
_-5P = _arg1.I;
};
if (_-5P > 0){
_-1 = (1 / _-5P);
};
m_sweep.localCenter.SetV(_arg1.center);
_local3 = m_xf.R;
_local4 = m_sweep.localCenter;
m_sweep.c.x = ((_local3.col1.x * _local4.x) + (_local3.col2.x * _local4.y));
m_sweep.c.y = ((_local3.col1.y * _local4.x) + (_local3.col2.y * _local4.y));
m_sweep.c.x = (m_sweep.c.x + m_xf.position.x);
m_sweep.c.y = (m_sweep.c.y + m_xf.position.y);
m_sweep.c0.SetV(m_sweep.c);
_local2 = _-6Q;
while (_local2) {
_local2.UpdateSweepRadius(m_sweep.localCenter);
_local2 = _local2.m_next;
};
_local5 = m_type;
if ((((_-4L == 0)) && ((_-1 == 0)))){
m_type = _-8Q;
} else {
m_type = _-4C;
};
if (_local5 != m_type){
_local2 = _-6Q;
while (_local2) {
_local2.RefilterProxy(m_world._-6X, m_xf);
_local2 = _local2.m_next;
};
};
}
public function IsStatic():Boolean{
return ((m_type == _-8Q));
}
public function _-6u(_arg1:b2Vec2):b2Vec2{
return (b2Math.b2MulMV(m_xf.R, _arg1));
}
public function _-5W():b2Shape{
return (_-6Q);
}
public function Advance(_arg1:Number):void{
m_sweep.Advance(_arg1);
m_sweep.c.SetV(m_sweep.c0);
m_sweep.a = m_sweep.a0;
_-3E();
}
public function _-8k(_arg1:Boolean):void{
if (_arg1){
m_flags = (m_flags | _-8r);
} else {
m_flags = (m_flags & ~(_-8r));
};
}
public function _-8c(_arg1:b2ShapeDef):b2Shape{
var _local2:b2Shape;
if (m_world.m_lock == true){
return (null);
};
_local2 = b2Shape.Create(_arg1, m_world.m_blockAllocator);
_local2.m_next = _-6Q;
_-6Q = _local2;
_-7Y++;
_local2.m_body = this;
_local2.CreateProxy(m_world._-6X, m_xf);
_local2.UpdateSweepRadius(m_sweep.localCenter);
return (_local2);
}
public function _-3b(_arg1:_-0F):Boolean{
var _local2:b2JointEdge;
_local2 = _-5b;
while (_local2) {
if (_local2.other == _arg1){
return ((_local2.joint.m_collideConnected == false));
};
_local2 = _local2.next;
};
return (false);
}
public function _-7L(_arg1:b2Shape):void{
var _local2:b2Shape;
var _local3:b2Shape;
var _local4:Boolean;
if (m_world.m_lock == true){
return;
};
_arg1.DestroyProxy(m_world._-6X);
_local2 = _-6Q;
_local3 = null;
_local4 = false;
while (_local2 != null) {
if (_local2 == _arg1){
if (_local3){
_local3.m_next = _arg1.m_next;
} else {
_-6Q = _arg1.m_next;
};
_local4 = true;
break;
};
_local3 = _local2;
_local2 = _local2.m_next;
};
_arg1.m_body = null;
_arg1.m_next = null;
_-7Y--;
b2Shape.Destroy(_arg1, m_world.m_blockAllocator);
}
public function GetUserData(){
return (m_userData);
}
public function _-7J():Boolean{
return (((m_flags & _-8r) == _-8r));
}
public function _-38():b2Vec2{
return (m_sweep.c);
}
public function _-1q(_arg1:Boolean):void{
if (_arg1){
m_flags = (m_flags | _-6T);
} else {
m_flags = (m_flags & ~(_-6T));
WakeUp();
};
}
public function SetUserData(_arg1):void{
m_userData = _arg1;
}
public function GetLocalVector(_arg1:b2Vec2):b2Vec2{
return (b2Math.b2MulTMV(m_xf.R, _arg1));
}
public function GetWorldPoint(_arg1:b2Vec2):b2Vec2{
var _local2:b2Mat22;
var _local3:b2Vec2;
_local2 = m_xf.R;
_local3 = new b2Vec2(((_local2.col1.x * _arg1.x) + (_local2.col2.x * _arg1.y)), ((_local2.col1.y * _arg1.x) + (_local2.col2.y * _arg1.y)));
_local3.x = (_local3.x + m_xf.position.x);
_local3.y = (_local3.y + m_xf.position.y);
return (_local3);
}
public function _-v():_-5Y{
return (m_world);
}
public function _-1r():b2Vec2{
return (m_xf.position);
}
}
}//package Box2D.Dynamics
Section 65
//_-0L (Box2D.Dynamics._-0L)
package Box2D.Dynamics {
import Box2D.Collision.*;
import Box2D.Dynamics.Contacts.*;
public class _-0L {
public function Add(_arg1:b2ContactPoint):void{
}
public function _-7M(_arg1:b2ContactPoint):void{
}
public function _-B(_arg1:b2ContactPoint):void{
}
public function _-8t(_arg1:b2ContactResult):void{
}
}
}//package Box2D.Dynamics
Section 66
//_-29 (Box2D.Dynamics._-29)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Joints.*;
public class _-29 {
public function _-O(_arg1:b2Joint):void{
}
public function _-3W(_arg1:b2Shape):void{
}
}
}//package Box2D.Dynamics
Section 67
//_-3u (Box2D.Dynamics._-3u)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Contacts.*;
import Box2D.Common.*;
public class _-3u {
public function _-7Z(_arg1:_-0F):void{
if (_arg1.m_userData){
_arg1.m_userData.outBoundary = true;
};
}
}
}//package Box2D.Dynamics
Section 68
//_-5Y (Box2D.Dynamics._-5Y)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Dynamics.Contacts.*;
import Box2D.Common.*;
public class _-5Y {
public var _-5:Number;
public var _-X:_-3u;
public var _-7O:b2Contact;
public var m_blockAllocator;
public var _-61:_-0L;
public var _-6b:Boolean;
public var _-6X:_-V;
public var _-22:_-29;
public var _-6H:int;
public var _-6E:int;
public var m_lock:Boolean;
public var _-3Q:int;
public var m_groundBody:_-0F;
public var _-7e:int;
public var _-88:b2DebugDraw;
public var _-5O:_-81;
public var _-17:_-0F;
public var _-a;
public var _-5b:b2Joint;
public var _-1w:b2Vec2;
public var _-6k:_-9-;
private static var _-4r:b2Color = new b2Color(0, 0, 0);
public static var include:Boolean;
public static var _-8E:Boolean;
private static var _-5J:b2Color = new b2Color(0.9, 0.6, 0.6);
public static var _-4:Boolean;
private static var _-6o:b2XForm = new b2XForm();
public function _-5Y(_arg1:b2AABB, _arg2:b2Vec2, _arg3:Boolean){
var _local4:_-8u;
_-6k = new _-9-();
super();
_-22 = null;
_-X = null;
_-5O = _-81._-0A;
_-61 = null;
_-88 = null;
_-17 = null;
_-7O = null;
_-5b = null;
_-6E = 0;
_-7e = 0;
_-6H = 0;
_-4 = true;
_-8E = true;
include = true;
_-6b = _arg3;
_-1w = _arg2;
m_lock = false;
_-5 = 0;
_-6k.m_world = this;
_-6X = new _-V(_arg1, _-6k);
_local4 = new _-8u();
m_groundBody = CreateBody(_local4);
}
public function _-7u(_arg1:b2Joint):void{
var _local2:_-0F;
var _local3:_-0F;
var _local4:b2XForm;
var _local5:b2XForm;
var _local6:b2Vec2;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:b2Vec2;
var _local10:b2Color;
var _local11:b2PulleyJoint;
var _local12:b2Vec2;
var _local13:b2Vec2;
_local2 = _arg1.m_body1;
_local3 = _arg1.m_body2;
_local4 = _local2.m_xf;
_local5 = _local3.m_xf;
_local6 = _local4.position;
_local7 = _local5.position;
_local8 = _arg1.GetAnchor1();
_local9 = _arg1.GetAnchor2();
_local10 = _-4r;
switch (_arg1.m_type){
case b2Joint.e_distanceJoint:
_-88._-2O(_local8, _local9, _local10);
break;
case b2Joint.e_pulleyJoint:
_local11 = (_arg1 as b2PulleyJoint);
_local12 = _local11.GetGroundAnchor1();
_local13 = _local11.GetGroundAnchor2();
_-88._-2O(_local12, _local8, _local10);
_-88._-2O(_local13, _local9, _local10);
_-88._-2O(_local12, _local13, _local10);
break;
case b2Joint.e_mouseJoint:
break;
};
}
public function return(_arg1:b2Shape):void{
_arg1.RefilterProxy(_-6X, _arg1.m_body.m_xf);
}
public function _-0D(_arg1:b2DebugDraw):void{
_-88 = _arg1;
}
public function _-0R(_arg1:Boolean):void{
include = _arg1;
}
public function _-7t():int{
return (_-6X._-64);
}
public function _-7():void{
var _local1:uint;
var _local2:int;
var _local3:_-0F;
var _local4:b2Shape;
var _local5:b2Joint;
var _local6:_-V;
var _local7:b2Vec2;
var _local8:b2Vec2;
var _local9:b2Vec2;
var _local10:b2Color;
var _local11:b2XForm;
var _local12:b2AABB;
var _local13:b2AABB;
var _local14:Array;
var _local15:Boolean;
var _local16:uint;
var _local17:_-6R;
var _local18:_-6s;
var _local19:_-6s;
var _local20:b2Vec2;
var _local21:b2Vec2;
var _local22:_-6s;
var _local23:b2PolygonShape;
var _local24:_-1F;
var _local25:b2Vec2;
var _local26:b2Mat22;
var _local27:b2Vec2;
var _local28:Number;
if (_-88 == null){
return;
};
_-88._-y.graphics.clear();
_local1 = _-88._-8W();
_local7 = new b2Vec2();
_local8 = new b2Vec2();
_local9 = new b2Vec2();
_local10 = new b2Color(0, 0, 0);
_local12 = new b2AABB();
_local13 = new b2AABB();
_local14 = [new b2Vec2(), new b2Vec2(), new b2Vec2(), new b2Vec2()];
if ((_local1 & b2DebugDraw._-1c)){
_local15 = ((_local1 & b2DebugDraw._-5m) == b2DebugDraw._-5m);
_local3 = _-17;
while (_local3) {
_local11 = _local3.m_xf;
_local4 = _local3._-5W();
while (_local4) {
if (_local3.IsStatic()){
_-3q(_local4, _local11, new b2Color(0.5, 0.9, 0.5), _local15);
} else {
if (_local3.IsSleeping()){
_-3q(_local4, _local11, new b2Color(0.5, 0.5, 0.9), _local15);
} else {
_-3q(_local4, _local11, new b2Color(0.9, 0.9, 0.9), _local15);
};
};
_local4 = _local4.m_next;
};
_local3 = _local3.m_next;
};
};
if ((_local1 & b2DebugDraw.class)){
_local5 = _-5b;
while (_local5) {
_-7u(_local5);
_local5 = _local5.m_next;
};
};
if ((_local1 & b2DebugDraw._-Y)){
_local6 = _-6X;
_local7.Set((1 / _local6._-2R.x), (1 / _local6._-2R.y));
_local10.Set(0.9, 0.9, 0.3);
_local2 = 0;
while (_local2 < _-6R._-08) {
_local16 = _local6._-1G._-7F[_local2];
while (_local16 != _-6R._-D) {
_local17 = _local6._-1G._-3J[_local16];
_local18 = _local6.try[_local17.proxyId1];
_local19 = _local6.try[_local17.proxyId2];
_local12._-6x.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local18.lowerBounds[0]].value));
_local12._-6x.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local18.lowerBounds[1]].value));
_local12._-0Q.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local18._-09[0]].value));
_local12._-0Q.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local18._-09[1]].value));
_local13._-6x.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local19.lowerBounds[0]].value));
_local13._-6x.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local19.lowerBounds[1]].value));
_local13._-0Q.x = (_local6.m_worldAABB._-6x.x + (_local7.x * _local6._-1K[0][_local19._-09[0]].value));
_local13._-0Q.y = (_local6.m_worldAABB._-6x.y + (_local7.y * _local6._-1K[1][_local19._-09[1]].value));
_local8.x = (0.5 * (_local12._-6x.x + _local12._-0Q.x));
_local8.y = (0.5 * (_local12._-6x.y + _local12._-0Q.y));
_local9.x = (0.5 * (_local13._-6x.x + _local13._-0Q.x));
_local9.y = (0.5 * (_local13._-6x.y + _local13._-0Q.y));
_-88._-2O(_local8, _local9, _local10);
_local16 = _local17.next;
};
_local2++;
};
};
if ((_local1 & b2DebugDraw._-0b)){
_local6 = _-6X;
_local20 = _local6.m_worldAABB._-6x;
_local21 = _local6.m_worldAABB._-0Q;
_local7.Set((1 / _local6._-2R.x), (1 / _local6._-2R.y));
_local10.Set(0.9, 0.3, 0.9);
_local2 = 0;
while (_local2 < b2Settings.b2_maxProxies) {
_local22 = _local6.try[_local2];
if (_local22.IsValid() == false){
} else {
_local12._-6x.x = (_local20.x + (_local7.x * _local6._-1K[0][_local22.lowerBounds[0]].value));
_local12._-6x.y = (_local20.y + (_local7.y * _local6._-1K[1][_local22.lowerBounds[1]].value));
_local12._-0Q.x = (_local20.x + (_local7.x * _local6._-1K[0][_local22._-09[0]].value));
_local12._-0Q.y = (_local20.y + (_local7.y * _local6._-1K[1][_local22._-09[1]].value));
_local14[0].Set(_local12._-6x.x, _local12._-6x.y);
_local14[1].Set(_local12._-0Q.x, _local12._-6x.y);
_local14[2].Set(_local12._-0Q.x, _local12._-0Q.y);
_local14[3].Set(_local12._-6x.x, _local12._-0Q.y);
_-88._-0y(_local14, 4, _local10);
};
_local2++;
};
_local14[0].Set(_local20.x, _local20.y);
_local14[1].Set(_local21.x, _local20.y);
_local14[2].Set(_local21.x, _local21.y);
_local14[3].Set(_local20.x, _local21.y);
_-88._-0y(_local14, 4, new b2Color(0.3, 0.9, 0.9));
};
if ((_local1 & b2DebugDraw._-7X)){
_local10.Set(0.5, 0.3, 0.5);
_local3 = _-17;
while (_local3) {
_local11 = _local3.m_xf;
_local4 = _local3._-5W();
while (_local4) {
if (_local4.m_type != b2Shape.e_polygonShape){
} else {
_local23 = (_local4 as b2PolygonShape);
_local24 = _local23.GetOBB();
_local25 = _local24._-2h;
_local14[0].Set(-(_local25.x), -(_local25.y));
_local14[1].Set(_local25.x, -(_local25.y));
_local14[2].Set(_local25.x, _local25.y);
_local14[3].Set(-(_local25.x), _local25.y);
_local2 = 0;
while (_local2 < 4) {
_local26 = _local24.R;
_local27 = _local14[_local2];
_local28 = (_local24.center.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y)));
_local14[_local2].y = (_local24.center.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y)));
_local14[_local2].x = _local28;
_local26 = _local11.R;
_local28 = (_local11.position.x + ((_local26.col1.x * _local27.x) + (_local26.col2.x * _local27.y)));
_local14[_local2].y = (_local11.position.y + ((_local26.col1.y * _local27.x) + (_local26.col2.y * _local27.y)));
_local14[_local2].x = _local28;
_local2++;
};
_-88._-0y(_local14, 4, _local10);
};
_local4 = _local4.m_next;
};
_local3 = _local3.m_next;
};
};
if ((_local1 & b2DebugDraw.set)){
_local3 = _-17;
while (_local3) {
_local11 = _-6o;
_local11.R = _local3.m_xf.R;
_local11.position = _local3._-38();
_-88._-l(_local11);
_local3 = _local3.m_next;
};
};
}
public function _-5o(_arg1:_-0F):void{
var _local2:b2JointEdge;
var _local3:b2Shape;
var _local4:b2JointEdge;
var _local5:b2Shape;
if (m_lock == true){
return;
};
_local2 = _arg1._-5b;
while (_local2) {
_local4 = _local2;
_local2 = _local2.next;
if (_-22){
_-22._-O(_local4.joint);
};
_-7s(_local4.joint);
};
_local3 = _arg1._-6Q;
while (_local3) {
_local5 = _local3;
_local3 = _local3.m_next;
if (_-22){
_-22._-3W(_local5);
};
_local5.DestroyProxy(_-6X);
b2Shape.Destroy(_local5, m_blockAllocator);
};
if (_arg1.m_prev){
_arg1.m_prev.m_next = _arg1.m_next;
};
if (_arg1.m_next){
_arg1.m_next.m_prev = _arg1.m_prev;
};
if (_arg1 == _-17){
_-17 = _arg1.m_next;
};
_-6E--;
}
public function _-4-(_arg1:_-81):void{
_-5O = _arg1;
}
public function GetGroundBody():_-0F{
return (m_groundBody);
}
public function _-2-():b2DebugDraw{
return (_-88);
}
public function _-3q(_arg1:b2Shape, _arg2:b2XForm, _arg3:b2Color, _arg4:Boolean):void{
var _local5:b2Color;
var _local6:b2CircleShape;
var _local7:b2Vec2;
var _local8:Number;
var _local9:b2Vec2;
var _local10:int;
var _local11:b2PolygonShape;
var _local12:int;
var _local13:Array;
var _local14:Array;
var _local15:Array;
_local5 = _-5J;
switch (_arg1.m_type){
case b2Shape.e_circleShape:
_local6 = (_arg1 as b2CircleShape);
_local7 = b2Math.b2MulX(_arg2, _local6.m_localPosition);
_local8 = _local6.m_radius;
_local9 = _arg2.R.col1;
_-88._-8z(_local7, _local8, _local9, _arg3);
if (_arg4){
_-88._-5Z(_local7, (_local8 - b2Settings.b2_toiSlop), _local5);
};
break;
case b2Shape.e_polygonShape:
_local11 = (_arg1 as b2PolygonShape);
_local12 = _local11.GetVertexCount();
_local13 = _local11.GetVertices();
_local14 = new Array(b2Settings.b2_maxPolygonVertices);
_local10 = 0;
while (_local10 < _local12) {
_local14[_local10] = b2Math.b2MulX(_arg2, _local13[_local10]);
_local10++;
};
_-88._-s(_local14, _local12, _arg3);
if (_arg4){
_local15 = _local11.GetCoreVertices();
_local10 = 0;
while (_local10 < _local12) {
_local14[_local10] = b2Math.b2MulX(_arg2, _local15[_local10]);
_local10++;
};
_-88._-0y(_local14, _local12, _local5);
};
break;
};
}
public function _-3z():int{
return (_-7e);
}
public function Solve(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:_-8b;
var _local4:b2Contact;
var _local5:b2Joint;
var _local6:int;
var _local7:Array;
var _local8:_-0F;
var _local9:int;
var _local10:int;
var _local11:_-0F;
var _local12:b2ContactEdge;
var _local13:b2JointEdge;
var _local14:Boolean;
_-3Q = 0;
_local3 = new _-8b(_-6E, _-7e, _-6H, _-a, _-61);
_local2 = _-17;
while (_local2) {
_local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag));
_local2 = _local2.m_next;
};
_local4 = _-7O;
while (_local4) {
_local4.m_flags = (_local4.m_flags & ~(b2Contact.e_islandFlag));
_local4 = _local4.m_next;
};
_local5 = _-5b;
while (_local5) {
_local5.m_islandFlag = false;
_local5 = _local5.m_next;
};
_local6 = _-6E;
_local7 = new Array(_local6);
_local8 = _-17;
while (_local8) {
if ((_local8.m_flags & ((_-0F.e_islandFlag | _-0F._-0H) | _-0F._-2j))){
} else {
if (_local8.IsStatic()){
} else {
_local3._-37();
_local9 = 0;
var _temp1 = _local9;
_local9 = (_local9 + 1);
var _local15 = _temp1;
_local7[_local15] = _local8;
_local8.m_flags = (_local8.m_flags | _-0F.e_islandFlag);
while (_local9 > 0) {
--_local9;
_local2 = _local7[_local9];
_local3._-1x(_local2);
_local2.m_flags = (_local2.m_flags & ~(_-0F._-0H));
if (_local2.IsStatic()){
} else {
_local12 = _local2._-7O;
while (_local12) {
if ((_local12.contact.m_flags & (b2Contact.e_islandFlag | b2Contact.e_nonSolidFlag))){
} else {
if (_local12.contact.m_manifoldCount == 0){
} else {
_local3.for(_local12.contact);
_local12.contact.m_flags = (_local12.contact.m_flags | b2Contact.e_islandFlag);
_local11 = _local12.other;
if ((_local11.m_flags & _-0F.e_islandFlag)){
} else {
var _temp2 = _local9;
_local9 = (_local9 + 1);
var _local16 = _temp2;
_local7[_local16] = _local11;
_local11.m_flags = (_local11.m_flags | _-0F.e_islandFlag);
};
};
};
_local12 = _local12.next;
};
_local13 = _local2._-5b;
while (_local13) {
if (_local13.joint.m_islandFlag == true){
} else {
_local3._-7C(_local13.joint);
_local13.joint.m_islandFlag = true;
_local11 = _local13.other;
if ((_local11.m_flags & _-0F.e_islandFlag)){
} else {
var _temp3 = _local9;
_local9 = (_local9 + 1);
_local16 = _temp3;
_local7[_local16] = _local11;
_local11.m_flags = (_local11.m_flags | _-0F.e_islandFlag);
};
};
_local13 = _local13.next;
};
};
};
_local3.Solve(_arg1, _-1w, _-4, _-6b);
if (_local3._-3Q > _-3Q){
_-3Q = _local3._-3Q;
};
_local10 = 0;
while (_local10 < _local3._-6E) {
_local2 = _local3._-8M[_local10];
if (_local2.IsStatic()){
_local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag));
};
_local10++;
};
};
};
_local8 = _local8.m_next;
};
_local2 = _-17;
while (_local2) {
if ((_local2.m_flags & (_-0F._-0H | _-0F._-2j))){
} else {
if (_local2.IsStatic()){
} else {
_local14 = _local2.var();
if ((((_local14 == false)) && (!((_-X == null))))){
_-X._-7Z(_local2);
};
};
};
_local2 = _local2.m_next;
};
_-6X._-u();
}
public function _-5v(_arg1:b2AABB, _arg2:Array, _arg3:int):int{
var _local4:Array;
var _local5:int;
var _local6:int;
_local4 = new Array(_arg3);
_local5 = _-6X._-7l(_arg1, _local4, _arg3);
_local6 = 0;
while (_local6 < _local5) {
_arg2[_local6] = _local4[_local6];
_local6++;
};
return (_local5);
}
public function _-2w(_arg1:b2Vec2):void{
_-1w = _arg1;
}
public function _-3f(_arg1:_-6C):void{
var _local2:_-0F;
var _local3:b2Shape;
var _local4:b2Shape;
var _local5:_-0F;
var _local6:_-0F;
var _local7:b2ContactEdge;
var _local8:_-8b;
var _local9:int;
var _local10:Array;
var _local11:b2Contact;
var _local12:b2Contact;
var _local13:Number;
var _local14:_-0F;
var _local15:int;
var _local16:_-6C;
var _local17:int;
var _local18:Number;
var _local19:Number;
var _local20:_-0F;
var _local21:Boolean;
_local8 = new _-8b(_-6E, b2Settings.b2_maxTOIContactsPerIsland, 0, _-a, _-61);
_local9 = _-6E;
_local10 = new Array(_local9);
_local2 = _-17;
while (_local2) {
_local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag));
_local2.m_sweep.t0 = 0;
_local2 = _local2.m_next;
};
_local11 = _-7O;
while (_local11) {
_local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag)));
_local11 = _local11.m_next;
};
while (true) {
_local12 = null;
_local13 = 1;
_local11 = _-7O;
for (;_local11;(_local11 = _local11.m_next)) {
if ((_local11.m_flags & (b2Contact.e_slowFlag | b2Contact.e_nonSolidFlag))){
} else {
_local18 = 1;
if ((_local11.m_flags & b2Contact.e_toiFlag)){
_local18 = _local11.m_toi;
} else {
_local3 = _local11.m_shape1;
_local4 = _local11.m_shape2;
_local5 = _local3.m_body;
_local6 = _local4.m_body;
if (((((_local5.IsStatic()) || (_local5.IsSleeping()))) && (((_local6.IsStatic()) || (_local6.IsSleeping()))))){
continue;
};
_local19 = _local5.m_sweep.t0;
if (_local5.m_sweep.t0 < _local6.m_sweep.t0){
_local19 = _local6.m_sweep.t0;
_local5.m_sweep.Advance(_local19);
} else {
if (_local6.m_sweep.t0 < _local5.m_sweep.t0){
_local19 = _local5.m_sweep.t0;
_local6.m_sweep.Advance(_local19);
};
};
_local18 = _-1R.true(_local11.m_shape1, _local5.m_sweep, _local11.m_shape2, _local6.m_sweep);
if ((((_local18 > 0)) && ((_local18 < 1)))){
_local18 = (((1 - _local18) * _local19) + _local18);
if (_local18 > 1){
_local18 = 1;
};
};
_local11.m_toi = _local18;
_local11.m_flags = (_local11.m_flags | b2Contact.e_toiFlag);
};
if ((((Number.MIN_VALUE < _local18)) && ((_local18 < _local13)))){
_local12 = _local11;
_local13 = _local18;
};
};
};
if ((((_local12 == null)) || (((1 - (100 * Number.MIN_VALUE)) < _local13)))){
break;
};
_local3 = _local12.m_shape1;
_local4 = _local12.m_shape2;
_local5 = _local3.m_body;
_local6 = _local4.m_body;
_local5.Advance(_local13);
_local6.Advance(_local13);
_local12.Update(_-61);
_local12.m_flags = (_local12.m_flags & ~(b2Contact.e_toiFlag));
if (_local12.m_manifoldCount == 0){
} else {
_local14 = _local5;
if (_local14.IsStatic()){
_local14 = _local6;
};
_local8._-37();
_local15 = 0;
var _temp1 = _local15;
_local15 = (_local15 + 1);
var _local22 = _temp1;
_local10[_local22] = _local14;
_local14.m_flags = (_local14.m_flags | _-0F.e_islandFlag);
while (_local15 > 0) {
--_local15;
_local2 = _local10[_local15];
_local8._-1x(_local2);
_local2.m_flags = (_local2.m_flags & ~(_-0F._-0H));
if (_local2.IsStatic()){
} else {
_local7 = _local2._-7O;
while (_local7) {
if (_local8._-7e == _local8._-6v){
} else {
if ((_local7.contact.m_flags & ((b2Contact.e_islandFlag | b2Contact.e_slowFlag) | b2Contact.e_nonSolidFlag))){
} else {
if (_local7.contact.m_manifoldCount == 0){
} else {
_local8.for(_local7.contact);
_local7.contact.m_flags = (_local7.contact.m_flags | b2Contact.e_islandFlag);
_local20 = _local7.other;
if ((_local20.m_flags & _-0F.e_islandFlag)){
} else {
if (_local20.IsStatic() == false){
_local20.Advance(_local13);
_local20.WakeUp();
};
var _temp2 = _local15;
_local15 = (_local15 + 1);
var _local23 = _temp2;
_local10[_local23] = _local20;
_local20.m_flags = (_local20.m_flags | _-0F.e_islandFlag);
};
};
};
};
_local7 = _local7.next;
};
};
};
_local16 = new _-6C();
_local16.function = ((1 - _local13) * _arg1.function);
_local16._-3T = (1 / _local16.function);
_local16._-45 = _arg1._-45;
_local8._-3f(_local16);
_local17 = 0;
while (_local17 < _local8._-6E) {
_local2 = _local8._-8M[_local17];
_local2.m_flags = (_local2.m_flags & ~(_-0F.e_islandFlag));
if ((_local2.m_flags & (_-0F._-0H | _-0F._-2j))){
} else {
if (_local2.IsStatic()){
} else {
_local21 = _local2.var();
if ((((_local21 == false)) && (!((_-X == null))))){
_-X._-7Z(_local2);
};
_local7 = _local2._-7O;
while (_local7) {
_local7.contact.m_flags = (_local7.contact.m_flags & ~(b2Contact.e_toiFlag));
_local7 = _local7.next;
};
};
};
_local17++;
};
_local17 = 0;
while (_local17 < _local8._-7e) {
_local11 = _local8._-p[_local17];
_local11.m_flags = (_local11.m_flags & ~((b2Contact.e_toiFlag | b2Contact.e_islandFlag)));
_local17++;
};
_-6X._-u();
};
};
}
public function _-1S():b2Joint{
return (_-5b);
}
public function _-0o():void{
_-6X._-0o();
}
public function _-5N():b2Vec2{
return (_-1w);
}
public function _-8S():int{
return (_-6X._-1G._-7i);
}
public function _-3p():_-0F{
return (_-17);
}
public function _-2S(_arg1:Boolean):void{
_-8E = _arg1;
}
public function _-6F(_arg1:Boolean):void{
_-4 = _arg1;
}
public function _-1b(_arg1:b2JointDef):b2Joint{
var _local2:b2Joint;
var _local3:_-0F;
var _local4:b2Shape;
_local2 = b2Joint.Create(_arg1, m_blockAllocator);
_local2.m_prev = null;
_local2.m_next = _-5b;
if (_-5b){
_-5b.m_prev = _local2;
};
_-5b = _local2;
_-6H++;
_local2.m_node1.joint = _local2;
_local2.m_node1.other = _local2.m_body2;
_local2.m_node1.prev = null;
_local2.m_node1.next = _local2.m_body1._-5b;
if (_local2.m_body1._-5b){
_local2.m_body1._-5b.prev = _local2.m_node1;
};
_local2.m_body1._-5b = _local2.m_node1;
_local2.m_node2.joint = _local2;
_local2.m_node2.other = _local2.m_body1;
_local2.m_node2.prev = null;
_local2.m_node2.next = _local2.m_body2._-5b;
if (_local2.m_body2._-5b){
_local2.m_body2._-5b.prev = _local2.m_node2;
};
_local2.m_body2._-5b = _local2.m_node2;
if (_arg1.collideConnected == false){
_local3 = ((_arg1.body1._-7Y < _arg1.body2._-7Y)) ? _arg1.body1 : _arg1.body2;
_local4 = _local3._-6Q;
while (_local4) {
_local4.RefilterProxy(_-6X, _local3.m_xf);
_local4 = _local4.m_next;
};
};
return (_local2);
}
public function _-7s(_arg1:b2Joint):void{
var _local2:Boolean;
var _local3:_-0F;
var _local4:_-0F;
var _local5:_-0F;
var _local6:b2Shape;
_local2 = _arg1.m_collideConnected;
if (_arg1.m_prev){
_arg1.m_prev.m_next = _arg1.m_next;
};
if (_arg1.m_next){
_arg1.m_next.m_prev = _arg1.m_prev;
};
if (_arg1 == _-5b){
_-5b = _arg1.m_next;
};
_local3 = _arg1.m_body1;
_local4 = _arg1.m_body2;
_local3.WakeUp();
_local4.WakeUp();
if (_arg1.m_node1.prev){
_arg1.m_node1.prev.next = _arg1.m_node1.next;
};
if (_arg1.m_node1.next){
_arg1.m_node1.next.prev = _arg1.m_node1.prev;
};
if (_arg1.m_node1 == _local3._-5b){
_local3._-5b = _arg1.m_node1.next;
};
_arg1.m_node1.prev = null;
_arg1.m_node1.next = null;
if (_arg1.m_node2.prev){
_arg1.m_node2.prev.next = _arg1.m_node2.next;
};
if (_arg1.m_node2.next){
_arg1.m_node2.next.prev = _arg1.m_node2.prev;
};
if (_arg1.m_node2 == _local4._-5b){
_local4._-5b = _arg1.m_node2.next;
};
_arg1.m_node2.prev = null;
_arg1.m_node2.next = null;
b2Joint.Destroy(_arg1, m_blockAllocator);
_-6H--;
if (_local2 == false){
_local5 = ((_local3._-7Y < _local4._-7Y)) ? _local3 : _local4;
_local6 = _local5._-6Q;
while (_local6) {
_local6.RefilterProxy(_-6X, _local5.m_xf);
_local6 = _local6.m_next;
};
};
}
public function _-3S(_arg1:_-0L):void{
_-61 = _arg1;
}
public function CreateBody(_arg1:_-8u):_-0F{
var _local2:_-0F;
if (m_lock == true){
return (null);
};
_local2 = new _-0F(_arg1, this);
_local2.m_prev = null;
_local2.m_next = _-17;
if (_-17){
_-17.m_prev = _local2;
};
_-17 = _local2;
_-6E++;
return (_local2);
}
public function _-4J(_arg1:_-3u):void{
_-X = _arg1;
}
public function _-5g(_arg1:_-29):void{
_-22 = _arg1;
}
public function _-07(_arg1:Number, _arg2:int):void{
var _local3:_-6C;
m_lock = true;
_local3 = new _-6C();
_local3.function = _arg1;
_local3._-45 = _arg2;
if (_arg1 > 0){
_local3._-3T = (1 / _arg1);
} else {
_local3._-3T = 0;
};
_local3._-0K = (_-5 * _arg1);
_local3._-m = _-4;
_local3._-7P = _-8E;
_-6k._-1U();
if (_local3.function > 0){
Solve(_local3);
};
if (((include) && ((_local3.function > 0)))){
_-3f(_local3);
};
_-7();
_-5 = _local3._-3T;
m_lock = false;
}
public function _-8N():int{
return (_-6E);
}
public function _-51():int{
return (_-6H);
}
}
}//package Box2D.Dynamics
Section 69
//_-6C (Box2D.Dynamics._-6C)
package Box2D.Dynamics {
public class _-6C {
public var _-7P:Boolean;
public var _-m:Boolean;
public var function:Number;
public var _-45:int;
public var _-0K:Number;
public var _-3T:Number;
}
}//package Box2D.Dynamics
Section 70
//_-81 (Box2D.Dynamics._-81)
package Box2D.Dynamics {
import Box2D.Collision.Shapes.*;
public class _-81 {
public static var _-0A:_-81 = new (_-81);
;
public function _-03(_arg1:b2Shape, _arg2:b2Shape):Boolean{
var _local3:b2FilterData;
var _local4:b2FilterData;
var _local5:Boolean;
_local3 = _arg1.GetFilterData();
_local4 = _arg2.GetFilterData();
if ((((_local3.groupIndex == _local4.groupIndex)) && (!((_local3.groupIndex == 0))))){
return ((_local3.groupIndex > 0));
};
_local5 = ((!(((_local3.maskBits & _local4.categoryBits) == 0))) && (!(((_local3.categoryBits & _local4.maskBits) == 0))));
return (_local5);
}
}
}//package Box2D.Dynamics
Section 71
//_-8b (Box2D.Dynamics._-8b)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Dynamics.Contacts.*;
import Box2D.Common.*;
public class _-8b {
public var _-58:Array;
public var _-n:_-0L;
public var _-3Q:int;
public var _-2V:int;
public var _-8M:Array;
public var _-3w:int;
public var _-7e:int;
public var _-p:Array;
public var _-6v:int;
public var _-6H:int;
public var m_allocator;
public var _-6E:int;
private static var _-0V:b2ContactResult = new b2ContactResult();
public function _-8b(_arg1:int, _arg2:int, _arg3:int, _arg4, _arg5:_-0L){
var _local6:int;
super();
_-2V = _arg1;
_-6v = _arg2;
_-3w = _arg3;
_-6E = 0;
_-7e = 0;
_-6H = 0;
m_allocator = _arg4;
_-n = _arg5;
_-8M = new Array(_arg1);
_local6 = 0;
while (_local6 < _arg1) {
_-8M[_local6] = null;
_local6++;
};
_-p = new Array(_arg2);
_local6 = 0;
while (_local6 < _arg2) {
_-p[_local6] = null;
_local6++;
};
_-58 = new Array(_arg3);
_local6 = 0;
while (_local6 < _arg3) {
_-58[_local6] = null;
_local6++;
};
_-3Q = 0;
}
public function _-1x(_arg1:_-0F):void{
var _local2 = _-6E++;
_-8M[_local2] = _arg1;
}
public function _-7C(_arg1:b2Joint):void{
var _local2 = _-6H++;
_-58[_local2] = _arg1;
}
public function _-5a(_arg1:Array):void{
var _local2:b2Mat22;
var _local3:b2Vec2;
var _local4:int;
var _local5:b2Contact;
var _local6:b2ContactConstraint;
var _local7:b2ContactResult;
var _local8:_-0F;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:_-1v;
var _local13:int;
var _local14:_-62;
var _local15:b2ContactConstraintPoint;
if (_-n == null){
return;
};
_local4 = 0;
while (_local4 < _-7e) {
_local5 = _-p[_local4];
_local6 = _arg1[_local4];
_local7 = _-0V;
_local7.shape1 = _local5.m_shape1;
_local7.shape2 = _local5.m_shape2;
_local8 = _local7.shape1.m_body;
_local9 = _local5.m_manifoldCount;
_local10 = _local5.GetManifolds();
_local11 = 0;
while (_local11 < _local9) {
_local12 = _local10[_local11];
_local7.normal.SetV(_local12.normal);
_local13 = 0;
while (_local13 < _local12.pointCount) {
_local14 = _local12.points[_local13];
_local15 = _local6.points[_local13];
_local7.position = _local8.GetWorldPoint(_local14._-z);
_local7.normalImpulse = _local15.normalImpulse;
_local7.tangentImpulse = _local15.tangentImpulse;
_local7.id._-1V = _local14.id._-1V;
_-n._-8t(_local7);
_local13++;
};
_local11++;
};
_local4++;
};
}
public function Solve(_arg1:_-6C, _arg2:b2Vec2, _arg3:Boolean, _arg4:Boolean):void{
var _local5:int;
var _local6:_-0F;
var _local7:b2Joint;
var _local8:b2ContactSolver;
var _local9:int;
var _local10:Boolean;
var _local11:Boolean;
var _local12:Boolean;
var _local13:Number;
var _local14:Number;
var _local15:Number;
_local5 = 0;
while (_local5 < _-6E) {
_local6 = _-8M[_local5];
if (_local6.IsStatic()){
} else {
_local6._-R.x = (_local6._-R.x + (_arg1.function * (_arg2.x + (_local6._-4L * _local6.m_force.x))));
_local6._-R.y = (_local6._-R.y + (_arg1.function * (_arg2.y + (_local6._-4L * _local6.m_force.y))));
_local6.m_angularVelocity = (_local6.m_angularVelocity + ((_arg1.function * _local6._-1) * _local6.m_torque));
_local6.m_force.SetZero();
_local6.m_torque = 0;
_local6._-R.Multiply(b2Math.b2Clamp((1 - (_arg1.function * _local6._-0Z)), 0, 1));
_local6.m_angularVelocity = (_local6.m_angularVelocity * b2Math.b2Clamp((1 - (_arg1.function * _local6._-8Z)), 0, 1));
if (_local6._-R.LengthSquared() > b2Settings.b2_maxLinearVelocitySquared){
_local6._-R.Normalize();
_local6._-R.x = (_local6._-R.x * b2Settings.b2_maxLinearVelocity);
_local6._-R.y = (_local6._-R.y * b2Settings.b2_maxLinearVelocity);
};
if ((_local6.m_angularVelocity * _local6.m_angularVelocity) > b2Settings.b2_maxAngularVelocitySquared){
if (_local6.m_angularVelocity < 0){
_local6.m_angularVelocity = -(b2Settings.b2_maxAngularVelocity);
} else {
_local6.m_angularVelocity = b2Settings.b2_maxAngularVelocity;
};
};
};
_local5++;
};
_local8 = new b2ContactSolver(_arg1, _-p, _-7e, m_allocator);
_local8.InitVelocityConstraints(_arg1);
_local5 = 0;
while (_local5 < _-6H) {
_local7 = _-58[_local5];
_local7.InitVelocityConstraints(_arg1);
_local5++;
};
_local5 = 0;
while (_local5 < _arg1._-45) {
_local8.SolveVelocityConstraints();
_local9 = 0;
while (_local9 < _-6H) {
_local7 = _-58[_local9];
_local7.SolveVelocityConstraints(_arg1);
_local9++;
};
_local5++;
};
_local8.FinalizeVelocityConstraints();
_local5 = 0;
while (_local5 < _-6E) {
_local6 = _-8M[_local5];
if (_local6.IsStatic()){
} else {
_local6.m_sweep.c0.SetV(_local6.m_sweep.c);
_local6.m_sweep.a0 = _local6.m_sweep.a;
_local6.m_sweep.c.x = (_local6.m_sweep.c.x + (_arg1.function * _local6._-R.x));
_local6.m_sweep.c.y = (_local6.m_sweep.c.y + (_arg1.function * _local6._-R.y));
_local6.m_sweep.a = (_local6.m_sweep.a + (_arg1.function * _local6.m_angularVelocity));
_local6._-3E();
};
_local5++;
};
if (_arg3){
_local5 = 0;
while (_local5 < _-6H) {
_local7 = _-58[_local5];
_local7.InitPositionConstraints();
_local5++;
};
_-3Q = 0;
while (_-3Q < _arg1._-45) {
_local10 = _local8.SolvePositionConstraints(b2Settings.b2_contactBaumgarte);
_local11 = true;
_local5 = 0;
while (_local5 < _-6H) {
_local7 = _-58[_local5];
_local12 = _local7.SolvePositionConstraints();
_local11 = ((_local11) && (_local12));
_local5++;
};
if (((_local10) && (_local11))){
break;
};
_-3Q++;
};
};
_-5a(_local8.m_constraints);
if (_arg4){
_local13 = Number.MAX_VALUE;
_local14 = (b2Settings.b2_linearSleepTolerance * b2Settings.b2_linearSleepTolerance);
_local15 = (b2Settings.b2_angularSleepTolerance * b2Settings.b2_angularSleepTolerance);
_local5 = 0;
while (_local5 < _-6E) {
_local6 = _-8M[_local5];
if (_local6._-4L == 0){
} else {
if ((_local6.m_flags & _-0F._-6T) == 0){
_local6._-4P = 0;
_local13 = 0;
};
if (((((((_local6.m_flags & _-0F._-6T) == 0)) || (((_local6.m_angularVelocity * _local6.m_angularVelocity) > _local15)))) || ((b2Math.b2Dot(_local6._-R, _local6._-R) > _local14)))){
_local6._-4P = 0;
_local13 = 0;
} else {
_local6._-4P = (_local6._-4P + _arg1.function);
_local13 = b2Math.b2Min(_local13, _local6._-4P);
};
};
_local5++;
};
if (_local13 >= b2Settings.b2_timeToSleep){
_local5 = 0;
while (_local5 < _-6E) {
_local6 = _-8M[_local5];
_local6.m_flags = (_local6.m_flags | _-0F._-0H);
_local6._-R.SetZero();
_local6.m_angularVelocity = 0;
_local5++;
};
};
};
}
public function for(_arg1:b2Contact):void{
var _local2 = _-7e++;
_-p[_local2] = _arg1;
}
public function _-37():void{
_-6E = 0;
_-7e = 0;
_-6H = 0;
}
public function _-3f(_arg1:_-6C):void{
var _local2:int;
var _local3:b2ContactSolver;
var _local4:Number;
var _local5:_-0F;
var _local6:Boolean;
_local3 = new b2ContactSolver(_arg1, _-p, _-7e, m_allocator);
_local2 = 0;
while (_local2 < _arg1._-45) {
_local3.SolveVelocityConstraints();
_local2++;
};
_local2 = 0;
while (_local2 < _-6E) {
_local5 = _-8M[_local2];
if (_local5.IsStatic()){
} else {
_local5.m_sweep.c0.SetV(_local5.m_sweep.c);
_local5.m_sweep.a0 = _local5.m_sweep.a;
_local5.m_sweep.c.x = (_local5.m_sweep.c.x + (_arg1.function * _local5._-R.x));
_local5.m_sweep.c.y = (_local5.m_sweep.c.y + (_arg1.function * _local5._-R.y));
_local5.m_sweep.a = (_local5.m_sweep.a + (_arg1.function * _local5.m_angularVelocity));
_local5._-3E();
};
_local2++;
};
_local4 = 0.75;
_local2 = 0;
while (_local2 < _arg1._-45) {
_local6 = _local3.SolvePositionConstraints(_local4);
if (_local6){
break;
};
_local2++;
};
_-5a(_local3.m_constraints);
}
}
}//package Box2D.Dynamics
Section 72
//_-8u (Box2D.Dynamics._-8u)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
public class _-8u {
public var _-74:Boolean;
public var position:b2Vec2;
public var _-8J:Boolean;
public var _-5x:Boolean;
public var userData;
public var _-6r:Number;
public var _-68:Boolean;
public var angle:Number;
public var _-5I:Number;
public var _-7I:b2MassData;
public function _-8u(){
_-7I = new b2MassData();
position = new b2Vec2();
super();
_-7I.center.SetZero();
_-7I.mass = 0;
_-7I.I = 0;
userData = null;
position.Set(0, 0);
angle = 0;
_-5I = 0;
_-6r = 0;
_-5x = true;
_-74 = false;
_-68 = false;
_-8J = false;
}
}
}//package Box2D.Dynamics
Section 73
//_-9- (Box2D.Dynamics._-9-)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Contacts.*;
public class _-9- extends _-4o {
public var m_world:_-5Y;
public var _-6I:Boolean;
public var do:b2NullContact;
private static const s_evalCP:b2ContactPoint = new b2ContactPoint();
public function _-9-(){
do = new b2NullContact();
super();
m_world = null;
_-6I = false;
}
override public function _-5M(_arg1, _arg2){
var _local3:b2Shape;
var _local4:b2Shape;
var _local5:_-0F;
var _local6:_-0F;
var _local7:b2Contact;
_local3 = (_arg1 as b2Shape);
_local4 = (_arg2 as b2Shape);
_local5 = _local3.m_body;
_local6 = _local4.m_body;
if (((_local5.IsStatic()) && (_local6.IsStatic()))){
return (do);
};
if (_local3.m_body == _local4.m_body){
return (do);
};
if (_local6._-3b(_local5)){
return (do);
};
if (((!((m_world._-5O == null))) && ((m_world._-5O._-03(_local3, _local4) == false)))){
return (do);
};
_local7 = b2Contact.Create(_local3, _local4, m_world.m_blockAllocator);
if (_local7 == null){
return (do);
};
_local3 = _local7.m_shape1;
_local4 = _local7.m_shape2;
_local5 = _local3.m_body;
_local6 = _local4.m_body;
_local7.m_prev = null;
_local7.m_next = m_world._-7O;
if (m_world._-7O != null){
m_world._-7O.m_prev = _local7;
};
m_world._-7O = _local7;
_local7.m_node1.contact = _local7;
_local7.m_node1.other = _local6;
_local7.m_node1.prev = null;
_local7.m_node1.next = _local5._-7O;
if (_local5._-7O != null){
_local5._-7O.prev = _local7.m_node1;
};
_local5._-7O = _local7.m_node1;
_local7.m_node2.contact = _local7;
_local7.m_node2.other = _local5;
_local7.m_node2.prev = null;
_local7.m_node2.next = _local6._-7O;
if (_local6._-7O != null){
_local6._-7O.prev = _local7.m_node2;
};
_local6._-7O = _local7.m_node2;
m_world._-7e++;
return (_local7);
}
override public function switch(_arg1, _arg2, _arg3):void{
var _local4:b2Contact;
if (_arg3 == null){
return;
};
_local4 = (_arg3 as b2Contact);
if (_local4 == do){
return;
};
Destroy(_local4);
}
public function Destroy(_arg1:b2Contact):void{
var _local2:b2Shape;
var _local3:b2Shape;
var _local4:int;
var _local5:_-0F;
var _local6:_-0F;
var _local7:_-0F;
var _local8:_-0F;
var _local9:Array;
var _local10:b2ContactPoint;
var _local11:int;
var _local12:_-1v;
var _local13:int;
var _local14:_-62;
var _local15:b2Vec2;
var _local16:b2Vec2;
_local2 = _arg1.m_shape1;
_local3 = _arg1.m_shape2;
_local4 = _arg1.m_manifoldCount;
if ((((_local4 > 0)) && (m_world._-61))){
_local7 = _local2.m_body;
_local8 = _local3.m_body;
_local9 = _arg1.GetManifolds();
_local10 = s_evalCP;
_local10.shape1 = _arg1.m_shape1;
_local10.shape2 = _arg1.m_shape2;
_local10.friction = _arg1.m_friction;
_local10.restitution = _arg1.m_restitution;
_local11 = 0;
while (_local11 < _local4) {
_local12 = _local9[_local11];
_local10.normal.SetV(_local12.normal);
_local13 = 0;
while (_local13 < _local12.pointCount) {
_local14 = _local12.points[_local13];
_local10.position = _local7.GetWorldPoint(_local14._-z);
_local15 = _local7._-5V(_local14._-z);
_local16 = _local8._-5V(_local14._-6a);
_local10._-1Z.Set((_local16.x - _local15.x), (_local16.y - _local15.y));
_local10.separation = _local14.separation;
_local10.id._-1V = _local14.id._key;
m_world._-61._-7M(_local10);
_local13++;
};
_local11++;
};
};
if (_arg1.m_prev){
_arg1.m_prev.m_next = _arg1.m_next;
};
if (_arg1.m_next){
_arg1.m_next.m_prev = _arg1.m_prev;
};
if (_arg1 == m_world._-7O){
m_world._-7O = _arg1.m_next;
};
_local5 = _local2.m_body;
_local6 = _local3.m_body;
if (_arg1.m_node1.prev){
_arg1.m_node1.prev.next = _arg1.m_node1.next;
};
if (_arg1.m_node1.next){
_arg1.m_node1.next.prev = _arg1.m_node1.prev;
};
if (_arg1.m_node1 == _local5._-7O){
_local5._-7O = _arg1.m_node1.next;
};
if (_arg1.m_node2.prev){
_arg1.m_node2.prev.next = _arg1.m_node2.next;
};
if (_arg1.m_node2.next){
_arg1.m_node2.next.prev = _arg1.m_node2.prev;
};
if (_arg1.m_node2 == _local6._-7O){
_local6._-7O = _arg1.m_node2.next;
};
b2Contact.Destroy(_arg1, m_world.m_blockAllocator);
m_world._-7e--;
}
public function _-1U():void{
var _local1:b2Contact;
var _local2:_-0F;
var _local3:_-0F;
_local1 = m_world._-7O;
while (_local1) {
_local2 = _local1.m_shape1.m_body;
_local3 = _local1.m_shape2.m_body;
if (((_local2.IsSleeping()) && (_local3.IsSleeping()))){
} else {
_local1.Update(m_world._-61);
};
_local1 = _local1.m_next;
};
}
}
}//package Box2D.Dynamics
Section 74
//b2DebugDraw (Box2D.Dynamics.b2DebugDraw)
package Box2D.Dynamics {
import Box2D.Common.Math.*;
import flash.display.*;
import Box2D.Collision.*;
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Contacts.*;
import Box2D.Common.*;
public class b2DebugDraw {
public var _-8x:Number;// = 1
public var m_fillAlpha:Number;// = 1
public var _-P:Number;// = 1
public var _-4D:Number;// = 1
public var _-o:uint;
public var _-y:Sprite;
public var _-1W:Number;// = 1
public static var _-5m:uint = 4;
public static var _-1c:uint = 1;
public static var set:uint = 64;
public static var _-0b:uint = 8;
public static var _-7X:uint = 16;
public static var _-Y:uint = 32;
public static var class:uint = 2;
public function b2DebugDraw(){
_-1W = 1;
_-4D = 1;
_-P = 1;
m_fillAlpha = 1;
_-8x = 1;
super();
_-o = 0;
}
public function _-s(_arg1:Array, _arg2:int, _arg3:b2Color):void{
var _local4:int;
_-y.graphics.lineStyle(_-4D, _arg3.color, _-P);
_-y.graphics.moveTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W));
_-y.graphics.beginFill(_arg3.color, m_fillAlpha);
_local4 = 1;
while (_local4 < _arg2) {
_-y.graphics.lineTo((_arg1[_local4].x * _-1W), (_arg1[_local4].y * _-1W));
_local4++;
};
_-y.graphics.lineTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W));
_-y.graphics.endFill();
}
public function _-5Z(_arg1:b2Vec2, _arg2:Number, _arg3:b2Color):void{
_-y.graphics.lineStyle(_-4D, _arg3.color, _-P);
_-y.graphics.drawCircle((_arg1.x * _-1W), (_arg1.y * _-1W), (_arg2 * _-1W));
}
public function _-l(_arg1:b2XForm):void{
_-y.graphics.lineStyle(_-4D, 0xFF0000, _-P);
_-y.graphics.moveTo((_arg1.position.x * _-1W), (_arg1.position.y * _-1W));
_-y.graphics.lineTo(((_arg1.position.x + (_-8x * _arg1.R.col1.x)) * _-1W), ((_arg1.position.y + (_-8x * _arg1.R.col1.y)) * _-1W));
_-y.graphics.lineStyle(_-4D, 0xFF00, _-P);
_-y.graphics.moveTo((_arg1.position.x * _-1W), (_arg1.position.y * _-1W));
_-y.graphics.lineTo(((_arg1.position.x + (_-8x * _arg1.R.col2.x)) * _-1W), ((_arg1.position.y + (_-8x * _arg1.R.col2.y)) * _-1W));
}
public function _-4u(_arg1:uint):void{
_-o = (_-o & ~(_arg1));
}
public function _-8z(_arg1:b2Vec2, _arg2:Number, _arg3:b2Vec2, _arg4:b2Color):void{
_-y.graphics.lineStyle(_-4D, _arg4.color, _-P);
_-y.graphics.moveTo(0, 0);
_-y.graphics.beginFill(_arg4.color, m_fillAlpha);
_-y.graphics.drawCircle((_arg1.x * _-1W), (_arg1.y * _-1W), (_arg2 * _-1W));
_-y.graphics.endFill();
_-y.graphics.moveTo((_arg1.x * _-1W), (_arg1.y * _-1W));
_-y.graphics.lineTo(((_arg1.x + (_arg3.x * _arg2)) * _-1W), ((_arg1.y + (_arg3.y * _arg2)) * _-1W));
}
public function _-2r(_arg1:uint):void{
_-o = _arg1;
}
public function _-7h(_arg1:uint):void{
_-o = (_-o | _arg1);
}
public function _-2O(_arg1:b2Vec2, _arg2:b2Vec2, _arg3:b2Color):void{
_-y.graphics.lineStyle(_-4D, _arg3.color, _-P);
_-y.graphics.moveTo((_arg1.x * _-1W), (_arg1.y * _-1W));
_-y.graphics.lineTo((_arg2.x * _-1W), (_arg2.y * _-1W));
}
public function _-8W():uint{
return (_-o);
}
public function _-0y(_arg1:Array, _arg2:int, _arg3:b2Color):void{
var _local4:int;
_-y.graphics.lineStyle(_-4D, _arg3.color, _-P);
_-y.graphics.moveTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W));
_local4 = 1;
while (_local4 < _arg2) {
_-y.graphics.lineTo((_arg1[_local4].x * _-1W), (_arg1[_local4].y * _-1W));
_local4++;
};
_-y.graphics.lineTo((_arg1[0].x * _-1W), (_arg1[0].y * _-1W));
}
}
}//package Box2D.Dynamics
Section 75
//BitString (com.adobe.images.BitString)
package com.adobe.images {
public class BitString {
public var val:int;// = 0
public var len:int;// = 0
public function BitString(){
len = 0;
val = 0;
super();
}
}
}//package com.adobe.images
Section 76
//JPGEncoder (com.adobe.images.JPGEncoder)
package com.adobe.images {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
public class JPGEncoder {
private var fdtbl_UV:Array;
private var std_ac_chrominance_values:Array;
private var std_dc_chrominance_nrcodes:Array;
private var std_dc_chrominance_values:Array;
private var ZigZag:Array;
private var YDC_HT:Array;
private var bytenew:int;// = 0
private var fdtbl_Y:Array;
private var YAC_HT:Array;
private var std_ac_chrominance_nrcodes:Array;
private var DU:Array;
private var std_ac_luminance_values:Array;
private var UVTable:Array;
private var UDU:Array;
private var YDU:Array;
private var byteout:ByteArray;
private var UVAC_HT:Array;
private var UVDC_HT:Array;
private var bytepos:int;// = 7
private var VDU:Array;
private var std_ac_luminance_nrcodes:Array;
private var std_dc_luminance_values:Array;
private var YTable:Array;
private var std_dc_luminance_nrcodes:Array;
private var bitcode:Array;
private var category:Array;
public function JPGEncoder(_arg1:Number=50){
var _local2:int;
ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63];
YTable = new Array(64);
UVTable = new Array(64);
fdtbl_Y = new Array(64);
fdtbl_UV = new Array(64);
std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125];
std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250];
std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119];
std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250];
bitcode = new Array(0xFFFF);
category = new Array(0xFFFF);
bytenew = 0;
bytepos = 7;
DU = new Array(64);
YDU = new Array(64);
UDU = new Array(64);
VDU = new Array(64);
super();
if (_arg1 <= 0){
_arg1 = 1;
};
if (_arg1 > 100){
_arg1 = 100;
};
_local2 = 0;
if (_arg1 < 50){
_local2 = int((5000 / _arg1));
} else {
_local2 = int((200 - (_arg1 * 2)));
};
initHuffmanTbl();
initCategoryNumber();
initQuantTables(_local2);
}
private function RGB2YUV(_arg1:BitmapData, _arg2:int, _arg3:int):void{
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:uint;
var _local8:Number;
var _local9:Number;
var _local10:Number;
_local4 = 0;
_local5 = 0;
while (_local5 < 8) {
_local6 = 0;
while (_local6 < 8) {
_local7 = _arg1.getPixel32((_arg2 + _local6), (_arg3 + _local5));
_local8 = Number(((_local7 >> 16) & 0xFF));
_local9 = Number(((_local7 >> 8) & 0xFF));
_local10 = Number((_local7 & 0xFF));
YDU[_local4] = ((((0.299 * _local8) + (0.587 * _local9)) + (0.114 * _local10)) - 128);
UDU[_local4] = (((-0.16874 * _local8) + (-0.33126 * _local9)) + (0.5 * _local10));
VDU[_local4] = (((0.5 * _local8) + (-0.41869 * _local9)) + (-0.08131 * _local10));
_local4++;
_local6++;
};
_local5++;
};
}
private function writeWord(_arg1:int):void{
writeByte(((_arg1 >> 8) & 0xFF));
writeByte((_arg1 & 0xFF));
}
private function writeByte(_arg1:int):void{
byteout.writeByte(_arg1);
}
private function writeDHT():void{
var _local1:int;
writeWord(65476);
writeWord(418);
writeByte(0);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_dc_luminance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 11) {
writeByte(std_dc_luminance_values[_local1]);
_local1++;
};
writeByte(16);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_ac_luminance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 161) {
writeByte(std_ac_luminance_values[_local1]);
_local1++;
};
writeByte(1);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_dc_chrominance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 11) {
writeByte(std_dc_chrominance_values[_local1]);
_local1++;
};
writeByte(17);
_local1 = 0;
while (_local1 < 16) {
writeByte(std_ac_chrominance_nrcodes[(_local1 + 1)]);
_local1++;
};
_local1 = 0;
while (_local1 <= 161) {
writeByte(std_ac_chrominance_values[_local1]);
_local1++;
};
}
private function writeBits(_arg1:BitString):void{
var _local2:int;
var _local3:int;
_local2 = _arg1.val;
_local3 = (_arg1.len - 1);
while (_local3 >= 0) {
if ((_local2 & uint((1 << _local3)))){
bytenew = (bytenew | uint((1 << bytepos)));
};
_local3--;
bytepos--;
if (bytepos < 0){
if (bytenew == 0xFF){
writeByte(0xFF);
writeByte(0);
} else {
writeByte(bytenew);
};
bytepos = 7;
bytenew = 0;
};
};
}
private function initHuffmanTbl():void{
YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values);
UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values);
YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values);
UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values);
}
public function encode(_arg1:BitmapData):ByteArray{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:int;
var _local6:int;
var _local7:BitString;
byteout = new ByteArray();
bytenew = 0;
bytepos = 7;
writeWord(65496);
writeAPP0();
writeDQT();
writeSOF0(_arg1.width, _arg1.height);
writeDHT();
writeSOS();
_local2 = 0;
_local3 = 0;
_local4 = 0;
bytenew = 0;
bytepos = 7;
_local5 = 0;
while (_local5 < _arg1.height) {
_local6 = 0;
while (_local6 < _arg1.width) {
RGB2YUV(_arg1, _local6, _local5);
_local2 = processDU(YDU, fdtbl_Y, _local2, YDC_HT, YAC_HT);
_local3 = processDU(UDU, fdtbl_UV, _local3, UVDC_HT, UVAC_HT);
_local4 = processDU(VDU, fdtbl_UV, _local4, UVDC_HT, UVAC_HT);
_local6 = (_local6 + 8);
};
_local5 = (_local5 + 8);
};
if (bytepos >= 0){
_local7 = new BitString();
_local7.len = (bytepos + 1);
_local7.val = ((1 << (bytepos + 1)) - 1);
writeBits(_local7);
};
writeWord(65497);
return (byteout);
}
private function initCategoryNumber():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
_local1 = 1;
_local2 = 2;
_local4 = 1;
while (_local4 <= 15) {
_local3 = _local1;
while (_local3 < _local2) {
category[(32767 + _local3)] = _local4;
bitcode[(32767 + _local3)] = new BitString();
bitcode[(32767 + _local3)].len = _local4;
bitcode[(32767 + _local3)].val = _local3;
_local3++;
};
_local3 = -((_local2 - 1));
while (_local3 <= -(_local1)) {
category[(32767 + _local3)] = _local4;
bitcode[(32767 + _local3)] = new BitString();
bitcode[(32767 + _local3)].len = _local4;
bitcode[(32767 + _local3)].val = ((_local2 - 1) + _local3);
_local3++;
};
_local1 = (_local1 << 1);
_local2 = (_local2 << 1);
_local4++;
};
}
private function writeDQT():void{
var _local1:int;
writeWord(65499);
writeWord(132);
writeByte(0);
_local1 = 0;
while (_local1 < 64) {
writeByte(YTable[_local1]);
_local1++;
};
writeByte(1);
_local1 = 0;
while (_local1 < 64) {
writeByte(UVTable[_local1]);
_local1++;
};
}
private function writeAPP0():void{
writeWord(65504);
writeWord(16);
writeByte(74);
writeByte(70);
writeByte(73);
writeByte(70);
writeByte(0);
writeByte(1);
writeByte(1);
writeByte(0);
writeWord(1);
writeWord(1);
writeByte(0);
writeByte(0);
}
private function writeSOS():void{
writeWord(65498);
writeWord(12);
writeByte(3);
writeByte(1);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(3);
writeByte(17);
writeByte(0);
writeByte(63);
writeByte(0);
}
private function processDU(_arg1:Array, _arg2:Array, _arg3:Number, _arg4:Array, _arg5:Array):Number{
var _local6:BitString;
var _local7:BitString;
var _local8:int;
var _local9:Array;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
_local6 = _arg5[0];
_local7 = _arg5[240];
_local9 = fDCTQuant(_arg1, _arg2);
_local8 = 0;
while (_local8 < 64) {
DU[ZigZag[_local8]] = _local9[_local8];
_local8++;
};
_local10 = (DU[0] - _arg3);
_arg3 = DU[0];
if (_local10 == 0){
writeBits(_arg4[0]);
} else {
writeBits(_arg4[category[(32767 + _local10)]]);
writeBits(bitcode[(32767 + _local10)]);
};
_local11 = 63;
while ((((_local11 > 0)) && ((DU[_local11] == 0)))) {
_local11--;
};
if (_local11 == 0){
writeBits(_local6);
return (_arg3);
};
_local8 = 1;
while (_local8 <= _local11) {
_local12 = _local8;
while ((((DU[_local8] == 0)) && ((_local8 <= _local11)))) {
_local8++;
};
_local13 = (_local8 - _local12);
if (_local13 >= 16){
_local14 = 1;
while (_local14 <= (_local13 / 16)) {
writeBits(_local7);
_local14++;
};
_local13 = int((_local13 & 15));
};
writeBits(_arg5[((_local13 * 16) + category[(32767 + DU[_local8])])]);
writeBits(bitcode[(32767 + DU[_local8])]);
_local8++;
};
if (_local11 != 63){
writeBits(_local6);
};
return (_arg3);
}
private function initQuantTables(_arg1:int):void{
var _local2:int;
var _local3:Number;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
_local4 = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99];
_local2 = 0;
while (_local2 < 64) {
_local3 = Math.floor((((_local4[_local2] * _arg1) + 50) / 100));
if (_local3 < 1){
_local3 = 1;
} else {
if (_local3 > 0xFF){
_local3 = 0xFF;
};
};
YTable[ZigZag[_local2]] = _local3;
_local2++;
};
_local5 = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99];
_local2 = 0;
while (_local2 < 64) {
_local3 = Math.floor((((_local5[_local2] * _arg1) + 50) / 100));
if (_local3 < 1){
_local3 = 1;
} else {
if (_local3 > 0xFF){
_local3 = 0xFF;
};
};
UVTable[ZigZag[_local2]] = _local3;
_local2++;
};
_local6 = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379];
_local2 = 0;
_local7 = 0;
while (_local7 < 8) {
_local8 = 0;
while (_local8 < 8) {
fdtbl_Y[_local2] = (1 / (((YTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8));
fdtbl_UV[_local2] = (1 / (((UVTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8));
_local2++;
_local8++;
};
_local7++;
};
}
private function writeSOF0(_arg1:int, _arg2:int):void{
writeWord(65472);
writeWord(17);
writeByte(8);
writeWord(_arg2);
writeWord(_arg1);
writeByte(3);
writeByte(1);
writeByte(17);
writeByte(0);
writeByte(2);
writeByte(17);
writeByte(1);
writeByte(3);
writeByte(17);
writeByte(1);
}
private function computeHuffmanTbl(_arg1:Array, _arg2:Array):Array{
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:int;
var _local7:int;
_local3 = 0;
_local4 = 0;
_local5 = new Array();
_local6 = 1;
while (_local6 <= 16) {
_local7 = 1;
while (_local7 <= _arg1[_local6]) {
_local5[_arg2[_local4]] = new BitString();
_local5[_arg2[_local4]].val = _local3;
_local5[_arg2[_local4]].len = _local6;
_local4++;
_local3++;
_local7++;
};
_local3 = (_local3 * 2);
_local6++;
};
return (_local5);
}
private function fDCTQuant(_arg1:Array, _arg2:Array):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
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;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
var _local22:int;
var _local23:int;
_local23 = 0;
_local22 = 0;
while (_local22 < 8) {
_local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 7)]);
_local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 7)]);
_local4 = (_arg1[(_local23 + 1)] + _arg1[(_local23 + 6)]);
_local9 = (_arg1[(_local23 + 1)] - _arg1[(_local23 + 6)]);
_local5 = (_arg1[(_local23 + 2)] + _arg1[(_local23 + 5)]);
_local8 = (_arg1[(_local23 + 2)] - _arg1[(_local23 + 5)]);
_local6 = (_arg1[(_local23 + 3)] + _arg1[(_local23 + 4)]);
_local7 = (_arg1[(_local23 + 3)] - _arg1[(_local23 + 4)]);
_local11 = (_local3 + _local6);
_local14 = (_local3 - _local6);
_local12 = (_local4 + _local5);
_local13 = (_local4 - _local5);
_arg1[(_local23 + 0)] = (_local11 + _local12);
_arg1[(_local23 + 4)] = (_local11 - _local12);
_local15 = ((_local13 + _local14) * 0.707106781);
_arg1[(_local23 + 2)] = (_local14 + _local15);
_arg1[(_local23 + 6)] = (_local14 - _local15);
_local11 = (_local7 + _local8);
_local12 = (_local8 + _local9);
_local13 = (_local9 + _local10);
_local19 = ((_local11 - _local13) * 0.382683433);
_local16 = ((0.5411961 * _local11) + _local19);
_local18 = ((1.306562965 * _local13) + _local19);
_local17 = (_local12 * 0.707106781);
_local20 = (_local10 + _local17);
_local21 = (_local10 - _local17);
_arg1[(_local23 + 5)] = (_local21 + _local16);
_arg1[(_local23 + 3)] = (_local21 - _local16);
_arg1[(_local23 + 1)] = (_local20 + _local18);
_arg1[(_local23 + 7)] = (_local20 - _local18);
_local23 = (_local23 + 8);
_local22++;
};
_local23 = 0;
_local22 = 0;
while (_local22 < 8) {
_local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 56)]);
_local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 56)]);
_local4 = (_arg1[(_local23 + 8)] + _arg1[(_local23 + 48)]);
_local9 = (_arg1[(_local23 + 8)] - _arg1[(_local23 + 48)]);
_local5 = (_arg1[(_local23 + 16)] + _arg1[(_local23 + 40)]);
_local8 = (_arg1[(_local23 + 16)] - _arg1[(_local23 + 40)]);
_local6 = (_arg1[(_local23 + 24)] + _arg1[(_local23 + 32)]);
_local7 = (_arg1[(_local23 + 24)] - _arg1[(_local23 + 32)]);
_local11 = (_local3 + _local6);
_local14 = (_local3 - _local6);
_local12 = (_local4 + _local5);
_local13 = (_local4 - _local5);
_arg1[(_local23 + 0)] = (_local11 + _local12);
_arg1[(_local23 + 32)] = (_local11 - _local12);
_local15 = ((_local13 + _local14) * 0.707106781);
_arg1[(_local23 + 16)] = (_local14 + _local15);
_arg1[(_local23 + 48)] = (_local14 - _local15);
_local11 = (_local7 + _local8);
_local12 = (_local8 + _local9);
_local13 = (_local9 + _local10);
_local19 = ((_local11 - _local13) * 0.382683433);
_local16 = ((0.5411961 * _local11) + _local19);
_local18 = ((1.306562965 * _local13) + _local19);
_local17 = (_local12 * 0.707106781);
_local20 = (_local10 + _local17);
_local21 = (_local10 - _local17);
_arg1[(_local23 + 40)] = (_local21 + _local16);
_arg1[(_local23 + 24)] = (_local21 - _local16);
_arg1[(_local23 + 8)] = (_local20 + _local18);
_arg1[(_local23 + 56)] = (_local20 - _local18);
_local23++;
_local22++;
};
_local22 = 0;
while (_local22 < 64) {
_arg1[_local22] = Math.round((_arg1[_local22] * _arg2[_local22]));
_local22++;
};
return (_arg1);
}
}
}//package com.adobe.images
Section 77
//GameParamsEvent (com.gamezhero.api.as3.events.GameParamsEvent)
package com.gamezhero.api.as3.events {
import flash.events.*;
public class GameParamsEvent extends Event {
private var value_;
public static const GAME_PARAMS_RECEIVED:String = "game_params_received";
public function GameParamsEvent(_arg1:String){
super(_arg1);
}
public function set value(_arg1):void{
value_ = _arg1;
}
override public function toString():String{
return (formatToString("GameParamsEvent"));
}
public function get value(){
return (value_);
}
}
}//package com.gamezhero.api.as3.events
Section 78
//Background (com.gamezhero.api.as3.gui.Background)
package com.gamezhero.api.as3.gui {
import flash.display.*;
public class Background extends MovieClip {
private var _bg:MovieClip;
private var _goal:MovieClip;
public function Background(_arg1:MovieClip){
_goal = _arg1;
_goal.addChild(this);
ini();
iniEvents();
}
private function iniEvents():void{
}
private function getBg():MovieClip{
var _local1:MovieClip;
_local1 = new MovieClip();
_local1.graphics.beginFill(0, 1);
_local1.graphics.lineStyle(0, 0, 0);
_local1.graphics.moveTo(0, 0);
_local1.graphics.lineTo(1000, 0);
_local1.graphics.lineTo(1000, 1000);
_local1.graphics.lineTo(0, 1000);
_local1.graphics.lineTo(0, 0);
_local1.graphics.endFill();
return (_local1);
}
private function ini():void{
_bg = getBg();
this.addChild(_bg);
}
public function remove():void{
clearEvents();
_goal.removeChild(this);
}
public function update(_arg1:Number, _arg2:Number):void{
this.x = 0;
this.y = 0;
this.width = (_arg1 + 100);
this.height = (_arg2 + 100);
}
private function clearEvents():void{
}
}
}//package com.gamezhero.api.as3.gui
Section 79
//Indicator (com.gamezhero.api.as3.gui.Indicator)
package com.gamezhero.api.as3.gui {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.text.*;
public class Indicator extends MovieClip {
private var _timer:Timer;
private var _indicator:MovieClip;
private var _timer_2:Timer;
private var _dalpha:Number;
private var _current:Number;// = 0
private var _info_text:TextField;
private var _arr:Array;
private var _n:uint;// = 10
private var _goal:MovieClip;
public function Indicator(_arg1:MovieClip){
_n = 10;
_dalpha = (360 / _n);
_arr = new Array();
_current = 0;
super();
_goal = _arg1;
_goal.addChild(this);
ini();
iniEvents();
}
public function createInfoText():void{
var _local1:TextFormat;
var _local2:Number;
var _local3:Number;
_info_text = new TextField();
_local1 = new TextFormat();
_local1.color = 0xFFFFFF;
_local1.size = 11;
_local1.font = "Arial";
_info_text.defaultTextFormat = _local1;
_info_text.autoSize = TextFieldAutoSize.CENTER;
_indicator.addChild(_info_text);
_local2 = 100;
_local3 = 20;
_local2 = _info_text.width;
_local3 = _info_text.height;
_info_text.x = (-(_local2) / 2);
_info_text.y = -10;
}
private function getBorder():MovieClip{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:MovieClip;
_local1 = 10;
_local2 = 150;
_local3 = 150;
_local4 = new MovieClip();
_local4.graphics.beginFill(0x333333, 1);
_local4.graphics.moveTo(_local1, 0);
_local4.graphics.lineTo((_local2 - _local1), 0);
_local4.graphics.curveTo(_local2, 0, _local2, _local1);
_local4.graphics.lineTo(_local2, _local1);
_local4.graphics.lineTo(_local2, (_local3 - _local1));
_local4.graphics.curveTo(_local2, _local3, (_local2 - _local1), _local3);
_local4.graphics.lineTo((_local2 - _local1), _local3);
_local4.graphics.lineTo(_local1, _local3);
_local4.graphics.curveTo(0, _local3, 0, (_local3 - _local1));
_local4.graphics.lineTo(0, (_local3 - _local1));
_local4.graphics.lineTo(0, _local1);
_local4.graphics.curveTo(0, 0, _local1, 0);
_local4.graphics.lineTo(_local1, 0);
_local4.graphics.endFill();
_indicator.addChild(_local4);
_local4.x = (-(_local4.width) / 2);
_local4.y = (-(_local4.height) / 2);
return (_local4);
}
private function iniEvents():void{
_timer.addEventListener(TimerEvent.TIMER, updateIndicator);
_timer.start();
_timer_2.addEventListener(TimerEvent.TIMER, updateCurrent);
_timer_2.start();
}
private function ini():void{
var _local1:uint;
var _local2:MovieClip;
this.visible = false;
_timer = new Timer((1000 / 40), 0);
_timer_2 = new Timer((1000 / 20), 0);
_indicator = new MovieClip();
this.addChild(_indicator);
getBorder();
_local1 = 0;
while (_local1 < _n) {
_local2 = getItem();
_local2.rotation = (_dalpha * _local1);
_local2.alpha = 0.2;
_arr.push(_local2);
_local1++;
};
createInfoText();
}
public function setVal(_arg1:String):void{
_info_text.text = _arg1;
}
private function updateCurrent(_arg1:TimerEvent=null):void{
_current++;
if (_current >= _arr.length){
_current = 0;
};
_arr[_current].alpha = 1;
_arg1.updateAfterEvent();
}
public function setSize(_arg1:Number, _arg2:Number):void{
this.visible = true;
this.width = _arg1;
this.height = _arg2;
}
public function remove():void{
clearEvents();
_goal.removeChild(this);
}
private function getItem():MovieClip{
var _local1:MovieClip;
_local1 = new MovieClip();
_local1.graphics.beginFill(0xFFFFFF, 1);
_local1.graphics.lineStyle(0, 0, 0);
_local1.graphics.moveTo(32.3, -5.7);
_local1.graphics.curveTo(30, -3.3, 30, 0);
_local1.graphics.curveTo(30, 3.3, 32.3, 5.6);
_local1.graphics.curveTo(34.7, 8, 38.05, 8);
_local1.graphics.lineTo(57, 8);
_local1.graphics.curveTo(60.3, 8, 62.6, 5.6);
_local1.graphics.curveTo(65, 3.3, 65, 0);
_local1.graphics.curveTo(65, -3.3, 62.6, -5.7);
_local1.graphics.curveTo(60.3, -8, 57, -8);
_local1.graphics.lineTo(38.05, -8);
_local1.graphics.curveTo(34.7, -8, 32.3, -5.7);
_local1.graphics.endFill();
_indicator.addChild(_local1);
return (_local1);
}
private function updateIndicator(_arg1:TimerEvent=null):void{
var _local2:uint;
_local2 = 0;
while (_local2 < _n) {
_arr[_local2].alpha = (_arr[_local2].alpha - 0.07);
if (_arr[_local2].alpha <= 0){
_arr[_local2].alpha = 0;
};
_local2++;
};
_arg1.updateAfterEvent();
}
public function setPos(_arg1:Number, _arg2:Number):void{
this.visible = true;
this.x = _arg1;
this.y = _arg2;
}
public function update(_arg1:Number, _arg2:Number):void{
this.visible = true;
this.x = (_arg1 / 2);
this.y = (_arg2 / 2);
}
private function clearEvents():void{
_timer.removeEventListener(TimerEvent.TIMER, updateIndicator);
_timer_2.removeEventListener(TimerEvent.TIMER, updateCurrent);
}
}
}//package com.gamezhero.api.as3.gui
Section 80
//Watermark (com.gamezhero.api.as3.gui.Watermark)
package com.gamezhero.api.as3.gui {
import flash.display.*;
public class Watermark extends Sprite {
private var dat:Array;
public function Watermark(){
dat = [{fill:[0xFFFFFF], origin:[146.4, 27.9], records:[[144.25, 27.9, 142.5, 26.85], [140.8, 25.8, 139.7, 23.8], [138.65, 21.85, 138.65, 19.1], [138.65, 16.5, 139.6, 14.45], [140.5, 12.35, 142.35, 11.2], [144.1, 10.05, 146.65, 10], [149, 10.05, 150.75, 11.15], [150.8, 11.15], [152.5, 12.25, 153.45, 14.25], [154.4, 16.1, 154.4, 18.7], [154.4, 21.35, 153.5, 23.35], [152.55, 25.5, 150.75, 26.7], [148.95, 27.85, 146.4, 27.9]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:"donut", origin:[146.65, 24.9], records:[[148.1, 24.85, 149.15, 24.2], [150.1, 23.45, 150.65, 22.2], [151.25, 20.9, 151.25, 19.1], [151.25, 16.05, 150.05, 14.5], [148.85, 13, 146.4, 13], [144.3, 13, 143.1, 14.4], [141.85, 15.8, 141.85, 18.7], [141.85, 21.7, 143.05, 23.3], [144.25, 24.85, 146.65, 24.9]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[119.8, 24.65], records:[[120.5, 24.5, 121.1, 24.35], [121.25, 24.25, 121.4, 24.35], [121.55, 24.35, 121.65, 24.5], [121.75, 24.65, 121.75, 24.8], [121.75, 25.45], [121.75, 26.15, 121.5, 26.65], [121.25, 27.2, 120.4, 27.55], [120.35, 27.55], [119.6, 27.75, 118.2, 27.75], [116.2, 27.75], [112.9, 27.75, 111.35, 25.9], [111.3, 25.9], [109.75, 23.95, 109.75, 20.4], [109.75, 17.45], [109.75, 16.75, 109.85, 15.95], [109.9, 15.1, 110.05, 14.35], [110.15, 13.55, 110.35, 12.95], [110.65, 11.6, 111.25, 11], [111.8, 10.25, 112.85, 10.25], [121.4, 10.25], [121.6, 10.25, 121.75, 10.4], [121.9, 10.55, 121.9, 10.75], [121.9, 11.65], [121.9, 12.3, 121.4, 12.75], [121.4, 12.8], [120.95, 13.25, 119.8, 13.25], [113.45, 13.25], [113.25, 14.1, 113.15, 15.15], [113.15, 15.2], [113, 16.25, 112.95, 17.25], [119.55, 17.25], [119.75, 17.25, 119.9, 17.4], [120.05, 17.55, 120.05, 17.75], [120.05, 18.45], [120.05, 19.15, 119.55, 19.65], [119.55, 19.7], [119.1, 20.1, 118.1, 20.1], [112.95, 20.1], [112.95, 20.8], [112.95, 22.3, 113.35, 23.25], [113.7, 24.05, 114.55, 24.4], [114.6, 24.4], [115.45, 24.8, 116.95, 24.75], [118.15, 24.75], [119.05, 24.75, 119.85, 24.65], [119.8, 24.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[136.4, 27.65], records:[[136.2, 27.65, 136, 27.7], [135.95, 27.7, 135.9, 27.7], [135.6, 27.7, 135.45, 27.7], [134.6, 27.7, 134.1, 27.35], [133.5, 26.95, 133.2, 26.2], [131.95, 23.2], [131.45, 22.1, 131.1, 21.55], [130.75, 21.05, 130.4, 20.9], [130.1, 20.75, 129.7, 20.75], [128.85, 20.7, 128.05, 20.6], [127.7, 20.55, 127.45, 20.5], [127.45, 27.15], [127.45, 27.35, 127.3, 27.5], [127.15, 27.65, 126.95, 27.65], [126.1, 27.65], [125.15, 27.65, 124.7, 27.15], [124.2, 26.7, 124.2, 25.75], [124.2, 11.35], [124.2, 11.2, 124.3, 11.05], [124.4, 10.9, 124.55, 10.9], [125.05, 10.75, 125.85, 10.55], [125.85, 10.5], [126.55, 10.35, 127.35, 10.25], [128.2, 10.15, 128.85, 10.15], [130.3, 10.15], [133, 10.15, 134.55, 11.45], [136.1, 12.75, 136.15, 15.1], [136.15, 15.15], [136.1, 16.55, 135.55, 17.55], [134.95, 18.55, 134, 19.15], [133.65, 19.35, 133.25, 19.5], [133.35, 19.6, 133.5, 19.75], [134.05, 20.25, 134.35, 20.9], [134.35, 20.85], [134.65, 21.45, 134.85, 21.95], [136.3, 25.5], [136.45, 25.75, 136.65, 26.15], [136.65, 26.2], [136.85, 26.45, 136.95, 26.6], [137.1, 26.75, 137.1, 26.95], [137.1, 27.1], [137.1, 27.25, 137, 27.4], [136.9, 27.55, 136.75, 27.6], [136.55, 27.65], [136.45, 27.65, 136.4, 27.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:"donut", origin:[132.95, 15.5], records:[[132.9, 14.5, 132.6, 13.95], [132.25, 13.45, 131.65, 13.3], [130.95, 13.05, 130.15, 13.05], [128.9, 13.05], [128.55, 13.05, 128.1, 13.15], [128.05, 13.15], [127.75, 13.2, 127.45, 13.25], [127.45, 17.65], [127.95, 17.7, 128.5, 17.75], [129.2, 17.8, 129.9, 17.8], [130.65, 17.8, 131.4, 17.6], [132.1, 17.35, 132.5, 16.8], [132.55, 16.8], [132.9, 16.3, 132.95, 15.5]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[95.75, 27.65], records:[[94.9, 27.65], [94.25, 27.65, 93.7, 27.15], [93.05, 26.7, 93, 25.6], [93, 10.75], [93, 10.55, 93.15, 10.4], [93.3, 10.25, 93.5, 10.25], [94.7, 10.25], [95.3, 10.25, 95.75, 10.7], [96.2, 11.05, 96.25, 11.8], [96.25, 17.05], [103.45, 17.05], [103.45, 10.75], [103.45, 10.55, 103.6, 10.4], [103.75, 10.25, 103.95, 10.25], [105, 10.25], [105.65, 10.25, 106.15, 10.7], [106.65, 11.1, 106.65, 11.85], [106.65, 27.15], [106.65, 27.35, 106.5, 27.5], [106.35, 27.65, 106.15, 27.65], [105.4, 27.65], [104.65, 27.65, 104.15, 27.15], [104.1, 27.1], [103.5, 26.6, 103.45, 25.6], [103.45, 20.1], [96.25, 20.1], [96.25, 27.15], [96.25, 27.35, 96.1, 27.5], [95.95, 27.65, 95.75, 27.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFF9900], origin:[78.2, 27.15], records:[[77.7, 26.65, 77.7, 25.95], [77.7, 25.3, 78, 24.6], [78, 24.65], [78.25, 23.95, 78.85, 23.05], [79.4, 22.2, 80.35, 21], [85, 15.1], [85.6, 14.35, 86, 13.65], [86.1, 13.45, 86.2, 13.25], [78.05, 13.25], [77.85, 13.25, 77.7, 13.1], [77.55, 12.95, 77.55, 12.75], [77.55, 12.3], [77.55, 11.3, 78.1, 10.8], [78.6, 10.25, 79.95, 10.25], [88.4, 10.25], [88.95, 10.25, 89.45, 10.75], [89.9, 11.15, 89.95, 11.9], [89.95, 11.95], [89.95, 12.8, 89.4, 13.95], [88.85, 14.95, 87.8, 16.3], [83.2, 22.2], [83.2, 22.25], [82.5, 23.05, 82, 23.9], [81.95, 23.9], [81.65, 24.3, 81.45, 24.65], [89.65, 24.65], [89.85, 24.65, 90, 24.8], [90.15, 24.95, 90.15, 25.15], [90.15, 26], [90.15, 26.75, 89.6, 27.2], [89.55, 27.2], [89.05, 27.65, 88.25, 27.65], [79.6, 27.65], [78.75, 27.65, 78.25, 27.2], [78.2, 27.15]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[73.85, 24.65], records:[[73.8, 24.65], [74.5, 24.5, 75.05, 24.35], [75.2, 24.25, 75.35, 24.35], [75.5, 24.35, 75.6, 24.5], [75.7, 24.65, 75.7, 24.8], [75.7, 25.45], [75.7, 26.1, 75.5, 26.6], [75.3, 27.15, 74.4, 27.55], [74.35, 27.55], [73.6, 27.75, 72.2, 27.75], [70.2, 27.75], [66.9, 27.75, 65.35, 25.9], [65.3, 25.9], [63.75, 23.95, 63.75, 20.4], [63.75, 17.45], [63.75, 16.75, 63.85, 15.95], [63.9, 15.1, 64.05, 14.35], [64.15, 13.55, 64.35, 12.95], [64.65, 11.6, 65.25, 11], [65.8, 10.25, 66.85, 10.25], [75.35, 10.25], [75.55, 10.25, 75.7, 10.4], [75.85, 10.55, 75.85, 10.75], [75.85, 11.65], [75.85, 12.3, 75.4, 12.75], [75, 13.25, 73.8, 13.25], [67.45, 13.25], [67.25, 14.1, 67.15, 15.15], [67.15, 15.2], [67, 16.25, 66.95, 17.25], [73.55, 17.25], [73.75, 17.25, 73.9, 17.4], [74.05, 17.55, 74.05, 17.75], [74.05, 18.45], [74.05, 19.15, 73.55, 19.65], [73.55, 19.7], [73.1, 20.1, 72.1, 20.1], [66.95, 20.1], [66.95, 20.8], [66.95, 22.3, 67.35, 23.25], [67.7, 24.05, 68.55, 24.4], [68.6, 24.4], [69.45, 24.8, 70.95, 24.75], [72.15, 24.75], [73.05, 24.75, 73.85, 24.65]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[45.65, 15.05], records:[[45.5, 15.95, 45.4, 16.95], [45.25, 18.8, 45.1, 20.65], [44.95, 22.5, 44.9, 24.15], [44.85, 25.85, 44.8, 27.2], [44.8, 27.35, 44.65, 27.5], [44.5, 27.65, 44.3, 27.65], [43.65, 27.65], [42.85, 27.65, 42.25, 27.05], [41.7, 26.5, 41.65, 25.45], [41.65, 25.4], [41.65, 23.65, 41.8, 21.65], [41.95, 19.6, 42.2, 17.6], [42.4, 15.6, 42.65, 13.8], [42.95, 12.05, 43.15, 10.7], [43.2, 10.5, 43.35, 10.4], [43.45, 10.25, 43.65, 10.25], [44.5, 10.25], [45.75, 10.25, 46.55, 10.9], [47.35, 11.5, 47.8, 12.5], [47.8, 12.45], [48.25, 13.3, 48.6, 14.25], [50.75, 20.65], [51, 21.45, 51.25, 22.3], [51.55, 21.4, 51.85, 20.6], [53.95, 14.75], [54.3, 13.8, 54.7, 12.95], [55.1, 12.05, 55.5, 11.45], [55.9, 10.8, 56.1, 10.5], [56.15, 10.35, 56.3, 10.3], [56.4, 10.25, 56.5, 10.25], [57.1, 10.25], [58.4, 10.25, 59.1, 11.3], [59.75, 12.15, 59.9, 13.8], [60.1, 15.9, 60.3, 18.2], [60.5, 20.55, 60.6, 22.9], [60.75, 25.2, 60.75, 27.15], [60.75, 27.35, 60.6, 27.5], [60.45, 27.65, 60.25, 27.65], [59.45, 27.65], [58.5, 27.65, 58, 27.1], [57.5, 26.6, 57.5, 25.4], [57.5, 24.6, 57.5, 23.45], [57.45, 22.2, 57.35, 20.9], [57.3, 19.5, 57.15, 18.1], [57.05, 16.7, 56.9, 15.5], [56.9, 15.3, 56.9, 15.15], [56.55, 15.95, 56.2, 17.1], [53.65, 24.45], [53.65, 24.4], [53.35, 25.25, 53, 26.05], [53.05, 26.05], [52.7, 26.8, 52.4, 27.4], [52.35, 27.5, 52.2, 27.6], [52.1, 27.65, 51.95, 27.65], [51.45, 27.65], [51.05, 27.65, 50.5, 27.35], [50.45, 27.3], [50, 26.95, 49.45, 25.9], [48.95, 24.9, 48.35, 22.95], [46.3, 16.75], [46.3, 16.8], [46, 15.95, 45.65, 15.1], [45.65, 15.05]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[36, 23.3], records:[[29.1, 23.3], [28.95, 23.75, 28.85, 24.3], [28.85, 24.25], [28.7, 25.05, 28.55, 25.8], [28.55, 25.85], [28.35, 26.55, 28.25, 27.25], [28.2, 27.4, 28.1, 27.55], [27.95, 27.65, 27.75, 27.65], [26.9, 27.65], [26.15, 27.65, 25.8, 27.25], [25.4, 26.9, 25.4, 26.1], [25.4, 25.35, 25.8, 23.8], [26.1, 22.3, 26.75, 20.4], [27.3, 18.55, 28.1, 16.65], [28.85, 14.7, 29.65, 13.1], [30.45, 11.45, 31.25, 10.45], [31.3, 10.35, 31.45, 10.3], [31.55, 10.25, 31.65, 10.25], [32.4, 10.25], [33.25, 10.25, 33.9, 10.85], [34.5, 11.3, 35.05, 12.4], [35.05, 12.35], [35.6, 13.3, 36.3, 15], [37, 16.6, 37.75, 18.65], [38.45, 20.65, 39.05, 22.85], [39.6, 25.05, 39.9, 27.1], [39.9, 27.2, 39.85, 27.35], [39.8, 27.5, 39.7, 27.6], [39.55, 27.65, 39.4, 27.65], [38.65, 27.65], [37.75, 27.65, 37.25, 27.25], [36.75, 26.85, 36.6, 26.1], [36.45, 25.25, 36.25, 24.35], [36.3, 24.4], [36.1, 23.8, 36, 23.3]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}, {fill:"donut", origin:[29.9, 20.5], records:[[35.15, 20.5], [34.55, 18.6, 33.9, 16.9], [33.25, 15.3, 32.5, 13.8], [31.65, 15.35, 31.1, 16.95], [30.45, 18.6, 29.9, 20.5]], strokes:[null, "-", "-", "-", "-"]}, {fill:[0xFFFFFF], origin:[20.9, 20.55], records:[[20.9, 20.15, 20.85, 19.75], [20.85, 19.6, 20.9, 19.5], [20.95, 19.35, 21.1, 19.3], [21.2, 19.2, 21.35, 19.2], [22.35, 19.2], [23.1, 19.25, 23.5, 19.7], [23.55, 19.75], [23.95, 20.2, 23.95, 20.85], [23.95, 23.65], [24, 25.7, 22.6, 26.8], [22.55, 26.8], [21.25, 27.9, 18.4, 27.9], [16.1, 27.9, 14.2, 26.8], [12.35, 25.65, 11.2, 23.65], [10, 21.65, 10, 19], [10, 16.4, 11, 14.45], [12.05, 12.4, 14.05, 11.25], [16.05, 10.05, 18.95, 10], [20.4, 10, 21.45, 10.5], [21.5, 10.5], [22.6, 10.95, 23.2, 11.75], [23.8, 12.55, 23.8, 13.45], [23.8, 14.25], [23.8, 14.45, 23.65, 14.6], [23.5, 14.75, 23.3, 14.75], [23.2, 14.75], [23.1, 14.75, 23, 14.7], [22.85, 14.65, 22.8, 14.55], [22.35, 13.95, 21.35, 13.5], [20.3, 13.05, 18.65, 13], [17.2, 13, 16, 13.65], [14.75, 14.25, 14, 15.5], [13.2, 16.8, 13.2, 18.75], [13.2, 20.9, 14, 22.25], [14.7, 23.55, 16, 24.25], [17.25, 24.9, 18.8, 24.9], [19.7, 24.9, 20.2, 24.7], [20.25, 24.7], [20.6, 24.55, 20.8, 24.3], [20.95, 23.8, 20.95, 23.1], [20.95, 21.55], [20.95, 21.1, 20.9, 20.6], [20.9, 20.55]], strokes:[null, "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-", "-"]}];
super();
ini();
}
private function ini():void{
var _local1:String;
var _local2:Graphics;
var _local3:Number;
var _local4:Object;
var _local5:Array;
var _local6:Array;
var _local7:String;
var _local8:Number;
var _local9:Array;
_local1 = null;
_local2 = this.graphics;
_local3 = 0;
while (_local3 < dat.length) {
_local4 = dat[_local3];
_local2.moveTo(_local4.origin[0], _local4.origin[1]);
if ((((_local4.fill == -1)) || ((_local4.fill == "stroke")))){
if (_local1 != "stroke"){
_local2.endFill();
_local1 = _local4.fill;
};
} else {
if (_local4.fill != "donut"){
if (_local4.fill.length != 5){
_local2.beginFill.apply(_local2, _local4.fill);
} else {
_local2.beginGradientFill.apply(_local2, _local4.fill);
};
_local1 = _local4.fill;
};
};
_local5 = _local4.records;
_local6 = _local4.strokes;
_local7 = "-1";
if (_local6[0] == null){
_local2.lineStyle();
} else {
_local2.lineStyle.apply(_local2, _local6[0]);
};
_local8 = 0;
while (_local8 < _local5.length) {
_local7 = _local6[_local8];
if (_local7 != "-"){
if (_local7 == null){
_local2.lineStyle();
} else {
_local2.lineStyle(_local7[0], _local7[1]);
};
};
_local9 = _local5[_local8];
if (_local9.length == 4){
_local2.curveTo(_local9[0], _local9[1], _local9[2], _local9[3]);
} else {
_local2.lineTo(_local9[0], _local9[1]);
};
_local8++;
};
_local3++;
};
_local2.endFill();
}
}
}//package com.gamezhero.api.as3.gui
Section 81
//URL (com.gamezhero.api.as3.utils.URL)
package com.gamezhero.api.as3.utils {
public class URL {
private var _scheme:String;
private var _host:String;
private var _query:String;
private var _path:String;
private var _userinfo:String;
private var _port:String;
private var _fragment:String;
private var _url:String;
private static const PATTERN:RegExp = /^([A-Za-z0-9_+.]{1,8}:\/\/)?([!-~]+@)?([^\/?#:]*)(:[0-9]*)?(\/[^?#]*)?(\?[^#]*)?(\#.*)?/i;
public function URL(_arg1:String):void{
var _local2:Array;
super();
_local2 = _arg1.match(URL.PATTERN);
_url = _local2[0];
_scheme = _local2[1];
_userinfo = _local2[2];
_host = _local2[3];
_port = _local2[4];
_path = _local2[5];
_query = _local2[6];
_fragment = _local2[7];
}
public function get port():int{
return (((_port.length <= 0)) ? undefined : int(_port.substring(1, _port.length)));
}
public function get query():Object{
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:Array;
_local1 = {raw:undefined, parsed:undefined};
if (((_query) && ((_query.length > 0)))){
_local1.raw = _query;
_local2 = _query.substring(1, _query.length);
_local3 = _local2.split("&");
_local1.parsed = ((_local3.length > 0)) ? {} : undefined;
_local4 = 0;
while (_local4 < _local3.length) {
_local5 = _local3[_local4].split("=");
_local1.parsed[_local5[0]] = _local5[1];
_local4++;
};
};
return (_local1);
}
public function get fragment():String{
return (((_fragment.length <= 0)) ? undefined : _fragment);
}
public function get scheme():String{
return (((_scheme.length <= 0)) ? undefined : _scheme.substring(0, (_scheme.length - 3)));
}
public function get host():String{
return (((_host.length <= 0)) ? undefined : _host);
}
public function get path():String{
return (((_path.length <= 0)) ? undefined : _path);
}
public function get url():String{
return (((_url.length <= 0)) ? undefined : _url);
}
public function get userinfo():Object{
var _local1:Object;
var _local2:Array;
_local1 = {user:undefined, pass:undefined};
if (_userinfo){
_local2 = _userinfo.substring(0, (_userinfo.length - 1)).split(":");
_local1.user = (_local2[0]) ? _local2[0] : _local1.user;
_local1.pass = (_local2[1]) ? _local2[1] : _local1.pas;
};
return (_local1);
}
}
}//package com.gamezhero.api.as3.utils
Section 82
//GameParams (com.gamezhero.api.as3.GameParams)
package com.gamezhero.api.as3 {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import com.gamezhero.api.as3.events.*;
public class GameParams extends MovieClip {
private var _obj_listener_gameparams:Object;
private var _loader_gameparams:Loader;
private var _send_name_connection_gameparams:String;
private var _send_localconnection_gameparams:LocalConnection;
private var _gamezhero_code_gameparams:Number;
private var tries:uint;// = 2
private var _receive_localconnection_gameparams:LocalConnection;
private var _recived_name_connection_gameparams:String;
public function GameParams(){
_receive_localconnection_gameparams = new LocalConnection();
_send_localconnection_gameparams = new LocalConnection();
_loader_gameparams = new Loader();
_obj_listener_gameparams = new Object();
tries = 2;
super();
_gamezhero_code_gameparams = new Date().getTime();
_recived_name_connection_gameparams = ("_recived_gamezhero_gameparams_" + _gamezhero_code_gameparams);
_send_name_connection_gameparams = ("_send_gamezhero_gameparams_" + _gamezhero_code_gameparams);
iniLocalConnectionsGameParams();
iniEvents();
loadGameParamsEngine();
}
private function onErrorReciveGameParams(_arg1:SecurityErrorEvent=null):void{
receivedAction({error:4});
}
private function getInfo():Object{
var _local1:Object;
_local1 = new Object();
_local1["game_name"] = GamezheroGlobal.gameName;
_local1["game_domain"] = GamezheroGlobal.getDomain();
return ((_local1 as Object));
}
private function iniEvents():void{
_loader_gameparams.contentLoaderInfo.addEventListener(Event.INIT, gameParamsLoaderInit);
_loader_gameparams.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, gameParamsLoaderError);
_receive_localconnection_gameparams.addEventListener(StatusEvent.STATUS, onStatusReciveGameParams);
_receive_localconnection_gameparams.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveGameParams);
_send_localconnection_gameparams.addEventListener(StatusEvent.STATUS, onStatusSendGameParams);
_send_localconnection_gameparams.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendGameParams);
}
private function onStatusReciveGameParams(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
receivedAction({error:5});
break;
};
}
private function checkGameParams(_arg1:TimerEvent=null):void{
_send_localconnection_gameparams.send(_send_name_connection_gameparams, "gameparamsIsOk", null);
}
private function gameParamsLoaderError(_arg1:Event=null):void{
tries--;
if (tries == 0){
receivedAction({error:3});
} else {
loadGameParamsEngine();
};
}
private function loadGameParamsEngine():void{
var url:String;
var request:URLRequest;
url = (GamezheroGlobal.toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 103, 97, 109, 101, 112, 97, 114, 97, 109, 115, 47, 103, 97, 109, 101, 112, 97, 114, 97, 109, 115, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + String(_gamezhero_code_gameparams));
request = new URLRequest(url);
try {
_loader_gameparams.load(request);
} catch(e:Error) {
receivedAction({error:2});
};
}
private function onErrorSendGameParams(_arg1:SecurityErrorEvent=null):void{
receivedAction({});
}
private function gameParamsLoaderInit(_arg1:Event=null):void{
var _local2:Timer;
_local2 = new Timer(200, 1);
_local2.addEventListener(TimerEvent.TIMER, checkGameParams);
_local2.start();
}
private function iniLocalConnectionsGameParams():void{
var dom:String;
_obj_listener_gameparams = new Object();
_obj_listener_gameparams.gameparamsOk = function ():void{
_send_localconnection_gameparams.send(_send_name_connection_gameparams, "getParams", getInfo());
};
_obj_listener_gameparams.iniParams = function (_arg1:Object):void{
receivedAction(_arg1);
};
dom = GamezheroGlobal.toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]);
_receive_localconnection_gameparams.allowInsecureDomain(dom);
_receive_localconnection_gameparams.allowDomain(dom);
_receive_localconnection_gameparams.client = _obj_listener_gameparams;
try {
_receive_localconnection_gameparams.connect(_recived_name_connection_gameparams);
} catch(e:Error) {
receivedAction({error:1});
};
_send_localconnection_gameparams.allowInsecureDomain(dom);
_send_localconnection_gameparams.allowDomain(dom);
}
private function receivedAction(_arg1:Object):void{
var _local2:GameParamsEvent;
_local2 = new GameParamsEvent(GameParamsEvent.GAME_PARAMS_RECEIVED);
_local2.value = _arg1;
this.dispatchEvent(_local2);
clearEvents();
}
private function clearEvents():void{
_loader_gameparams.contentLoaderInfo.removeEventListener(Event.INIT, gameParamsLoaderInit);
_loader_gameparams.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, gameParamsLoaderError);
_receive_localconnection_gameparams.removeEventListener(StatusEvent.STATUS, onStatusReciveGameParams);
_receive_localconnection_gameparams.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveGameParams);
_send_localconnection_gameparams.removeEventListener(StatusEvent.STATUS, onStatusSendGameParams);
_send_localconnection_gameparams.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendGameParams);
}
private function onStatusSendGameParams(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
receivedAction({error:6});
break;
};
}
}
}//package com.gamezhero.api.as3
Section 83
//GamePreloader (com.gamezhero.api.as3.GamePreloader)
package com.gamezhero.api.as3 {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import com.gamezhero.api.as3.gui.*;
import com.google.analytics.*;
import flash.ui.*;
public class GamePreloader extends MovieClip {
private var _obj_listener_preloader:Object;
private var progress:Number;// = 0
private var _scale_old:String;
private var _obj:Object;
private var _timer:Timer;
private var _loader_preloader_skin:Loader;
private var _send_localconnection_preloader:LocalConnection;
private var _align_old:String;
private var _in_target:String;
private var _in_url:String;// = "null"
private var _indicator:Indicator;
private var _bg:Background;
private var _error_flag:Boolean;// = false
private var _amount_try:uint;// = 10
private var _quality_old:String;
private var _gamezhero_code_preloader:Number;
private var _recive_localconnection_preloader:LocalConnection;
private var _debug_flag:Boolean;// = false
private var tries:uint;// = 2
private var _rate_old:Number;
private var _send_name_connection_preloader:String;
private var _recived_name_connection_preloader:String;
private var _preloader_active_flag:Boolean;// = false
private var _urls:Dictionary;
private var _par:MovieClip;
private var _tracker:GATracker;
public static const FINISH:String = "PRELOAD_COMPLETE";
public function GamePreloader(_arg1:MovieClip, _arg2:Object=null){
var par = _arg1;
var iniObject = _arg2;
_timer = new Timer((1000 / 10), 0);
_error_flag = false;
_preloader_active_flag = false;
_in_url = "null";
_obj = new Object();
_urls = new Dictionary();
_debug_flag = false;
_amount_try = 10;
_recive_localconnection_preloader = new LocalConnection();
_send_localconnection_preloader = new LocalConnection();
_loader_preloader_skin = new Loader();
_obj_listener_preloader = new Object();
tries = 2;
progress = 0;
super();
_par = par;
_par.addChild(this);
if (iniObject != null){
_obj = iniObject;
};
try {
_debug_flag = _obj["debug"];
} catch(e:Error) {
_debug_flag = false;
};
_bg = new Background(this);
_indicator = new Indicator(this);
_gamezhero_code_preloader = new Date().getTime();
_recived_name_connection_preloader = ("_recived_gamezhero_preloader_" + _gamezhero_code_preloader);
_send_name_connection_preloader = ("_send_gamezhero_preloader_" + _gamezhero_code_preloader);
iniLocalConnectionsPreloader();
iniEvents();
iniStage();
iniGoogleAnalitics();
}
private function beginScenario2():void{
_error_flag = true;
clearTimers();
_timer.addEventListener(TimerEvent.TIMER, updatePreloader2);
_timer.start();
}
private function resizeAction(_arg1:Event=null):void{
var obj:Object;
var event = _arg1;
obj = new Object();
try {
obj.width = stage.stageWidth;
obj.height = stage.stageHeight;
} catch(e:Error) {
obj.width = 550;
obj.height = 400;
};
if ((((_error_flag == false)) && ((_preloader_active_flag == true)))){
try {
_send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([117, 112, 100, 97, 116, 101, 80, 111, 115]), obj);
} catch(e:Error) {
beginScenario2();
};
};
_indicator.update(obj.width, obj.height);
_bg.update(obj.width, obj.height);
}
private function iniEvents():void{
_par.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
_par.loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressAction);
_loader_preloader_skin.contentLoaderInfo.addEventListener(Event.INIT, preloaderLoaderInit);
_loader_preloader_skin.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, preloaderLoaderError);
_recive_localconnection_preloader.addEventListener(StatusEvent.STATUS, onStatusRecivePreloader);
_recive_localconnection_preloader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorRecivePreloader);
_send_localconnection_preloader.addEventListener(StatusEvent.STATUS, onStatusSendPreloader);
_send_localconnection_preloader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendPreloader);
}
private function updatePreloader2(_arg1:TimerEvent=null):void{
var proc:Number;
var obj:Object;
var event = _arg1;
iniStageSettings();
proc = progress;
if ((((proc >= 1)) && (!((_par.totalFrames == _par.framesLoaded))))){
proc = 0.99;
};
_indicator.setVal((Math.round((proc * 100)) + " %"));
if (proc >= 1){
action();
};
obj = new Object();
try {
obj.width = stage.stageWidth;
obj.height = stage.stageHeight;
} catch(e:Error) {
obj.width = 550;
obj.height = 400;
};
event.updateAfterEvent();
}
private function updatePreloader1(_arg1:TimerEvent=null):void{
var proc:Number;
var obj:Object;
var event = _arg1;
iniStageSettings();
_indicator.setVal("Loading...");
proc = progress;
if ((((proc >= 1)) && (!((_par.totalFrames == _par.framesLoaded))))){
proc = 0.99;
};
obj = new Object();
try {
obj.width = stage.stageWidth;
obj.height = stage.stageHeight;
} catch(e:Error) {
obj.width = 550;
obj.height = 400;
};
obj.loaded = proc;
_send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([117, 112, 100, 97, 116, 101, 80, 114, 101, 108, 111, 97, 100, 101, 114]), obj);
event.updateAfterEvent();
}
private function onStatusRecivePreloader(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
beginScenario2();
break;
};
}
public function action(_arg1:Event=null):void{
clearTimers();
_timer.addEventListener(TimerEvent.TIMER, actionDone);
_timer.start();
}
private function checkPreloader(_arg1:TimerEvent=null):void{
_send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([112, 114, 101, 108, 111, 97, 100, 101, 114, 73, 115, 79, 107]), null);
}
private function onErrorRecivePreloader(_arg1:SecurityErrorEvent=null):void{
beginScenario2();
}
private function ioErrorHandler(_arg1:IOErrorEvent=null):void{
beginScenario2();
}
private function clearTimers():void{
_timer.removeEventListener(TimerEvent.TIMER, updatePreloader1);
_timer.removeEventListener(TimerEvent.TIMER, updatePreloader2);
_timer.removeEventListener(TimerEvent.TIMER, actionDone);
}
private function preloaderLoaderComplete(_arg1:Event=null):void{
}
private function onStatusSendPreloader(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
beginScenario2();
break;
};
}
private function iniGoogleAnalitics():void{
try {
_tracker = new GATracker(this, "UA-262190-1", "AS3", false);
_tracker.trackEvent("preloader", "loading", GamezheroGlobal.gameName);
} catch(e:Error) {
};
}
private function progressAction(_arg1:ProgressEvent=null):void{
var event = _arg1;
try {
progress = (event.bytesLoaded / event.bytesTotal);
} catch(e:Error) {
progress = 0;
};
}
private function preloaderLoaderInit(_arg1:Event=null):void{
var _local2:Timer;
_local2 = new Timer(200, 1);
_local2.addEventListener(TimerEvent.TIMER, checkPreloader);
_local2.start();
}
private function onErrorSendPreloader(_arg1:SecurityErrorEvent=null):void{
beginScenario2();
}
private function actionDone(_arg1:TimerEvent=null):void{
var _local2:Event;
this.alpha = (this.alpha - 1);
if (this.alpha <= 1){
this.alpha = 0;
clearEvents();
clearStageEvents();
clearTimers();
setStageSettings();
_local2 = new Event(FINISH);
this.dispatchEvent(_local2);
_indicator.remove();
_bg.remove();
_par.removeChild(this);
};
_arg1.updateAfterEvent();
}
private function iniContextMenu():void{
var _local1:String;
var _local2:String;
var _local3:ContextMenu;
var _local4:ContextMenuBuiltInItems;
var _local5:String;
var _local6:ContextMenuItem;
_local1 = GamezheroGlobal.getDomain(_par.stage);
_local2 = GamezheroGlobal.gameName;
_obj.gamezhero_url = (((("http://www.gamezhero.com/?utm_campaign=" + _local2) + "&utm_source=") + _local1) + "&utm_medium=preloader");
_obj.gamezhero_menu = {Free Online Games @ Gamezhero.com:(((("http://www.gamezhero.com/?utm_campaign=" + _local2) + "&utm_source=") + _local1) + "&utm_medium=context_menu"), Send To Friends:(((((("http://www.gamezhero.com/sendtofriends/" + _local2) + "-onlinegames.html?utm_campaign=") + _local2) + "&utm_source=") + _local1) + "&utm_medium=send_to_friends_context_menu"), Put This Game To Your Blog or Site:(((((("http://www.gamezhero.com/freewebsitegames/" + _local2) + "-onlinegames.html?utm_campaign=") + _local2) + "&utm_source=") + _local1) + "&utm_medium=free_web_site_games_context")};
_local3 = new ContextMenu();
_local3.hideBuiltInItems();
_local4 = _local3.builtInItems;
_local4.quality = true;
_local4.print = true;
for (_local5 in _obj.gamezhero_menu) {
_local6 = new ContextMenuItem(_local5);
_urls[_local6] = _obj.gamezhero_menu[_local5];
_local6.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, getURLContextMenu);
_local3.customItems.push(_local6);
};
this.parent.contextMenu = _local3;
}
private function getInfo():Object{
var _local1:UserInfo;
_local1 = new UserInfo(_par);
return ((_local1 as Object));
}
private function clearStageEvents():void{
try {
stage.removeEventListener(Event.RESIZE, resizeAction);
} catch(e:Error) {
};
}
private function iniStageEvents():void{
stage.addEventListener(Event.RESIZE, resizeAction);
resizeAction();
}
private function preloaderLoaderError(_arg1:Event=null):void{
var IOErrorEvent = _arg1;
tries--;
try {
_tracker.trackEvent("preloader", ("loading_error_" + (2 - tries)), GamezheroGlobal.gameName);
} catch(e:Error) {
};
if (tries <= 0){
beginScenario2();
} else {
loadPreloaderSkin();
};
}
private function moveAction(_arg1:MouseEvent=null):void{
}
private function gotoAction(_arg1:MouseEvent=null):void{
if (_in_url != "null"){
GamezheroGlobal.getURL(_in_url, _in_target);
_in_url = "null";
};
}
private function iniLocalConnectionsPreloader():void{
var dom:String;
_obj_listener_preloader = new Object();
_obj_listener_preloader.preloaderOk = function ():void{
_send_localconnection_preloader.send(_send_name_connection_preloader, GamezheroGlobal.toText([105, 110, 105, 80, 114, 101, 108, 111, 97, 100, 101, 114]), getInfo());
beginScenario1();
};
_obj_listener_preloader.preloaderGetUrlAction = function (_arg1:String, _arg2:String):void{
var url = _arg1;
var target = _arg2;
try {
_tracker.trackEvent("preloader", "click", GamezheroGlobal.gameName);
} catch(e:Error) {
};
gotoActionIni(url, target);
};
_obj_listener_preloader.finishAction = function (_arg1:Object):void{
action();
};
dom = GamezheroGlobal.toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]);
_recive_localconnection_preloader.allowInsecureDomain(dom);
_recive_localconnection_preloader.allowDomain(dom);
_recive_localconnection_preloader.client = _obj_listener_preloader;
try {
_recive_localconnection_preloader.connect(_recived_name_connection_preloader);
} catch(e:Error) {
beginScenario2();
};
_send_localconnection_preloader.allowInsecureDomain(dom);
_send_localconnection_preloader.allowDomain(dom);
}
private function iniStage(_arg1:Event=null):void{
var event = _arg1;
this.removeEventListener(Event.ENTER_FRAME, iniStage);
try {
getStageSettings();
iniStageSettings();
iniContextMenu();
iniStageEvents();
if (_debug_flag == false){
loadPreloaderSkin();
} else {
beginScenario2();
};
} catch(e:Error) {
_amount_try--;
if (_amount_try <= 0){
beginScenario2();
} else {
this.addEventListener(Event.ENTER_FRAME, iniStage);
};
};
}
private function getStageSettings():void{
_scale_old = stage.scaleMode;
_align_old = stage.align;
_rate_old = stage.frameRate;
_quality_old = stage.quality;
}
private function gotoActionIni(_arg1:String, _arg2:String):void{
_in_url = _arg1;
_in_target = _arg2;
gotoAction();
}
private function getURLContextMenu(_arg1:ContextMenuEvent=null):void{
GamezheroGlobal.getURL(_urls[_arg1.target], "_blank");
}
private function iniStageSettings():void{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.frameRate = 20;
stage.quality = StageQuality.HIGH;
}
private function clearEvents():void{
_par.loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
_par.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressAction);
this.removeEventListener(Event.ENTER_FRAME, iniStage);
_loader_preloader_skin.contentLoaderInfo.removeEventListener(Event.INIT, preloaderLoaderInit);
_loader_preloader_skin.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, preloaderLoaderError);
_recive_localconnection_preloader.removeEventListener(StatusEvent.STATUS, onStatusRecivePreloader);
_recive_localconnection_preloader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorRecivePreloader);
_recive_localconnection_preloader.client = {};
_recive_localconnection_preloader.close();
_recive_localconnection_preloader = new LocalConnection();
_send_localconnection_preloader.removeEventListener(StatusEvent.STATUS, onStatusSendPreloader);
_send_localconnection_preloader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendPreloader);
_send_localconnection_preloader = new LocalConnection();
}
private function loadPreloaderSkin():void{
var url:String;
var request:URLRequest;
url = (GamezheroGlobal.toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 112, 114, 101, 108, 111, 97, 100, 101, 114, 47, 112, 114, 101, 108, 111, 97, 100, 101, 114, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + String(_gamezhero_code_preloader));
request = new URLRequest(url);
try {
_loader_preloader_skin.load(request);
addChild(_loader_preloader_skin);
} catch(e:Error) {
beginScenario2();
};
}
private function beginScenario1():void{
_preloader_active_flag = true;
clearTimers();
_timer.addEventListener(TimerEvent.TIMER, updatePreloader1);
_timer.start();
resizeAction();
}
private function setStageSettings():void{
stage.scaleMode = _scale_old;
stage.align = _align_old;
stage.frameRate = _rate_old;
stage.quality = _quality_old;
}
}
}//package com.gamezhero.api.as3
Section 84
//GamezheroApi (com.gamezhero.api.as3.GamezheroApi)
package com.gamezhero.api.as3 {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import com.gamezhero.api.as3.gui.*;
import flash.system.*;
import com.adobe.images.*;
import flash.geom.*;
import com.gamezhero.api.as3.events.*;
import flash.printing.*;
import flash.filters.*;
public class GamezheroApi {
private static var _score_continue_function:Function;
private static var params:Object = new Object();
private static var _preloader_goal:MovieClip;
private static var _preloader_next_step_function:Function;
private static var _score_error_function:Function;
private static var _score_submit_function:Function;
private static var _score_goal:MovieClip;
public static function linkZorroLogo():void{
if (!params["logo"]){
GamezheroGlobal.getURL((((("http://www.gamezhero.com/?utm_campaign=" + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=zorro_logo"), "_blank");
} else {
GamezheroGlobal.getURL(params["logo"], "_blank");
};
}
public static function score(_arg1:MovieClip, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Function, _arg7:Function, _arg8:Function, _arg9:Object=null):void{
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Object;
var _local14:SubmitArea;
GamezheroGlobal.gameCode = _arg2;
_score_goal = (_arg1 as MovieClip);
_score_submit_function = _arg6;
_score_continue_function = _arg7;
_score_error_function = _arg8;
if (GamezheroGlobal.gameName == "unset"){
} else {
_local10 = _arg3;
_local11 = _arg4;
_local12 = _arg5;
_local13 = _arg9;
if (_local13 == null){
_local13 = {border:{width:4, color:0xFFFFFF, alpha:100}, background:{topColor:0x999999, bottomColor:0x666666, topAlpha:100, bottomAlpha:100, cornerRadius:10}, language:"ENG"};
};
_local14 = new SubmitArea(_score_goal, _local11, _local12, _local10, _local13);
_local14.addEventListener(SubmitArea.SUBMITED, scoreSubmitAction);
_local14.addEventListener(SubmitArea.CONTINUE, scoreContinueAction);
_local14.addEventListener(SubmitArea.ERROR, scoreErrorAction);
};
}
public static function linkTopScore():void{
if (!params["top_score"]){
GamezheroGlobal.getURL((((((("http://www.gamezhero.com/topscore/" + GamezheroGlobal.gameName) + "/top100.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=submit_score"), "_blank");
} else {
GamezheroGlobal.getURL(params["top_score"], "_blank");
};
}
private static function gameParamsReceived(_arg1:GameParamsEvent=null):void{
var _local2:Object;
var _local3:String;
_local2 = (_arg1.value as Object);
for (_local3 in _local2) {
params[_local3] = _local2[_local3];
};
}
private static function scoreSubmitAction(_arg1:Event=null):void{
_score_submit_function.apply();
}
public static function linkMoreGames():void{
if (!params["more_games"]){
GamezheroGlobal.getURL((((("http://www.gamezhero.com/?utm_campaign=" + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=more_free_games"), "_blank");
} else {
GamezheroGlobal.getURL(params["more_games"], "_blank");
};
}
public static function ini(_arg1:String):void{
var _local2:GameParams;
Security.allowDomain("www.gamezhero.com", "gamezhero.com", "files.gamezhero.com", "data.gamezhero.com", "*.gamezhero.com");
Security.allowInsecureDomain("www.gamezhero.com", "gamezhero.com", "files.gamezhero.com", "data.gamezhero.com", "*.gamezhero.com");
GamezheroGlobal.gameName = _arg1;
_local2 = new GameParams();
_local2.addEventListener(GameParamsEvent.GAME_PARAMS_RECEIVED, gameParamsReceived);
}
public static function linkTwitter():void{
if (!params["twitter"]){
GamezheroGlobal.getURL("http://twitter.com/gamezhero", "_blank");
} else {
GamezheroGlobal.getURL(params["twitter"], "_blank");
};
}
public static function createScreenShot(_arg1:MovieClip, _arg2:Number=-1, _arg3:Number=-1):void{
var _local4:String;
var _local5:Rectangle;
var _local6:Number;
var _local7:Number;
var _local8:BitmapData;
var _local9:Number;
var _local10:Matrix;
var _local11:Watermark;
var _local12:JPGEncoder;
var _local13:ByteArray;
var _local14:URLRequestHeader;
var _local15:URLRequest;
if (!params["screen_shot"]){
_local4 = (((((("http://www.gamezhero.com/gallery/" + GamezheroGlobal.gameName) + "/add.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=top_score");
} else {
_local4 = params["screen_shot"];
};
if (_arg2 <= 0){
_arg2 = Capabilities.screenResolutionX;
};
if (_arg3 <= 0){
_arg3 = Capabilities.screenResolutionY;
};
_local5 = _arg1.getRect(_arg1);
_local6 = _local5.x;
_local7 = _local5.y;
_local8 = new BitmapData(_arg2, _arg3);
_local9 = Math.max((_arg2 / _arg1.width), (_arg3 / _arg1.height));
_local10 = new Matrix();
_local10.scale(_local9, _local9);
_local10.ty = ((-(((_arg1.height * _local9) - _arg3)) / 2) - (_local7 * _local9));
_local10.tx = ((-(((_arg1.width * _local9) - _arg2)) / 2) - (_local6 * _local9));
_local11 = new Watermark();
_local11.width = (Math.max((_arg1.width - (((_arg1.width * _local9) - _arg2) / _local9)), (_arg1.height - (((_arg1.height * _local9) - _arg3) / _local9))) * 0.1);
_local11.scaleY = _local11.scaleX;
_local11.filters = [new GlowFilter(0, 0.5, 2, 2)];
_arg1.addChild(_local11);
_local11.x = (-(_local10.tx) / _local9);
_local11.y = (-(_local10.ty) / _local9);
_local8.draw(_arg1, _local10);
_arg1.removeChild(_local11);
_local12 = new JPGEncoder(85);
_local13 = _local12.encode(_local8);
_local14 = new URLRequestHeader("Content-type", "application/octet-stream");
_local15 = new URLRequest(_local4);
_local15.requestHeaders.push(_local14);
_local15.method = URLRequestMethod.POST;
_local15.data = _local13;
navigateToURL(_local15, "_blank");
_local8.dispose();
}
private static function scoreErrorAction(_arg1:Event=null):void{
_score_error_function.apply();
}
public static function linkSendToFrined():void{
if (!params["send_to_friends"]){
GamezheroGlobal.getURL((((((("http://www.gamezhero.com/sendtofriends/" + GamezheroGlobal.gameName) + "-games.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=send_to_friend"), "_blank");
} else {
GamezheroGlobal.getURL(params["send_to_friends"], "_blank");
};
}
private static function scoreContinueAction(_arg1:Event=null):void{
_score_continue_function.apply();
}
private static function preloaderNextStep(_arg1:Event=null):void{
_preloader_next_step_function.apply();
}
public static function preloader(_arg1:MovieClip, _arg2:Function):void{
var _local3:GamePreloader;
_preloader_goal = (_arg1 as MovieClip);
_preloader_next_step_function = _arg2;
if (GamezheroGlobal.gameName == "unset"){
} else {
_local3 = new GamePreloader(_preloader_goal, {debug:false});
_local3.addEventListener(GamePreloader.FINISH, preloaderNextStep);
};
}
public static function sentToPrint(_arg1:MovieClip, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
var p:PrintJob;
var w:Number;
var h:Number;
var rotation_foo:Number;
var width_foo:Number;
var height_foo:Number;
var parent_foo:DisplayObject;
var index_foo:Number;
var sp:MovieClip;
var wm:Sprite;
var wm1:Watermark;
var wm2:Watermark;
var ct:ColorTransform;
var kof:Number;
var tx:Number;
var ty:Number;
var margin:Number;
var rec:Rectangle;
var dx_foo:Number;
var dy_foo:Number;
var rec2:Rectangle;
var dx_foo2:Number;
var dy_foo2:Number;
var options:PrintJobOptions;
var mc = _arg1;
var _x = _arg2;
var _y = _arg3;
var _w = _arg4;
var _h = _arg5;
p = new PrintJob();
w = 598.5;
h = 846.45;
rotation_foo = mc.rotation;
mc.rotation = 0;
width_foo = mc.width;
height_foo = mc.height;
parent_foo = (mc.parent as DisplayObject);
index_foo = (parent_foo as MovieClip).getChildIndex(mc);
sp = new MovieClip();
sp.addChild(mc);
if (mc.width > mc.height){
mc.rotation = -90;
};
wm = new Sprite();
wm1 = new Watermark();
wm2 = new Watermark();
wm1.y = (wm1.y + 2);
wm1.x = (wm1.x + 2);
wm1.alpha = 0.5;
ct = new ColorTransform();
ct.color = 0;
wm1.transform.colorTransform = ct;
wm.addChild(wm1);
wm.addChild(wm2);
(parent_foo as MovieClip).addChildAt(sp, index_foo);
tx = 0;
ty = 0;
margin = 10;
rec = mc.getRect(sp);
dx_foo = rec.x;
dy_foo = rec.y;
rec2 = mc.getRect(mc);
dx_foo2 = rec2.x;
dy_foo2 = rec2.y;
kof = Math.min((w / (sp.width + margin)), (h / (sp.height + margin)));
sp.width = (sp.width * kof);
sp.height = (sp.height * kof);
tx = ((((sp.width / kof) - (w / kof)) / 2) + dx_foo);
ty = ((((sp.height / kof) - (h / kof)) / 2) + dy_foo);
mc.addChild(wm);
wm.width = ((h * 0.1) / kof);
wm.scaleY = wm.scaleX;
wm.x = dx_foo2;
wm.y = dy_foo2;
if (p.start()){
try {
options = new PrintJobOptions();
options.printAsBitmap = false;
p.addPage((sp as Sprite), new Rectangle(tx, ty, w, h), options);
} catch(e:Error) {
};
p.send();
};
mc.rotation = rotation_foo;
mc.width = width_foo;
mc.height = height_foo;
(parent_foo as MovieClip).removeChild(sp);
(parent_foo as MovieClip).addChildAt(mc, index_foo);
}
public static function linkPublish():void{
if (!params["embed"]){
GamezheroGlobal.getURL((((((("http://www.gamezhero.com/freewebsitegames/" + GamezheroGlobal.gameName) + "-games.html?utm_campaign=") + GamezheroGlobal.gameName) + "&utm_source=") + GamezheroGlobal.getDomain()) + "&utm_medium=free_web_site_games"), "_blank");
} else {
GamezheroGlobal.getURL(params["embed"], "_blank");
};
}
}
}//package com.gamezhero.api.as3
Section 85
//GamezheroGlobal (com.gamezhero.api.as3.GamezheroGlobal)
package com.gamezhero.api.as3 {
import flash.display.*;
import flash.net.*;
import com.gamezhero.api.as3.utils.*;
import flash.external.*;
public class GamezheroGlobal {
public static const SAFARI:String = "safari";
public static const FIREFOX:String = "firefox";
public static const CHROME:String = "chrome";
public static const IE:String = "ie";
public static const OPERA:String = "opera";
public static var gameNameVar:String = "unset";
public static var host:String = "error";
public static var browser:String = "unset";
public static var gameCodeVar:String = "unset";
public static function getDomain(_arg1:Stage=null):String{
var url:URL;
var stage = _arg1;
if (host != "error"){
return (host);
};
try {
url = new URL(stage.loaderInfo.url);
host = url.host;
if (url.host == null){
host = "local";
};
} catch(e:Error) {
host = "error";
};
return (host);
}
public static function toText(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
public static function getURL(_arg1:String, _arg2:String):void{
var _local3:URLRequest;
_local3 = new URLRequest(_arg1);
navigateToURL(_local3, _arg2);
}
public static function get gameName():String{
return (gameNameVar);
}
public static function getBrowser():String{
var st:String;
if (browser == "unset"){
if (ExternalInterface.available){
try {
st = ExternalInterface.call("function (){ return navigator['userAgent']}");
st = st.toLowerCase();
if (st.indexOf("firefox") != -1){
browser = FIREFOX;
} else {
if (st.indexOf("chrome") != -1){
browser = CHROME;
} else {
if (st.indexOf("safari") != -1){
browser = SAFARI;
} else {
if (st.indexOf("opera") != -1){
browser = OPERA;
} else {
browser = IE;
};
};
};
};
} catch(e:Error) {
browser = IE;
};
} else {
browser = IE;
};
};
return (browser);
}
public static function set gameName(_arg1:String):void{
gameNameVar = _arg1;
}
public static function set gameCode(_arg1:String):void{
gameCodeVar = _arg1;
}
public static function get gameCode():String{
return (gameCodeVar);
}
}
}//package com.gamezhero.api.as3
Section 86
//SubmitArea (com.gamezhero.api.as3.SubmitArea)
package com.gamezhero.api.as3 {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import com.gamezhero.api.as3.gui.*;
import flash.text.*;
public class SubmitArea extends MovieClip {
private var x_pos:Number;// = 0
private var loader_skin:Loader;
private var skin_info:Object;
private var sendLocalConnection_engine:LocalConnection;
private var _indicator:Indicator;
private var score:Number;
private var engine_mc:MovieClip;
private var gamezheroCode_engine:Number;
private var sendNameConnection_engine:String;
private var objListenerSkin:Object;
private var _loader_url:String;// = "null"
public var versionGame:String;// = "2.0"
private var objListenerEngine:Object;
private var reciveLocalConnection_engine:LocalConnection;
private var infoText:TextField;
private var goal:MovieClip;
private var _loader:URLVariables;
private var sendLocalConnection_skin:LocalConnection;
private var recivedNameConnection_skin:String;
private var score_value:Number;// = 0
private var sendNameConnection_skin:String;
private var y_pos:Number;// = 0
private var skin_mc:MovieClip;
private var reciveLocalConnection_skin:LocalConnection;
private var recivedNameConnection_engine:String;
private var gamezheroCode_skin:Number;
private var loader_engine:Loader;
public static const SUBMITED:String = "gamezhero_submited";
public static const CONTINUE:String = "gamezhero_continue";
public static const ERROR:String = "gamezhero_error";
public function SubmitArea(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object){
versionGame = "2.0";
score_value = 0;
x_pos = 0;
y_pos = 0;
reciveLocalConnection_skin = new LocalConnection();
sendLocalConnection_skin = new LocalConnection();
reciveLocalConnection_engine = new LocalConnection();
sendLocalConnection_engine = new LocalConnection();
loader_skin = new Loader();
loader_engine = new Loader();
objListenerSkin = new Object();
objListenerEngine = new Object();
_loader = new URLVariables();
_loader_url = "null";
super();
gamezheroCode_skin = new Date().getTime();
gamezheroCode_engine = gamezheroCode_skin;
recivedNameConnection_skin = ("_send_gamezhero_skin_" + gamezheroCode_skin);
sendNameConnection_skin = ("_recive_gamezhero_skin_" + gamezheroCode_skin);
recivedNameConnection_engine = ("_send_gamezhero_engine_" + gamezheroCode_engine);
sendNameConnection_engine = ("_recive_gamezhero_engine_" + gamezheroCode_engine);
iniLocalConnectionsSkin();
iniLocalConnectionsEngine();
iniSubmitArea(_arg1, _arg2, _arg3, _arg4, _arg5);
iniEvents();
}
private function onStatusReciveEngine(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
infoText.text = "Error Connections 'Recive From Engine'";
break;
};
}
private function engineLoaderError(_arg1:Event=null):void{
infoText.text = "Error Loading Engine...";
errorAction();
}
public function createInfoText():void{
var _local1:TextFormat;
infoText = new TextField();
infoText.autoSize = TextFieldAutoSize.LEFT;
_local1 = new TextFormat();
_local1.color = 0xFFFFFF;
_local1.size = 11;
_local1.font = "Arial";
infoText.defaultTextFormat = _local1;
this.addChild(infoText);
infoText.x = 10;
infoText.y = 10;
infoText.visible = false;
}
private function iniEvents():void{
loader_skin.contentLoaderInfo.addEventListener(Event.INIT, skinLoaderInit);
loader_skin.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, skinLoaderError);
loader_engine.contentLoaderInfo.addEventListener(Event.INIT, engineLoaderInit);
loader_engine.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, engineLoaderError);
reciveLocalConnection_skin.addEventListener(StatusEvent.STATUS, onStatusReciveSkin);
reciveLocalConnection_skin.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveSkin);
sendLocalConnection_skin.addEventListener(StatusEvent.STATUS, onStatusSendSkin);
sendLocalConnection_skin.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendSkin);
reciveLocalConnection_engine.addEventListener(StatusEvent.STATUS, onStatusReciveEngine);
reciveLocalConnection_engine.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveEngine);
sendLocalConnection_engine.addEventListener(StatusEvent.STATUS, onStatusSendEngine);
sendLocalConnection_engine.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendEngine);
}
private function onErrorReciveSkin(_arg1:SecurityErrorEvent=null):void{
errorAction();
}
private function toText(_arg1:Array):String{
var _local2:String;
var _local3:Number;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local2 = (_local2 + String.fromCharCode(_arg1[_local3]));
_local3++;
};
return (_local2);
}
public function errorAction():void{
diactivateAllEvents();
deleteAll();
dispatchEvent(new Event(ERROR));
}
public function submitAction(_arg1:String=""):void{
diactivateAllEvents();
deleteAll();
dispatchEvent(new Event(SUBMITED));
}
private function onErrorSendEngine(_arg1:SecurityErrorEvent=null):void{
errorAction();
}
private function diactivateAllEvents():void{
loader_skin.contentLoaderInfo.removeEventListener(Event.INIT, skinLoaderInit);
loader_skin.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, skinLoaderError);
loader_engine.contentLoaderInfo.removeEventListener(Event.INIT, engineLoaderInit);
loader_engine.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, engineLoaderError);
reciveLocalConnection_skin.removeEventListener(StatusEvent.STATUS, onStatusReciveSkin);
reciveLocalConnection_skin.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveSkin);
sendLocalConnection_skin.removeEventListener(StatusEvent.STATUS, onStatusSendSkin);
sendLocalConnection_skin.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendSkin);
reciveLocalConnection_engine.removeEventListener(StatusEvent.STATUS, onStatusReciveEngine);
reciveLocalConnection_engine.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorReciveEngine);
sendLocalConnection_engine.removeEventListener(StatusEvent.STATUS, onStatusSendEngine);
sendLocalConnection_engine.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onErrorSendEngine);
}
private function checkSkin(_arg1:TimerEvent=null):void{
sendLocalConnection_skin.send(sendNameConnection_skin, "skinIsOk");
}
private function onErrorReciveEngine(_arg1:SecurityErrorEvent=null):void{
errorAction();
}
private function sendScoreAction(_arg1:MouseEvent=null):void{
var _local2:URLRequest;
if (_loader_url != "null"){
_local2 = new URLRequest(_loader_url);
_local2.method = URLRequestMethod.POST;
_local2.data = _loader;
navigateToURL(_local2, "_blank");
_loader = new URLVariables();
_loader_url = "null";
submitAction();
};
}
private function loadEngine():void{
var url:String;
var request:URLRequest;
infoText.text = "Loading Engine...";
url = (toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 115, 99, 111, 114, 101, 47, 101, 110, 103, 105, 110, 101, 47, 101, 110, 103, 105, 110, 101, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + gamezheroCode_engine);
request = new URLRequest(url);
try {
loader_engine.load(request);
addChild(loader_engine);
} catch(e:Error) {
infoText.text = "Error Loading Engine...";
errorAction();
};
}
private function iniLocalConnectionsEngine():void{
var dom:String;
objListenerEngine = new Object();
objListenerEngine.engineOk = function ():void{
sendLocalConnection_engine.send(sendNameConnection_engine, "iniEngine", skin_info);
infoText.text = "Engine Connections...";
};
objListenerEngine.engineError = function ():void{
infoText.text = "Error Engine...";
};
objListenerEngine.submitActionDone = function (_arg1:Object):void{
sendScore(_arg1);
};
objListenerEngine.engineActivated = function ():void{
iniSkin();
};
dom = toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]);
reciveLocalConnection_engine.allowDomain(dom);
reciveLocalConnection_engine.allowInsecureDomain(dom);
reciveLocalConnection_engine.client = objListenerEngine;
reciveLocalConnection_engine.connect(recivedNameConnection_engine);
sendLocalConnection_engine.allowDomain(dom);
sendLocalConnection_engine.allowInsecureDomain(dom);
}
private function onStatusSendSkin(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
infoText.text = "Error Connections 'Send To Skin'";
break;
};
}
private function skinLoaderInit(_arg1:Event=null):void{
var _local2:Timer;
infoText.text = "Check Skin Connection... ";
_local2 = new Timer(200, 1);
_local2.addEventListener(TimerEvent.TIMER, checkSkin);
_local2.start();
}
private function checkEngine(_arg1:TimerEvent=null):void{
sendLocalConnection_engine.send(sendNameConnection_engine, "engineIsOk");
}
private function moveAction(_arg1:MouseEvent=null):void{
}
private function onStatusSendEngine(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
infoText.text = "Error Connections 'Send To Engine'";
break;
};
}
private function onStatusReciveSkin(_arg1:StatusEvent=null):void{
switch (_arg1.level){
case "status":
break;
case "error":
infoText.text = "Error Connections 'Recive From Skin'";
break;
};
}
private function iniSkin():void{
loader_skin.x = x_pos;
loader_skin.y = y_pos;
infoText.text = "";
try {
_indicator.remove();
} catch(e:Error) {
};
sendLocalConnection_skin.send(sendNameConnection_skin, "iniSkin", skin_info);
}
private function loadSkin():void{
var url:String;
var request:URLRequest;
infoText.text = "Loading Skin...";
url = (toText([104, 116, 116, 112, 58, 47, 47, 102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109, 47, 115, 99, 111, 114, 101, 47, 115, 107, 105, 110, 47, 115, 107, 105, 110, 95, 118, 49, 46, 115, 119, 102, 63, 103, 97, 109, 101, 122, 104, 101, 114, 111, 67, 111, 100, 101, 61]) + gamezheroCode_skin);
request = new URLRequest(url);
try {
loader_skin.load(request);
addChild(loader_skin);
} catch(e:Error) {
infoText.text = "Error Loading Skin...";
errorAction();
};
}
private function iniLocalConnectionsSkin():void{
var dom:String;
objListenerSkin = new Object();
objListenerSkin.skinOk = function ():void{
loadEngine();
};
objListenerSkin.submitAction = function (_arg1:String):void{
sendLocalConnection_engine.send(sendNameConnection_engine, toText([115, 101, 110, 100, 83, 99, 111, 114, 101]), _arg1);
};
objListenerSkin.errorInputActin = function ():void{
};
objListenerSkin.continueAction = function ():void{
continueAction();
};
dom = toText([102, 105, 108, 101, 115, 46, 103, 97, 109, 101, 122, 104, 101, 114, 111, 46, 99, 111, 109]);
reciveLocalConnection_skin.allowInsecureDomain(dom);
reciveLocalConnection_skin.allowDomain(dom);
reciveLocalConnection_skin.client = objListenerSkin;
reciveLocalConnection_skin.connect(recivedNameConnection_skin);
sendLocalConnection_skin.allowInsecureDomain(dom);
sendLocalConnection_skin.allowDomain(dom);
}
private function engineLoaderInit(_arg1:Event=null):void{
var _local2:Timer;
infoText.text = "Check Engine Connection...";
_local2 = new Timer(200, 1);
_local2.addEventListener(TimerEvent.TIMER, checkEngine);
_local2.start();
}
private function onErrorSendSkin(_arg1:SecurityErrorEvent=null):void{
errorAction();
}
public function continueAction():void{
diactivateAllEvents();
deleteAll();
dispatchEvent(new Event(CONTINUE));
}
private function iniSubmitArea(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Object):void{
goal = (_arg1 as MovieClip);
goal.addChild(this);
x_pos = _arg2;
y_pos = _arg3;
score_value = Math.abs(Math.round(_arg4));
skin_info = _arg5;
skin_info.score = score_value;
skin_info.gameName = GamezheroGlobal.gameName;
skin_info.gameCode = GamezheroGlobal.gameCode;
skin_info.domain = GamezheroGlobal.getDomain(goal.stage);
_indicator = new Indicator(goal);
_indicator.setSize(50, 50);
_indicator.setPos(30, 30);
createInfoText();
loadSkin();
}
private function sendScore(_arg1:Object):void{
var _local2:String;
_loader = new URLVariables();
_loader_url = _arg1.url;
for (_local2 in _arg1.vars) {
_loader[_local2] = _arg1.vars[_local2];
};
sendScoreAction();
}
private function fromText(_arg1:String):Array{
var _local2:Array;
var _local3:Number;
_local2 = new Array();
_local3 = 0;
while (_local3 < _arg1.length) {
_local2.push(_arg1.charCodeAt(_local3));
_local3++;
};
return (_local2);
}
private function skinLoaderError(_arg1:Event=null):void{
infoText.text = "Error Loading Skin...";
errorAction();
}
private function deleteAll():void{
try {
this.removeChild(infoText);
} catch(e:Error) {
};
try {
this.removeChild(loader_skin);
} catch(e:Error) {
};
try {
this.removeChild(loader_engine);
} catch(e:Error) {
};
try {
_indicator.remove();
} catch(e:Error) {
};
try {
goal.removeChild(this);
} catch(e:Error) {
};
}
}
}//package com.gamezhero.api.as3
Section 87
//UserInfo (com.gamezhero.api.as3.UserInfo)
package com.gamezhero.api.as3 {
import flash.display.*;
import flash.system.*;
import flash.external.*;
public class UserInfo {
public var flash_domain:String;
private var _stage:Stage;
public var ad_zone:String;// = "preloader"
public var flash_height:Number;
public var flash_vars:Object;
public var referrer:String;
public var flash_url:String;
public var browser:String;
public var href:String;
private var _goal:MovieClip;
public var flash_width:Number;
public var api_version:String;// = "AS3 - v3.0"
public var publisher:String;// = "gamezhero"
public var capabilities:String;
public var game_name:String;
public function UserInfo(_arg1:MovieClip){
var g = _arg1;
publisher = "gamezhero";
ad_zone = "preloader";
api_version = "AS3 - v3.0";
_goal = g;
try {
_stage = _goal.stage;
} catch(e:Error) {
};
super();
iniInfo();
}
private function iniInfo():void{
var i:String;
this["publisher"] = "gamezhero";
this["ad_zone"] = "preloader";
this["api_version"] = "AS3 - v3.0";
this["flash_vars"] = new Object();
this["capabilities"] = Capabilities.serverString;
if (ExternalInterface.available){
try {
this["href"] = ExternalInterface.call("function (){return document.location.href}");
} catch(e:Error) {
this["href"] = "-1";
};
try {
this["browser"] = ExternalInterface.call("function (){var st = ''; for (i in navigator){ if (typeof(navigator[i])!='function'){ st+=i+'='+navigator[i]+'&'; }} return st}");
} catch(e:Error) {
this["browser"] = "-1";
};
try {
this["referrer"] = ExternalInterface.call("function (){return document.referrer}");
} catch(e:Error) {
this["referrer"] = "-1";
};
} else {
this["href"] = "-1";
this["browser"] = "-1";
this["referrer"] = "-1";
};
this["game_name"] = GamezheroGlobal.gameName;
this["flash_domain"] = GamezheroGlobal.getDomain();
try {
this["flash_width"] = _stage.stageWidth;
this["flash_height"] = _stage.stageHeight;
this["flash_url"] = _stage.root.loaderInfo.url;
} catch(e:Error) {
};
try {
for (i in _stage.root.loaderInfo.parameters) {
this["flash_vars"][i] = _stage.root.loaderInfo.parameters[i];
};
} catch(e:Error) {
};
}
}
}//package com.gamezhero.api.as3
Section 88
//CampaignInfo (com.google.analytics.campaign.CampaignInfo)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignInfo {
private var _new:Boolean;
private var _empty:Boolean;
public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){
_empty = _arg1;
_new = _arg2;
}
public function isEmpty():Boolean{
return (_empty);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((!(isEmpty())) && (isNew()))){
_local1.utmcn = utmcn;
};
if (((!(isEmpty())) && (!(isNew())))){
_local1.utmcr = utmcr;
};
return (_local1);
}
public function isNew():Boolean{
return (_new);
}
public function get utmcn():String{
return ("1");
}
public function get utmcr():String{
return ("1");
}
}
}//package com.google.analytics.campaign
Section 89
//CampaignKey (com.google.analytics.campaign.CampaignKey)
package com.google.analytics.campaign {
public class CampaignKey {
public var UCMD:String;// = "utm_medium"
public var UCID:String;// = "utm_id"
public var UCTR:String;// = "utm_term"
public var UCSR:String;// = "utm_source"
public var UCNO:String;// = "utm_nooverride"
public var UCCN:String;// = "utm_campaign"
public var UGCLID:String;// = "gclid"
public var UCCT:String;// = "utm_content"
public function CampaignKey(){
UCCN = "utm_campaign";
UCCT = "utm_content";
UCID = "utm_id";
UCMD = "utm_medium";
UCNO = "utm_nooverride";
UCSR = "utm_source";
UCTR = "utm_term";
UGCLID = "gclid";
super();
}
}
}//package com.google.analytics.campaign
Section 90
//CampaignManager (com.google.analytics.campaign.CampaignManager)
package com.google.analytics.campaign {
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import com.google.analytics.utils.*;
import com.google.analytics.v4.*;
public class CampaignManager {
private var _config:Configuration;
private var _domainHash:Number;
private var _debug:DebugConfiguration;
private var _timeStamp:Number;
private var _referrer:String;
private var _buffer:Buffer;
public static const trackingDelimiter:String = "|";
public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_domainHash = _arg4;
_referrer = _arg5;
_timeStamp = _arg6;
}
public function hasNoOverride(_arg1:String):Boolean{
var _local2:CampaignKey;
var _local3:Variables;
var _local4:String;
_local2 = _config.campaignKey;
if (_arg1 == ""){
return (false);
};
_local3 = new Variables(_arg1);
_local4 = "";
if (_local3.hasOwnProperty(_local2.UCNO)){
_local4 = _local3[_local2.UCNO];
switch (_local4){
case "1":
return (true);
case "":
case "0":
default:
return (false);
};
};
return (false);
}
public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{
var _local3:CampaignInfo;
var _local4:CampaignTracker;
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
var _local8:CampaignTracker;
var _local9:int;
_local3 = new CampaignInfo();
_local5 = false;
_local6 = false;
_local7 = 0;
if (((_config.allowLinker) && (_buffer.isGenuine()))){
if (!_buffer.hasUTMZ()){
return (_local3);
};
};
_local4 = getTrackerFromSearchString(_arg1);
if (isValid(_local4)){
_local6 = hasNoOverride(_arg1);
if (((_local6) && (!(_buffer.hasUTMZ())))){
return (_local3);
};
};
if (!isValid(_local4)){
_local4 = getOrganicCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){
return (_local3);
};
};
if (((!(isValid(_local4))) && (_arg2))){
_local4 = getReferrerCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){
return (_local3);
};
};
if (!isValid(_local4)){
if (((!(_buffer.hasUTMZ())) && (_arg2))){
_local4 = getDirectCampaign();
};
};
if (!isValid(_local4)){
return (_local3);
};
if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){
_local8 = new CampaignTracker();
_local8.fromTrackerString(_buffer.utmz.campaignTracking);
_local5 = (_local8.toTrackerString() == _local4.toTrackerString());
_local7 = _buffer.utmz.responseCount;
};
if (((!(_local5)) || (_arg2))){
_local9 = _buffer.utma.sessionCount;
_local7++;
if (_local9 == 0){
_local9 = 1;
};
_buffer.utmz.domainHash = _domainHash;
_buffer.utmz.campaignCreation = _timeStamp;
_buffer.utmz.campaignSessions = _local9;
_buffer.utmz.responseCount = _local7;
_buffer.utmz.campaignTracking = _local4.toTrackerString();
_debug.info(_buffer.utmz.toString(), VisualDebugMode.geek);
_local3 = new CampaignInfo(false, true);
} else {
_local3 = new CampaignInfo(false, false);
};
return (_local3);
}
public function isValid(_arg1:CampaignTracker):Boolean{
if (((_arg1) && (_arg1.isValid()))){
return (true);
};
return (false);
}
public function getTrackerFromSearchString(_arg1:String):CampaignTracker{
var _local2:CampaignTracker;
var _local3:CampaignTracker;
var _local4:CampaignKey;
var _local5:Variables;
_local2 = getOrganicCampaign();
_local3 = new CampaignTracker();
_local4 = _config.campaignKey;
if (_arg1 == ""){
return (_local3);
};
_local5 = new Variables(_arg1);
if (_local5.hasOwnProperty(_local4.UCID)){
_local3.id = _local5[_local4.UCID];
};
if (_local5.hasOwnProperty(_local4.UCSR)){
_local3.source = _local5[_local4.UCSR];
};
if (_local5.hasOwnProperty(_local4.UGCLID)){
_local3.clickId = _local5[_local4.UGCLID];
};
if (_local5.hasOwnProperty(_local4.UCCN)){
_local3.name = _local5[_local4.UCCN];
} else {
_local3.name = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCMD)){
_local3.medium = _local5[_local4.UCMD];
} else {
_local3.medium = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCTR)){
_local3.term = _local5[_local4.UCTR];
} else {
if (((_local2) && (!((_local2.term == ""))))){
_local3.term = _local2.term;
};
};
if (_local5.hasOwnProperty(_local4.UCCT)){
_local3.content = _local5[_local4.UCCT];
};
return (_local3);
}
public function getOrganicCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:Array;
var _local5:OrganicReferrer;
var _local6:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = "";
if (_local2.hostName != ""){
if (_local2.hostName.indexOf(".") > -1){
_local4 = _local2.hostName.split(".");
switch (_local4.length){
case 2:
_local3 = _local4[0];
break;
case 3:
_local3 = _local4[1];
break;
};
};
};
if (_config.organic.match(_local3)){
_local5 = _config.organic.getReferrerByName(_local3);
_local6 = _config.organic.getKeywordValue(_local5, _local2.search);
_local1 = new CampaignTracker();
_local1.source = _local5.engine;
_local1.name = "(organic)";
_local1.medium = "organic";
_local1.term = _local6;
};
return (_local1);
}
public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "referral")))){
return (_config.organic.isIgnoredReferral(_arg1.source));
};
return (false);
}
public function getDirectCampaign():CampaignTracker{
var _local1:CampaignTracker;
_local1 = new CampaignTracker();
_local1.source = "(direct)";
_local1.name = "(direct)";
_local1.medium = "(none)";
return (_local1);
}
public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "organic")))){
return (_config.organic.isIgnoredKeyword(_arg1.term));
};
return (false);
}
public function getReferrerCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local2:URL;
var _local3:String;
var _local4:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
_local2 = new URL(_referrer);
_local3 = _local2.hostName;
_local4 = _local2.path;
if (_local3.indexOf("www.") == 0){
_local3 = _local3.substr(4);
};
_local1 = new CampaignTracker();
_local1.source = _local3;
_local1.name = "(referral)";
_local1.medium = "referral";
_local1.content = _local4;
return (_local1);
}
public static function isInvalidReferrer(_arg1:String):Boolean{
var _local2:URL;
if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){
return (true);
};
if (_arg1.indexOf("://") > -1){
_local2 = new URL(_arg1);
if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){
return (true);
};
};
return (false);
}
public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{
var _local3:URL;
_local3 = new URL(_arg1);
if (_local3.hostName.indexOf(_arg2.google) > -1){
if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){
if (_local3.path == ("/" + _arg2.googleCsePath)){
return (true);
};
};
};
return (false);
}
}
}//package com.google.analytics.campaign
Section 91
//CampaignTracker (com.google.analytics.campaign.CampaignTracker)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignTracker {
public var content:String;
public var id:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var source:String;
public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){
this.id = _arg1;
this.source = _arg2;
this.clickId = _arg3;
this.name = _arg4;
this.medium = _arg5;
this.term = _arg6;
this.content = _arg7;
}
public function toTrackerString():String{
var _local1:Array;
_local1 = [];
_addIfNotEmpty(_local1, "utmcid=", id);
_addIfNotEmpty(_local1, "utmcsr=", source);
_addIfNotEmpty(_local1, "utmgclid=", clickId);
_addIfNotEmpty(_local1, "utmccn=", name);
_addIfNotEmpty(_local1, "utmcmd=", medium);
_addIfNotEmpty(_local1, "utmctr=", term);
_addIfNotEmpty(_local1, "utmcct=", content);
return (_local1.join(CampaignManager.trackingDelimiter));
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{
if (_arg3 != ""){
_arg3 = _arg3.split("+").join("%20");
_arg3 = _arg3.split(" ").join("%20");
_arg1.push((_arg2 + _arg3));
};
}
public function fromTrackerString(_arg1:String):void{
var _local2:String;
var _local3:Variables;
_local2 = _arg1.split(CampaignManager.trackingDelimiter).join("&");
_local3 = new Variables(_local2);
if (_local3.hasOwnProperty("utmcid")){
this.id = _local3["utmcid"];
};
if (_local3.hasOwnProperty("utmcsr")){
this.source = _local3["utmcsr"];
};
if (_local3.hasOwnProperty("utmccn")){
this.name = _local3["utmccn"];
};
if (_local3.hasOwnProperty("utmcmd")){
this.medium = _local3["utmcmd"];
};
if (_local3.hasOwnProperty("utmctr")){
this.term = _local3["utmctr"];
};
if (_local3.hasOwnProperty("utmcct")){
this.content = _local3["utmcct"];
};
if (_local3.hasOwnProperty("utmgclid")){
this.clickId = _local3["utmgclid"];
};
}
}
}//package com.google.analytics.campaign
Section 92
//BrowserInfo (com.google.analytics.core.BrowserInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.v4.*;
public class BrowserInfo {
private var _config:Configuration;
private var _info:Environment;
public function BrowserInfo(_arg1:Configuration, _arg2:Environment){
_config = _arg1;
_info = _arg2;
}
public function get utmul():String{
return (_info.language.toLowerCase());
}
public function get utmje():String{
return ("0");
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmsr():String{
return (((_info.screenWidth + "x") + _info.screenHeight));
}
public function get utmcs():String{
return (_info.languageEncoding);
}
public function get utmfl():String{
var _local1:Version;
if (_config.detectFlash){
_local1 = _info.flashVersion;
return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build));
};
return ("-");
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
_local1.utmcs = utmcs;
_local1.utmsr = utmsr;
_local1.utmsc = utmsc;
_local1.utmul = utmul;
_local1.utmje = utmje;
_local1.utmfl = utmfl;
return (_local1);
}
public function get utmsc():String{
return ((_info.screenColorDepth + "-bit"));
}
}
}//package com.google.analytics.core
Section 93
//Buffer (com.google.analytics.core.Buffer)
package com.google.analytics.core {
import com.google.analytics.debug.*;
import flash.events.*;
import com.google.analytics.data.*;
import flash.net.*;
import com.google.analytics.v4.*;
public dynamic class Buffer {
private var _volatile:Boolean;
private var _data:Object;
private var _OBJ:Object;
private var _utmb:UTMB;
private var _utmc:UTMC;
private var _utma:UTMA;
private var _debug:DebugConfiguration;
private var _utmk:UTMK;
private var _config:Configuration;
private var _utmv:UTMV;
private var _utmx:UTMX;
private var _utmz:UTMZ;
private var _SO:SharedObject;
public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){
var _local5:String;
super();
_config = _arg1;
_debug = _arg2;
_data = _arg4;
_volatile = _arg3;
if (_volatile){
_OBJ = new Object();
if (_data){
for (_local5 in _data) {
_OBJ[_local5] = _data[_local5];
};
};
};
}
public function save():void{
var flushStatus:String;
if (!isVolatile()){
flushStatus = null;
try {
flushStatus = _SO.flush();
} catch(e:Error) {
_debug.warning("Error...Could not write SharedObject to disk");
};
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_debug.info("Requesting permission to save object...");
_SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
_debug.info("Value flushed to disk.");
break;
};
};
}
public function get utmv():UTMV{
if (!hasUTMV()){
_createUMTV();
};
return (_utmv);
}
public function get utmx():UTMX{
if (!hasUTMX()){
_createUMTX();
};
return (_utmx);
}
public function get utmz():UTMZ{
if (!hasUTMZ()){
_createUMTZ();
};
return (_utmz);
}
public function hasUTMA():Boolean{
if (_utma){
return (true);
};
return (false);
}
public function hasUTMB():Boolean{
if (_utmb){
return (true);
};
return (false);
}
public function clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{
var _local3:String;
var _local4:String;
var _local5:Array;
_local3 = toLinkerParams();
_local4 = _arg1;
_local5 = _arg1.split("#");
if (_local3){
if (_arg2){
if (1 >= _local5.length){
_local4 = (_local4 + ("#" + _local3));
} else {
_local4 = (_local4 + ("&" + _local3));
};
} else {
if (1 >= _local5.length){
if (_arg1.indexOf("?") > -1){
_local4 = (_local4 + "&");
} else {
_local4 = (_local4 + "?");
};
_local4 = (_local4 + _local3);
} else {
_local4 = _local5[0];
if (_arg1.indexOf("?") > -1){
_local4 = (_local4 + "&");
} else {
_local4 = (_local4 + "?");
};
_local4 = (_local4 + ((_local3 + "#") + _local5[1]));
};
};
};
return (_local4);
}
public function generateCookiesHash():Number{
var _local1:String;
_local1 = "";
_local1 = (_local1 + utma.valueOf());
_local1 = (_local1 + utmb.valueOf());
_local1 = (_local1 + utmc.valueOf());
_local1 = (_local1 + utmx.valueOf());
_local1 = (_local1 + utmz.valueOf());
_local1 = (_local1 + utmv.valueOf());
return (Utils.generateHash(_local1));
}
private function _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
public function hasUTMV():Boolean{
if (_utmv){
return (true);
};
return (false);
}
private function _createUMTK():void{
_utmk = new UTMK();
_utmk.proxy = this;
}
public function hasUTMX():Boolean{
if (_utmx){
return (true);
};
return (false);
}
public function hasUTMZ():Boolean{
if (_utmz){
return (true);
};
return (false);
}
private function _createUMTV():void{
_utmv = new UTMV();
_utmv.proxy = this;
}
private function _createUMTX():void{
_utmx = new UTMX();
_utmx.proxy = this;
}
private function _createUMTZ():void{
_utmz = new UTMZ();
_utmz.proxy = this;
}
public function updateUTMA(_arg1:Number):void{
if (_debug.verbose){
_debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced);
};
if (!utma.isEmpty()){
if (isNaN(utma.sessionCount)){
utma.sessionCount = 1;
} else {
utma.sessionCount = (utma.sessionCount + 1);
};
utma.lastTime = utma.currentTime;
utma.currentTime = _arg1;
};
}
public function isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
private function _onFlushStatus(_arg1:NetStatusEvent):void{
_debug.info("User closed permission dialog...");
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
_debug.info("User granted permission -- value saved.");
break;
case "SharedObject.Flush.Failed":
_debug.info("User denied permission -- value not saved.");
break;
};
_SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
}
public function toLinkerParams():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + utma.toURLString());
_local1 = (_local1 + ("&" + utmb.toURLString()));
_local1 = (_local1 + ("&" + utmc.toURLString()));
_local1 = (_local1 + ("&" + utmx.toURLString()));
_local1 = (_local1 + ("&" + utmz.toURLString()));
_local1 = (_local1 + ("&" + utmv.toURLString()));
_local1 = (_local1 + ("&__utmk=" + generateCookiesHash()));
return (_local1);
}
private function _clearUTMA():void{
_utma = null;
if (!isVolatile()){
_SO.data.utma = null;
delete _SO.data.utma;
};
}
private function _clearUTMC():void{
_utmc = null;
}
private function _clearUTMB():void{
_utmb = null;
if (!isVolatile()){
_SO.data.utmb = null;
delete _SO.data.utmb;
};
}
public function update(_arg1:String, _arg2):void{
if (isVolatile()){
_OBJ[_arg1] = _arg2;
} else {
_SO.data[_arg1] = _arg2;
};
}
public function createSO():void{
var saveSO:Boolean;
UTMZ.defaultTimespan = _config.conversionTimeout;
UTMB.defaultTimespan = _config.sessionTimeout;
if (!_volatile){
try {
_SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath);
} catch(e:Error) {
if (_debug.active){
_debug.warning(((("Shared Object " + _config.cookieName) + " failed to be set\nreason: ") + e.message));
};
};
saveSO = false;
if (_SO.data.utma){
if (!hasUTMA()){
_createUMTA();
};
_utma.fromSharedObject(_SO.data.utma);
if (_debug.verbose){
_debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek);
};
if (_utma.isExpired()){
if (_debug.verbose){
_debug.warning("UTMA has expired", VisualDebugMode.advanced);
};
_clearUTMA();
saveSO = true;
};
};
if (_SO.data.utmb){
if (!hasUTMB()){
_createUMTB();
};
_utmb.fromSharedObject(_SO.data.utmb);
if (_debug.verbose){
_debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek);
};
if (_utmb.isExpired()){
if (_debug.verbose){
_debug.warning("UTMB has expired", VisualDebugMode.advanced);
};
_clearUTMB();
saveSO = true;
};
};
if (_SO.data.utmc){
delete _SO.data.utmc;
saveSO = true;
};
if (_SO.data.utmk){
if (!hasUTMK()){
_createUMTK();
};
_utmk.fromSharedObject(_SO.data.utmk);
if (_debug.verbose){
_debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek);
};
};
if (!hasUTMX()){
_createUMTX();
};
if (_SO.data.utmv){
if (!hasUTMV()){
_createUMTV();
};
_utmv.fromSharedObject(_SO.data.utmv);
if (_debug.verbose){
_debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek);
};
if (_utmv.isExpired()){
if (_debug.verbose){
_debug.warning("UTMV has expired", VisualDebugMode.advanced);
};
_clearUTMV();
saveSO = true;
};
};
if (_SO.data.utmz){
if (!hasUTMZ()){
_createUMTZ();
};
_utmz.fromSharedObject(_SO.data.utmz);
if (_debug.verbose){
_debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek);
};
if (_utmz.isExpired()){
if (_debug.verbose){
_debug.warning("UTMZ has expired", VisualDebugMode.advanced);
};
_clearUTMZ();
saveSO = true;
};
};
if (saveSO){
save();
};
};
}
private function _clearUTMZ():void{
_utmz = null;
if (!isVolatile()){
_SO.data.utmz = null;
delete _SO.data.utmz;
};
}
private function _clearUTMV():void{
_utmv = null;
if (!isVolatile()){
_SO.data.utmv = null;
delete _SO.data.utmv;
};
}
public function isVolatile():Boolean{
return (_volatile);
}
public function get utma():UTMA{
if (!hasUTMA()){
_createUMTA();
};
return (_utma);
}
public function get utmb():UTMB{
if (!hasUTMB()){
_createUMTB();
};
return (_utmb);
}
public function get utmc():UTMC{
if (!hasUTMC()){
_createUMTC();
};
return (_utmc);
}
public function get utmk():UTMK{
if (!hasUTMK()){
_createUMTK();
};
return (_utmk);
}
}
}//package com.google.analytics.core
Section 94
//DocumentInfo (com.google.analytics.core.DocumentInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.v4.*;
import com.google.analytics.external.*;
public class DocumentInfo {
private var _config:Configuration;
private var _utmr:String;
private var _adSense:AdSenseGlobals;
private var _info:Environment;
private var _pageURL:String;
public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){
_config = _arg1;
_info = _arg2;
_utmr = _arg3;
_pageURL = _arg4;
_adSense = _arg5;
}
public function get utmr():String{
if (!_utmr){
return ("-");
};
return (_utmr);
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
private function _renderPageURL(_arg1:String=""):String{
var _local2:String;
var _local3:String;
_local2 = _info.locationPath;
_local3 = _info.locationSearch;
if (((!(_arg1)) || ((_arg1 == "")))){
_arg1 = (_local2 + unescape(_local3));
if (_arg1 == ""){
_arg1 = "/";
};
};
return (_arg1);
}
public function get utmp():String{
return (_renderPageURL(_pageURL));
}
private function _generateHitId():Number{
var _local1:Number;
if (((_adSense.hid) && (!((_adSense.hid == ""))))){
_local1 = Number(_adSense.hid);
} else {
_local1 = Math.round((Math.random() * 2147483647));
_adSense.hid = String(_local1);
};
return (_local1);
}
public function get utmhid():String{
return (String(_generateHitId()));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (((_config.detectTitle) && (!((utmdt == ""))))){
_local1.utmdt = utmdt;
};
_local1.utmhid = utmhid;
_local1.utmr = utmr;
_local1.utmp = utmp;
return (_local1);
}
public function get utmdt():String{
return (_info.documentTitle);
}
}
}//package com.google.analytics.core
Section 95
//Domain (com.google.analytics.core.Domain)
package com.google.analytics.core {
import com.google.analytics.debug.*;
public class Domain {
private var _mode:DomainNameMode;
private var _name:String;
private var _debug:DebugConfiguration;
public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){
_debug = _arg3;
if (_arg1 == null){
_arg1 = DomainNameMode.auto;
};
_mode = _arg1;
if (_arg1 == DomainNameMode.custom){
this.name = _arg2;
} else {
_name = _arg2;
};
}
public function get mode():DomainNameMode{
return (_mode);
}
public function set mode(_arg1:DomainNameMode):void{
_mode = _arg1;
if (_mode == DomainNameMode.none){
_name = "";
};
}
public function get name():String{
return (_name);
}
public function set name(_arg1:String):void{
if (((!((_arg1.charAt(0) == "."))) && (_debug))){
_debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek);
};
_name = _arg1;
}
}
}//package com.google.analytics.core
Section 96
//DomainNameMode (com.google.analytics.core.DomainNameMode)
package com.google.analytics.core {
public class DomainNameMode {
private var _value:int;
private var _name:String;
public static const custom:DomainNameMode = new DomainNameMode(2, "custom");
;
public static const none:DomainNameMode = new DomainNameMode(0, "none");
;
public static const auto:DomainNameMode = new DomainNameMode(1, "auto");
;
public function DomainNameMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 97
//Ecommerce (com.google.analytics.core.Ecommerce)
package com.google.analytics.core {
import com.google.analytics.debug.*;
import com.google.analytics.ecommerce.*;
public class Ecommerce {
private var _debug:DebugConfiguration;
private var _trans:Array;
public function Ecommerce(_arg1:DebugConfiguration){
this._debug = _arg1;
_trans = new Array();
}
public function getTransaction(_arg1:String):Transaction{
var _local2:Number;
_local2 = 0;
while (_local2 < _trans.length) {
if (_trans[_local2].id == _arg1){
return (_trans[_local2]);
};
_local2++;
};
return (null);
}
public function getTransLength():Number{
return (_trans.length);
}
public function getTransFromArray(_arg1:Number):Transaction{
return (_trans[_arg1]);
}
public function addTransaction(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String):Transaction{
var _local9:Transaction;
_local9 = getTransaction(_arg1);
if (_local9 == null){
_local9 = new Transaction(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
_trans.push(_local9);
} else {
_local9.affiliation = _arg2;
_local9.total = _arg3;
_local9.tax = _arg4;
_local9.shipping = _arg5;
_local9.city = _arg6;
_local9.state = _arg7;
_local9.country = _arg8;
};
return (_local9);
}
}
}//package com.google.analytics.core
Section 98
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
public class EventInfo {
private var _isEventHit:Boolean;
private var _ext10:X10;
private var _x10:X10;
public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){
_isEventHit = _arg1;
_x10 = _arg2;
_ext10 = _arg3;
}
public function toURLString():String{
var _local1:Variables;
_local1 = toVariables();
return (_local1.toString());
}
public function get utmt():String{
return ("event");
}
public function get utme():String{
return (_x10.renderMergedUrlString(_ext10));
}
public function toVariables():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
if (_isEventHit){
_local1.utmt = utmt;
};
_local1.utme = utme;
return (_local1);
}
}
}//package com.google.analytics.core
Section 99
//EventTracker (com.google.analytics.core.EventTracker)
package com.google.analytics.core {
import com.google.analytics.v4.*;
public class EventTracker {
private var _parent:GoogleAnalyticsAPI;
public var name:String;
public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){
this.name = _arg1;
_parent = _arg2;
}
public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{
return (_parent.trackEvent(name, _arg1, _arg2, _arg3));
}
}
}//package com.google.analytics.core
Section 100
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 101
//GIFRequest (com.google.analytics.core.GIFRequest)
package com.google.analytics.core {
import com.google.analytics.debug.*;
import flash.display.*;
import com.google.analytics.utils.*;
import flash.events.*;
import flash.net.*;
import com.google.analytics.v4.*;
import flash.system.*;
public class GIFRequest {
private var _info:Environment;
private var _count:int;
private var _utmac:String;
private var _alertcount:int;
private var _debug:DebugConfiguration;
private var _lastRequest:URLRequest;
private var _buffer:Buffer;
private var _config:Configuration;
private var _requests:Array;
public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_info = _arg4;
_count = 0;
_alertcount = 0;
_requests = [];
}
public function get utmn():String{
return ((Utils.generate32bitRandom() as String));
}
public function onIOError(_arg1:IOErrorEvent):void{
var _local2:String;
var _local3:String;
var _local4:String;
_local2 = _lastRequest.url;
_local3 = String((_requests.length - 1));
_local4 = (("Gif Request #" + _local3) + " failed");
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local2.indexOf("?") > -1){
_local2 = _local2.split("?")[0];
};
_local2 = _shortenURL(_local2);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable"));
};
_debug.failure(_local4);
} else {
_debug.warning(_local4);
};
_removeListeners(_arg1.target);
}
public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{
var _local5:String;
var _local6:URLRequest;
var _local7:URLRequest;
_utmac = _arg1;
if (!_arg2){
_arg2 = new Variables();
};
_arg2.URIencode = false;
_arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"];
_arg2.post = ["utmcc"];
if (_debug.verbose){
_debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek);
};
if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){
if (_arg4){
updateToken();
};
if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){
if (((!(_arg3)) && (_arg4))){
_buffer.utmb.token = (_buffer.utmb.token - 1);
};
_buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1);
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
_arg2.utmwv = utmwv;
_arg2.utmn = Utils.generate32bitRandom();
if (_info.domainName != ""){
_arg2.utmhn = _info.domainName;
};
if (_config.sampleRate < 1){
_arg2.utmsp = (_config.sampleRate * 100);
};
if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){
_local5 = _info.locationSWFPath;
if (_local5.lastIndexOf("/") > 0){
_local5 = _local5.substring(0, _local5.lastIndexOf("/"));
};
_local6 = new URLRequest();
if (_config.localGIFpath.indexOf("http") == 0){
_local6.url = _config.localGIFpath;
} else {
_local6.url = (_local5 + _config.localGIFpath);
};
_local6.url = (_local6.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local6);
} else {
sendRequest(_local6);
};
};
if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){
_local7 = new URLRequest();
if (_info.protocol == Protocols.HTTPS){
_local7.url = _config.secureRemoteGIFpath;
} else {
if (_info.protocol == Protocols.HTTP){
_local7.url = _config.remoteGIFpath;
} else {
_local7.url = _config.remoteGIFpath;
};
};
_arg2.utmac = utmac;
_arg2.utmcc = encodeURIComponent(utmcc);
_local7.url = (_local7.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local7);
} else {
sendRequest(_local7);
};
};
};
};
}
public function onSecurityError(_arg1:SecurityErrorEvent):void{
if (_debug.GIFRequests){
_debug.failure(_arg1.text);
};
}
public function get utmsp():String{
return (((_config.sampleRate * 100) as String));
}
public function get utmcc():String{
var _local1:Array;
_local1 = [];
if (_buffer.hasUTMA()){
_local1.push((_buffer.utma.toURLString() + ";"));
};
if (_buffer.hasUTMZ()){
_local1.push((_buffer.utmz.toURLString() + ";"));
};
if (_buffer.hasUTMV()){
_local1.push((_buffer.utmv.toURLString() + ";"));
};
return (_local1.join("+"));
}
public function get utmac():String{
return (_utmac);
}
public function get utmwv():String{
return (_config.version);
}
public function sendRequest(_arg1:URLRequest):void{
var loader:Loader;
var context:LoaderContext;
var request = _arg1;
loader = new Loader();
loader.name = String(_count++);
context = new LoaderContext(false);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_lastRequest = request;
_requests[loader.name] = new RequestObject(request);
try {
loader.load(request, context);
} catch(e:Error) {
_debug.failure("\"Loader.load()\" could not instanciate Gif Request");
};
}
private function _removeListeners(_arg1:Object):void{
_arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.removeEventListener(Event.COMPLETE, onComplete);
}
public function updateToken():void{
var _local1:Number;
var _local2:Number;
_local1 = new Date().getTime();
_local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000));
if (_debug.verbose){
_debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek);
};
if (_local2 >= 1){
_buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity);
_buffer.utmb.lastTime = _local1;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
};
}
private function _shortenURL(_arg1:String):String{
var _local2:Array;
if (_arg1.length > 60){
_local2 = _arg1.split("/");
while (_arg1.length > 60) {
_local2.shift();
_arg1 = ("../" + _local2.join("/"));
};
};
return (_arg1);
}
public function get utmhn():String{
return (_info.domainName);
}
private function _debugSend(_arg1:URLRequest):void{
var _local2:String;
var _local3:String;
_local2 = "";
switch (_debug.mode){
case VisualDebugMode.geek:
_local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url);
break;
case VisualDebugMode.advanced:
_local3 = _arg1.url;
if (_local3.indexOf("?") > -1){
_local3 = _local3.split("?")[0];
};
_local3 = _shortenURL(_local3);
_local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?");
break;
case VisualDebugMode.basic:
default:
_local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?");
};
_debug.alertGifRequest(_local2, _arg1, this);
_alertcount++;
}
public function onComplete(_arg1:Event):void{
var _local2:String;
var _local3:String;
var _local4:String;
_local2 = _arg1.target.loader.name;
_requests[_local2].complete();
_local3 = (("Gif Request #" + _local2) + " sent");
_local4 = _requests[_local2].request.url;
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local4.indexOf("?") > -1){
_local4 = _local4.split("?")[0];
};
_local4 = _shortenURL(_local4);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local3 = (_local3 + ((" to \"" + _local4) + "\""));
};
_debug.success(_local3);
} else {
_debug.info(_local3);
};
_removeListeners(_arg1.target);
}
}
}//package com.google.analytics.core
Section 102
//IdleTimer (com.google.analytics.core.IdleTimer)
package com.google.analytics.core {
import com.google.analytics.debug.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import com.google.analytics.v4.*;
public class IdleTimer {
private var _loop:Timer;
private var _stage:Stage;
private var _lastMove:int;
private var _debug:DebugConfiguration;
private var _session:Timer;
private var _inactivity:Number;
private var _buffer:Buffer;
public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){
var _local5:Number;
var _local6:Number;
var _local7:Number;
super();
_local5 = _arg1.idleLoop;
_local6 = _arg1.idleTimeout;
_local7 = _arg1.sessionTimeout;
_loop = new Timer((_local5 * 1000));
_session = new Timer((_local7 * 1000), 1);
_debug = _arg2;
_stage = _arg3.stage;
_buffer = _arg4;
_lastMove = getTimer();
_inactivity = (_local6 * 1000);
_loop.addEventListener(TimerEvent.TIMER, checkForIdle);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek);
_loop.start();
}
private function onMouseMove(_arg1:MouseEvent):void{
_lastMove = getTimer();
if (_session.running){
_debug.info("session timer reset", VisualDebugMode.geek);
_session.reset();
};
}
public function endSession(_arg1:TimerEvent):void{
_session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_debug.info("session timer end session", VisualDebugMode.geek);
_session.reset();
_buffer.resetCurrentSession();
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.geek);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
}
public function checkForIdle(_arg1:TimerEvent):void{
var _local2:int;
_local2 = getTimer();
if ((_local2 - _lastMove) >= _inactivity){
if (!_session.running){
_debug.info("session timer start", VisualDebugMode.geek);
_session.start();
};
};
}
}
}//package com.google.analytics.core
Section 103
//Organic (com.google.analytics.core.Organic)
package com.google.analytics.core {
import com.google.analytics.utils.*;
public class Organic {
private var _sourcesCache:Array;
private var _sourcesEngine:Array;
private var _ignoredKeywords:Array;
private var _ignoredReferralsCache:Object;
private var _ignoredReferrals:Array;
private var _ignoredKeywordsCache:Object;
private var _sources:Array;
public static var throwErrors:Boolean = false;
public function Organic(){
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
_ignoredReferrals = [];
_ignoredReferralsCache = {};
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{
var _local3:String;
_local3 = _arg1.keyword;
return (getKeywordValueFromPath(_local3, _arg2));
}
public function isIgnoredKeyword(_arg1:String):Boolean{
if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function isIgnoredReferral(_arg1:String):Boolean{
if (_ignoredReferralsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function clear():void{
clearEngines();
clearIgnoredReferrals();
clearIgnoredKeywords();
}
public function get ignoredKeywordsCount():int{
return (_ignoredKeywords.length);
}
public function match(_arg1:String):Boolean{
if (_arg1 == ""){
return (false);
};
_arg1 = _arg1.toLowerCase();
if (_sourcesEngine[_arg1] != undefined){
return (true);
};
return (false);
}
public function get count():int{
return (_sources.length);
}
public function addSource(_arg1:String, _arg2:String):void{
var _local3:OrganicReferrer;
_local3 = new OrganicReferrer(_arg1, _arg2);
if (_sourcesCache[_local3.toString()] == undefined){
_sources.push(_local3);
_sourcesCache[_local3.toString()] = (_sources.length - 1);
if (_sourcesEngine[_local3.engine] == undefined){
_sourcesEngine[_local3.engine] = [(_sources.length - 1)];
} else {
_sourcesEngine[_local3.engine].push((_sources.length - 1));
};
} else {
if (throwErrors){
throw (new Error((_local3.toString() + " already exists, we don't add it.")));
};
};
}
public function clearIgnoredKeywords():void{
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function clearEngines():void{
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
}
public function get ignoredReferralsCount():int{
return (_ignoredReferrals.length);
}
public function addIgnoredReferral(_arg1:String):void{
if (_ignoredReferralsCache[_arg1] == undefined){
_ignoredReferrals.push(_arg1);
_ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function clearIgnoredReferrals():void{
_ignoredReferrals = [];
_ignoredReferralsCache = {};
}
public function getReferrerByName(_arg1:String):OrganicReferrer{
var _local2:int;
if (match(_arg1)){
_local2 = _sourcesEngine[_arg1][0];
return (_sources[_local2]);
};
return (null);
}
public function addIgnoredKeyword(_arg1:String):void{
if (_ignoredKeywordsCache[_arg1] == undefined){
_ignoredKeywords.push(_arg1);
_ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function get sources():Array{
return (_sources);
}
public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Variables;
if (_arg2.indexOf((_arg1 + "=")) > -1){
if (_arg2.charAt(0) == "?"){
_arg2 = _arg2.substr(1);
};
_arg2 = _arg2.split("+").join("%20");
_local4 = new Variables(_arg2);
_local3 = _local4[_arg1];
};
return (_local3);
}
}
}//package com.google.analytics.core
Section 104
//OrganicReferrer (com.google.analytics.core.OrganicReferrer)
package com.google.analytics.core {
public class OrganicReferrer {
private var _engine:String;
private var _keyword:String;
public function OrganicReferrer(_arg1:String, _arg2:String){
this.engine = _arg1;
this.keyword = _arg2;
}
public function set engine(_arg1:String):void{
_engine = _arg1.toLowerCase();
}
public function get keyword():String{
return (_keyword);
}
public function toString():String{
return (((engine + "?") + keyword));
}
public function get engine():String{
return (_engine);
}
public function set keyword(_arg1:String):void{
_keyword = _arg1.toLowerCase();
}
}
}//package com.google.analytics.core
Section 105
//RequestObject (com.google.analytics.core.RequestObject)
package com.google.analytics.core {
import flash.net.*;
import flash.utils.*;
public class RequestObject {
public var start:int;
public var request:URLRequest;
public var end:int;
public function RequestObject(_arg1:URLRequest){
start = getTimer();
this.request = _arg1;
}
public function toString():String{
var _local1:Array;
_local1 = [];
_local1.push((("duration: " + duration) + "ms"));
_local1.push(("url: " + request.url));
return ((("{ " + _local1.join(", ")) + " }"));
}
public function get duration():int{
if (!hasCompleted()){
return (0);
};
return ((end - start));
}
public function hasCompleted():Boolean{
return ((end > 0));
}
public function complete():void{
end = getTimer();
}
}
}//package com.google.analytics.core
Section 106
//ServerOperationMode (com.google.analytics.core.ServerOperationMode)
package com.google.analytics.core {
public class ServerOperationMode {
private var _value:int;
private var _name:String;
public static const both:ServerOperationMode = new ServerOperationMode(2, "both");
;
public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote");
;
public static const local:ServerOperationMode = new ServerOperationMode(0, "local");
;
public function ServerOperationMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 107
//TrackerCache (com.google.analytics.core.TrackerCache)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import flash.errors.*;
public class TrackerCache implements GoogleAnalyticsAPI {
public var tracker:GoogleAnalyticsAPI;
private var _ar:Array;
public static var CACHE_THROW_ERROR:Boolean;
public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){
this.tracker = _arg1;
_ar = [];
}
public function size():uint{
return (_ar.length);
}
public function flush():void{
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:int;
if (tracker == null){
return;
};
if (size() > 0){
_local4 = _ar.length;
while (_local5 < _local4) {
_local1 = _ar.shift();
_local2 = (_local1.name as String);
_local3 = (_local1.args as Array);
if (((!((_local2 == null))) && ((_local2 in tracker)))){
(tracker[_local2] as Function).apply(tracker, _local3);
};
_local5++;
};
};
}
public function enqueue(_arg1:String, ... _args):Boolean{
if (_arg1 == null){
return (false);
};
_ar.push({name:_arg1, args:_args});
return (true);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
enqueue("link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
enqueue("addOrganic", _arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
enqueue("setAllowLinker", _arg1);
}
public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLinkerUrl' method for the moment."));
};
return ("");
}
public function getClientInfo():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment."));
};
return (false);
}
public function trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(_arg1:String=""):void{
enqueue("trackPageview", _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
enqueue("setClientInfo", _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4);
return (true);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
enqueue("linkByPost", _arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
enqueue("setCookieTimeout", _arg1);
}
public function isEmpty():Boolean{
return ((_ar.length == 0));
}
public function getDetectTitle():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment."));
};
return (false);
}
public function resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(_arg1:Boolean):void{
enqueue("setDetectFlash", _arg1);
}
public function clear():void{
_ar = [];
}
public function setCampNameKey(_arg1:String):void{
enqueue("setCampNameKey", _arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function createEventTracker(_arg1:String):EventTracker{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment."));
};
return (null);
}
public function clearIgnoredOrganic():void{
enqueue("clearIgnoredOrganic");
}
public function setVar(_arg1:String):void{
enqueue("setVar", _arg1);
}
public function setDomainName(_arg1:String):void{
enqueue("setDomainName", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment."));
};
}
public function setCampSourceKey(_arg1:String):void{
enqueue("setCampSourceKey", _arg1);
}
public function setCampContentKey(_arg1:String):void{
enqueue("setCampContentKey", _arg1);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
public function setLocalServerMode():void{
enqueue("setLocalServerMode");
}
public function getLocalGifPath():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment."));
};
return ("");
}
public function setAllowAnchor(_arg1:Boolean):void{
enqueue("setAllowAnchor", _arg1);
}
public function setLocalGifPath(_arg1:String):void{
enqueue("setLocalGifPath", _arg1);
}
public function getVersion():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment."));
};
return ("");
}
public function setCookiePath(_arg1:String):void{
enqueue("setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
enqueue("setSampleRate", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
enqueue("setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
enqueue("addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
enqueue("setCampNOKey", _arg1);
}
public function getServiceMode():ServerOperationMode{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment."));
};
return (null);
}
public function setLocalRemoteServerMode():void{
enqueue("setLocalRemoteServerMode");
}
public function cookiePathCopy(_arg1:String):void{
enqueue("cookiePathCopy", _arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
enqueue("setDetectTitle", _arg1);
}
public function getDetectFlash():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment."));
};
return (false);
}
public function setCampaignTrack(_arg1:Boolean):void{
enqueue("setCampaignTrack", _arg1);
}
public function clearOrganic():void{
enqueue("clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
enqueue("setCampTermKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
enqueue("addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
enqueue("setCampMediumKey", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
enqueue("setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
enqueue("setRemoteServerMode");
}
public function element(){
return (_ar[0]);
}
public function getAccount():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment."));
};
return ("");
}
}
}//package com.google.analytics.core
Section 108
//TrackerMode (com.google.analytics.core.TrackerMode)
package com.google.analytics.core {
public class TrackerMode {
public static const BRIDGE:String = "Bridge";
public static const AS3:String = "AS3";
}
}//package com.google.analytics.core
Section 109
//Utils (com.google.analytics.core.Utils)
package com.google.analytics.core {
public class Utils {
public static function trim(_arg1:String, _arg2:Boolean=false):String{
var _local3:Array;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:int;
if (_arg1 == ""){
return ("");
};
_local3 = [" ", "\n", "\r", "\t"];
_local4 = _arg1;
if (_arg2){
_local5 = 0;
while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) {
_local4 = _local4.split(_local3[_local5]).join("");
_local5++;
};
} else {
_local6 = 0;
while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) {
_local6++;
};
_local4 = _local4.substr(_local6);
_local7 = (_local4.length - 1);
while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) {
_local7--;
};
_local4 = _local4.substring(0, (_local7 + 1));
};
return (_local4);
}
public static function generateHash(_arg1:String):int{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = 1;
_local3 = 0;
if (((!((_arg1 == null))) && (!((_arg1 == ""))))){
_local2 = 0;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = _arg1.charCodeAt(_local4);
_local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14));
_local3 = (_local2 & 266338304);
if (_local3 != 0){
_local2 = (_local2 ^ (_local3 >> 21));
};
_local4--;
};
};
return (_local2);
}
public static function generate32bitRandom():int{
return (Math.round((Math.random() * 2147483647)));
}
public static function validateAccount(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^UA-[0-9]*-[0-9]*$/;
return (_local2.test(_arg1));
}
}
}//package com.google.analytics.core
Section 110
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
"_-32"?? function toURLString():String;
"_-32"?? function toSharedObject():Object;
"_-32"?? function set creation(_arg1:Date):void;
"_-32"?? function fromSharedObject(_arg1:Object):void;
"_-32"?? function get expiration():Date;
"_-32"?? function isExpired():Boolean;
"_-32"?? function set expiration(_arg1:Date):void;
"_-32"?? function get creation():Date;
}
}//package com.google.analytics.data
Section 111
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _sessionId:Number;
private var _lastTime:Number;
private var _sessionCount:Number;
public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){
super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.sessionId = _arg2;
this.firstTime = _arg3;
this.lastTime = _arg4;
this.currentTime = _arg5;
this.sessionCount = _arg6;
}
public function get lastTime():Number{
return (_lastTime);
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function set sessionId(_arg1:Number):void{
_sessionId = _arg1;
update();
}
public function set sessionCount(_arg1:Number):void{
_sessionCount = _arg1;
update();
}
public function set firstTime(_arg1:Number):void{
_firstTime = _arg1;
update();
}
public function set currentTime(_arg1:Number):void{
_currentTime = _arg1;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get currentTime():Number{
return (_currentTime);
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 112
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _lastTime:Number;
private var _domainHash:Number;
private var _trackCount:Number;
private var _token:Number;
public static var defaultTimespan:Number = Timespan.thirtyminutes;
public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){
super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.trackCount = _arg2;
this.token = _arg3;
this.lastTime = _arg4;
}
public function get token():Number{
return (_token);
}
public function set trackCount(_arg1:Number):void{
_trackCount = _arg1;
update();
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set token(_arg1:Number):void{
_token = _arg1;
update();
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 113
//UTMC (com.google.analytics.data.UTMC)
package com.google.analytics.data {
public class UTMC extends UTMCookie {
private var _domainHash:Number;
public function UTMC(_arg1:Number=NaN){
super("utmc", "__utmc", ["domainHash"]);
this.domainHash = _arg1;
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 114
//UTMCookie (com.google.analytics.data.UTMCookie)
package com.google.analytics.data {
import com.google.analytics.core.*;
public class UTMCookie implements Cookie {
protected var inURL:String;
protected var name:String;
private var _creation:Date;
private var _expiration:Date;
public var proxy:Buffer;
private var _timespan:Number;
protected var fields:Array;
public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){
this.name = _arg1;
this.inURL = _arg2;
this.fields = _arg3;
_timestamp(_arg4);
}
public function isEmpty():Boolean{
var _local1:int;
var _local2:String;
var _local3:int;
_local1 = 0;
_local3 = 0;
while (_local3 < fields.length) {
_local2 = fields[_local3];
if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){
_local1++;
} else {
if ((((this[_local2] is String)) && ((this[_local2] == "")))){
_local1++;
};
};
_local3++;
};
if (_local1 == fields.length){
return (true);
};
return (false);
}
protected function update():void{
resetTimestamp();
if (proxy){
proxy.update(name, toSharedObject());
};
}
public function fromSharedObject(_arg1:Object):void{
var _local2:String;
var _local3:int;
var _local4:int;
_local3 = fields.length;
_local4 = 0;
while (_local4 < _local3) {
_local2 = fields[_local4];
if (_arg1[_local2]){
this[_local2] = _arg1[_local2];
};
_local4++;
};
if (_arg1.creation){
this.creation = _arg1.creation;
};
if (_arg1.expiration){
this.expiration = _arg1.expiration;
};
}
private function _timestamp(_arg1:Number):void{
creation = new Date();
_timespan = _arg1;
if (_arg1 > 0){
expiration = new Date((creation.valueOf() + _arg1));
};
}
public function isExpired():Boolean{
var _local1:Date;
var _local2:Number;
_local1 = new Date();
_local2 = (expiration.valueOf() - _local1.valueOf());
if (_local2 <= 0){
return (true);
};
return (false);
}
public function set expiration(_arg1:Date):void{
_expiration = _arg1;
}
public function get creation():Date{
return (_creation);
}
public function reset():void{
var _local1:String;
var _local2:int;
_local2 = 0;
while (_local2 < fields.length) {
_local1 = fields[_local2];
if ((this[_local1] is Number)){
this[_local1] = NaN;
} else {
if ((this[_local1] is String)){
this[_local1] = "";
};
};
_local2++;
};
resetTimestamp();
update();
}
public function valueOf():String{
var _local1:Array;
var _local2:String;
var _local3:*;
var _local4:Array;
var _local5:String;
var _local6:int;
_local1 = [];
_local5 = "";
_local6 = 0;
while (_local6 < fields.length) {
_local2 = fields[_local6];
_local3 = this[_local2];
if ((_local3 is String)){
if (_local3 == ""){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
} else {
if ((_local3 is Number)){
if (_local3 == 0){
_local1.push(_local3);
} else {
if (isNaN(_local3)){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
};
};
};
_local6++;
};
if (isEmpty()){
return ("-");
};
return (("" + _local1.join(".")));
}
public function resetTimestamp(_arg1:Number=NaN):void{
if (!isNaN(_arg1)){
_timespan = _arg1;
};
_creation = null;
_expiration = null;
_timestamp(_timespan);
}
public function get expiration():Date{
if (_expiration){
return (_expiration);
};
return (new Date((new Date().valueOf() + 1000)));
}
public function toURLString():String{
return (((inURL + "=") + valueOf()));
}
public function toSharedObject():Object{
var _local1:Object;
var _local2:String;
var _local3:*;
var _local4:int;
_local1 = {};
_local4 = 0;
for (;_local4 < fields.length;_local4++) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
_local1[_local2] = _local3;
} else {
if (_local3 == 0){
_local1[_local2] = _local3;
} else {
if (isNaN(_local3)){
continue;
} else {
_local1[_local2] = _local3;
};
};
};
};
_local1.creation = creation;
_local1.expiration = expiration;
return (_local1);
}
public function toString(_arg1:Boolean=false):String{
var _local2:Array;
var _local3:String;
var _local4:*;
var _local5:int;
var _local6:int;
var _local7:String;
_local2 = [];
_local5 = fields.length;
_local6 = 0;
for (;_local6 < _local5;_local6++) {
_local3 = fields[_local6];
_local4 = this[_local3];
if ((_local4 is String)){
_local2.push((((_local3 + ": \"") + _local4) + "\""));
} else {
if (_local4 == 0){
_local2.push(((_local3 + ": ") + _local4));
} else {
if (isNaN(_local4)){
continue;
} else {
_local2.push(((_local3 + ": ") + _local4));
};
};
};
};
_local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}");
if (_arg1){
_local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration));
};
return (_local7);
}
public function set creation(_arg1:Date):void{
_creation = _arg1;
}
}
}//package com.google.analytics.data
Section 115
//UTMK (com.google.analytics.data.UTMK)
package com.google.analytics.data {
public class UTMK extends UTMCookie {
private var _hash:Number;
public function UTMK(_arg1:Number=NaN){
super("utmk", "__utmk", ["hash"]);
this.hash = _arg1;
}
public function get hash():Number{
return (_hash);
}
public function set hash(_arg1:Number):void{
_hash = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 116
//UTMV (com.google.analytics.data.UTMV)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMV extends UTMCookie {
private var _domainHash:Number;
private var _value:String;
public function UTMV(_arg1:Number=NaN, _arg2:String=""){
super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.value = _arg2;
}
public function get value():String{
return (_value);
}
public function set value(_arg1:String):void{
_value = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 117
//UTMX (com.google.analytics.data.UTMX)
package com.google.analytics.data {
public class UTMX extends UTMCookie {
private var _value:String;
public function UTMX(){
super("utmx", "__utmx", ["value"], 0);
_value = "-";
}
public function set value(_arg1:String):void{
_value = _arg1;
}
public function get value():String{
return (_value);
}
}
}//package com.google.analytics.data
Section 118
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _domainHash:Number;
private var _campaignSessions:Number;
private var _campaignTracking:String;
private var _responseCount:Number;
private var _campaignCreation:Number;
public static var defaultTimespan:Number = Timespan.sixmonths;
public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){
super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.campaignCreation = _arg2;
this.campaignSessions = _arg3;
this.responseCount = _arg4;
this.campaignTracking = _arg5;
}
public function get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(_arg1:Number):void{
_campaignSessions = _arg1;
update();
}
public function set responseCount(_arg1:Number):void{
_responseCount = _arg1;
update();
}
public function set campaignCreation(_arg1:Number):void{
_campaignCreation = _arg1;
update();
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get responseCount():Number{
return (_responseCount);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function set campaignTracking(_arg1:String):void{
_campaignTracking = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
}
}//package com.google.analytics.data
Section 119
//X10 (com.google.analytics.data.X10)
package com.google.analytics.data {
public class X10 {
private var _delimEnd:String;// = ")"
private var _delimSet:String;// = "*"
private var _escapeChar:String;// = "'"
private var _delimBegin:String;// = "("
private var _delimNumValue:String;// = "!"
private var _key:String;// = "k"
private var _set:Array;
private var _projectData:Object;
private var _hasData:int;
private var _escapeCharMap:Object;
private var _minimum:int;
private var _value:String;// = "v"
public function X10(){
_key = "k";
_value = "v";
_set = [_key, _value];
_delimBegin = "(";
_delimEnd = ")";
_delimSet = "*";
_delimNumValue = "!";
_escapeChar = "'";
super();
_projectData = {};
_escapeCharMap = {};
_escapeCharMap[_escapeChar] = "'0";
_escapeCharMap[_delimEnd] = "'1";
_escapeCharMap[_delimSet] = "'2";
_escapeCharMap[_delimNumValue] = "'3";
_minimum = 1;
}
private function _clearInternal(_arg1:Number, _arg2:String):void{
var _local3:Boolean;
var _local4:int;
var _local5:int;
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
_projectData[_arg1][_arg2] = undefined;
_local3 = true;
_local5 = _set.length;
_local4 = 0;
while (_local4 < _local5) {
if (_projectData[_arg1][_set[_local4]] != undefined){
_local3 = false;
break;
};
_local4++;
};
if (_local3){
_projectData[_arg1] = undefined;
_hasData = (_hasData - 1);
};
};
}
public function hasData():Boolean{
return ((_hasData > 0));
}
private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{
if (!hasProject(_arg1)){
_projectData[_arg1] = {};
};
if (_projectData[_arg1][_arg2] == undefined){
_projectData[_arg1][_arg2] = [];
};
_projectData[_arg1][_arg2][_arg3] = _arg4;
_hasData = (_hasData + 1);
}
public function hasProject(_arg1:Number):Boolean{
return (_projectData[_arg1]);
}
public function clearKey(_arg1:Number):void{
_clearInternal(_arg1, _key);
}
private function _renderDataType(_arg1:Array):String{
var _local2:Array;
var _local3:String;
var _local4:int;
_local2 = [];
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] != undefined){
_local3 = "";
if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){
_local3 = (_local3 + _local4.toString());
_local3 = (_local3 + _delimNumValue);
};
_local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4]));
_local2.push(_local3);
};
_local4++;
};
return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd));
}
public function getKey(_arg1:Number, _arg2:Number):String{
return ((_getInternal(_arg1, _key, _arg2) as String));
}
public function clearValue(_arg1:Number):void{
_clearInternal(_arg1, _value);
}
public function renderMergedUrlString(_arg1:X10=null):String{
var _local2:Array;
var _local3:String;
if (!_arg1){
return (renderUrlString());
};
_local2 = [_arg1.renderUrlString()];
for (_local3 in _projectData) {
if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){
_local2.push((_local3 + _renderProject(_projectData[_local3])));
};
};
return (_local2.join(""));
}
public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){
return (false);
};
_setInternal(_arg1, _value, _arg2, _arg3.toString());
return (true);
}
public function renderUrlString():String{
var _local1:Array;
var _local2:String;
_local1 = [];
for (_local2 in _projectData) {
if (hasProject(Number(_local2))){
_local1.push((_local2 + _renderProject(_projectData[_local2])));
};
};
return (_local1.join(""));
}
private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
return (_projectData[_arg1][_arg2][_arg3]);
};
return (undefined);
}
public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{
_setInternal(_arg1, _key, _arg2, _arg3);
return (true);
}
public function getValue(_arg1:Number, _arg2:Number){
var _local3:*;
_local3 = _getInternal(_arg1, _value, _arg2);
if (_local3 == null){
return (null);
};
return (Number(_local3));
}
private function _renderProject(_arg1:Object):String{
var _local2:String;
var _local3:Boolean;
var _local4:int;
var _local5:Array;
var _local6:int;
_local2 = "";
_local3 = false;
_local6 = _set.length;
_local4 = 0;
while (_local4 < _local6) {
_local5 = _arg1[_set[_local4]];
if (_local5){
if (_local3){
_local2 = (_local2 + _set[_local4]);
};
_local2 = (_local2 + _renderDataType(_local5));
_local3 = false;
} else {
_local3 = true;
};
_local4++;
};
return (_local2);
}
private function _escapeExtensibleValue(_arg1:String):String{
var _local2:String;
var _local3:int;
var _local4:String;
var _local5:String;
_local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _escapeCharMap[_local4];
if (_local5){
_local2 = (_local2 + _local5);
} else {
_local2 = (_local2 + _local4);
};
_local3++;
};
return (_local2);
}
}
}//package com.google.analytics.data
Section 120
//_Style (com.google.analytics.debug._Style)
package com.google.analytics.debug {
import flash.net.*;
import flash.text.*;
public class _Style {
public var borderColor:uint;
public var backgroundColor:uint;
private var _sheet:StyleSheet;
public var roundedCorner:uint;
public var alertColor:uint;
public var infoColor:uint;
public var successColor:uint;
private var _loader:URLLoader;
public var failureColor:uint;
private var _defaultSheet:String;
public var warningColor:uint;
public function _Style(){
_sheet = new StyleSheet();
_loader = new URLLoader();
_init();
}
private function _parseSheet(_arg1:String):void{
_sheet.parseCSS(_arg1);
}
public function get sheet():StyleSheet{
return (_sheet);
}
private function _init():void{
_defaultSheet = "";
_defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n");
_defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n");
_defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + "\n");
roundedCorner = 6;
backgroundColor = 0xCCCCCC;
borderColor = 0x555555;
infoColor = 16777113;
alertColor = 0xFFCC00;
warningColor = 0xCC0000;
successColor = 0xFF00;
failureColor = 0xFF0000;
_parseSheet(_defaultSheet);
}
}
}//package com.google.analytics.debug
Section 121
//Alert (com.google.analytics.debug.Alert)
package com.google.analytics.debug {
import flash.events.*;
public class Alert extends Label {
public var actionOnNextLine:Boolean;// = true
public var autoClose:Boolean;// = true
private var _actions:Array;
public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){
var _local8:int;
autoClose = true;
actionOnNextLine = true;
if (_arg4 == 0){
_arg4 = Style.alertColor;
};
if (_arg5 == null){
_arg5 = Align.center;
};
super(_arg1, _arg3, _arg4, _arg5, _arg6);
this.selectable = true;
super.mouseChildren = true;
this.buttonMode = true;
this.mouseEnabled = true;
this.useHandCursor = true;
this.actionOnNextLine = _arg7;
_actions = [];
_local8 = 0;
while (_local8 < _arg2.length) {
_arg2[_local8].container = this;
_actions.push(_arg2[_local8]);
_local8++;
};
}
protected function getAction(_arg1:String):AlertAction{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (_actions[_local2]);
};
_local2++;
};
return (null);
}
override protected function layout():void{
super.layout();
_defineActions();
}
protected function spaces(_arg1:int):String{
var _local2:String;
var _local3:String;
var _local4:int;
_local2 = "";
_local3 = " ";
_local4 = 0;
while (_local4 < (_arg1 + 1)) {
_local2 = (_local2 + _local3);
_local4++;
};
return (_local2);
}
override public function onLink(_arg1:TextEvent):void{
var _local2:AlertAction;
if (isValidAction(_arg1.text)){
_local2 = getAction(_arg1.text);
if (_local2){
_local2.execute();
};
};
if (autoClose){
close();
};
}
protected function isValidAction(_arg1:String):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (true);
};
_local2++;
};
return (false);
}
private function _defineActions():void{
var _local1:String;
var _local2:Array;
var _local3:AlertAction;
var _local4:int;
_local1 = "";
if (actionOnNextLine){
_local1 = (_local1 + "\n");
} else {
_local1 = (_local1 + " |");
};
_local1 = (_local1 + " ");
_local2 = [];
_local4 = 0;
while (_local4 < _actions.length) {
_local3 = _actions[_local4];
_local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>"));
_local4++;
};
_local1 = (_local1 + _local2.join(" | "));
appendText(_local1, "uiAlertAction");
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 122
//AlertAction (com.google.analytics.debug.AlertAction)
package com.google.analytics.debug {
public class AlertAction {
public var container:Alert;
private var _callback;
public var name:String;
public var activator:String;
public function AlertAction(_arg1:String, _arg2:String, _arg3){
this.name = _arg1;
this.activator = _arg2;
_callback = _arg3;
}
public function execute():void{
if (_callback){
if ((_callback is Function)){
(_callback as Function)();
} else {
if ((_callback is String)){
var _local1 = container;
_local1[_callback]();
};
};
};
}
}
}//package com.google.analytics.debug
Section 123
//Align (com.google.analytics.debug.Align)
package com.google.analytics.debug {
public class Align {
private var _value:int;
private var _name:String;
public static const bottomRight:Align = new Align(18, "bottomRight");
;
public static const right:Align = new Align(16, "right");
;
public static const left:Align = new Align(32, "left");
;
public static const topRight:Align = new Align(17, "topRight");
;
public static const bottom:Align = new Align(2, "bottom");
;
public static const bottomLeft:Align = new Align(34, "bottomLeft");
;
public static const topLeft:Align = new Align(33, "topLeft");
;
public static const center:Align = new Align(0x0100, "center");
;
public static const none:Align = new Align(0, "none");
;
public static const top:Align = new Align(1, "top");
;
public function Align(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 124
//Background (com.google.analytics.debug.Background)
package com.google.analytics.debug {
import flash.display.*;
public class Background {
public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{
var _local5:uint;
var _local6:uint;
var _local7:uint;
_local7 = Style.roundedCorner;
if ((((_arg3 > 0)) && ((_arg4 > 0)))){
_local5 = _arg3;
_local6 = _arg4;
} else {
_local5 = _arg1.width;
_local6 = _arg1.height;
};
if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){
switch (_arg1.alignement){
case Align.top:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7);
break;
case Align.topLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7);
break;
case Align.topRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0);
break;
case Align.bottom:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0);
break;
case Align.bottomLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0);
break;
case Align.bottomRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0);
break;
case Align.left:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7);
break;
case Align.right:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0);
break;
case Align.center:
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
break;
};
} else {
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
};
}
}
}//package com.google.analytics.debug
Section 125
//Debug (com.google.analytics.debug.Debug)
package com.google.analytics.debug {
import flash.events.*;
import flash.ui.*;
public class Debug extends Label {
private var _lines:Array;
private var _preferredForcedWidth:uint;// = 540
public var maxLines:uint;// = 16
private var _linediff:int;// = 0
public static var count:uint;
public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){
_linediff = 0;
_preferredForcedWidth = 540;
maxLines = 16;
if (_arg2 == null){
_arg2 = Align.bottom;
};
super("", "uiLabel", _arg1, _arg2, _arg3);
this.name = ("Debug" + count++);
_lines = [];
selectable = true;
addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
public function close():void{
dispose();
}
public function writeBold(_arg1:String):void{
write(_arg1, true);
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
} else {
};
return (!NULL!);
}
private function onKey(_arg1:KeyboardEvent=null):void{
var _local2:Array;
switch (_arg1.keyCode){
case Keyboard.DOWN:
_local2 = _getLinesToDisplay(1);
break;
case Keyboard.UP:
_local2 = _getLinesToDisplay(-1);
break;
default:
_local2 = null;
};
if (_local2 == null){
return;
};
text = _local2.join("\n");
}
public function write(_arg1:String, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:String;
var _local5:String;
var _local6:int;
var _local7:Array;
if (_arg1.indexOf("") > -1){
_local3 = _arg1.split("\n");
} else {
_local3 = [_arg1];
};
_local4 = "";
_local5 = "";
if (_arg2){
_local4 = "<b>";
_local5 = "</b>";
};
_local6 = 0;
while (_local6 < _local3.length) {
_lines.push(((_local4 + _local3[_local6]) + _local5));
_local6++;
};
_local7 = _getLinesToDisplay();
text = _local7.join("\n");
}
private function _getLinesToDisplay(_arg1:int=0):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
if ((_lines.length - 1) > maxLines){
if ((_linediff <= 0)){
_linediff = (_linediff + _arg1);
} else {
if ((((_linediff > 0)) && ((_arg1 < 0)))){
_linediff = (_linediff + _arg1);
};
};
_local3 = ((_lines.length - maxLines) + _linediff);
_local4 = (_local3 + maxLines);
_local2 = _lines.slice(_local3, _local4);
} else {
_local2 = _lines;
};
return (_local2);
}
}
}//package com.google.analytics.debug
Section 126
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.utils.*;
import flash.ui.*;
public class DebugConfiguration {
public var showHideKey:Number;
private var _mode:VisualDebugMode;
private var _verbose:Boolean;// = false
public var destroyKey:Number;
public var GIFRequests:Boolean;// = false
public var infoTimeout:Number;// = 1000
public var showInfos:Boolean;// = true
public var minimizedOnStart:Boolean;// = false
private var _active:Boolean;// = false
public var traceOutput:Boolean;// = false
public var layout:ILayout;
public var warningTimeout:Number;// = 1500
public var javascript:Boolean;// = false
public var showWarnings:Boolean;// = true
private var _visualInitialized:Boolean;// = false
public function DebugConfiguration(){
_active = false;
_verbose = false;
_visualInitialized = false;
_mode = VisualDebugMode.basic;
traceOutput = false;
javascript = false;
GIFRequests = false;
showInfos = true;
infoTimeout = 1000;
showWarnings = true;
warningTimeout = 1500;
minimizedOnStart = false;
showHideKey = Keyboard.SPACE;
destroyKey = Keyboard.BACKSPACE;
super();
}
public function get verbose():Boolean{
return (_verbose);
}
public function set verbose(_arg1:Boolean):void{
_verbose = _arg1;
}
public function set mode(_arg1):void{
if ((_arg1 is String)){
switch (_arg1){
case "geek":
_arg1 = VisualDebugMode.geek;
break;
case "advanced":
_arg1 = VisualDebugMode.advanced;
break;
case "basic":
default:
_arg1 = VisualDebugMode.basic;
};
};
_mode = _arg1;
}
public function success(_arg1:String):void{
if (layout){
layout.createSuccessAlert(_arg1);
};
if (traceOutput){
};
}
public function get active():Boolean{
return (_active);
}
private function _initializeVisual():void{
if (layout){
layout.init();
_visualInitialized = true;
};
}
private function _destroyVisual():void{
if (((layout) && (_visualInitialized))){
layout.destroy();
};
}
public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showWarnings))){
layout.createWarning(_arg1);
};
if (traceOutput){
};
}
private function _filter(_arg1:VisualDebugMode=null):Boolean{
return (((_arg1) && ((int(_arg1) >= int(this.mode)))));
}
public function failure(_arg1:String):void{
if (layout){
layout.createFailureAlert(_arg1);
};
if (traceOutput){
};
}
public function get mode(){
return (_mode);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
_initializeVisual();
} else {
_destroyVisual();
};
}
protected function trace(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:Array;
var _local8:int;
_local2 = [];
_local3 = "";
_local4 = "";
if (this.mode == VisualDebugMode.geek){
_local3 = (getTimer() + " - ");
_local4 = (new Array(_local3.length).join(" ") + " ");
};
if (_arg1.indexOf("\n") > -1){
_local7 = _arg1.split("\n");
_local8 = 0;
while (_local8 < _local7.length) {
if (_local7[_local8] == ""){
} else {
if (_local8 == 0){
_local2.push((_local3 + _local7[_local8]));
} else {
_local2.push((_local4 + _local7[_local8]));
};
};
_local8++;
};
} else {
_local2.push((_local3 + _arg1));
};
_local5 = _local2.length;
_local6 = 0;
while (_local6 < _local5) {
_local6++;
};
}
public function alert(_arg1:String):void{
if (layout){
layout.createAlert(_arg1);
};
if (traceOutput){
};
}
public function info(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showInfos))){
layout.createInfo(_arg1);
};
if (traceOutput){
};
}
public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
if (layout){
layout.createGIFRequestAlert(_arg1, _arg2, _arg3);
};
if (traceOutput){
};
}
}
}//package com.google.analytics.debug
Section 127
//FailureAlert (com.google.analytics.debug.FailureAlert)
package com.google.analytics.debug {
public class FailureAlert extends Alert {
public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 128
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert)
package com.google.analytics.debug {
public class GIFRequestAlert extends Alert {
public function GIFRequestAlert(_arg1:String, _arg2:Array){
super(_arg1, _arg2);
}
}
}//package com.google.analytics.debug
Section 129
//ILayout (com.google.analytics.debug.ILayout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.display.*;
import flash.net.*;
public interface ILayout {
"_-4G"?? function createWarning(_arg1:String):void;
"_-4G"?? function addToStage(_arg1:DisplayObject):void;
"_-4G"?? function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void;
"_-4G"?? function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void;
"_-4G"?? function createInfo(_arg1:String):void;
"_-4G"?? function createFailureAlert(_arg1:String):void;
"_-4G"?? function addToPanel(_arg1:String, _arg2:DisplayObject):void;
"_-4G"?? function init():void;
"_-4G"?? function createSuccessAlert(_arg1:String):void;
"_-4G"?? function createVisualDebug():void;
"_-4G"?? function createAlert(_arg1:String):void;
"_-4G"?? function destroy():void;
"_-4G"?? function bringToFront(_arg1:DisplayObject):void;
"_-4G"?? function isAvailable():Boolean;
}
}//package com.google.analytics.debug
Section 130
//Info (com.google.analytics.debug.Info)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Info extends Label {
private var _timer:Timer;
public function Info(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiInfo", Style.infoColor, Align.top, true);
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 131
//Label (com.google.analytics.debug.Label)
package com.google.analytics.debug {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class Label extends UISprite {
private var _text:String;
private var _textField:TextField;
private var _color:uint;
protected var selectable:Boolean;
public var stickToEdge:Boolean;
private var _background:Shape;
private var _tag:String;
public static var count:uint = 0;
public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){
this.name = ("Label" + count++);
selectable = false;
_background = new Shape();
_textField = new TextField();
_text = _arg1;
_tag = _arg2;
if (_arg4 == null){
_arg4 = Align.none;
};
this.alignement = _arg4;
this.stickToEdge = _arg5;
if (_arg3 == 0){
_arg3 = Style.backgroundColor;
};
_color = _arg3;
_textField.addEventListener(TextEvent.LINK, onLink);
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
private function _draw():void{
var _local1:Graphics;
var _local2:uint;
var _local3:uint;
_local1 = _background.graphics;
_local1.clear();
_local1.beginFill(_color);
_local2 = _textField.width;
_local3 = _textField.height;
if (forcedWidth > 0){
_local2 = forcedWidth;
};
Background.drawRounded(this, _local1, _local2, _local3);
_local1.endFill();
}
override protected function layout():void{
_textField.type = TextFieldType.DYNAMIC;
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.background = false;
_textField.selectable = selectable;
_textField.multiline = true;
_textField.styleSheet = Style.sheet;
this.text = _text;
addChild(_background);
addChild(_textField);
}
public function get text():String{
return (_textField.text);
}
public function set tag(_arg1:String):void{
_tag = _arg1;
text = "";
}
public function set text(_arg1:String):void{
if (_arg1 == ""){
_arg1 = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>");
_text = _arg1;
_draw();
resize();
}
public function appendText(_arg1:String, _arg2:String=""):void{
if (_arg1 == ""){
return;
};
if (_arg2 == ""){
_arg2 = tag;
};
_textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>"));
_text = (_text + _arg1);
_draw();
resize();
}
public function onLink(_arg1:TextEvent):void{
}
public function get tag():String{
return (_tag);
}
}
}//package com.google.analytics.debug
Section 132
//Layout (com.google.analytics.debug.Layout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import com.google.analytics.*;
public class Layout implements ILayout {
private var _display:DisplayObject;
private var _infoQueue:Array;
private var _maxCharPerLine:int;// = 85
private var _hasInfo:Boolean;
private var _warningQueue:Array;
private var _hasDebug:Boolean;
private var _hasWarning:Boolean;
private var _mainPanel:Panel;
private var _GRAlertQueue:Array;
private var _debug:DebugConfiguration;
public var visualDebug:Debug;
private var _hasGRAlert:Boolean;
public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){
_maxCharPerLine = 85;
super();
_display = _arg2;
_debug = _arg1;
_hasWarning = false;
_hasInfo = false;
_hasDebug = false;
_hasGRAlert = false;
_warningQueue = [];
_infoQueue = [];
_GRAlertQueue = [];
}
private function onKey(_arg1:KeyboardEvent=null):void{
switch (_arg1.keyCode){
case _debug.showHideKey:
_mainPanel.visible = !(_mainPanel.visible);
break;
case _debug.destroyKey:
destroy();
break;
};
}
public function bringToFront(_arg1:DisplayObject):void{
_display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1));
}
public function createFailureAlert(_arg1:String):void{
var _local2:AlertAction;
var _local3:Alert;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
_local3 = new FailureAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function init():void{
var _local1:int;
var _local2:uint;
var _local3:uint;
var _local4:Panel;
_local1 = 10;
_local2 = (_display.stage.stageWidth - (_local1 * 2));
_local3 = (_display.stage.stageHeight - (_local1 * 2));
_local4 = new Panel("analytics", _local2, _local3);
_local4.alignement = Align.top;
_local4.stickToEdge = false;
_local4.title = ("Google Analytics v" + GATracker.version);
_mainPanel = _local4;
addToStage(_local4);
bringToFront(_local4);
if (_debug.minimizedOnStart){
_mainPanel.onToggle();
};
createVisualDebug();
_display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true);
}
public function addToPanel(_arg1:String, _arg2:DisplayObject):void{
var _local3:DisplayObject;
var _local4:Panel;
_local3 = _display.stage.getChildByName(_arg1);
if (_local3){
_local4 = (_local3 as Panel);
_local4.addData(_arg2);
//unresolved jump
};
}
private function _clearInfo(_arg1:Event):void{
_hasInfo = false;
if (_infoQueue.length > 0){
createInfo(_infoQueue.shift());
};
}
private function _filterMaxChars(_arg1:String, _arg2:int=0):String{
var _local3:String;
var _local4:Array;
var _local5:Array;
var _local6:String;
var _local7:int;
_local3 = "\n";
_local4 = [];
_local5 = _arg1.split(_local3);
if (_arg2 == 0){
_arg2 = _maxCharPerLine;
};
_local7 = 0;
while (_local7 < _local5.length) {
_local6 = _local5[_local7];
while (_local6.length > _arg2) {
_local4.push(_local6.substr(0, _arg2));
_local6 = _local6.substring(_arg2);
};
_local4.push(_local6);
_local7++;
};
return (_local4.join(_local3));
}
public function createWarning(_arg1:String):void{
var _local2:Warning;
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasWarning = true;
_local2 = new Warning(_arg1, _debug.warningTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
private function _clearGRAlert(_arg1:Event):void{
_hasGRAlert = false;
if (_GRAlertQueue.length > 0){
createGIFRequestAlert.apply(this, _GRAlertQueue.shift());
};
}
public function createSuccessAlert(_arg1:String):void{
var _local2:AlertAction;
var _local3:Alert;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
_local3 = new SuccessAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function isAvailable():Boolean{
return (!((_display.stage == null)));
}
public function createAlert(_arg1:String):void{
var _local2:Alert;
_arg1 = _filterMaxChars(_arg1);
_local2 = new Alert(_arg1, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", _local2);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function createInfo(_arg1:String):void{
var _local2:Info;
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasInfo = true;
_local2 = new Info(_arg1, _debug.infoTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true);
if (_hasDebug){
visualDebug.write(_arg1);
};
}
public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
var f:Function;
var gra:GIFRequestAlert;
var message = _arg1;
var request = _arg2;
var ref = _arg3;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
f = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
gra = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]);
addToPanel("analytics", gra);
gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.write(message);
};
}
public function createVisualDebug():void{
if (!visualDebug){
visualDebug = new Debug();
visualDebug.alignement = Align.bottom;
visualDebug.stickToEdge = true;
addToPanel("analytics", visualDebug);
_hasDebug = true;
};
}
public function addToStage(_arg1:DisplayObject):void{
_display.stage.addChild(_arg1);
}
private function _clearWarning(_arg1:Event):void{
_hasWarning = false;
if (_warningQueue.length > 0){
createWarning(_warningQueue.shift());
};
}
public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{
var _local4:Panel;
_local4 = new Panel(_arg1, _arg2, _arg3);
_local4.alignement = Align.center;
_local4.stickToEdge = false;
addToStage(_local4);
bringToFront(_local4);
}
public function destroy():void{
_mainPanel.close();
_debug.layout = null;
}
}
}//package com.google.analytics.debug
Section 133
//Margin (com.google.analytics.debug.Margin)
package com.google.analytics.debug {
public class Margin {
public var bottom:int;
public var top:int;
public var right:int;
public var left:int;
public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
this.top = _arg1;
this.bottom = _arg2;
this.left = _arg3;
this.right = _arg4;
}
}
}//package com.google.analytics.debug
Section 134
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.display.*;
import flash.events.*;
public class Panel extends UISprite {
protected var baseAlpha:Number;
private var _border:Shape;
private var _name:String;
private var _title:Label;
private var _data:UISprite;
private var _backgroundColor:uint;
private var _colapsed:Boolean;
private var _stickToEdge:Boolean;
private var _background:Shape;
private var _savedW:uint;
private var _mask:Sprite;
private var _savedH:uint;
private var _borderColor:uint;
public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){
_name = _arg1;
this.name = _arg1;
this.mouseEnabled = false;
_colapsed = false;
forcedWidth = _arg2;
forcedHeight = _arg3;
this.baseAlpha = _arg6;
_background = new Shape();
_data = new UISprite();
_data.forcedWidth = _arg2;
_data.forcedHeight = _arg3;
_data.mouseEnabled = false;
_title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8);
_title.buttonMode = true;
_title.margin.top = 0.6;
_title.margin.left = 0.6;
_title.addEventListener(MouseEvent.CLICK, onToggle);
_title.mouseChildren = false;
_border = new Shape();
_mask = new Sprite();
_mask.useHandCursor = false;
_mask.mouseEnabled = false;
_mask.mouseChildren = false;
if (_arg7 == null){
_arg7 = Align.none;
};
this.alignement = _arg7;
this.stickToEdge = _arg8;
if (_arg4 == 0){
_arg4 = Style.backgroundColor;
};
_backgroundColor = _arg4;
if (_arg5 == 0){
_arg5 = Style.borderColor;
};
_borderColor = _arg5;
}
public function set stickToEdge(_arg1:Boolean):void{
_stickToEdge = _arg1;
_title.stickToEdge = _arg1;
}
public function onToggle(_arg1:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var _local1:uint;
var _local2:uint;
var _local3:Graphics;
var _local4:Graphics;
var _local5:Graphics;
var _local6:Graphics;
if (((_savedW) && (_savedH))){
forcedWidth = _savedW;
forcedHeight = _savedH;
};
if (!_colapsed){
_local1 = forcedWidth;
_local2 = forcedHeight;
} else {
_local1 = _title.width;
_local2 = _title.height;
_savedW = forcedWidth;
_savedH = forcedHeight;
forcedWidth = _local1;
forcedHeight = _local2;
};
_local3 = _background.graphics;
_local3.clear();
_local3.beginFill(_backgroundColor);
Background.drawRounded(this, _local3, _local1, _local2);
_local3.endFill();
_local4 = _data.graphics;
_local4.clear();
_local4.beginFill(_backgroundColor, 0);
Background.drawRounded(this, _local4, _local1, _local2);
_local4.endFill();
_local5 = _border.graphics;
_local5.clear();
_local5.lineStyle(0.1, _borderColor);
Background.drawRounded(this, _local5, _local1, _local2);
_local5.endFill();
_local6 = _mask.graphics;
_local6.clear();
_local6.beginFill(_backgroundColor);
Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1));
_local6.endFill();
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function get title():String{
return (_title.text);
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function set title(_arg1:String):void{
_title.text = _arg1;
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(_arg1:DisplayObject):void{
_data.addChild(_arg1);
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 135
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 136
//SuccessAlert (com.google.analytics.debug.SuccessAlert)
package com.google.analytics.debug {
public class SuccessAlert extends Alert {
public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align;
var _local5:Boolean;
var _local6:Boolean;
_local4 = Align.bottomLeft;
_local5 = true;
_local6 = false;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 137
//UISprite (com.google.analytics.debug.UISprite)
package com.google.analytics.debug {
import flash.display.*;
import flash.events.*;
public class UISprite extends Sprite {
private var _forcedHeight:uint;
protected var listenResize:Boolean;
public var alignement:Align;
private var _forcedWidth:uint;
public var margin:Margin;
protected var alignTarget:DisplayObject;
public function UISprite(_arg1:DisplayObject=null){
listenResize = false;
alignement = Align.none;
this.alignTarget = _arg1;
margin = new Margin();
addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
}
protected function dispose():void{
var _local1:DisplayObject;
var _local2:int;
_local2 = 0;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1){
removeChild(_local1);
};
_local2++;
};
}
protected function layout():void{
}
public function get forcedHeight():uint{
if (_forcedHeight){
return (_forcedHeight);
};
return (height);
}
public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:UISprite;
if (_arg2 == null){
if ((parent is Stage)){
_arg2 = this.stage;
} else {
_arg2 = parent;
};
};
if (_arg2 == this.stage){
if (this.stage == null){
return;
};
_local3 = this.stage.stageHeight;
_local4 = this.stage.stageWidth;
_local5 = 0;
_local6 = 0;
} else {
_local7 = (_arg2 as UISprite);
if (_local7.forcedHeight){
_local3 = _local7.forcedHeight;
} else {
_local3 = _local7.height;
};
if (_local7.forcedWidth){
_local4 = _local7.forcedWidth;
} else {
_local4 = _local7.width;
};
_local5 = 0;
_local6 = 0;
};
switch (_arg1){
case Align.top:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (_local6 + margin.top);
break;
case Align.bottom:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.left:
x = (_local5 + margin.left);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.right:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.center:
x = ((_local4 / 2) - (forcedWidth / 2));
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.topLeft:
x = (_local5 + margin.left);
y = (_local6 + margin.top);
break;
case Align.topRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (_local6 + margin.top);
break;
case Align.bottomLeft:
x = (_local5 + margin.left);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.bottomRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
};
if (((!(listenResize)) && (!((_arg1 == Align.none))))){
_arg2.addEventListener(Event.RESIZE, onResize, false, 0, true);
listenResize = true;
};
this.alignement = _arg1;
this.alignTarget = _arg2;
}
public function get forcedWidth():uint{
if (_forcedWidth){
return (_forcedWidth);
};
return (width);
}
protected function onResize(_arg1:Event):void{
resize();
}
private function _onRemovedFromStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
dispose();
}
public function resize():void{
if (alignement != Align.none){
alignTo(alignement, alignTarget);
};
}
private function _onAddedToStage(_arg1:Event):void{
layout();
resize();
}
public function set forcedHeight(_arg1:uint):void{
_forcedHeight = _arg1;
}
public function set forcedWidth(_arg1:uint):void{
_forcedWidth = _arg1;
}
}
}//package com.google.analytics.debug
Section 138
//Warning (com.google.analytics.debug.Warning)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Warning extends Label {
private var _timer:Timer;
public function Warning(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiWarning", Style.warningColor, Align.top, false);
margin.top = 32;
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 139
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode)
package com.google.analytics.debug {
public class VisualDebugMode {
private var _value:int;
private var _name:String;
public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced");
;
public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek");
;
public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic");
;
public function VisualDebugMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 140
//Item (com.google.analytics.ecommerce.Item)
package com.google.analytics.ecommerce {
import com.google.analytics.utils.*;
public class Item {
private var _id:String;
private var _price:String;
private var _sku:String;
private var _category:String;
private var _name:String;
private var _quantity:String;
public function Item(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String){
this._id = _arg1;
this._sku = _arg2;
this._name = _arg3;
this._category = _arg4;
this._price = _arg5;
this._quantity = _arg6;
}
public function set category(_arg1:String):void{
_category = _arg1;
}
public function get name():String{
return (_name);
}
public function get price():String{
return (_price);
}
public function get quantity():String{
return (_quantity);
}
public function set name(_arg1:String):void{
_name = _arg1;
}
public function set price(_arg1:String):void{
_price = _arg1;
}
public function get id():String{
return (_id);
}
public function get sku():String{
return (_sku);
}
public function set quantity(_arg1:String):void{
_quantity = _arg1;
}
public function toGifParams():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
_local1.post = ["utmt", "utmtid", "utmipc", "utmipn", "utmiva", "utmipr", "utmiqt"];
_local1.utmt = "item";
_local1.utmtid = _id;
_local1.utmipc = _sku;
_local1.utmipn = _name;
_local1.utmiva = _category;
_local1.utmipr = _price;
_local1.utmiqt = _quantity;
return (_local1);
}
public function set id(_arg1:String):void{
_id = _arg1;
}
public function set sku(_arg1:String):void{
_sku = _arg1;
}
public function get category():String{
return (_category);
}
}
}//package com.google.analytics.ecommerce
Section 141
//Transaction (com.google.analytics.ecommerce.Transaction)
package com.google.analytics.ecommerce {
import com.google.analytics.utils.*;
public class Transaction {
private var _items:Array;
private var _total:String;
private var _vars:Variables;
private var _shipping:String;
private var _city:String;
private var _state:String;
private var _country:String;
private var _tax:String;
private var _affiliation:String;
private var _id:String;
public function Transaction(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String, _arg8:String){
this._id = _arg1;
this._affiliation = _arg2;
this._total = _arg3;
this._tax = _arg4;
this._shipping = _arg5;
this._city = _arg6;
this._state = _arg7;
this._country = _arg8;
_items = new Array();
}
public function get total():String{
return (_total);
}
public function getItemFromArray(_arg1:Number):Item{
return (_items[_arg1]);
}
public function getItem(_arg1:String):Item{
var _local2:Number;
_local2 = 0;
while (_local2 < _items.length) {
if (_items[_local2].sku == _arg1){
return (_items[_local2]);
};
_local2++;
};
return (null);
}
public function set total(_arg1:String):void{
_total = _arg1;
}
public function getItemsLength():Number{
return (_items.length);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String):void{
var _local6:Item;
_local6 = getItem(_arg1);
if (_local6 == null){
_local6 = new Item(_id, _arg1, _arg2, _arg3, _arg4, _arg5);
_items.push(_local6);
} else {
_local6.name = _arg2;
_local6.category = _arg3;
_local6.price = _arg4;
_local6.quantity = _arg5;
};
}
public function set shipping(_arg1:String):void{
_shipping = _arg1;
}
public function get country():String{
return (_country);
}
public function get state():String{
return (_state);
}
public function set tax(_arg1:String):void{
_tax = _arg1;
}
public function set affiliation(_arg1:String):void{
_affiliation = _arg1;
}
public function set state(_arg1:String):void{
_state = _arg1;
}
public function get id():String{
return (_id);
}
public function get tax():String{
return (_tax);
}
public function toGifParams():Variables{
var _local1:Variables;
_local1 = new Variables();
_local1.URIencode = true;
_local1.utmt = "tran";
_local1.utmtid = id;
_local1.utmtst = affiliation;
_local1.utmtto = total;
_local1.utmttx = tax;
_local1.utmtsp = shipping;
_local1.utmtci = city;
_local1.utmtrg = state;
_local1.utmtco = country;
_local1.post = ["utmtid", "utmtst", "utmtto", "utmttx", "utmtsp", "utmtci", "utmtrg", "utmtco"];
return (_local1);
}
public function get affiliation():String{
return (_affiliation);
}
public function get city():String{
return (_city);
}
public function get shipping():String{
return (_shipping);
}
public function set id(_arg1:String):void{
_id = _arg1;
}
public function set city(_arg1:String):void{
_city = _arg1;
}
public function set country(_arg1:String):void{
_country = _arg1;
}
}
}//package com.google.analytics.ecommerce
Section 142
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent)
package com.google.analytics.events {
import flash.events.*;
import com.google.analytics.*;
public class AnalyticsEvent extends Event {
public var tracker:AnalyticsTracker;
public static const READY:String = "ready";
public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.tracker = _arg2;
}
override public function clone():Event{
return (new AnalyticsEvent(type, tracker, bubbles, cancelable));
}
}
}//package com.google.analytics.events
Section 143
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class AdSenseGlobals extends JavascriptProxy {
private var _gaGlobalVerified:Boolean;// = false
public static var gaGlobal_js:XML = <script>
<![CDATA[
function()
{
try
{
gaGlobal
}
catch(e)
{
gaGlobal = {} ;
}
}
]]>
</script>
;
public function AdSenseGlobals(_arg1:DebugConfiguration){
_gaGlobalVerified = false;
super(_arg1);
}
public function set vid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.vid", _arg1);
}
public function get hid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.hid"));
}
public function get dh():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.dh"));
}
public function get gaGlobal():Object{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal"));
}
public function set hid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.hid", _arg1);
}
public function get sid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.sid"));
}
private function _verify():void{
if (!_gaGlobalVerified){
executeBlock(gaGlobal_js);
_gaGlobalVerified = true;
};
}
public function get vid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.vid"));
}
public function set sid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.sid", _arg1);
}
}
}//package com.google.analytics.external
Section 144
//HTMLDOM (com.google.analytics.external.HTMLDOM)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class HTMLDOM extends JavascriptProxy {
private var _referrer:String;
private var _protocol:String;
private var _host:String;
private var _location:String;
private var _pathname:String;
private var _title:String;
private var _characterSet:String;
private var _search:String;
private var _language:String;
private var _colorDepth:String;
public static var cache_properties_js:XML = <script>
<![CDATA[
function()
{
var obj = {};
obj.host = document.location.host;
obj.language = navigator.language ? navigator.language : navigator.browserLanguage;
obj.characterSet = document.characterSet ? document.characterSet : document.charset;
obj.colorDepth = window.screen.colorDepth;
obj.location = document.location.toString();
obj.pathname = document.location.pathname;
obj.protocol = document.location.protocol;
obj.search = document.location.search;
obj.referrer = document.referrer;
obj.title = document.title;
return obj;
}
]]>
</script>
;
public function HTMLDOM(_arg1:DebugConfiguration){
super(_arg1);
}
public function get search():String{
if (_search){
return (_search);
};
if (!isAvailable()){
return (null);
};
_search = getProperty("document.location.search");
return (_search);
}
public function get location():String{
if (_location){
return (_location);
};
if (!isAvailable()){
return (null);
};
_location = getPropertyString("document.location");
return (_location);
}
public function get pathname():String{
if (_pathname){
return (_pathname);
};
if (!isAvailable()){
return (null);
};
_pathname = getProperty("document.location.pathname");
return (_pathname);
}
public function get referrer():String{
if (_referrer){
return (_referrer);
};
if (!isAvailable()){
return (null);
};
_referrer = getProperty("document.referrer");
return (_referrer);
}
public function get protocol():String{
if (_protocol){
return (_protocol);
};
if (!isAvailable()){
return (null);
};
_protocol = getProperty("document.location.protocol");
return (_protocol);
}
public function cacheProperties():void{
var _local1:Object;
if (!isAvailable()){
return;
};
_local1 = call(cache_properties_js);
if (_local1){
_host = _local1.host;
_language = _local1.language;
_characterSet = _local1.characterSet;
_colorDepth = _local1.colorDepth;
_location = _local1.location;
_pathname = _local1.pathname;
_protocol = _local1.protocol;
_search = _local1.search;
_referrer = _local1.referrer;
_title = _local1.title;
};
}
public function get colorDepth():String{
if (_colorDepth){
return (_colorDepth);
};
if (!isAvailable()){
return (null);
};
_colorDepth = getProperty("window.screen.colorDepth");
return (_colorDepth);
}
public function get title():String{
if (_title){
return (_title);
};
if (!isAvailable()){
return (null);
};
_title = getProperty("document.title");
return (_title);
}
public function get host():String{
if (_host){
return (_host);
};
if (!isAvailable()){
return (null);
};
_host = getProperty("document.location.host");
return (_host);
}
public function get characterSet():String{
var _local1:String;
if (_characterSet){
return (_characterSet);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("document.characterSet");
if (_local1 == null){
_local1 = getProperty("document.charset");
};
_characterSet = _local1;
return (_characterSet);
}
public function get language():String{
var _local1:String;
if (_language){
return (_language);
};
if (!isAvailable()){
return (null);
};
_local1 = getProperty("navigator.language");
if (_local1 == null){
_local1 = getProperty("navigator.browserLanguage");
};
_language = _local1;
return (_language);
}
}
}//package com.google.analytics.external
Section 145
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import com.google.analytics.debug.*;
import flash.system.*;
import flash.external.*;
public class JavascriptProxy {
private var _notAvailableWarning:Boolean;// = true
private var _debug:DebugConfiguration;
public static var setProperty_js:XML = <script>
<![CDATA[
function( path , value )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
target[ prop ] = value ;
}
]]>
</script>
;
public static var hasProperty_js:XML = <script>
<![CDATA[
function( path )
{
var paths;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
}
else
{
paths = [path];
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
if( target )
{
return true;
}
else
{
return false;
}
}
]]>
</script>
;
public static var setPropertyRef_js:XML = <script>
<![CDATA[
function( path , target )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
alert( "paths:"+paths.length+", prop:"+prop );
var targets;
var name;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
alert( "targets:"+targets.length+", name:"+name );
var root = window;
var len = paths.length;
for( var i = 0 ; i < len ; i++ )
{
root = root[ paths[i] ] ;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
root[ prop ] = ref[name] ;
}
]]>
</script>
;
public function JavascriptProxy(_arg1:DebugConfiguration){
_notAvailableWarning = true;
super();
_debug = _arg1;
}
public function getProperty(_arg1:String){
return (call((_arg1 + ".valueOf")));
}
public function hasProperty(_arg1:String):Boolean{
return (call(hasProperty_js, _arg1));
}
public function setProperty(_arg1:String, _arg2):void{
call(setProperty_js, _arg1, _arg2);
}
public function executeBlock(_arg1:String):void{
var data = _arg1;
if (isAvailable()){
try {
ExternalInterface.call(data);
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
}
public function getPropertyString(_arg1:String):String{
return (call((_arg1 + ".toString")));
}
public function setPropertyByReference(_arg1:String, _arg2:String):void{
call(setPropertyRef_js, _arg1, _arg2);
}
public function call(_arg1:String, ... _args){
var output:String;
var functionName = _arg1;
var args = _args;
if (isAvailable()){
try {
if (((_debug.javascript) && (_debug.verbose))){
output = "";
output = ("Flash->JS: " + functionName);
output = (output + "( ");
if (args.length > 0){
output = (output + args.join(","));
};
output = (output + " )");
_debug.info(output);
};
args.unshift(functionName);
return (ExternalInterface.call.apply(ExternalInterface, args));
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
return (null);
}
public function isAvailable():Boolean{
var _local1:Boolean;
_local1 = ExternalInterface.available;
if (((_local1) && ((Capabilities.playerType == "External")))){
_local1 = false;
};
if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){
_debug.warning("ExternalInterface is not available.");
_notAvailableWarning = false;
};
return (_local1);
}
}
}//package com.google.analytics.external
Section 146
//Environment (com.google.analytics.utils.Environment)
package com.google.analytics.utils {
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import com.google.analytics.external.*;
import flash.system.*;
public class Environment {
private var _dom:HTMLDOM;
private var _appName:String;
private var _debug:DebugConfiguration;
private var _appVersion:Version;
private var _url:String;
private var _protocol:Protocols;
private var _userAgent:UserAgent;
public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){
var _local6:Version;
super();
if (_arg2 == ""){
if (isAIR()){
_arg2 = "AIR";
} else {
_arg2 = "Flash";
};
};
if (_arg3 == ""){
_local6 = flashVersion;
} else {
_local6 = Version.fromString(_arg3);
};
_url = _arg1;
_appName = _arg2;
_appVersion = _local6;
_debug = _arg4;
_dom = _arg5;
}
public function isAIR():Boolean{
return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application"))));
}
public function get playerType():String{
return (Capabilities.playerType);
}
public function get locationSearch():String{
var _local1:String;
_local1 = _dom.search;
if (_local1){
return (_local1);
};
return ("");
}
public function get protocol():Protocols{
if (!_protocol){
_findProtocol();
};
return (_protocol);
}
public function get flashVersion():Version{
var _local1:Version;
_local1 = Version.fromString(Capabilities.version.split(" ")[1], ",");
return (_local1);
}
public function get screenWidth():Number{
return (Capabilities.screenResolutionX);
}
public function get languageEncoding():String{
var _local1:String;
if (System.useCodePage){
_local1 = _dom.characterSet;
if (_local1){
return (_local1);
};
return ("-");
};
return ("UTF-8");
}
public function get appName():String{
return (_appName);
}
public function get screenColorDepth():String{
var _local1:String;
var _local2:String;
switch (Capabilities.screenColor){
case "bw":
_local1 = "1";
break;
case "gray":
_local1 = "2";
break;
case "color":
default:
_local1 = "24";
};
_local2 = _dom.colorDepth;
if (_local2){
_local1 = _local2;
};
return (_local1);
}
private function _findProtocol():void{
var _local1:Protocols;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:String;
_local1 = Protocols.none;
if (_url != ""){
_local4 = _url.toLowerCase();
_local5 = _local4.substr(0, 5);
switch (_local5){
case "file:":
_local1 = Protocols.file;
break;
case "http:":
_local1 = Protocols.HTTP;
break;
case "https":
if (_local4.charAt(5) == ":"){
_local1 = Protocols.HTTPS;
};
break;
default:
_protocol = Protocols.none;
};
};
_local2 = _dom.protocol;
_local3 = (_local1.toString() + ":").toLowerCase();
if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){
_debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2));
};
_protocol = _local1;
}
public function get locationSWFPath():String{
return (_url);
}
public function get platform():String{
var _local1:String;
_local1 = Capabilities.manufacturer;
return (_local1.split("Adobe ")[1]);
}
public function get operatingSystem():String{
return (Capabilities.os);
}
public function set appName(_arg1:String):void{
_appName = _arg1;
userAgent.applicationProduct = _arg1;
}
public function get userAgent():UserAgent{
if (!_userAgent){
_userAgent = new UserAgent(this, appName, appVersion.toString(4));
};
return (_userAgent);
}
ga_internal function set url(_arg1:String):void{
_url = _arg1;
}
public function get referrer():String{
var _local1:String;
_local1 = _dom.referrer;
if (_local1){
return (_local1);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function isInHTML():Boolean{
return ((Capabilities.playerType == "PlugIn"));
}
public function get language():String{
var _local1:String;
var _local2:String;
_local1 = _dom.language;
_local2 = Capabilities.language;
if (_local1){
if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){
_local2 = _local1;
};
};
return (_local2);
}
public function get domainName():String{
var _local1:String;
var _local2:String;
var _local3:int;
if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){
_local1 = _url.toLowerCase();
if (protocol == Protocols.HTTP){
_local2 = _local1.split("http://").join("");
} else {
if (protocol == Protocols.HTTPS){
_local2 = _local1.split("https://").join("");
};
};
_local3 = _local2.indexOf("/");
if (_local3 > -1){
_local2 = _local2.substring(0, _local3);
};
return (_local2);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function set userAgent(_arg1:UserAgent):void{
_userAgent = _arg1;
}
public function set appVersion(_arg1:Version):void{
_appVersion = _arg1;
userAgent.applicationVersion = _arg1.toString(4);
}
public function get screenHeight():Number{
return (Capabilities.screenResolutionY);
}
public function get locationPath():String{
var _local1:String;
_local1 = _dom.pathname;
if (_local1){
return (_local1);
};
return ("");
}
public function get documentTitle():String{
var _local1:String;
_local1 = _dom.title;
if (_local1){
return (_local1);
};
return ("");
}
public function get appVersion():Version{
return (_appVersion);
}
}
}//package com.google.analytics.utils
Section 147
//Protocols (com.google.analytics.utils.Protocols)
package com.google.analytics.utils {
public class Protocols {
private var _value:int;
private var _name:String;
public static const none:Protocols = new Protocols(0, "none");
;
public static const HTTPS:Protocols = new Protocols(3, "HTTPS");
;
public static const file:Protocols = new Protocols(1, "file");
;
public static const HTTP:Protocols = new Protocols(2, "HTTP");
;
public function Protocols(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.utils
Section 148
//Timespan (com.google.analytics.utils.Timespan)
package com.google.analytics.utils {
public class Timespan {
public static var sixmonths:Number = 15768000;
public static var twoyears:Number = 63072000;
public static var thirtyminutes:Number = 1800;
}
}//package com.google.analytics.utils
Section 149
//URL (com.google.analytics.utils.URL)
package com.google.analytics.utils {
public class URL {
private var _url:String;
public function URL(_arg1:String=""){
_url = _arg1.toLowerCase();
}
public function get domain():String{
var _local1:Array;
if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){
_local1 = hostName.split(".");
switch (_local1.length){
case 2:
return (hostName);
case 3:
if (_local1[1] == "co"){
return (hostName);
};
_local1.shift();
return (_local1.join("."));
case 4:
_local1.shift();
return (_local1.join("."));
};
};
return ("");
}
public function get path():String{
var _local1:String;
_local1 = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if (_local1.charAt(0) != "/"){
_local1 = ("/" + _local1);
};
return (_local1);
}
public function get search():String{
var _local1:String;
_local1 = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[1];
} else {
_local1 = "";
};
return (_local1);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get protocol():Protocols{
var _local1:String;
_local1 = _url.split("://")[0];
switch (_local1){
case "file":
return (Protocols.file);
case "http":
return (Protocols.HTTP);
case "https":
return (Protocols.HTTPS);
default:
return (Protocols.none);
};
}
public function get hostName():String{
var _local1:String;
_local1 = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf("/") > -1){
_local1 = _local1.split("/")[0];
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){
return ("");
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 150
//UserAgent (com.google.analytics.utils.UserAgent)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import flash.system.*;
public class UserAgent {
private var _version:Version;
private var _localInfo:Environment;
private var _applicationProduct:String;
public static var minimal:Boolean = false;
public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){
_localInfo = _arg1;
applicationProduct = _arg2;
_version = Version.fromString(_arg3);
}
public function get tamarinProductToken():String{
if (UserAgent.minimal){
return ("");
};
if (System.vmVersion){
return (("Tamarin/" + Utils.trim(System.vmVersion, true)));
};
return ("");
}
public function set applicationProduct(_arg1:String):void{
_applicationProduct = _arg1;
}
public function get applicationVersion():String{
return (_version.toString(2));
}
public function get applicationProductToken():String{
var _local1:String;
_local1 = applicationProduct;
if (applicationVersion != ""){
_local1 = (_local1 + ("/" + applicationVersion));
};
return (_local1);
}
public function get vendorProductToken():String{
var _local1:String;
_local1 = "";
if (_localInfo.isAIR()){
_local1 = (_local1 + "AIR");
} else {
_local1 = (_local1 + "FlashPlayer");
};
_local1 = (_local1 + "/");
_local1 = (_local1 + _version.toString(3));
return (_local1);
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + applicationProductToken);
if (applicationComment != ""){
_local1 = (_local1 + (" " + applicationComment));
};
if (tamarinProductToken != ""){
_local1 = (_local1 + (" " + tamarinProductToken));
};
if (vendorProductToken != ""){
_local1 = (_local1 + (" " + vendorProductToken));
};
return (_local1);
}
public function get applicationComment():String{
var _local1:Array;
_local1 = [];
_local1.push(_localInfo.platform);
_local1.push(_localInfo.playerType);
if (!UserAgent.minimal){
_local1.push(_localInfo.operatingSystem);
_local1.push(_localInfo.language);
};
if (Capabilities.isDebugger){
_local1.push("DEBUG");
};
if (_local1.length > 0){
return ((("(" + _local1.join("; ")) + ")"));
};
return ("");
}
public function set applicationVersion(_arg1:String):void{
_version = Version.fromString(_arg1);
}
public function get applicationProduct():String{
return (_applicationProduct);
}
}
}//package com.google.analytics.utils
Section 151
//Variables (com.google.analytics.utils.Variables)
package com.google.analytics.utils {
import flash.net.*;
public dynamic class Variables {
public var post:Array;
public var URIencode:Boolean;
public var pre:Array;
public var sort:Boolean;// = true
public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){
pre = [];
post = [];
sort = true;
super();
if (_arg1){
decode(_arg1);
};
if (_arg2){
this.pre = _arg2;
};
if (_arg3){
this.post = _arg3;
};
}
private function _join(_arg1:Variables):void{
var _local2:String;
if (!_arg1){
return;
};
for (_local2 in _arg1) {
this[_local2] = _arg1[_local2];
};
}
public function join(... _args):void{
var _local2:int;
var _local3:int;
_local2 = _args.length;
_local3 = 0;
while (_local3 < _local2) {
if (!(_args[_local3] is Variables)){
} else {
_join(_args[_local3]);
};
_local3++;
};
}
public function toString():String{
var _local1:Array;
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
_local1 = [];
for (_local3 in this) {
_local2 = this[_local3];
if (URIencode){
_local2 = encodeURI(_local2);
};
_local1.push(((_local3 + "=") + _local2));
};
if (sort){
_local1.sort();
};
if (pre.length > 0){
pre.reverse();
_local5 = 0;
while (_local5 < pre.length) {
_local7 = pre[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local7) == 0){
_local1.unshift(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
pre.reverse();
};
if (post.length > 0){
_local5 = 0;
while (_local5 < post.length) {
_local8 = post[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local8) == 0){
_local1.push(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
};
return (_local1.join("&"));
}
public function decode(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:Array;
var _local7:int;
if (_arg1 == ""){
return;
};
if (_arg1.charAt(0) == "?"){
_arg1 = _arg1.substr(1, _arg1.length);
};
if (_arg1.indexOf("&") > -1){
_local2 = _arg1.split("&");
} else {
_local2 = [_arg1];
};
_local7 = 0;
while (_local7 < _local2.length) {
_local3 = _local2[_local7];
if (_local3.indexOf("=") > -1){
_local6 = _local3.split("=");
_local4 = _local6[0];
_local5 = decodeURI(_local6[1]);
this[_local4] = _local5;
};
_local7++;
};
}
public function toURLVariables():URLVariables{
var _local1:URLVariables;
var _local2:String;
_local1 = new URLVariables();
for (_local2 in this) {
_local1[_local2] = this[_local2];
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 152
//Version (com.google.analytics.utils.Version)
package com.google.analytics.utils {
public class Version {
private var _maxBuild:uint;// = 0xFF
private var _maxMinor:uint;// = 15
private var _maxMajor:uint;// = 15
private var _revision:uint;
private var _separator:String;// = "."
private var _maxRevision:uint;// = 0xFFFF
private var _build:uint;
private var _minor:uint;
private var _major:uint;
public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){
var _local5:Version;
_maxMajor = 15;
_maxMinor = 15;
_maxBuild = 0xFF;
_maxRevision = 0xFFFF;
_separator = ".";
super();
if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){
_local5 = Version.fromNumber(_arg1);
_arg1 = _local5.major;
_arg2 = _local5.minor;
_arg3 = _local5.build;
_arg4 = _local5.revision;
};
this.major = _arg1;
this.minor = _arg2;
this.build = _arg3;
this.revision = _arg4;
}
public function toString(_arg1:int=0):String{
var _local2:Array;
if ((((_arg1 <= 0)) || ((_arg1 > 4)))){
_arg1 = getFields();
};
switch (_arg1){
case 1:
_local2 = [major];
break;
case 2:
_local2 = [major, minor];
break;
case 3:
_local2 = [major, minor, build];
break;
case 4:
default:
_local2 = [major, minor, build, revision];
};
return (_local2.join(_separator));
}
public function get revision():uint{
return (_revision);
}
public function set build(_arg1:uint):void{
_build = Math.min(_arg1, _maxBuild);
}
public function set minor(_arg1:uint):void{
_minor = Math.min(_arg1, _maxMinor);
}
public function get build():uint{
return (_build);
}
public function set major(_arg1:uint):void{
_major = Math.min(_arg1, _maxMajor);
}
public function get minor():uint{
return (_minor);
}
public function valueOf():uint{
return (((((major << 28) | (minor << 24)) | (build << 16)) | revision));
}
public function get major():uint{
return (_major);
}
public function set revision(_arg1:uint):void{
_revision = Math.min(_arg1, _maxRevision);
}
private function getFields():int{
var _local1:int;
_local1 = 4;
if (revision == 0){
_local1--;
};
if ((((_local1 == 3)) && ((build == 0)))){
_local1--;
};
if ((((_local1 == 2)) && ((minor == 0)))){
_local1--;
};
return (_local1);
}
public function equals(_arg1):Boolean{
if (!(_arg1 is Version)){
return (false);
};
if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){
return (true);
};
return (false);
}
public static function fromString(_arg1:String="", _arg2:String="."):Version{
var _local3:Version;
var _local4:Array;
_local3 = new (Version);
if ((((_arg1 == "")) || ((_arg1 == null)))){
return (_local3);
};
if (_arg1.indexOf(_arg2) > -1){
_local4 = _arg1.split(_arg2);
_local3.major = parseInt(_local4[0]);
_local3.minor = parseInt(_local4[1]);
_local3.build = parseInt(_local4[2]);
_local3.revision = parseInt(_local4[3]);
} else {
_local3.major = parseInt(_arg1);
};
return (_local3);
}
public static function fromNumber(_arg1:Number=0):Version{
var _local2:Version;
_local2 = new (Version);
if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){
return (_local2);
};
_local2.major = (_arg1 >>> 28);
_local2.minor = ((_arg1 & 251658240) >>> 24);
_local2.build = ((_arg1 & 0xFF0000) >>> 16);
_local2.revision = (_arg1 & 0xFFFF);
return (_local2);
}
}
}//package com.google.analytics.utils
Section 153
//Bridge (com.google.analytics.v4.Bridge)
package com.google.analytics.v4 {
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import com.google.analytics.external.*;
public class Bridge implements GoogleAnalyticsAPI {
private var _debug:DebugConfiguration;
private var _proxy:JavascriptProxy;
private var _jsContainer:String;// = "_GATracker"
private var _hasGATracker:Boolean;// = false
private var _account:String;
private static var _linkTrackingObject_js:XML = <script>
<![CDATA[
function( container , target )
{
var targets ;
var name ;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
window[container][target] = ref[name] ;
}
]]>
</script>
;
private static var _createTrackingObject_js:XML = <script>
<![CDATA[
function( acct )
{
_GATracker[acct] = _gat._getTracker(acct);
}
]]>
</script>
;
private static var _injectTrackingObject_js:XML = <script>
<![CDATA[
function()
{
try
{
_GATracker
}
catch(e)
{
_GATracker = {};
}
}
]]>
</script>
;
private static var _checkGAJS_js:XML = <script>
<![CDATA[
function()
{
if( _gat && _gat._getTracker )
{
return true;
}
return false;
}
]]>
</script>
;
private static var _checkValidTrackingObject_js:XML = <script>
<![CDATA[
function(acct)
{
if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
{
return true ;
}
else
{
return false;
}
}
]]>
</script>
;
public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){
var _local4:String;
var _local5:String;
var _local6:String;
_hasGATracker = false;
_jsContainer = "_GATracker";
super();
_account = _arg1;
_debug = _arg2;
_proxy = _arg3;
if (!_checkGAJS()){
_local4 = "";
_local4 = (_local4 + "ga.js not found, be sure to check if\n");
_local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n");
_local4 = (_local4 + "is included in the HTML.");
_debug.warning(_local4);
throw (new Error(_local4));
};
if (!_hasGATracker){
if (((_debug.javascript) && (_debug.verbose))){
_local5 = "";
_local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n");
_local5 = (_local5 + "we create it");
_debug.info(_local5, VisualDebugMode.advanced);
};
_injectTrackingObject();
};
if (Utils.validateAccount(_arg1)){
_createTrackingObject(_arg1);
} else {
if (_checkTrackingObject(_arg1)){
_linkTrackingObject(_arg1);
} else {
_local6 = "";
_local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n"));
_local6 = (_local6 + "Bridge object not created.");
_debug.warning(_local6);
throw (new Error(_local6));
};
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )"));
_call("_link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_call("_addOrganic", _arg1);
}
public function setAllowLinker(_arg1:Boolean):void{
_debug.info((("setAllowLinker( " + _arg1) + " )"));
_call("_setAllowLinker", _arg1);
}
public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{
_debug.info((((("getLinkerUrl(" + _arg1) + ", ") + _arg2) + ")"));
return (_call("_getLinkerUrl", _arg1, _arg2));
}
private function _linkTrackingObject(_arg1:String):void{
_proxy.call(_linkTrackingObject_js, _jsContainer, _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
_debug.info((("setClientInfo( " + _arg1) + " )"));
_call("_setClientInfo", _arg1);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
_call("_trackPageview", _arg1);
}
public function setCookieTimeout(_arg1:int):void{
_debug.info((("setCookieTimeout( " + _arg1) + " )"));
_call("_setCookieTimeout", _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:int;
_local5 = 2;
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = 3;
};
if ((((_local5 == 3)) && (!(isNaN(_arg4))))){
_local5 = 4;
};
switch (_local5){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4));
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3));
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2));
};
}
private function _checkValidTrackingObject(_arg1:String):Boolean{
return (_proxy.call(_checkValidTrackingObject_js, _arg1));
}
private function _checkGAJS():Boolean{
return (_proxy.call(_checkGAJS_js));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented"));
}
private function _call(_arg1:String, ... _args){
_args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1));
return (_proxy.call.apply(_proxy, _args));
}
public function hasGAJS():Boolean{
return (_checkGAJS());
}
private function _checkTrackingObject(_arg1:String):Boolean{
var _local2:Boolean;
var _local3:Boolean;
_local2 = _proxy.hasProperty(_arg1);
_local3 = _proxy.hasProperty((_arg1 + "._getAccount"));
return (((_local2) && (_local3)));
}
public function resetSession():void{
_debug.warning("resetSession() not implemented");
}
public function setDetectFlash(_arg1:Boolean):void{
_debug.info((("setDetectFlash( " + _arg1) + " )"));
_call("_setDetectFlash", _arg1);
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_call("_getDetectTitle"));
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
public function setCampNameKey(_arg1:String):void{
_debug.info((("setCampNameKey( " + _arg1) + " )"));
_call("_setCampNameKey", _arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )"));
_call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_call("_clearIgnoreOrganic");
}
public function setVar(_arg1:String):void{
_debug.info((("setVar( " + _arg1) + " )"));
_call("_setVar", _arg1);
}
public function setDomainName(_arg1:String):void{
_debug.info((("setDomainName( " + _arg1) + " )"));
_call("_setDomainName", _arg1);
}
public function hasTrackingAccount(_arg1:String):Boolean{
if (Utils.validateAccount(_arg1)){
return (_checkValidTrackingObject(_arg1));
};
return (_checkTrackingObject(_arg1));
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{
_debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )"));
_call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setCampSourceKey(_arg1:String):void{
_debug.info((("setCampSourceKey( " + _arg1) + " )"));
_call("_setCampSourceKey", _arg1);
}
public function setCampContentKey(_arg1:String):void{
_debug.info((("setCampContentKey( " + _arg1) + " )"));
_call("_setCampContentKey", _arg1);
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
public function setAllowAnchor(_arg1:Boolean):void{
_debug.info((("setAllowAnchor( " + _arg1) + " )"));
_call("_setAllowAnchor", _arg1);
}
public function setLocalGifPath(_arg1:String):void{
_debug.info((("setLocalGifPath( " + _arg1) + " )"));
_call("_setLocalGifPath", _arg1);
}
public function getVersion():String{
_debug.info("getVersion()");
return (_call("_getVersion"));
}
private function _injectTrackingObject():void{
_proxy.executeBlock(_injectTrackingObject_js);
_hasGATracker = true;
}
public function setCookiePath(_arg1:String):void{
_debug.info((("setCookiePath( " + _arg1) + " )"));
_call("_setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
_debug.info((("setSampleRate( " + _arg1) + " )"));
_call("_setSampleRate", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_debug.info((("setAllowHash( " + _arg1) + " )"));
_call("_setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_call("_addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
_debug.info((("setCampNOKey( " + _arg1) + " )"));
_call("_setCampNOKey", _arg1);
}
public function cookiePathCopy(_arg1:String):void{
_debug.info((("cookiePathCopy( " + _arg1) + " )"));
_call("_cookiePathCopy", _arg1);
}
public function setLocalRemoteServerMode():void{
_debug.info("setLocalRemoteServerMode()");
_call("_setLocalRemoteServerMode");
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_call("_getServiceMode"));
}
public function setDetectTitle(_arg1:Boolean):void{
_debug.info((("setDetectTitle( " + _arg1) + " )"));
_call("_setDetectTitle", _arg1);
}
public function setCampTermKey(_arg1:String):void{
_debug.info((("setCampTermKey( " + _arg1) + " )"));
_call("_setCampTermKey", _arg1);
}
private function _createTrackingObject(_arg1:String):void{
_proxy.call(_createTrackingObject_js, _arg1);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampaignTrack(_arg1:Boolean):void{
_debug.info((("setCampaignTrack( " + _arg1) + " )"));
_call("_setCampaignTrack", _arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_call("_addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
_debug.info((("setCampMediumKey( " + _arg1) + " )"));
_call("_setCampMediumKey", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
_debug.info((("setSessionTimeout( " + _arg1) + " )"));
_call("_setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
_debug.info("setRemoteServerMode()");
_call("_setRemoteServerMode");
}
public function getAccount():String{
_debug.info("getAccount()");
return (_call("_getAccount"));
}
}
}//package com.google.analytics.v4
Section 154
//Configuration (com.google.analytics.v4.Configuration)
package com.google.analytics.v4 {
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import com.google.analytics.utils.*;
import com.google.analytics.campaign.*;
public class Configuration {
public var serverMode:ServerOperationMode;
public var detectFlash:Boolean;// = true
public var allowLocalTracking:Boolean;// = true
public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif"
public var hasSiteOverlay:Boolean;// = false
private var _version:String;// = "4.3as"
public var allowDomainHash:Boolean;// = true
public var detectClientInfo:Boolean;// = true
public var idleLoop:Number;// = 30
public var isTrackOutboundSubdomains:Boolean;// = false
public var cookiePath:String;// = "/"
public var transactionFieldDelim:String;// = "|"
private var _organic:Organic;
private var _cookieName:String;// = "analytics"
public var campaignKey:CampaignKey;
public var google:String;// = "google"
public var googleCsePath:String;// = "cse"
public var bucketCapacity:Number;// = 10
private var _sampleRate:Number;// = 1
public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif"
public var googleSearchParam:String;// = "q"
public var allowLinker:Boolean;// = false
public var maxOutboundLinkExamined:Number;// = 1000
private var _debug:DebugConfiguration;
private var _trackingLimitPerSession:int;// = 500
private var _domain:Domain;
public var allowAnchor:Boolean;// = false
public var tokenCliff:int;// = 10
public var sessionTimeout:Number;
public var idleTimeout:Number;// = 60
public var campaignTracking:Boolean;// = true
public var domainName:String;// = ""
public var detectTitle:Boolean;// = true
public var tokenRate:Number;// = 0.2
public var conversionTimeout:Number;
public var localGIFpath:String;// = "/__utm.gif"
public function Configuration(_arg1:DebugConfiguration=null){
_version = "4.3as";
_sampleRate = 1;
_trackingLimitPerSession = 500;
_organic = new Organic();
googleCsePath = "cse";
googleSearchParam = "q";
google = "google";
_cookieName = "analytics";
allowDomainHash = true;
allowAnchor = false;
allowLinker = false;
hasSiteOverlay = false;
tokenRate = 0.2;
conversionTimeout = Timespan.sixmonths;
sessionTimeout = Timespan.thirtyminutes;
idleLoop = 30;
idleTimeout = 60;
maxOutboundLinkExamined = 1000;
tokenCliff = 10;
bucketCapacity = 10;
detectClientInfo = true;
detectFlash = true;
detectTitle = true;
campaignKey = new CampaignKey();
campaignTracking = true;
isTrackOutboundSubdomains = false;
serverMode = ServerOperationMode.remote;
localGIFpath = "/__utm.gif";
remoteGIFpath = "http://www.google-analytics.com/__utm.gif";
secureRemoteGIFpath = "https://ssl.google-analytics.com/__utm.gif";
cookiePath = "/";
transactionFieldDelim = "|";
domainName = "";
allowLocalTracking = true;
super();
_debug = _arg1;
_domain = new Domain(DomainNameMode.auto, "", _debug);
serverMode = ServerOperationMode.remote;
_initOrganicSources();
}
public function get organic():Organic{
return (_organic);
}
public function get trackingLimitPerSession():int{
return (_trackingLimitPerSession);
}
private function _initOrganicSources():void{
addOrganicSource(google, googleSearchParam);
addOrganicSource("yahoo", "p");
addOrganicSource("msn", "q");
addOrganicSource("aol", "query");
addOrganicSource("aol", "encquery");
addOrganicSource("lycos", "query");
addOrganicSource("ask", "q");
addOrganicSource("altavista", "q");
addOrganicSource("netscape", "query");
addOrganicSource("cnn", "query");
addOrganicSource("looksmart", "qt");
addOrganicSource("about", "terms");
addOrganicSource("mamma", "query");
addOrganicSource("alltheweb", "q");
addOrganicSource("gigablast", "q");
addOrganicSource("voila", "rdata");
addOrganicSource("virgilio", "qs");
addOrganicSource("live", "q");
addOrganicSource("baidu", "wd");
addOrganicSource("alice", "qs");
addOrganicSource("yandex", "text");
addOrganicSource("najdi", "q");
addOrganicSource("aol", "q");
addOrganicSource("club-internet", "q");
addOrganicSource("mama", "query");
addOrganicSource("seznam", "q");
addOrganicSource("search", "q");
addOrganicSource("wp", "szukaj");
addOrganicSource("onet", "qt");
addOrganicSource("netsprint", "q");
addOrganicSource("google.interia", "q");
addOrganicSource("szukacz", "q");
addOrganicSource("yam", "k");
addOrganicSource("pchome", "q");
addOrganicSource("kvasir", "searchExpr");
addOrganicSource("sesam", "q");
addOrganicSource("ozu", "q");
addOrganicSource("terra", "query");
addOrganicSource("nostrum", "query");
addOrganicSource("mynet", "q");
addOrganicSource("ekolay", "q");
addOrganicSource("search.ilse", "search_for");
}
public function get sampleRate():Number{
return (_sampleRate);
}
public function get cookieName():String{
return (_cookieName);
}
public function addOrganicSource(_arg1:String, _arg2:String):void{
var engine = _arg1;
var keyword = _arg2;
try {
_organic.addSource(engine, keyword);
} catch(e:Error) {
if (((_debug) && (_debug.active))){
_debug.warning(e.message);
};
};
}
public function get domain():Domain{
return (_domain);
}
public function set sampleRate(_arg1:Number):void{
if (_arg1 <= 0){
_arg1 = 0.1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_arg1 = Number(_arg1.toFixed(2));
_sampleRate = _arg1;
}
public function get version():String{
return (_version);
}
}
}//package com.google.analytics.v4
Section 155
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
"_-6B"?? function setCampSourceKey(_arg1:String):void;
"_-6B"?? function setCampContentKey(_arg1:String):void;
"_-6B"?? function addOrganic(_arg1:String, _arg2:String):void;
"_-6B"?? function setAllowLinker(_arg1:Boolean):void;
"_-6B"?? function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String;
"_-6B"?? function getLocalGifPath():String;
"_-6B"?? function clearIgnoredRef():void;
"_-6B"?? function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void;
"_-6B"?? function setCookieTimeout(_arg1:int):void;
"_-6B"?? function setAllowAnchor(_arg1:Boolean):void;
"_-6B"?? function trackTrans():void;
"_-6B"?? function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
"_-6B"?? function trackPageview(_arg1:String=""):void;
"_-6B"?? function setLocalGifPath(_arg1:String):void;
"_-6B"?? function getVersion():String;
"_-6B"?? function setLocalServerMode():void;
"_-6B"?? function setClientInfo(_arg1:Boolean):void;
"_-6B"?? function setCookiePath(_arg1:String):void;
"_-6B"?? function setSampleRate(_arg1:Number):void;
"_-6B"?? function linkByPost(_arg1:Object, _arg2:Boolean=false):void;
"_-6B"?? function setDetectTitle(_arg1:Boolean):void;
"_-6B"?? function setLocalRemoteServerMode():void;
"_-6B"?? function addIgnoredOrganic(_arg1:String):void;
"_-6B"?? function setCampNOKey(_arg1:String):void;
"_-6B"?? function setAllowHash(_arg1:Boolean):void;
"_-6B"?? function cookiePathCopy(_arg1:String):void;
"_-6B"?? function getDetectTitle():Boolean;
"_-6B"?? function getServiceMode():ServerOperationMode;
"_-6B"?? function resetSession():void;
"_-6B"?? function getClientInfo():Boolean;
"_-6B"?? function setDetectFlash(_arg1:Boolean):void;
"_-6B"?? function setCampTermKey(_arg1:String):void;
"_-6B"?? function setCampNameKey(_arg1:String):void;
"_-6B"?? function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void;
"_-6B"?? function getDetectFlash():Boolean;
"_-6B"?? function setCampaignTrack(_arg1:Boolean):void;
"_-6B"?? function createEventTracker(_arg1:String):EventTracker;
"_-6B"?? function clearOrganic():void;
"_-6B"?? function addIgnoredRef(_arg1:String):void;
"_-6B"?? function setVar(_arg1:String):void;
"_-6B"?? function clearIgnoredOrganic():void;
"_-6B"?? function setCampMediumKey(_arg1:String):void;
"_-6B"?? function setSessionTimeout(_arg1:int):void;
"_-6B"?? function setRemoteServerMode():void;
"_-6B"?? function setDomainName(_arg1:String):void;
"_-6B"?? function getAccount():String;
"_-6B"?? function link(_arg1:String, _arg2:Boolean=false):void;
}
}//package com.google.analytics.v4
Section 156
//Tracker (com.google.analytics.v4.Tracker)
package com.google.analytics.v4 {
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
import flash.net.*;
import com.google.analytics.campaign.*;
import com.google.analytics.external.*;
import com.google.analytics.ecommerce.*;
public class Tracker implements GoogleAnalyticsAPI {
private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3;
private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1;
private const EVENT_TRACKER_PROJECT_ID:int = 5;
private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1;
private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2;
private var _adSense:AdSenseGlobals;
private var _eventTracker:X10;
private var _noSessionInformation:Boolean;// = false
private var _browserInfo:BrowserInfo;
private var _debug:DebugConfiguration;
private var _isNewVisitor:Boolean;// = false
private var _buffer:Buffer;
private var _config:Configuration;
private var _x10Module:X10;
private var _campaign:CampaignManager;
private var _formatedReferrer:String;
private var _timeStamp:Number;
private var _info:Environment;
private var _domainHash:Number;
private var _campaignInfo:CampaignInfo;
private var _gifRequest:GIFRequest;
private var _hasInitData:Boolean;// = false
private var _ecom:Ecommerce;
private var _account:String;
public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals, _arg8:Ecommerce){
var _local9:String;
_hasInitData = false;
_isNewVisitor = false;
_noSessionInformation = false;
super();
_account = _arg1;
_config = _arg2;
_debug = _arg3;
_info = _arg4;
_buffer = _arg5;
_gifRequest = _arg6;
_adSense = _arg7;
_ecom = _arg8;
if (!Utils.validateAccount(_arg1)){
_local9 = (("Account \"" + _arg1) + "\" is not valid.");
_debug.warning(_local9);
throw (new Error(_local9));
};
}
private function _doTracking():Boolean{
if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){
return (true);
};
if (_config.allowLocalTracking){
return (true);
};
return (false);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_config.organic.addSource(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_config.allowLinker = _arg1;
_debug.info((("setAllowLinker( " + _config.allowLinker) + " )"));
}
public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{
_initData();
_debug.info((((("getLinkerUrl( " + _arg1) + ", ") + _arg2.toString()) + " )"));
return (_buffer.getLinkerUrl(_arg1, _arg2));
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
if (_doTracking()){
_initData();
_trackMetrics(_arg1);
_noSessionInformation = false;
} else {
_debug.warning((("trackPageview( " + _arg1) + " ) failed"));
};
}
public function setCookieTimeout(_arg1:int):void{
_config.conversionTimeout = _arg1;
_debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )"));
}
public function trackTrans():void{
var _local1:Number;
var _local2:Number;
var _local3:Array;
var _local4:Transaction;
_initData();
_local3 = new Array();
if (_takeSample()){
_local1 = 0;
while (_local1 < _ecom.getTransLength()) {
_local4 = _ecom.getTransFromArray(_local1);
_local3.push(_local4.toGifParams());
_local2 = 0;
while (_local2 < _local4.getItemsLength()) {
_local3.push(_local4.getItemFromArray(_local2).toGifParams());
_local2++;
};
_local1++;
};
_local1 = 0;
while (_local1 < _local3.length) {
_gifRequest.send(_account, _local3[_local1]);
_local1++;
};
};
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:Boolean;
var _local6:int;
_initData();
_local5 = true;
_local6 = 2;
if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){
_eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID);
_eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2);
if (_arg3){
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3);
_local6 = 3;
};
if (!isNaN(_arg4)){
_local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4);
_local6 = 4;
};
if (_local5){
_debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_sendXEvent(_eventTracker);
};
} else {
_debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_local5 = false;
};
switch (_local6){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
break;
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
break;
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
};
return (_local5);
}
public function setClientInfo(_arg1:Boolean):void{
_config.detectClientInfo = _arg1;
_debug.info((("setClientInfo( " + _config.detectClientInfo) + " )"));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning("linkByPost not implemented in AS3 mode");
}
private function _initData():void{
var _local1:String;
var _local2:String;
if (!_hasInitData){
_updateDomainName();
_domainHash = _getDomainHash();
_timeStamp = Math.round((new Date().getTime() / 1000));
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "_initData 0");
_local1 = (_local1 + ("\ndomain name: " + _config.domainName));
_local1 = (_local1 + ("\ndomain hash: " + _domainHash));
_local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_doTracking()){
_handleCookie();
};
if (!_hasInitData){
if (_doTracking()){
_formatedReferrer = _formatReferrer();
_browserInfo = new BrowserInfo(_config, _info);
_debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced);
if (_config.campaignTracking){
_campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp);
_campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation);
_debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced);
_debug.info(("Search: " + _info.locationSearch));
_debug.info(("CampaignTrackig: " + _buffer.utmz.campaignTracking));
};
};
_x10Module = new X10();
_eventTracker = new X10();
_hasInitData = true;
};
if (_config.hasSiteOverlay){
_debug.warning("Site Overlay is not supported");
};
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "_initData (misc)");
_local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4)));
_local2 = (_local2 + ("\nprotocol: " + _info.protocol));
_local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\""));
_local2 = (_local2 + ("\nlanguage: " + _info.language));
_local2 = (_local2 + ("\ndomain hash: " + _getDomainHash()));
_local2 = (_local2 + ("\nuser-agent: " + _info.userAgent));
_debug.info(_local2, VisualDebugMode.geek);
};
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_config.detectTitle);
}
public function resetSession():void{
_debug.info("resetSession()");
_buffer.resetCurrentSession();
}
private function _sendXEvent(_arg1:X10=null):void{
var _local2:Variables;
var _local3:EventInfo;
var _local4:Variables;
var _local5:Variables;
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new EventInfo(true, _x10Module, _arg1);
_local4 = _local3.toVariables();
_local5 = _renderMetricsSearchVariables();
_local2.join(_local4, _local5);
_gifRequest.send(_account, _local2, false, true);
};
}
public function setDetectFlash(_arg1:Boolean):void{
_config.detectFlash = _arg1;
_debug.info((("setDetectFlash( " + _config.detectFlash) + " )"));
}
public function setCampNameKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCCN = _arg1;
_local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCN]"));
} else {
_debug.info(_local2);
};
}
private function _formatReferrer():String{
var _local1:String;
var _local2:String;
var _local3:URL;
var _local4:URL;
_local1 = _info.referrer;
if ((((_local1 == "")) || ((_local1 == "localhost")))){
_local1 = "-";
} else {
_local2 = _info.domainName;
_local3 = new URL(_local1);
_local4 = new URL(("http://" + _local2));
if (_local3.hostName == _local2){
return ("-");
};
if (_local4.domain == _local3.domain){
if (_local4.subDomain != _local3.subDomain){
_local1 = "0";
};
};
if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){
_local1 = "-";
};
};
_debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced);
return (_local1);
}
private function _visitCode():Number{
if (_debug.verbose){
_debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek);
};
return (_buffer.utma.sessionId);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
var _local7:Transaction;
_local7 = _ecom.getTransaction(_arg1);
if (_local7 == null){
_local7 = _ecom.addTransaction(_arg1, "", "", "", "", "", "", "");
};
_local7.addItem(_arg2, _arg3, _arg4, _arg5.toString(), _arg6.toString());
if (_debug.active){
_debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )"));
};
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_config.organic.clearIgnoredKeywords();
}
public function setVar(_arg1:String):void{
var _local2:Variables;
if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){
_initData();
_buffer.utmv.domainHash = _domainHash;
_buffer.utmv.value = encodeURI(_arg1);
if (_debug.verbose){
_debug.info(_buffer.utmv.toString(), VisualDebugMode.geek);
};
_debug.info((("setVar( " + _arg1) + " )"));
if (_takeSample()){
_local2 = new Variables();
_local2.utmt = "var";
_gifRequest.send(_account, _local2);
};
} else {
_debug.warning((("setVar \"" + _arg1) + "\" is ignored"));
};
}
public function setDomainName(_arg1:String):void{
if (_arg1 == "auto"){
_config.domain.mode = DomainNameMode.auto;
} else {
if (_arg1 == "none"){
_config.domain.mode = DomainNameMode.none;
} else {
_config.domain.mode = DomainNameMode.custom;
_config.domain.name = _arg1;
};
};
_updateDomainName();
_debug.info((("setDomainName( " + _config.domainName) + " )"));
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
private function _updateDomainName():void{
var _local1:String;
if (_config.domain.mode == DomainNameMode.auto){
_local1 = _info.domainName;
if (_local1.substring(0, 4) == "www."){
_local1 = _local1.substring(4);
};
_config.domain.name = _local1;
};
_config.domainName = _config.domain.name.toLowerCase();
_debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{
_ecom.addTransaction(_arg1, _arg2, _arg3.toString(), _arg4.toString(), _arg5.toString(), _arg6, _arg7, _arg8);
if (_debug.active){
_debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " );"));
};
}
public function setCampContentKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCCT = _arg1;
_local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCT]"));
} else {
_debug.info(_local2);
};
}
private function _handleCookie():void{
var _local1:String;
var _local2:String;
var _local3:Array;
var _local4:String;
if (_config.allowLinker){
};
_buffer.createSO();
if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){
if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){
_buffer.updateUTMA(_timeStamp);
_noSessionInformation = true;
};
if (_debug.verbose){
_debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek);
};
} else {
_debug.info("create a new utma", VisualDebugMode.advanced);
_buffer.utma.domainHash = _domainHash;
_buffer.utma.sessionId = _getUniqueSessionId();
_buffer.utma.firstTime = _timeStamp;
_buffer.utma.lastTime = _timeStamp;
_buffer.utma.currentTime = _timeStamp;
_buffer.utma.sessionCount = 1;
if (_debug.verbose){
_debug.info(_buffer.utma.toString(), VisualDebugMode.geek);
};
_noSessionInformation = true;
_isNewVisitor = true;
};
if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){
if (_adSense.sid){
_buffer.utma.currentTime = Number(_adSense.sid);
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "AdSense sid found\n");
_local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_isNewVisitor){
if (_adSense.sid){
_buffer.utma.lastTime = Number(_adSense.sid);
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "AdSense sid found (new visitor)\n");
_local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local2, VisualDebugMode.geek);
};
};
if (_adSense.vid){
_local3 = _adSense.vid.split(".");
_buffer.utma.sessionId = Number(_local3[0]);
_buffer.utma.firstTime = Number(_local3[1]);
if (_debug.verbose){
_local4 = "";
_local4 = (_local4 + "AdSense vid found (new visitor)\n");
_local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n"));
_local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")"));
_debug.info(_local4, VisualDebugMode.geek);
};
};
if (_debug.verbose){
_debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek);
};
};
};
_buffer.utmb.domainHash = _domainHash;
if (isNaN(_buffer.utmb.trackCount)){
_buffer.utmb.trackCount = 0;
};
if (isNaN(_buffer.utmb.token)){
_buffer.utmb.token = _config.tokenCliff;
};
if (isNaN(_buffer.utmb.lastTime)){
_buffer.utmb.lastTime = _buffer.utma.currentTime;
};
_buffer.utmc.domainHash = _domainHash;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced);
};
}
public function setLocalServerMode():void{
_config.serverMode = ServerOperationMode.local;
_debug.info("setLocalServerMode()");
}
private function _renderMetricsSearchVariables(_arg1:String=""):Variables{
var _local2:Variables;
var _local3:DocumentInfo;
var _local4:Variables;
var _local5:Variables;
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense);
_debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
_local4 = _campaignInfo.toVariables();
};
_local5 = _browserInfo.toVariables();
_local2.join(_local3.toVariables(), _local5, _local4);
return (_local2);
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCSR = _arg1;
_local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCSR]"));
} else {
_debug.info(_local2);
};
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_config.localGIFpath);
}
public function setLocalGifPath(_arg1:String):void{
_config.localGIFpath = _arg1;
_debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )"));
}
public function getVersion():String{
_debug.info("getVersion()");
return (_config.version);
}
public function setAllowAnchor(_arg1:Boolean):void{
_config.allowAnchor = _arg1;
_debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )"));
}
private function _isNotGoogleSearch():Boolean{
var _local1:String;
var _local2:Boolean;
var _local3:Boolean;
var _local4:Boolean;
var _local5:Boolean;
_local1 = _config.domainName;
_local2 = (_local1.indexOf("www.google.") < 0);
_local3 = (_local1.indexOf(".google.") < 0);
_local4 = (_local1.indexOf("google.") < 0);
_local5 = (_local1.indexOf("google.org") > -1);
return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5)));
}
public function setSampleRate(_arg1:Number):void{
if (_arg1 < 0){
_debug.warning("sample rate can not be negative, ignoring value.");
} else {
_config.sampleRate = _arg1;
};
_debug.info((("setSampleRate( " + _config.sampleRate) + " )"));
}
private function _takeSample():Boolean{
if (_debug.verbose){
_debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek);
};
return (((_visitCode() % 10000) < (_config.sampleRate * 10000)));
}
public function setCookiePath(_arg1:String):void{
_config.cookiePath = _arg1;
_debug.info((("setCookiePath( " + _config.cookiePath) + " )"));
}
public function setAllowHash(_arg1:Boolean):void{
_config.allowDomainHash = _arg1;
_debug.info((("setAllowHash( " + _config.allowDomainHash) + " )"));
}
private function _generateUserDataHash():Number{
var _local1:String;
_local1 = "";
_local1 = (_local1 + _info.appName);
_local1 = (_local1 + _info.appVersion);
_local1 = (_local1 + _info.language);
_local1 = (_local1 + _info.platform);
_local1 = (_local1 + _info.userAgent.toString());
_local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth));
_local1 = (_local1 + _info.referrer);
return (Utils.generateHash(_local1));
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_config.organic.addIgnoredKeyword(_arg1);
}
public function setLocalRemoteServerMode():void{
_config.serverMode = ServerOperationMode.both;
_debug.info("setLocalRemoteServerMode()");
}
public function cookiePathCopy(_arg1:String):void{
_debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented"));
}
public function setDetectTitle(_arg1:Boolean):void{
_config.detectTitle = _arg1;
_debug.info((("setDetectTitle( " + _config.detectTitle) + " )"));
}
public function setCampTermKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCTR = _arg1;
_local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCTR]"));
} else {
_debug.info(_local2);
};
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_config.serverMode);
}
public function setCampNOKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCNO = _arg1;
_local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCNO]"));
} else {
_debug.info(_local2);
};
}
private function _trackMetrics(_arg1:String=""):void{
var _local2:Variables;
var _local3:Variables;
var _local4:Variables;
var _local5:EventInfo;
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
if (((_x10Module) && (_x10Module.hasData()))){
_local5 = new EventInfo(false, _x10Module);
_local3 = _local5.toVariables();
};
_local4 = _renderMetricsSearchVariables(_arg1);
_local2.join(_local3, _local4);
_gifRequest.send(_account, _local2);
};
}
public function setCampaignTrack(_arg1:Boolean):void{
_config.campaignTracking = _arg1;
_debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )"));
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_config.organic.addIgnoredReferral(_arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_config.organic.clearEngines();
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_config.detectFlash);
}
public function setCampMediumKey(_arg1:String):void{
var _local2:String;
_config.campaignKey.UCMD = _arg1;
_local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCMD]"));
} else {
_debug.info(_local2);
};
}
private function _getUniqueSessionId():Number{
var _local1:Number;
_local1 = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647);
_debug.info(("Session ID: " + _local1), VisualDebugMode.geek);
return (_local1);
}
private function _getDomainHash():Number{
if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){
_config.domainName = "";
return (1);
};
_updateDomainName();
if (_config.allowDomainHash){
return (Utils.generateHash(_config.domainName));
};
return (1);
}
public function setSessionTimeout(_arg1:int):void{
_config.sessionTimeout = _arg1;
_debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )"));
}
public function getAccount():String{
_debug.info("getAccount()");
return (_account);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
var out:String;
var request:URLRequest;
var targetUrl = _arg1;
var useHash = _arg2;
_initData();
out = _buffer.getLinkerUrl(targetUrl, useHash);
request = new URLRequest(out);
_debug.info((("link( " + [targetUrl, useHash].join(",")) + " )"));
try {
navigateToURL(request, "_top");
} catch(e:Error) {
_debug.warning(("An error occured in link() msg: " + e.message));
};
}
public function setRemoteServerMode():void{
_config.serverMode = ServerOperationMode.remote;
_debug.info("setRemoteServerMode()");
}
}
}//package com.google.analytics.v4
Section 157
//AnalyticsTracker (com.google.analytics.AnalyticsTracker)
package com.google.analytics {
import com.google.analytics.debug.*;
import flash.events.*;
import com.google.analytics.v4.*;
public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher {
"_-8U"?? function set config(_arg1:Configuration):void;
"_-8U"?? function isReady():Boolean;
"_-8U"?? function get mode():String;
"_-8U"?? function get account():String;
"_-8U"?? function set mode(_arg1:String):void;
"_-8U"?? function set debug(_arg1:DebugConfiguration):void;
"_-8U"?? function get config():Configuration;
"_-8U"?? function get debug():DebugConfiguration;
"_-8U"?? function set account(_arg1:String):void;
"_-8U"?? function get visualDebug():Boolean;
"_-8U"?? function set visualDebug(_arg1:Boolean):void;
}
}//package com.google.analytics
Section 158
//API (com.google.analytics.API)
package com.google.analytics {
import com.google.analytics.utils.*;
public class API {
public static var version:Version = new Version();
version.major = 1;
version.minor = 0;
version.build = 1;
version.revision = "$Rev: 319 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 159
//GATracker (com.google.analytics.GATracker)
package com.google.analytics {
import com.google.analytics.debug.*;
import com.google.analytics.core.*;
import flash.display.*;
import com.google.analytics.utils.*;
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.external.*;
import com.google.analytics.events.*;
public class GATracker implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
private var _visualDebug:Boolean;
private var _idleTimer:IdleTimer;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _config:Configuration;
private var _mode:String;
private var _display:DisplayObject;
private var _jsproxy:JavascriptProxy;
private var _dom:HTMLDOM;
private var _eventDispatcher:EventDispatcher;
private var _ready:Boolean;// = false
private var _gifRequest:GIFRequest;
private var _ecom:Ecommerce;
private var _account:String;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public static var autobuild:Boolean = true;
public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){
_ready = false;
super();
_display = _arg1;
_eventDispatcher = new EventDispatcher(this);
_tracker = new TrackerCache();
this.account = _arg2;
this.mode = _arg3;
this.visualDebug = _arg4;
if (!_arg6){
this.debug = new DebugConfiguration();
};
if (!_arg5){
this.config = new Configuration(_arg6);
};
if (autobuild){
_factory();
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function getLinkerUrl(_arg1:String="", _arg2:Boolean=false):String{
return (_tracker.getLinkerUrl(_arg1, _arg2));
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var b:Boolean;
var category = _arg1;
var action = _arg2;
var label = _arg3;
var value = _arg4;
b = false;
try {
b = _tracker.trackEvent(category, action, label, value);
} catch(e:Error) {
b = false;
};
return (b);
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function trackTrans():void{
_tracker.trackTrans();
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function dispatchEvent(_arg1:Event):Boolean{
return (_eventDispatcher.dispatchEvent(_arg1));
}
public function get config():Configuration{
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function get debug():DebugConfiguration{
return (_debug);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function build():void{
if (!isReady()){
_factory();
};
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):void{
_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function willTrigger(_arg1:String):Boolean{
return (_eventDispatcher.willTrigger(_arg1));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function isReady():Boolean{
return (_ready);
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function get mode():String{
return (_mode);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory():void{
var _local1:GoogleAnalyticsAPI;
var _local2:TrackerCache;
_jsproxy = new JavascriptProxy(debug);
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
_local2 = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local1 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local1 = _trackerFactory();
};
if (!_local2.isEmpty()){
_local2.tracker = _local1;
_local2.flush();
};
_tracker = _local1;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_ecom = new Ecommerce(_debug);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense, _ecom));
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics
Section 160
//KongregateEvent (com.kongregate.as3.client.events.KongregateEvent)
package com.kongregate.as3.client.events {
import flash.events.*;
public class KongregateEvent extends Event {
public static const COMPLETE:String = "component_api_available";
public function KongregateEvent(_arg1:String){
super(_arg1);
}
}
}//package com.kongregate.as3.client.events
Section 161
//AbstractShadowService (com.kongregate.as3.client.services.AbstractShadowService)
package com.kongregate.as3.client.services {
import flash.events.*;
public class AbstractShadowService extends EventDispatcher {
protected function alert(_arg1:String, _arg2:String, _arg3="", _arg4:String=""):void{
trace(((((((("Kongregate API: " + _arg1) + ".") + _arg2) + "(") + _arg3) + ") ") + _arg4));
}
}
}//package com.kongregate.as3.client.services
Section 162
//HighScoreServiceShadow (com.kongregate.as3.client.services.HighScoreServiceShadow)
package com.kongregate.as3.client.services {
public class HighScoreServiceShadow extends AbstractShadowService implements IHighScoreServices {
private var mode:String;
public function HighScoreServiceShadow(){
mode = "";
}
public function submit(_arg1:Number, _arg2:String=null):void{
alert("IHighScoreServices", "submit", arguments);
}
public function connect():Boolean{
alert("IKongregateServices", "connect");
return (true);
}
public function requestList(_arg1:Function):void{
alert("IHighScoreServices", "requestList", "", (("[Mode: " + mode) + "]"));
_arg1({success:false});
}
public function setMode(_arg1:String):void{
alert("IHighScoreServices", "setMode", arguments);
this.mode = _arg1;
}
}
}//package com.kongregate.as3.client.services
Section 163
//IHighScoreServices (com.kongregate.as3.client.services.IHighScoreServices)
package com.kongregate.as3.client.services {
public interface IHighScoreServices {
"_-5y"?? function setMode(_arg1:String):void;
"_-5y"?? function submit(_arg1:Number, _arg2:String=null):void;
"_-5y"?? function requestList(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 164
//IKongregateServices (com.kongregate.as3.client.services.IKongregateServices)
package com.kongregate.as3.client.services {
import flash.events.*;
public interface IKongregateServices extends IEventDispatcher {
"_-2n"?? function getPlayerInfo(_arg1:Function):void;
"_-2n"?? function connect(_arg1:Number=-1):Boolean;
}
}//package com.kongregate.as3.client.services
Section 165
//IStatServices (com.kongregate.as3.client.services.IStatServices)
package com.kongregate.as3.client.services {
public interface IStatServices {
"_-1y"?? function submitArray(_arg1:Array):void;
"_-1y"?? function submit(_arg1:String, _arg2:Number):void;
}
}//package com.kongregate.as3.client.services
Section 166
//IUserServices (com.kongregate.as3.client.services.IUserServices)
package com.kongregate.as3.client.services {
public interface IUserServices {
"_-7f"?? function getName():String;
"_-7f"?? function getPlayerInfo(_arg1:Function):void;
}
}//package com.kongregate.as3.client.services
Section 167
//KongregateServiceShadow (com.kongregate.as3.client.services.KongregateServiceShadow)
package com.kongregate.as3.client.services {
public class KongregateServiceShadow extends AbstractShadowService implements IKongregateServices {
public function getName():String{
alert("IKongregateServices", "getName");
return ("Guest");
}
public function connect(_arg1:Number=-1):Boolean{
alert("IKongregateServices", "connect", arguments);
return (true);
}
public function getPlayerInfo(_arg1:Function):void{
alert("IKongregateServices", "getPlayerInfo");
_arg1(new Object());
}
}
}//package com.kongregate.as3.client.services
Section 168
//StatServiceShadow (com.kongregate.as3.client.services.StatServiceShadow)
package com.kongregate.as3.client.services {
public class StatServiceShadow extends AbstractShadowService implements IStatServices {
public function submitArray(_arg1:Array):void{
alert("IStatServices", "submitArray", arguments);
}
public function submit(_arg1:String, _arg2:Number):void{
alert("IStatServices", "submitStat", arguments);
}
}
}//package com.kongregate.as3.client.services
Section 169
//UserServiceShadow (com.kongregate.as3.client.services.UserServiceShadow)
package com.kongregate.as3.client.services {
public class UserServiceShadow extends AbstractShadowService implements IUserServices {
public function getName():String{
alert("UserService", "getName");
return ("Guest");
}
public function getPlayerInfo(_arg1:Function):void{
alert("UserService", "getPlayerInfo");
_arg1({isGuest:true, name:"Guest", points:0, level:0, isMode:false, isAdmin:false, isDeveloper:false, avatarPath:"", chatAvatarPath:""});
}
}
}//package com.kongregate.as3.client.services
Section 170
//IAPIBootstrap (com.kongregate.as3.client.IAPIBootstrap)
package com.kongregate.as3.client {
import flash.display.*;
import flash.events.*;
public interface IAPIBootstrap {
"_-H"?? function init(_arg1:Event=null, _arg2:Stage=null):void;
"_-H"?? function hideLog():void;
"_-H"?? function showLog(_arg1:int=0):void;
}
}//package com.kongregate.as3.client
Section 171
//KongregateAPI (com.kongregate.as3.client.KongregateAPI)
package com.kongregate.as3.client {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import com.kongregate.as3.client.services.*;
import flash.utils.*;
import flash.system.*;
import flash.errors.*;
import com.kongregate.as3.client.events.*;
public class KongregateAPI extends Sprite {
private const VERSION:Number = 1;
private var loader:Loader;
private var loadedDomain:ApplicationDomain;
private static const CLASS_USER:String = "com.kongregate.as3.client.services.UserServices";
private static const CLASS_STATS:String = "com.kongregate.as3.client.services.StatServices";
private static const CLASS_SERVICES:String = "com.kongregate.as3.client.services.KongregateServices";
private static const CLASS_SCORES:String = "com.kongregate.as3.client.services.HighScoreServices";
private static const DEBUG_API_URL:String = "//Linuxpc/kongregate/public/flash/API_AS3.swf";
private static var _connected:Boolean;
private static var kUser:IUserServices;
private static var _loaded:Boolean;
private static var kServices:IKongregateServices;
private static var kScores:IHighScoreServices;
private static var mInstance:KongregateAPI;
private static var kStats:IStatServices;
private static var kAPI:IAPIBootstrap;
public function KongregateAPI(){
if (mInstance != null){
throw (new Error("Warning: KongregateAPI has been added to stage more than once or accessed improperly. Use getInstance() or a stage reference to access."));
};
mInstance = this;
this.addEventListener(Event.ADDED_TO_STAGE, init, false, 0, true);
}
public function get loaded():Boolean{
return (_loaded);
}
public function get connected():Boolean{
return (_connected);
}
private function alertConnected(_arg1:TimerEvent=null):void{
var _local2:KongregateEvent;
var _local3:Boolean;
_local2 = new KongregateEvent(KongregateEvent.COMPLETE);
_local3 = this.dispatchEvent(_local2);
}
private function init(_arg1:Event):void{
var _local2:Object;
var _local3:String;
var _local4:URLRequest;
var _local5:LoaderContext;
this.removeEventListener(Event.ADDED_TO_STAGE, init);
_loaded = false;
_connected = false;
_local2 = LoaderInfo(root.loaderInfo).parameters;
_local3 = _local2.api_path;
if (_local3 == null){
trace("Alert: Kongregate API could not be loaded, due to local testing. API will load when the game is uploaded.");
createShadowServices();
return;
};
Security.allowDomain("*.kongregate.com");
Security.allowDomain("kongregatetrunk.com");
_local4 = new URLRequest(_local3);
_local5 = new LoaderContext(false);
_local5.applicationDomain = ApplicationDomain.currentDomain;
_local5.securityDomain = SecurityDomain.currentDomain;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.load(_local4, _local5);
}
public function get api():IAPIBootstrap{
return (kAPI);
}
private function loadComplete(_arg1:Event):void{
getServices();
}
public function get scores():IHighScoreServices{
return (kScores);
}
private function ioErrorHandler(_arg1:IOErrorEvent):void{
throw (new IOError(("API file not found. " + _arg1)));
}
public function get services():IKongregateServices{
return (kServices);
}
public function get stats():IStatServices{
return (kStats);
}
private function createShadowServices():void{
var _local1:Timer;
trace(">>> Kongregate Shadow Services instantiated for local development..");
kServices = new KongregateServiceShadow();
kScores = new HighScoreServiceShadow();
kStats = new StatServiceShadow();
kUser = new UserServiceShadow();
_local1 = new Timer(200, 1);
_local1.addEventListener(TimerEvent.TIMER_COMPLETE, alertConnected);
_local1.start();
_connected = true;
}
public function get user():IUserServices{
return (kUser);
}
private function getServices():void{
var _local1:ApplicationDomain;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
_local1 = ApplicationDomain.currentDomain;
kAPI = IAPIBootstrap(loader.getChildAt(0));
this.addChild(loader);
_local2 = _local1.getDefinition(CLASS_SERVICES);
trace(_local2);
kServices = _local2.getInstance();
_local3 = _local1.getDefinition(CLASS_SCORES);
kScores = _local3.getInstance();
_local4 = _local1.getDefinition(CLASS_STATS);
kStats = _local4.getInstance();
_local5 = _local1.getDefinition(CLASS_USER);
kUser = _local5.getInstance();
kServices.connect(VERSION);
_loaded = true;
_connected = true;
alertConnected();
}
public static function getInstance():KongregateAPI{
if (!mInstance){
throw (new IllegalOperationError("You must add the Kongregate API component to the stage before attempting to access it."));
};
return (mInstance);
}
}
}//package com.kongregate.as3.client
Section 172
//Level_0 (Levels.Level_0)
package Levels {
import flash.display.*;
public class Level_0 extends Level {
public var shoesRight:_-0h;
public var miniBall:MovieClip;
public function Level_0():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:_-4E;
var _local10:_-2I;
var _local11:_-0k;
super();
_local1 = 275;
_local2 = -200;
_local3 = 8;
_local4 = new Array(_local3);
_local5 = new Array(_local3);
_local6 = new Array(_local3);
_local7 = new Array((_local3 + 1));
_local8 = 0;
while (_local8 < _local3) {
_local4[_local8] = new _-3C();
_local4[_local8].x = _local1;
_local4[_local8].y = (_local2 + (40 * _local8));
addChildAt(_local4[_local8], 1);
CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF);
_local5[_local8] = new _-8I();
_local5[_local8].x = _local1;
_local5[_local8].y = ((_local2 + 20) + (40 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF);
_local6[_local8] = new _-6f();
_local6[_local8].x = _local1;
_local6[_local8].y = ((_local2 - 10) + (40 * _local8));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-4F, [false, false]);
_local7[_local8] = new _-6f();
_local7[_local8].x = _local1;
_local7[_local8].y = ((_local2 + 10) + (40 * _local8));
addChildAt(_local7[_local8], 1);
_-1b(_local7[_local8], _-3A._-4F, [false, false]);
_local8++;
};
_local9 = new _-4E();
_local9.x = _local1;
_local9.y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-8j, _-3y._-5s, [[[13.85, 8.15], [8.25, 22.15], [-9.25, 22], [-14, 7.9], [-7.5, -6.5], [6.35, -6.5]], [[-9.25, 22], [8.25, 22.15], [-4.15, 30.45], [-15.15, 30.45], [-14.15, 22]], [[-17.4, 17.65], [-14.15, 22], [-15.15, 30.45], [-17, 37], [-23, 37], [-22.75, 17.65]], [[-30.1, 77.3], [-35.25, 82.45], [-44.65, 58.1], [-39.75, 58.1]], [[-44.65, 58.1], [-35.25, 82.45], [-38, 93.85], [-43.4, 99.45]], [[-38, 99.6], [-43.4, 99.45], [-38, 93.85]], [[-35.25, 82.45], [-24.75, 94.95], [-38, 93.85]], [[-38, 93.85], [-24.75, 94.95], [-11.65, 109.85]], [[-24.75, 94.95], [-10.25, 94.95], [-11.65, 109.85]], [[-10.25, 94.95], [-4.15, 70.35], [10.25, 109.85], [-11.65, 109.85]], [[-4.15, 70.35], [-4.15, 30.45], [4.1, 70.2], [8.85, 94.6], [10.25, 109.85]], [[37.85, 99.35], [37.85, 93.85], [40.25, 57.95], [44, 57.95], [42.6, 99.1]], [[29.9, 77.4], [40.25, 57.95], [35.85, 82.6]], [[40.25, 57.95], [37.85, 93.85], [35.85, 82.6]], [[37.85, 93.85], [10.25, 109.85], [24.1, 94.6], [35.85, 82.6]], [[24.1, 94.6], [10.25, 109.85], [8.85, 94.6]], [[4.1, 70.2], [-4.15, 30.45], [4.1, 30.6]], [[-4.15, 30.45], [8.25, 22.15], [15.75, 30.6], [4.1, 30.6]], [[17, 36.5], [15.75, 30.6], [22.85, 36.5]], [[15.75, 30.6], [8.25, 22.15], [14.35, 22.15], [22.85, 36.5]], [[22.75, 17.15], [22.85, 36.5], [14.35, 22.15], [16.85, 17.25]]]);
_local7[_local3] = new _-6f();
_local7[_local3].x = _local1;
_local7[_local3].y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local7[_local3], 1);
_-1b(_local7[_local3], _-3A._-4F, [false, false]);
_local10 = new _-2I();
_local10.x = 275;
_local10.y = -10;
addChild(_local10);
CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local11 = new _-0k();
_local11.x = 275;
_local11.y = 410;
addChildAt(_local11, 1);
_-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[-67.9, -45.05], [0, -32], [-206.9, -45.3], [-136.85, -49.7]], [[0, -32], [70.15, -23.9], [295, 10], [-275, 10], [-275, -32], [-206.9, -45.3]], [[295, -38], [295, 10], [224.35, -26.8]], [[224.35, -26.8], [295, 10], [143.2, -21.65]], [[143.2, -21.65], [295, 10], [70.15, -23.9]]]);
CreateBody(miniBall, _-39, _-3y._-8, [20]);
CreateBody(shoesRight, _-8j, _-3y.override, [[[-14.75, -30.9], [2.85, -28.85], [-10.65, -16]], [[2.85, -28.85], [18.75, -35], [-3.7, -13.45], [-10.65, -16]], [[-3.7, -13.45], [18.75, -35], [21, -29.15], [21, -0.9], [-3.75, -1.4]], [[-20.5, -8], [-12.5, -1.4], [-46.75, 1], [-36, -8]], [[-12.5, -1.4], [-3.75, -1.4], [21, -0.9], [26.85, 10], [27.1, 23.6], [-44.25, 24.75], [-46.75, 1]]]);
}
}
}//package Levels
Section 173
//Level_1 (Levels.Level_1)
package Levels {
import flash.display.*;
public class Level_1 extends Level {
public var track:MovieClip;
public var miniBox:MovieClip;
public var ambrella:MovieClip;
public var miniBall:MovieClip;
public function Level_1():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:_-6g;
var _local10:_-0e;
var _local11:_-2I;
var _local12:_-4m;
super();
_local1 = 300;
_local2 = -50;
_local3 = 1;
_local4 = 13;
_local5 = new Array((_local3 + _local4));
_local6 = new Array(((_local3 + _local4) + 2));
_local7 = 10;
_local8 = 0;
while (_local8 < _local3) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local9 = new _-6g();
_local9.x = _local1;
_local9.y = (_local2 + (_local7 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]);
_local8 = _local3;
while (_local8 < (_local3 + _local4)) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * (_local8 + 1)));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local10 = new _-0e();
_local10.x = _local1;
_local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4)));
addChildAt(_local10, 1);
CreateBody(_local10, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]);
_local8 = 0;
while (_local8 < ((_local3 + _local4) + 2)) {
_local6[_local8] = new const();
_local6[_local8].x = _local1;
_local6[_local8].y = (_local2 + (_local7 * (_local8 - 1)));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-5E, []);
_local8++;
};
_local11 = new _-2I();
_local11.x = 275;
_local11.y = -10;
addChild(_local11);
CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local12 = new _-4m();
_local12.x = 275;
_local12.y = 410;
addChildAt(_local12, 1);
_-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[-67.9, -45.05], [0, -32], [-101.5, -37.1], [-84.9, -43.5]], [[0, -32], [70.15, -23.9], [-118.1, -30.2], [-101.5, -37.1]], [[-118.1, -30.2], [70.15, -23.9], [295, 10], [-275, 10], [-135, -27]], [[-176.7, -36.5], [-154.65, -30.05], [-246.65, -38.95], [-218.25, -43.7]], [[-154.65, -30.05], [-135, -27], [-275, 10], [-275, -32], [-246.65, -38.95]], [[295, 10], [70.15, -23.9], [107.1, -27.5], [257.2, -41.2], [295, -38]], [[237.65, -45.75], [257.2, -41.2], [107.1, -27.5], [142.95, -37], [180.65, -45.05], [218.95, -48]]]);
CreateBody(track, _-8j, _-3y.override, [[[26.25, -26.1], [29.4, -25.05], [2.75, 0.2], [2.75, -21.85], [3.75, -24.6], [6.45, -26.1]], [[2.75, 0.2], [29.4, -25.05], [-6.55, 19.55], [-11.25, 23.3], [-24.05, 33.3], [1.4, 1.8]], [[-41.55, -5.6], [-41.55, -0.05], [-45.3, -7.4], [-43, -7.4], [-41.95, -6.8]], [[-41.55, -0.05], [-41.1, 1.5], [-47.9, 17.05], [-47.9, -4.8], [-47.65, -6.4], [-45.3, -7.4]], [[-41.1, 1.5], [-39.9, 1.8], [-47.9, 17.05]], [[-39.9, 1.8], [1.4, 1.8], [-41.4, 19.2], [-45.8, 19.2], [-47.4, 18.65], [-47.9, 17.05]], [[-41.4, 19.2], [1.4, 1.8], [-36.85, 23.2], [-40.45, 22.5]], [[-36.85, 23.2], [1.4, 1.8], [-24.05, 33.3], [-32.25, 30.35]], [[-15.75, 30.15], [-24.05, 33.3], [-11.25, 23.3]], [[-8.25, 23.3], [-11.25, 23.3], [-6.55, 19.55], [-6.9, 22.3]], [[-6.55, 19.55], [29.4, -25.05], [-1.4, 19.55]], [[-1.4, 19.55], [29.4, -25.05], [5.7, 23.95], [1.55, 23.95], [-0.85, 22.65]], [[5.7, 23.95], [29.4, -25.05], [31.35, 23.3], [26.7, 30.3], [18.5, 33.35], [10.85, 30.7]], [[31.35, 23.3], [29.4, -25.05], [38.05, 20.55], [37.6, 22.65], [35.9, 23.3]], [[38.05, 20.55], [29.4, -25.05], [36.2, -9.95], [44.05, 7.5], [47.6, 18.8], [47.2, 20.2], [45.95, 20.55]], [[47.6, 10.9], [47.6, 18.8], [45.95, 9.2], [47.1, 9.75]], [[45.95, 9.2], [47.6, 18.8], [44.05, 7.5]], [[44.05, -5.05], [44.05, 7.5], [37.85, -8.35], [42.95, -6.75], [43.8, -6.15]], [[37.85, -8.35], [44.05, 7.5], [36.2, -9.95]], [[31.15, -22.45], [36.2, -9.95], [29.4, -25.05]]]);
CreateBody(miniBall, _-39, _-3y._-8, [20]);
CreateBody(miniBox, _-8j, _-3y._-1D, [[[-15, 15], [-15, -15], [15, -15], [15, 15]]]);
CreateBody(ambrella, _-8j, _-3y._-1D, [[[39.5, -78.75], [40.65, -70.85], [36, -71.5]], [[40.65, -70.85], [56.6, -67.6], [-30.5, -40.3], [-47.3, -38.7], [-20.4, -62], [14.85, -72.85], [36, -71.5]], [[-30.5, -40.3], [56.6, -67.6], [-0.15, -36.35], [-17.6, -32.1]], [[-0.15, -36.35], [56.6, -67.6], [29, -32], [15.15, -27.6]], [[-6, 78], [-2.85, 85.9], [-6.85, 90.95], [-12, 77]], [[-2.85, 85.9], [11.95, 86.65], [16.6, 91.95], [-6.85, 90.95]], [[11.95, 86.65], [29, -32], [34, -31], [16.6, 91.95]], [[29, -32], [56.6, -67.6], [34, -31]], [[34, -31], [56.6, -67.6], [63.45, -27.3], [47.35, -22]], [[63.45, -27.3], [56.6, -67.6], [94.6, -22.65], [80.1, -17.85]], [[94.6, -22.65], [56.6, -67.6], [87.85, -49.6], [109.55, -17.85]]]);
}
}
}//package Levels
Section 174
//Level_10 (Levels.Level_10)
package Levels {
import flash.display.*;
public class Level_10 extends Level {
public var ball1:MovieClip;
public var ball2:MovieClip;
public var track:MovieClip;
public var box:MovieClip;
public function Level_10():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:_-4E;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:Array;
var _local15:Array;
var _local16:int;
var _local17:_-6g;
var _local18:_-0e;
var _local19:_-0h;
var _local20:*;
var _local21:_-2I;
var _local22:_-0;
super();
_local1 = 450;
_local2 = -100;
_local3 = 8;
_local4 = new Array(_local3);
_local5 = new Array(_local3);
_local6 = new Array(_local3);
_local7 = new Array((_local3 + 1));
_local8 = 0;
while (_local8 < _local3) {
_local4[_local8] = new _-3C();
_local4[_local8].x = _local1;
_local4[_local8].y = (_local2 + (40 * _local8));
addChildAt(_local4[_local8], 1);
CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF);
_local5[_local8] = new _-8I();
_local5[_local8].x = _local1;
_local5[_local8].y = ((_local2 + 20) + (40 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF);
_local6[_local8] = new _-6f();
_local6[_local8].x = _local1;
_local6[_local8].y = ((_local2 - 10) + (40 * _local8));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-4F, [false, false]);
_local7[_local8] = new _-6f();
_local7[_local8].x = _local1;
_local7[_local8].y = ((_local2 + 10) + (40 * _local8));
addChildAt(_local7[_local8], 1);
_-1b(_local7[_local8], _-3A._-4F, [false, false]);
_local8++;
};
_local9 = new _-4E();
_local9.x = _local1;
_local9.y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-8j, _-3y._-5s, [[[13.85, 8.15], [8.25, 22.15], [-9.25, 22], [-14, 7.9], [-7.5, -6.5], [6.35, -6.5]], [[-9.25, 22], [8.25, 22.15], [-4.15, 30.45], [-15.15, 30.45], [-14.15, 22]], [[-17.4, 17.65], [-14.15, 22], [-15.15, 30.45], [-17, 37], [-23, 37], [-22.75, 17.65]], [[-30.1, 77.3], [-35.25, 82.45], [-44.65, 58.1], [-39.75, 58.1]], [[-44.65, 58.1], [-35.25, 82.45], [-38, 93.85], [-43.4, 99.45]], [[-38, 99.6], [-43.4, 99.45], [-38, 93.85]], [[-35.25, 82.45], [-24.75, 94.95], [-38, 93.85]], [[-38, 93.85], [-24.75, 94.95], [-11.65, 109.85]], [[-24.75, 94.95], [-10.25, 94.95], [-11.65, 109.85]], [[-10.25, 94.95], [-4.15, 70.35], [10.25, 109.85], [-11.65, 109.85]], [[-4.15, 70.35], [-4.15, 30.45], [4.1, 70.2], [8.85, 94.6], [10.25, 109.85]], [[37.85, 99.35], [37.85, 93.85], [40.25, 57.95], [44, 57.95], [42.6, 99.1]], [[29.9, 77.4], [40.25, 57.95], [35.85, 82.6]], [[40.25, 57.95], [37.85, 93.85], [35.85, 82.6]], [[37.85, 93.85], [10.25, 109.85], [24.1, 94.6], [35.85, 82.6]], [[24.1, 94.6], [10.25, 109.85], [8.85, 94.6]], [[4.1, 70.2], [-4.15, 30.45], [4.1, 30.6]], [[-4.15, 30.45], [8.25, 22.15], [15.75, 30.6], [4.1, 30.6]], [[17, 36.5], [15.75, 30.6], [22.85, 36.5]], [[15.75, 30.6], [8.25, 22.15], [14.35, 22.15], [22.85, 36.5]], [[22.75, 17.15], [22.85, 36.5], [14.35, 22.15], [16.85, 17.25]]]);
_local7[_local3] = new _-6f();
_local7[_local3].x = _local1;
_local7[_local3].y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local7[_local3], 1);
_-1b(_local7[_local3], _-3A._-4F, [false, false]);
_local10 = 100;
_local11 = -50;
_local12 = 13;
_local13 = 9;
_local14 = new Array((_local12 + _local13));
_local15 = new Array(((_local12 + _local13) + 2));
_local16 = 10;
_local8 = 0;
while (_local8 < _local12) {
_local14[_local8] = new _-1m();
_local14[_local8].x = _local10;
_local14[_local8].y = (_local11 + (_local16 * _local8));
addChildAt(_local14[_local8], 1);
CreateBody(_local14[_local8], _-39, _-3y._-2g, [_local16], 1, 0, 5);
_local8++;
};
_local17 = new _-6g();
_local17.x = _local10;
_local17.y = (_local11 + (_local16 * _local12));
addChild(_local17);
CreateBody(_local17, _-39, _-3y._-2g, [(_local16 + 8)]);
_local8 = _local12;
while (_local8 < (_local12 + _local13)) {
_local14[_local8] = new _-1m();
_local14[_local8].x = _local10;
_local14[_local8].y = (_local11 + (_local16 * (_local8 + 1)));
addChildAt(_local14[_local8], 1);
CreateBody(_local14[_local8], _-39, _-3y._-2g, [_local16], 1, 0, 5);
_local8++;
};
_local18 = new _-0e();
_local18.x = _local10;
_local18.y = (_local11 + (_local16 * ((_local12 + 1) + _local13)));
addChildAt(_local18, 1);
CreateBody(_local18, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]);
_local8 = 0;
while (_local8 < ((_local12 + _local13) + 2)) {
_local15[_local8] = new const();
_local15[_local8].x = _local10;
_local15[_local8].y = (_local11 + (_local16 * (_local8 - 1)));
addChildAt(_local15[_local8], 1);
_-1b(_local15[_local8], _-3A._-5E, []);
_local8++;
};
_local19 = new _-0h();
_local19.x = (((_local18.x - 3) - 4) + 7);
_local19.y = (((_local18.y + 41.5) + 28) - 21);
addChild(_local19);
CreateBody(_local19, _-8j, _-3y.override, [[[-14.75, -30.9], [2.85, -28.85], [-10.65, -16]], [[2.85, -28.85], [18.75, -35], [-3.7, -13.45], [-10.65, -16]], [[-3.7, -13.45], [18.75, -35], [21, -29.15], [21, -0.9], [-3.75, -1.4]], [[-20.5, -8], [-12.5, -1.4], [-46.75, 1], [-36, -8]], [[-12.5, -1.4], [-3.75, -1.4], [21, -0.9], [26.85, 10], [27.1, 23.6], [-44.25, 24.75], [-46.75, 1]]]);
_local20 = new _-6f();
_local20.x = (_local18.x - 3);
_local20.y = (_local18.y + 41.5);
addChildAt(_local20, 1);
_-1b(_local20, _-3A._-4F, [false, true, 0, 0, 0, 20]);
CreateBody(track, _-8j, _-3y.override, [[[26.25, -26.1], [29.4, -25.05], [2.75, 0.2], [2.75, -21.85], [3.75, -24.6], [6.45, -26.1]], [[2.75, 0.2], [29.4, -25.05], [-6.55, 19.55], [-11.25, 23.3], [-24.05, 33.3], [1.4, 1.8]], [[-41.55, -5.6], [-41.55, -0.05], [-45.3, -7.4], [-43, -7.4], [-41.95, -6.8]], [[-41.55, -0.05], [-41.1, 1.5], [-47.9, 17.05], [-47.9, -4.8], [-47.65, -6.4], [-45.3, -7.4]], [[-41.1, 1.5], [-39.9, 1.8], [-47.9, 17.05]], [[-39.9, 1.8], [1.4, 1.8], [-41.4, 19.2], [-45.8, 19.2], [-47.4, 18.65], [-47.9, 17.05]], [[-41.4, 19.2], [1.4, 1.8], [-36.85, 23.2], [-40.45, 22.5]], [[-36.85, 23.2], [1.4, 1.8], [-24.05, 33.3], [-32.25, 30.35]], [[-15.75, 30.15], [-24.05, 33.3], [-11.25, 23.3]], [[-8.25, 23.3], [-11.25, 23.3], [-6.55, 19.55], [-6.9, 22.3]], [[-6.55, 19.55], [29.4, -25.05], [-1.4, 19.55]], [[-1.4, 19.55], [29.4, -25.05], [5.7, 23.95], [1.55, 23.95], [-0.85, 22.65]], [[5.7, 23.95], [29.4, -25.05], [31.35, 23.3], [26.7, 30.3], [18.5, 33.35], [10.85, 30.7]], [[31.35, 23.3], [29.4, -25.05], [38.05, 20.55], [37.6, 22.65], [35.9, 23.3]], [[38.05, 20.55], [29.4, -25.05], [36.2, -9.95], [44.05, 7.5], [47.6, 18.8], [47.2, 20.2], [45.95, 20.55]], [[47.6, 10.9], [47.6, 18.8], [45.95, 9.2], [47.1, 9.75]], [[45.95, 9.2], [47.6, 18.8], [44.05, 7.5]], [[44.05, -5.05], [44.05, 7.5], [37.85, -8.35], [42.95, -6.75], [43.8, -6.15]], [[37.85, -8.35], [44.05, 7.5], [36.2, -9.95]], [[31.15, -22.45], [36.2, -9.95], [29.4, -25.05]]]);
CreateBody(ball1, _-39, _-3y._-8, [40]);
CreateBody(ball2, _-39, _-3y._-8, [40]);
CreateBody(box, _-8j, _-3y._-1D, [[[-25, 25], [-25, -25], [25, -25], [25, 25]]]);
_local21 = new _-2I();
_local21.x = 275;
_local21.y = -10;
addChild(_local21);
CreateBody(_local21, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local22 = new _-0();
_local22.x = 275;
_local22.y = 410;
addChildAt(_local22, 1);
_-0W = CreateBody(_local22, _-8j, _-3y._-1p, [[[20.4, -57.3], [56, -50], [-57.2, -51.85], [-15.95, -59]], [[-57.2, -51.85], [56, -50], [91.8, -42.95], [295, 10], [-275, 10], [-99.95, -50]], [[-144.6, -78.45], [-119.9, -60.45], [-191.95, -98], [-169.95, -94.25]], [[-119.9, -60.45], [-99.95, -50], [-275, 10], [-275.95, -74], [-258.05, -84.7], [-238.95, -90], [-217.3, -94], [-191.95, -98]], [[295, -38], [295, 10], [238.75, -42.9], [256.5, -43.85]], [[238.75, -42.9], [295, 10], [221, -43]], [[221, -43], [295, 10], [127, -41], [173.1, -43.35]], [[127, -41], [295, 10], [91.8, -42.95]]]);
}
}
}//package Levels
Section 175
//Level_11 (Levels.Level_11)
package Levels {
import flash.display.*;
import flash.events.*;
import com.gamezhero.api.as3.*;
public class Level_11 extends MovieClip {
private var btn3:MovieClip;
private var btn2:MovieClip;
private var btn4:MovieClip;
private var btn1:MovieClip;
private var btn5:MovieClip;
private var g:MovieClip;
public var gamezheroBtn:_-8l;
public function Level_11(){
var _local1:Object;
super();
_local1 = {border:{width:6, color:6571522, alpha:100}, background:{topColor:0xF4B100, bottomColor:0xF4B100, topAlpha:100, bottomAlpha:100, cornerRadius:10}, language:"ENG"};
GamezheroApi.score((this as MovieClip), "203148164150220157200214211130196145160170167170202152153156150197207154151212203163205152166155160154152166163", _-4n._-0g, 235, 85, submitAction, mainMenuAction, errorAction, _local1);
_-5T(_-4n._-0g);
}
public function ini(_arg1:Event=null):void{
btn4 = (this["gamezheroBtn"] as MovieClip);
this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
btn4.addEventListener(MouseEvent.CLICK, gotoAction);
}
public function mainMenuAction():void{
(parent as MovieClip).gotoAndStop("mainMenu");
closeScore();
}
function _-5T(_arg1:Number):void{
var score = _arg1;
try {
if (_-4n._-3K.connected){
_-4n._-3K.stats.submit("Top Score", score);
};
} catch(e:Error) {
};
}
public function submitAction():void{
mainMenuAction();
}
public function gotoAction(_arg1:MouseEvent=null):void{
switch (_arg1.target){
case btn4:
GamezheroApi.linkZorroLogo();
break;
default:
GamezheroApi.linkMoreGames();
};
}
public function errorAction():void{
mainMenuAction();
}
public function closeScore():void{
}
public function clearEvents(_arg1:Event=null):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
btn4.removeEventListener(MouseEvent.CLICK, gotoAction);
}
}
}//package Levels
Section 176
//Level_2 (Levels.Level_2)
package Levels {
import Box2D.Common.Math.*;
import flash.display.*;
import Box2D.Dynamics.Joints.*;
public class Level_2 extends Level {
public var vase:MovieClip;
public var bead2:_-80;
public var bead4:_-80;
public var bead5:_-80;
public var bead3:_-80;
public var jug:MovieClip;
public var bead:_-80;
public function Level_2():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:_-6g;
var _local10:_-0e;
var _local11:_-2I;
var _local12:_-0m;
super();
_local1 = 350;
_local2 = -50;
_local3 = 10;
_local4 = 10;
_local5 = new Array((_local3 + _local4));
_local6 = new Array(((_local3 + _local4) + 2));
_local7 = 10;
_local8 = 0;
while (_local8 < _local3) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local9 = new _-6g();
_local9.x = _local1;
_local9.y = (_local2 + (_local7 * _local3));
addChild(_local9);
CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]);
_local8 = _local3;
while (_local8 < (_local3 + _local4)) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * (_local8 + 1)));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local10 = new _-0e();
_local10.x = _local1;
_local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4)));
addChildAt(_local10, 1);
CreateBody(_local10, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]);
_local8 = 0;
while (_local8 < ((_local3 + _local4) + 2)) {
_local6[_local8] = new const();
_local6[_local8].x = _local1;
_local6[_local8].y = (_local2 + (_local7 * (_local8 - 1)));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-5E, []);
_local8++;
};
_local11 = new _-2I();
_local11.x = 275;
_local11.y = -10;
addChild(_local11);
CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local12 = new _-0m();
_local12.x = 275;
_local12.y = 410;
addChildAt(_local12, 1);
_-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[233.9, -219], [294, -241], [177.65, -94.15], [189.8, -143.45], [200, -176]], [[177.65, -94.15], [294, -241], [295, 10], [162.45, -47.2]], [[90.3, -30.9], [108.35, -24.35], [54.3, -33.85], [72, -35]], [[108.35, -24.35], [126.05, -19.75], [36.3, -30.4], [54.3, -33.85]], [[36.3, -30.4], [126.05, -19.75], [295, 10], [-275, 10], [0, -32]], [[-88, -163.75], [-73.95, -137], [-149.95, -245], [-109.4, -201.6]], [[-73.95, -137], [-36.4, -73.5], [-194.8, -228.1], [-170.25, -238.6], [-149.95, -245]], [[-36.4, -73.5], [0, -32], [-221.65, -226.8], [-194.8, -228.1]], [[-221.65, -226.8], [0, -32], [-275, 10], [-274.95, -263], [-248.95, -248]], [[-254.15, -255.55], [-248.95, -248], [-274.95, -263], [-258.95, -261.1]], [[126.05, -19.75], [143.2, -21.65], [295, 10]], [[143.2, -21.65], [162.45, -47.2], [295, 10]]]);
removeChild(jug);
addChild(jug);
removeChild(vase);
addChild(vase);
CreateBody(jug, _-8j, _-3y.override, [[[40.25, 19.7], [35.9, -27.05], [43.65, -31.8]], [[35.9, -27.05], [20.95, -27.05], [11.3, -27.5], [16.7, -48.25], [43.65, -31.8]], [[11.3, -27.5], [20.95, -27.05], [31.4, 38], [24.3, 37.7]], [[-24, -50.9], [-16.75, -29.7], [-24.4, -28], [-33.9, -56.15]], [[-16.75, -29.7], [-30.15, 35.95], [-37.4, 36.8], [-24.4, -28]], [[-30.15, 35.95], [-21.8, 46.95], [-26.05, 55.55], [-37.4, 36.8]], [[-21.8, 46.95], [17.45, 46.95], [19.2, 55.55], [-26.05, 55.55]], [[17.45, 46.95], [24.3, 37.7], [31.4, 38], [19.2, 55.55]]]);
CreateBody(bead, _-39, _-3y._-8, [20]);
CreateBody(bead2, _-39, _-3y._-8, [20]);
CreateBody(bead3, _-39, _-3y._-8, [20]);
CreateBody(bead4, _-39, _-3y._-8, [20]);
CreateBody(bead5, _-39, _-3y._-8, [20]);
CreateBody(vase, _-8j, _-3y.override, [[[28.3, -44.5], [17.85, -38.55], [12.2, -42.1], [25.4, -50.4]], [[12.2, -42.1], [17.85, -38.55], [18.55, -24.9], [12.2, -21.55]], [[-23.1, -50.75], [-12.45, -42.1], [-18.1, -38.25], [-27.7, -45.1]], [[-12.45, -42.1], [-12.45, -19.5], [-18.1, -23.3], [-18.1, -38.25]], [[-12.45, -19.5], [-30.6, -5.3], [-39.45, -4.55], [-29.7, -19.65], [-18.1, -23.3]], [[-30.6, -5.3], [-27.1, 24.1], [-33.1, 30.65], [-39.45, -4.55]], [[-27.1, 24.1], [-8.4, 47.25], [-9.55, 55.5], [-33.1, 30.65]], [[-8.4, 47.25], [8.1, 47.25], [-9.55, 55.5]], [[-9.55, 55.5], [8.1, 47.25], [9.4, 54.25], [-20.5, 72.45], [-20.5, 61.3]], [[19.8, 72.45], [-20.5, 72.45], [9.4, 54.25], [19.8, 60.45]], [[8.1, 47.25], [27.7, 24.1], [34.3, 27.5], [9.4, 54.25]], [[27.7, 24.1], [31.4, -4.9], [39.5, -4.3], [34.3, 27.5]], [[31.4, -4.9], [12.2, -21.55], [18.55, -24.9], [31, -19.65], [39.5, -4.3]]]);
}
}
}//package Levels
Section 177
//Level_3 (Levels.Level_3)
package Levels {
import flash.display.*;
public class Level_3 extends Level {
public var tv:MovieClip;
public var controlTV:MovieClip;
public function Level_3():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:_-6g;
var _local10:_-0e;
var _local11:_-2I;
var _local12:_-8s;
super();
_local1 = 250;
_local2 = -50;
_local3 = 15;
_local4 = 8;
_local5 = new Array((_local3 + _local4));
_local6 = new Array(((_local3 + _local4) + 2));
_local7 = 10;
_local8 = 0;
while (_local8 < _local3) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local9 = new _-6g();
_local9.x = _local1;
_local9.y = (_local2 + (_local7 * _local3));
addChild(_local9);
CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]);
_local8 = _local3;
while (_local8 < (_local3 + _local4)) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * (_local8 + 1)));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local10 = new _-0e();
_local10.x = _local1;
_local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4)));
addChildAt(_local10, 1);
CreateBody(_local10, _-8j, _-3y._-2g, [[[-3.55, -0.95], [3.55, -0.95], [3.55, 18.75], [-3.55, 18.35]], [[-11.25, 21.25], [-3.75, 39.05], [-8.35, 44.75], [-14.95, 37.35], [-14.95, 23.25]], [[-3.75, 39.05], [3.85, 34.35], [9.55, 35.15], [3.15, 44.35], [-8.35, 44.75]], [[3.85, 34.35], [-3.55, 18.35], [3.55, 18.75], [9.55, 28.35], [9.55, 35.15]]]);
_local8 = 0;
while (_local8 < ((_local3 + _local4) + 2)) {
_local6[_local8] = new const();
_local6[_local8].x = _local1;
_local6[_local8].y = (_local2 + (_local7 * (_local8 - 1)));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-5E, []);
_local8++;
};
_local11 = new _-2I();
_local11.x = 275;
_local11.y = -10;
addChild(_local11);
CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local12 = new _-8s();
_local12.x = 275;
_local12.y = 410;
addChildAt(_local12, 1);
_-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[0, -32], [36.1, -25.65], [-275, 10], [-277, -47], [-242.65, -70.9], [-33.85, -37.8]], [[-102.1, -56.1], [-67.9, -45.05], [-242.65, -70.9], [-207, -85], [-136, -67]], [[-171.25, -79.45], [-136, -67], [-207, -85]], [[-67.9, -45.05], [-33.85, -37.8], [-242.65, -70.9]], [[-275, 10], [36.1, -25.65], [70.15, -23.9], [295, 10]], [[294.95, -101], [295, 10], [221.95, -65]], [[221.95, -65], [295, 10], [186.45, -48.55]], [[186.45, -48.55], [295, 10], [145.95, -40], [166, -44.85]], [[145.95, -40], [295, 10], [70.15, -23.9]]]);
CreateBody(tv, _-8j, _-3y.override, [[[27.7, -92.75], [30.3, -91.25], [4.5, -36.5], [2.35, -37.95]], [[-23.2, -93.2], [2.35, -37.95], [-0.15, -36.8], [-25.65, -92.25]], [[-38.4, -31.8], [-0.15, -36.8], [-45.55, 2.1]], [[-0.15, -36.8], [2.35, -37.95], [4.5, -36.5], [46.7, 2.35], [40.25, 37.5], [30, 42.75], [-38, 38.75], [-45.55, 2.1]], [[40.25, -29.25], [46.7, 2.35], [4.5, -36.5]]]);
CreateBody(controlTV, _-8j, _-3y.override, [[[-10, -30], [10, -30], [10, 30], [-10, 30]]]);
}
}
}//package Levels
Section 178
//Level_4 (Levels.Level_4)
package Levels {
import flash.display.*;
public class Level_4 extends Level {
public var shoes:MovieClip;
public var golfClub:MovieClip;
public var miniBox:MovieClip;
public var box:MovieClip;
public var miniBall:MovieClip;
public var ball:MovieClip;
public function Level_4():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:_-3Y;
var _local10:_-2I;
var _local11:_-2o;
super();
_local1 = 180;
_local2 = -200;
_local3 = 10;
_local4 = new Array(_local3);
_local5 = new Array(_local3);
_local6 = new Array(_local3);
_local7 = new Array((_local3 + 1));
_local8 = 0;
while (_local8 < _local3) {
_local4[_local8] = new _-3C();
_local4[_local8].x = _local1;
_local4[_local8].y = (_local2 + (40 * _local8));
addChildAt(_local4[_local8], 1);
CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF);
_local5[_local8] = new _-8I();
_local5[_local8].x = _local1;
_local5[_local8].y = ((_local2 + 20) + (40 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF);
_local6[_local8] = new _-6f();
_local6[_local8].x = _local1;
_local6[_local8].y = ((_local2 - 10) + (40 * _local8));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-4F, [false, false]);
_local7[_local8] = new _-6f();
_local7[_local8].x = _local1;
_local7[_local8].y = ((_local2 + 10) + (40 * _local8));
addChildAt(_local7[_local8], 1);
_-1b(_local7[_local8], _-3A._-4F, [false, false]);
_local8++;
};
_local9 = new _-3Y();
_local9.x = _local1;
_local9.y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-8j, _-3y._-5s, [[[-20.55, 61.55], [-8.6, 97.55], [-19.25, 101.75], [-31.05, 77.55], [-25, 61.55]], [[-8.6, 97.55], [-4.8, 97.55], [-22.75, 107.15], [-32.5, 107.15], [-19.25, 101.75]], [[-32.5, 101.75], [-19.25, 101.75], [-32.5, 107.15]], [[-22.75, 107.15], [-4.8, 97.55], [24.1, 107.2], [13.5, 117.55], [-12.2, 117.55]], [[24.1, 107.2], [-4.8, 97.55], [5, 97.65], [20.35, 101.2], [33.6, 107.2]], [[33.6, 101.2], [33.6, 107.2], [20.35, 101.2]], [[31.05, 77.4], [20.35, 101.2], [8.75, 97.65], [20.6, 61], [25.7, 60.95]], [[8.75, 97.65], [20.35, 101.2], [5, 97.65]], [[-4.8, 97.55], [-4.3, 19.75], [3.95, 20.85], [5, 97.65]], [[3.95, 20.85], [-4.3, 19.75], [6.8, -4], [6.75, 20.85]], [[-4.3, 19.75], [-7.15, 19.75], [-7.15, -4], [6.8, -4]]]);
_local7[_local3] = new _-6f();
_local7[_local3].x = _local1;
_local7[_local3].y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local7[_local3], 1);
_-1b(_local7[_local3], _-3A._-4F, [false, false]);
_local10 = new _-2I();
_local10.x = 275;
_local10.y = -10;
addChild(_local10);
CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local11 = new _-2o();
_local11.x = 275;
_local11.y = 410;
addChildAt(_local11, 1);
_-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[-44.6, -39.6], [0, -32], [-129.5, -35.8], [-87.9, -42.6]], [[0, -32], [70.15, -23.9], [295, 10], [-275, 10], [-170.8, -29.4], [-129.5, -35.8]], [[-208.4, -45.1], [-197.55, -38.5], [-220.95, -49]], [[-197.55, -38.5], [-185.85, -32.2], [-275, -32], [-247.9, -45.5], [-220.95, -49]], [[-185.85, -32.2], [-170.8, -29.4], [-275, 10], [-275, -32]], [[295, 10], [70.15, -23.9], [107.65, -27.25], [295, -38]], [[260.3, -43.8], [295, -38], [107.65, -27.25], [144, -35], [184.05, -40.4], [225, -43]]]);
CreateBody(golfClub, _-8j, _-3y._-5s, [[[18.9, -91.15], [25.1, -89.25], [-21.6, 95.1], [-27.35, 111], [-24.1, 95.1]], [[-34.5, 97.5], [-26.8, 97.1], [-41, 111.45], [-44.55, 107.8], [-44.5, 102.7], [-38.15, 98.3]], [[-26.8, 97.1], [-24.1, 95.1], [-27.35, 111], [-33.85, 113.25], [-41, 111.45]], [[-22.5, 105.8], [-27.35, 111], [-21.6, 95.1]]]);
CreateBody(miniBall, _-39, _-3y._-8, [20]);
CreateBody(miniBox, _-8j, _-3y._-1D, [[[-15, 15], [-15, -15], [15, -15], [15, 15]]]);
CreateBody(ball, _-39, _-3y._-8, [40]);
CreateBody(box, _-8j, _-3y._-1D, [[[-25, 25], [-25, -25], [25, -25], [25, 25]]]);
CreateBody(shoes, _-8j, _-3y._-1D, [[[18.8, -8], [34.3, -8], [10.8, -1.4]], [[8.95, -16], [2, -13.45], [-4.55, -28.85], [13.05, -30.9]], [[2, -13.45], [2.05, -1.4], [-22.7, -0.9], [-22.7, -29.15], [-20.45, -35], [-4.55, -28.85]], [[2.05, -1.4], [10.8, -1.4], [-28.55, 10], [-22.7, -0.9]], [[10.8, -1.4], [34.3, -8], [45.05, 1], [42.55, 24.75], [-28.8, 23.6], [-28.55, 10]]]);
}
}
}//package Levels
Section 179
//Level_5 (Levels.Level_5)
package Levels {
import flash.display.*;
public class Level_5 extends Level {
public var ball1:MovieClip;
public var ball4:MovieClip;
public var ball2:MovieClip;
public var ball3:MovieClip;
public var fish:MovieClip;
public var ambrella:MovieClip;
public function Level_5():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:_-6g;
var _local10:_-2p;
var _local11:_-2I;
var _local12:_-6P;
super();
_local1 = 420;
_local2 = -50;
_local3 = 20;
_local4 = 10;
_local5 = new Array((_local3 + _local4));
_local6 = new Array(((_local3 + _local4) + 2));
_local7 = 10;
_local8 = 0;
while (_local8 < _local3) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local9 = new _-6g();
_local9.x = _local1;
_local9.y = (_local2 + (_local7 * _local3));
addChild(_local9);
CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]);
_local8 = _local3;
while (_local8 < (_local3 + _local4)) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * (_local8 + 1)));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local10 = new _-2p();
_local10.x = _local1;
_local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4)));
addChildAt(_local10, 1);
CreateBody(_local10, _-8j, _-3y._-2g, [[[-9.55, 28.35], [-3.55, 18.75], [3.55, 18.35], [-3.85, 34.35], [-9.55, 35.15]], [[-3.15, 44.35], [-9.55, 35.15], [-3.85, 34.35], [3.75, 39.05], [8.35, 44.75]], [[14.95, 37.35], [8.35, 44.75], [3.75, 39.05], [11.25, 21.25], [14.95, 23.25]], [[3.55, 18.35], [-3.55, 18.75], [-3.55, -0.95], [3.55, -0.95]]]);
_local8 = 0;
while (_local8 < ((_local3 + _local4) + 2)) {
_local6[_local8] = new const();
_local6[_local8].x = _local1;
_local6[_local8].y = (_local2 + (_local7 * (_local8 - 1)));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-5E, []);
_local8++;
};
_local11 = new _-2I();
_local11.x = 275;
_local11.y = -10;
addChild(_local11);
CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local12 = new _-6P();
_local12.x = 275;
_local12.y = 410;
addChildAt(_local12, 1);
_-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[0, -32], [37.35, -24.6], [-34.75, -37.05], [-17.3, -35.1]], [[-126.8, -123.05], [-107.25, -93.65], [-145, -140]], [[-107.25, -93.65], [-87.3, -63.65], [-189, -141.25], [-145, -140]], [[-87.3, -63.65], [-67.9, -45.05], [-262.65, -89], [-254.1, -100.85], [-245.05, -113.3], [-231, -126], [-189, -141.25]], [[-67.9, -45.05], [-34.75, -37.05], [-275, -78], [-262.65, -89]], [[-34.75, -37.05], [37.35, -24.6], [-275, 10], [-275, -78]], [[-275, 10], [37.35, -24.6], [74.05, -24.1], [295, 10]], [[294.95, -120], [295, 10], [175.15, -110.5], [190.05, -123.3], [223.95, -140], [258.5, -137.4]], [[175.15, -110.5], [295, 10], [117.85, -55.9], [139.05, -78.15], [157.95, -96]], [[117.85, -55.9], [295, 10], [74.05, -24.1]]]);
CreateBody(fish, _-8j, _-3y._-1p, [[[24.15, -28.75], [37.85, -10.65], [-6.25, -26.6], [-11.8, -41.7], [7.7, -36.75]], [[-6.25, -26.6], [37.85, -10.65], [-32.4, -0.55], [-54, 0.75], [-27.4, -15.2]], [[-49.35, -37.15], [-27.4, -15.2], [-54, 0.75]], [[-32.4, -0.55], [37.85, -10.65], [32.4, 16.1], [21.65, 25.05], [4.55, 30.5], [-11.4, 27.65], [-20.45, 19.7]], [[39.05, 11.95], [32.4, 16.1], [37.85, -10.65]]]);
CreateBody(ball1, _-39, _-3y._-8, [40]);
CreateBody(ball2, _-39, _-3y._-8, [40]);
CreateBody(ball3, _-39, _-3y._-8, [40]);
CreateBody(ball4, _-39, _-3y._-8, [40]);
CreateBody(ambrella, _-8j, _-3y._-1D, [[[39.5, -78.75], [40.65, -70.85], [36, -71.5]], [[40.65, -70.85], [56.6, -67.6], [-30.5, -40.3], [-47.3, -38.7], [-20.4, -62], [14.85, -72.85], [36, -71.5]], [[-30.5, -40.3], [56.6, -67.6], [-0.15, -36.35], [-17.6, -32.1]], [[-0.15, -36.35], [56.6, -67.6], [29, -32], [15.15, -27.6]], [[-6, 78], [-2.85, 85.9], [-6.85, 90.95], [-12, 77]], [[-2.85, 85.9], [11.95, 86.65], [16.6, 91.95], [-6.85, 90.95]], [[11.95, 86.65], [29, -32], [34, -31], [16.6, 91.95]], [[29, -32], [56.6, -67.6], [34, -31]], [[34, -31], [56.6, -67.6], [63.45, -27.3], [47.35, -22]], [[63.45, -27.3], [56.6, -67.6], [94.6, -22.65], [80.1, -17.85]], [[94.6, -22.65], [56.6, -67.6], [87.85, -49.6], [109.55, -17.85]]]);
}
}
}//package Levels
Section 180
//Level_6 (Levels.Level_6)
package Levels {
import flash.display.*;
public class Level_6 extends Level {
public var ball1:MovieClip;
public var clothes:MovieClip;
public var bucket:MovieClip;
public function Level_6():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:Array;
var _local6:Array;
var _local7:int;
var _local8:int;
var _local9:_-6g;
var _local10:_-2p;
var _local11:_-2I;
var _local12:_-72;
super();
_local1 = 270;
_local2 = -50;
_local3 = 17;
_local4 = 3;
_local5 = new Array((_local3 + _local4));
_local6 = new Array(((_local3 + _local4) + 2));
_local7 = 10;
_local8 = 0;
while (_local8 < _local3) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local9 = new _-6g();
_local9.x = _local1;
_local9.y = (_local2 + (_local7 * _local3));
addChild(_local9);
CreateBody(_local9, _-39, _-3y._-2g, [(_local7 + 8)]);
_local8 = _local3;
while (_local8 < (_local3 + _local4)) {
_local5[_local8] = new _-1m();
_local5[_local8].x = _local1;
_local5[_local8].y = (_local2 + (_local7 * (_local8 + 1)));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-39, _-3y._-2g, [_local7], 1, 0, 2);
_local8++;
};
_local10 = new _-2p();
_local10.x = _local1;
_local10.y = (_local2 + (_local7 * ((_local3 + 1) + _local4)));
addChildAt(_local10, 1);
CreateBody(_local10, _-8j, _-3y._-2g, [[[-9.55, 28.35], [-3.55, 18.75], [3.55, 18.35], [-3.85, 34.35], [-9.55, 35.15]], [[-3.15, 44.35], [-9.55, 35.15], [-3.85, 34.35], [3.75, 39.05], [8.35, 44.75]], [[14.95, 37.35], [8.35, 44.75], [3.75, 39.05], [11.25, 21.25], [14.95, 23.25]], [[3.55, 18.35], [-3.55, 18.75], [-3.55, -0.95], [3.55, -0.95]]]);
_local8 = 0;
while (_local8 < ((_local3 + _local4) + 2)) {
_local6[_local8] = new const();
_local6[_local8].x = _local1;
_local6[_local8].y = (_local2 + (_local7 * (_local8 - 1)));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-5E, []);
_local8++;
};
removeChild(bucket);
addChild(bucket);
CreateBody(bucket, _-8j, _-3y._-1P, [[[42.3, -50.1], [47.5, -51.6], [46.25, -42.2], [42.45, -13.85], [29.55, 48.25]], [[-45.95, -51.65], [-39.25, 47.2], [-45, 49.05], [-51.4, -52.95]], [[-39.25, 47.2], [-18.25, 54.75], [-21, 60.95], [-45, 49.05]], [[-18.25, 54.75], [14.95, 54.7], [13.75, 61.25], [-21, 60.95]], [[14.95, 54.7], [29.55, 48.25], [34.2, 52.1], [13.75, 61.25]], [[34.2, 52.1], [29.55, 48.25], [42.45, -13.85]], [[56.05, -22.6], [42.45, -13.85], [46.25, -42.2]]]);
CreateBody(clothes, _-8j, _-3y.override, [[[-80.1, 30.85], [-15.35, 11.65], [6.75, 10.45], [73.75, 31.4], [74.3, 41.85], [-81.2, 41.85]], [[-15.35, 11.65], [4.35, -7.35], [6.75, 10.45]], [[4.35, -7.35], [3.6, -16.6], [10.25, -17.3], [6.75, 10.45]], [[10.25, -17.3], [3.6, -16.6], [-4.3, -17.3], [-9.2, -20.6], [0.7, -24.35]], [[-9.6, -10.75], [-9.2, -20.6], [-4.3, -17.3], [-7.7, -10.25]]]);
CreateBody(ball1, _-39, _-3y._-1D, [40]);
_local11 = new _-2I();
_local11.x = 275;
_local11.y = -10;
addChildAt(_local11, 1);
CreateBody(_local11, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local12 = new _-72();
_local12.x = 275;
_local12.y = 410;
addChildAt(_local12, 1);
_-0W = CreateBody(_local12, _-8j, _-3y._-1p, [[[-67.9, -45.05], [0, -32], [-275, 10], [-112.15, -49.15]], [[-211.15, -99.65], [-191.85, -84.4], [-250.05, -114.75], [-225.95, -109]], [[-191.85, -84.4], [-152.95, -58], [-275, 10], [-274.95, -104], [-250.05, -114.75]], [[-152.95, -58], [-112.15, -49.15], [-275, 10]], [[0, -32], [37.35, -30.55], [295, 10], [-275, 10]], [[294.95, -71], [295, 10], [210.25, -89.9], [228, -91], [260.55, -88.4]], [[210.25, -89.9], [295, 10], [122.35, -54.85], [167, -82], [183.4, -91.05], [196.6, -91.8]], [[122.35, -54.85], [295, 10], [74, -36]], [[74, -36], [295, 10], [37.35, -30.55]]]);
}
}
}//package Levels
Section 181
//Level_7 (Levels.Level_7)
package Levels {
import flash.display.*;
public class Level_7 extends Level {
public var shoesRight:_-0h;
public var shoes:MovieClip;
public var telescope:MovieClip;
public var ball:MovieClip;
public function Level_7():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:_-2A;
var _local10:_-2I;
var _local11:_-13;
super();
_local1 = 250;
_local2 = -200;
_local3 = 8;
_local4 = new Array(_local3);
_local5 = new Array(_local3);
_local6 = new Array(_local3);
_local7 = new Array((_local3 + 1));
_local8 = 0;
while (_local8 < _local3) {
_local4[_local8] = new _-3C();
_local4[_local8].x = _local1;
_local4[_local8].y = (_local2 + (40 * _local8));
addChildAt(_local4[_local8], 1);
CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF);
_local5[_local8] = new _-8I();
_local5[_local8].x = _local1;
_local5[_local8].y = ((_local2 + 20) + (40 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF);
_local6[_local8] = new _-6f();
_local6[_local8].x = _local1;
_local6[_local8].y = ((_local2 - 10) + (40 * _local8));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-4F, [false, false]);
_local7[_local8] = new _-6f();
_local7[_local8].x = _local1;
_local7[_local8].y = ((_local2 + 10) + (40 * _local8));
addChildAt(_local7[_local8], 1);
_-1b(_local7[_local8], _-3A._-4F, [false, false]);
_local8++;
};
_local9 = new _-2A();
_local9.x = _local1;
_local9.y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-8j, _-3y._-5s, [[[-18.75, 82.45], [-26.4, 87.6], [-48.65, 73.85], [-46.5, 71.6]], [[-26.4, 87.6], [-12.9, 97.1], [3.25, 116.95], [-32, 93.45], [-48.65, 73.85]], [[-35.05, 100.2], [-48.65, 73.85], [-32, 93.45]], [[-12.9, 97.1], [-4.25, 98.1], [3.25, 116.95]], [[-4.25, 98.1], [-4.05, 25.5], [3.6, 25.65], [8.1, 97.1], [3.25, 116.95]], [[38, 97.75], [34, 91.95], [48.75, 72.7]], [[34, 91.95], [3.25, 116.95], [16.6, 95.2], [27.75, 85.2], [45.75, 70.85], [48.75, 72.7]], [[22.75, 81.7], [45.75, 70.85], [27.75, 85.2]], [[16.6, 95.2], [3.25, 116.95], [8.1, 97.1]], [[-4.05, 25.5], [-34.6, 23.45], [-34.25, 17.55], [-4.65, 16.05], [3.85, 16.25], [32.8, 19.75], [32.9, 25.5], [3.6, 25.65]], [[10.9, 5.1], [3.85, 16.25], [-4.65, 16.05], [-11.3, 5.1], [-5.4, -5.2], [4.7, -5.2]]]);
_local7[_local3] = new _-6f();
_local7[_local3].x = _local1;
_local7[_local3].y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local7[_local3], 1);
_-1b(_local7[_local3], _-3A._-4F, [false, false]);
_local10 = new _-2I();
_local10.x = 275;
_local10.y = -10;
addChild(_local10);
CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local11 = new _-13();
_local11.x = 275;
_local11.y = 410;
addChildAt(_local11, 1);
_-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[-67.9, -45.05], [-42.6, -33.15], [-177, -66.9], [-144, -70], [-105.25, -61.2]], [[-42.6, -33.15], [-13, -23], [-242.15, -44.2], [-209, -58], [-177, -66.9]], [[-242.15, -44.2], [-13, -23], [-275, -32]], [[-13, -23], [26.8, -19.85], [-275, 10], [-275, -32]], [[26.8, -19.85], [70.15, -23.9], [295, -38], [295, 10], [-275, 10]], [[295, -38], [70.15, -23.9], [107.2, -36.3], [187.65, -59.95], [231.95, -59], [266.25, -51.45]], [[144.95, -51], [187.65, -59.95], [107.2, -36.3]]]);
CreateBody(ball, _-39, _-3y._-8, [40]);
CreateBody(shoes, _-8j, _-3y._-1D, [[[18.8, -8], [34.3, -8], [10.8, -1.4]], [[8.95, -16], [2, -13.45], [-4.55, -28.85], [13.05, -30.9]], [[2, -13.45], [2.05, -1.4], [-22.7, -0.9], [-22.7, -29.15], [-20.45, -35], [-4.55, -28.85]], [[2.05, -1.4], [10.8, -1.4], [-28.55, 10], [-22.7, -0.9]], [[10.8, -1.4], [34.3, -8], [45.05, 1], [42.55, 24.75], [-28.8, 23.6], [-28.55, 10]]]);
CreateBody(shoesRight, _-8j, _-3y._-1D, [[[-14.75, -30.9], [2.85, -28.85], [-10.65, -16]], [[2.85, -28.85], [18.75, -35], [-3.7, -13.45], [-10.65, -16]], [[-3.7, -13.45], [18.75, -35], [21, -29.15], [21, -0.9], [-3.75, -1.4]], [[-20.5, -8], [-12.5, -1.4], [-46.75, 1], [-36, -8]], [[-12.5, -1.4], [-3.75, -1.4], [21, -0.9], [26.85, 10], [27.1, 23.6], [-44.25, 24.75], [-46.75, 1]]]);
CreateBody(telescope, _-8j, _-3y._-1D, [[[-82, -4.9], [-75.95, -3.55], [-83.9, 0.35]], [[-75.95, -3.55], [13.35, -8.85], [11, 8.9], [-76.1, 4.75], [-83.9, 0.35]], [[-82.7, 6.85], [-83.9, 0.35], [-76.1, 4.75]], [[13.35, -8.85], [18.5, -11], [77.5, -10.75], [77.5, 11.65], [16.35, 11.1], [11, 8.9]]]);
}
}
}//package Levels
Section 182
//Level_8 (Levels.Level_8)
package Levels {
import flash.display.*;
public class Level_8 extends Level {
public var monitor:MovieClip;
public function Level_8():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:_-2A;
var _local10:int;
var _local11:int;
var _local12:_-2d;
var _local13:_-5q;
var _local14:*;
var _local15:int;
var _local16:int;
var _local17:int;
var _local18:int;
var _local19:Array;
var _local20:Array;
var _local21:int;
var _local22:_-6g;
var _local23:_-2p;
var _local24:_-2I;
var _local25:_-1I;
super();
_local1 = 380;
_local2 = -120;
_local3 = 5;
_local4 = new Array(_local3);
_local5 = new Array(_local3);
_local6 = new Array(_local3);
_local7 = new Array((_local3 + 1));
_local8 = 0;
while (_local8 < _local3) {
_local4[_local8] = new _-3C();
_local4[_local8].x = _local1;
_local4[_local8].y = (_local2 + (40 * _local8));
addChildAt(_local4[_local8], 1);
CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF);
_local5[_local8] = new _-8I();
_local5[_local8].x = _local1;
_local5[_local8].y = ((_local2 + 20) + (40 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF);
_local6[_local8] = new _-6f();
_local6[_local8].x = _local1;
_local6[_local8].y = ((_local2 - 10) + (40 * _local8));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-4F, [false, false]);
_local7[_local8] = new _-6f();
_local7[_local8].x = _local1;
_local7[_local8].y = ((_local2 + 10) + (40 * _local8));
addChildAt(_local7[_local8], 1);
_-1b(_local7[_local8], _-3A._-4F, [false, false]);
_local8++;
};
_local9 = new _-2A();
_local9.x = _local1;
_local9.y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-8j, _-3y._-5s, [[[-18.75, 82.45], [-26.4, 87.6], [-48.65, 73.85], [-46.5, 71.6]], [[-26.4, 87.6], [-12.9, 97.1], [3.25, 116.95], [-32, 93.45], [-48.65, 73.85]], [[-35.05, 100.2], [-48.65, 73.85], [-32, 93.45]], [[-12.9, 97.1], [-4.25, 98.1], [3.25, 116.95]], [[-4.25, 98.1], [-4.05, 25.5], [3.6, 25.65], [8.1, 97.1], [3.25, 116.95]], [[38, 97.75], [34, 91.95], [48.75, 72.7]], [[34, 91.95], [3.25, 116.95], [16.6, 95.2], [27.75, 85.2], [45.75, 70.85], [48.75, 72.7]], [[22.75, 81.7], [45.75, 70.85], [27.75, 85.2]], [[16.6, 95.2], [3.25, 116.95], [8.1, 97.1]], [[-4.05, 25.5], [-34.6, 23.45], [-34.25, 17.55], [-4.65, 16.05], [3.85, 16.25], [32.8, 19.75], [32.9, 25.5], [3.6, 25.65]], [[10.9, 5.1], [3.85, 16.25], [-4.65, 16.05], [-11.3, 5.1], [-5.4, -5.2], [4.7, -5.2]]]);
_local7[_local3] = new _-6f();
_local7[_local3].x = _local1;
_local7[_local3].y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local7[_local3], 1);
_-1b(_local7[_local3], _-3A._-4F, [false, false]);
_local10 = 70;
_local11 = 40;
_local12 = new _-2d();
_local12.x = _local10;
_local12.y = _local11;
addChildAt(_local12, 1);
CreateBody(_local12, _-8j, _-3y._-1D, [[[260.6, -12.3], [260.6, -7.95], [14.4, -4.65], [-59.6, -3.7], [-59.6, -18.35]], [[-9.7, 11.9], [-14.8, -4.25], [14.4, -4.65], [9.5, 12]], [[-14.8, -4.25], [-59.6, -3.7], [14.4, -4.65]]]);
_local13 = new _-5q();
_local13.x = _local10;
_local13.y = _local11;
addChildAt(_local13, 1);
CreateBody(_local13, _-39, _-3y._-1D, [30]);
_local14 = new _-6f();
_local14.x = _local10;
_local14.y = _local11;
addChildAt(_local14, 1);
_-1b(_local14, _-3A._-4F, [false, false]);
_local15 = (_local10 + 258.15);
_local16 = (_local11 - 10.4);
_local17 = 15;
_local18 = 13;
_local19 = new Array((_local17 + _local18));
_local20 = new Array(((_local17 + _local18) + 2));
_local21 = 10;
_local8 = 1;
while (_local8 < _local17) {
_local19[_local8] = new _-1m();
_local19[_local8].x = _local15;
_local19[_local8].y = (_local16 + (_local21 * _local8));
addChildAt(_local19[_local8], 1);
CreateBody(_local19[_local8], _-39, _-3y._-2g, [_local21], 1, 0, 5);
_local8++;
};
_local22 = new _-6g();
_local22.x = _local15;
_local22.y = (_local16 + (_local21 * _local17));
addChild(_local22);
CreateBody(_local22, _-39, _-3y._-2g, [(_local21 + 8)]);
_local8 = _local17;
while (_local8 < (_local17 + _local18)) {
_local19[_local8] = new _-1m();
_local19[_local8].x = _local15;
_local19[_local8].y = (_local16 + (_local21 * (_local8 + 1)));
addChildAt(_local19[_local8], 1);
CreateBody(_local19[_local8], _-39, _-3y._-2g, [_local21], 1, 0, 5);
_local8++;
};
_local23 = new _-2p();
_local23.x = _local15;
_local23.y = (_local16 + (_local21 * ((_local17 + 1) + _local18)));
addChildAt(_local23, 1);
CreateBody(_local23, _-8j, _-3y._-2g, [[[-9.55, 28.35], [-3.55, 18.75], [3.55, 18.35], [-3.85, 34.35], [-9.55, 35.15]], [[-3.15, 44.35], [-9.55, 35.15], [-3.85, 34.35], [3.75, 39.05], [8.35, 44.75]], [[14.95, 37.35], [8.35, 44.75], [3.75, 39.05], [11.25, 21.25], [14.95, 23.25]], [[3.55, 18.35], [-3.55, 18.75], [-3.55, -0.95], [3.55, -0.95]]]);
_local8 = 0;
while (_local8 < ((_local17 + _local18) + 2)) {
_local20[_local8] = new const();
_local20[_local8].x = _local15;
_local20[_local8].y = (_local16 + (_local21 * _local8));
addChildAt(_local20[_local8], 1);
_-1b(_local20[_local8], _-3A._-5E, []);
_local8++;
};
CreateBody(monitor, _-8j, _-3y.override, [[[-46.95, -49.95], [-22, -49.5], [8, 40.8], [7.75, 45.6], [-44.15, 45.65], [-50.75, 35.95]], [[8, 40.8], [-22, -49.5], [43.75, 20.2], [42.5, 39.9]], [[43.75, 20.2], [-22, -49.5], [48.05, -15], [49.95, 14]]]);
_local24 = new _-2I();
_local24.x = 275;
_local24.y = -10;
addChild(_local24);
CreateBody(_local24, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local25 = new _-1I();
_local25.x = 275;
_local25.y = 410;
addChildAt(_local25, 1);
_-0W = CreateBody(_local25, _-8j, _-3y._-1p, [[[-106.75, -43.5], [-92.6, -38.05], [-136.85, -49.7]], [[-92.6, -38.05], [-76.95, -33], [-206.9, -45.3], [-136.85, -49.7]], [[-76.95, -33], [-39.25, -25.65], [-206.9, -45.3]], [[-39.25, -25.65], [-1.75, -18.5], [-275, -32], [-206.9, -45.3]], [[-1.75, -18.5], [34.8, -16.15], [295, 10], [-275, 10], [-275, -32]], [[34.8, -16.15], [69.25, -19.25], [204.1, -27.55], [224.35, -26.8], [295, 10]], [[295, -38], [295, 10], [224.35, -26.8]], [[204.1, -27.55], [69.25, -19.25], [183.8, -32.15]], [[183.8, -32.15], [69.25, -19.25], [88.9, -24.2], [163.45, -37.25]], [[143.05, -39.5], [163.45, -37.25], [88.9, -24.2], [107.3, -30.9]]]);
}
}
}//package Levels
Section 183
//Level_9 (Levels.Level_9)
package Levels {
import flash.display.*;
public class Level_9 extends Level {
public var ball1:MovieClip;
public var ball2:MovieClip;
public var fish:MovieClip;
public var monitor:MovieClip;
public function Level_9():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Array;
var _local5:Array;
var _local6:Array;
var _local7:Array;
var _local8:int;
var _local9:_-2A;
var _local10:_-2I;
var _local11:_-7b;
super();
_local1 = 125;
_local2 = -400;
_local3 = 12;
_local4 = new Array(_local3);
_local5 = new Array(_local3);
_local6 = new Array(_local3);
_local7 = new Array((_local3 + 1));
_local8 = 0;
while (_local8 < _local3) {
_local4[_local8] = new _-3C();
_local4[_local8].x = _local1;
_local4[_local8].y = (_local2 + (40 * _local8));
addChildAt(_local4[_local8], 1);
CreateBody(_local4[_local8], _-8j, _-3y._-5s, [[[-7.5, -12.5], [7.5, -12.5], [7.5, 12.5], [-7.5, 12.5]]], 16, 0xFFFF);
_local5[_local8] = new _-8I();
_local5[_local8].x = _local1;
_local5[_local8].y = ((_local2 + 20) + (40 * _local8));
addChildAt(_local5[_local8], 1);
CreateBody(_local5[_local8], _-8j, _-3y._-5s, [[[-2.5, -12.5], [2.5, -12.5], [2.5, 12.5], [-2.5, 12.5]]], 16, 0xFFFF);
if (_local8 != 0){
_local6[_local8] = new _-6f();
_local6[_local8].x = _local1;
_local6[_local8].y = ((_local2 - 10) + (40 * _local8));
addChildAt(_local6[_local8], 1);
_-1b(_local6[_local8], _-3A._-4F, [false, false]);
};
_local7[_local8] = new _-6f();
_local7[_local8].x = _local1;
_local7[_local8].y = ((_local2 + 10) + (40 * _local8));
addChildAt(_local7[_local8], 1);
_-1b(_local7[_local8], _-3A._-4F, [false, false]);
_local8++;
};
_local9 = new _-2A();
_local9.x = _local1;
_local9.y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local9, 1);
CreateBody(_local9, _-8j, _-3y._-5s, [[[-18.75, 82.45], [-26.4, 87.6], [-48.65, 73.85], [-46.5, 71.6]], [[-26.4, 87.6], [-12.9, 97.1], [3.25, 116.95], [-32, 93.45], [-48.65, 73.85]], [[-35.05, 100.2], [-48.65, 73.85], [-32, 93.45]], [[-12.9, 97.1], [-4.25, 98.1], [3.25, 116.95]], [[-4.25, 98.1], [-4.05, 25.5], [3.6, 25.65], [8.1, 97.1], [3.25, 116.95]], [[38, 97.75], [34, 91.95], [48.75, 72.7]], [[34, 91.95], [3.25, 116.95], [16.6, 95.2], [27.75, 85.2], [45.75, 70.85], [48.75, 72.7]], [[22.75, 81.7], [45.75, 70.85], [27.75, 85.2]], [[16.6, 95.2], [3.25, 116.95], [8.1, 97.1]], [[-4.05, 25.5], [-34.6, 23.45], [-34.25, 17.55], [-4.65, 16.05], [3.85, 16.25], [32.8, 19.75], [32.9, 25.5], [3.6, 25.65]], [[10.9, 5.1], [3.85, 16.25], [-4.65, 16.05], [-11.3, 5.1], [-5.4, -5.2], [4.7, -5.2]]]);
_local7[_local3] = new _-6f();
_local7[_local3].x = _local1;
_local7[_local3].y = ((_local2 - 10) + (40 * _local3));
addChildAt(_local7[_local3], 1);
_-1b(_local7[_local3], _-3A._-4F, [false, false]);
_local10 = new _-2I();
_local10.x = 275;
_local10.y = -10;
addChild(_local10);
CreateBody(_local10, _-8j, _-3y._-1p, [[[-285, -10], [285, -10], [285, 10], [-285, 10]]], 1, 0x0101);
_local11 = new _-7b();
_local11.x = 275;
_local11.y = 410;
addChildAt(_local11, 1);
_-0W = CreateBody(_local11, _-8j, _-3y._-1p, [[[0, -32], [35.25, -26.9], [-258.65, -38.3], [-243, -46.6], [-210.95, -59], [-35.15, -36.85]], [[-102.85, -60.9], [-85.35, -52.05], [-174, -67.9], [-136.95, -73]], [[-85.35, -52.05], [-67.9, -45.05], [-174, -67.9]], [[-67.9, -45.05], [-35.15, -36.85], [-192.85, -62.75], [-174, -67.9]], [[-192.85, -62.75], [-35.15, -36.85], [-210.95, -59]], [[-258.65, -38.3], [35.25, -26.9], [70.15, -23.9], [295, 10], [-275, 10], [-275, -32]], [[295, -38], [295, 10], [224.35, -26.8]], [[224.35, -26.8], [295, 10], [183.8, -30.9]], [[183.8, -30.9], [295, 10], [70.15, -23.9], [107.2, -30.75], [143, -37], [163.4, -35.1]]]);
CreateBody(fish, _-8j, _-3y._-1p, [[[-62, 11.5], [-56.4, -1.95], [-42.45, 7.35]], [[-56.4, -1.95], [-59.75, -17.25], [-42.45, 7.35]], [[-42.45, 7.35], [-59.75, -17.25], [-37.75, -4.15], [-2.6, 25.65], [-12.6, 26.45], [-29.5, 22.35]], [[1.75, 31], [-2.6, 25.65], [-26.2, -19.15], [-0.3, -26.95], [29.7, -19.65], [43, 9]], [[-26.2, -19.15], [-2.6, 25.65], [-37.75, -4.15]]]);
CreateBody(monitor, _-8j, _-3y.override, [[[-46.95, -49.95], [-22, -49.5], [8, 40.8], [7.75, 45.6], [-44.15, 45.65], [-50.75, 35.95]], [[8, 40.8], [-22, -49.5], [43.75, 20.2], [42.5, 39.9]], [[43.75, 20.2], [-22, -49.5], [48.05, -15], [49.95, 14]]]);
CreateBody(ball1, _-39, _-3y._-8, [40]);
CreateBody(ball2, _-39, _-3y._-8, [40]);
}
}
}//package Levels
Section 184
//all_1 (movie_cs3_fla.all_1)
package movie_cs3_fla {
import flash.display.*;
public dynamic class all_1 extends MovieClip {
public var musicBtn:MovieClip;
public var s1:MovieClip;
public var s2:MovieClip;
public var s3:MovieClip;
public var _-0w:MovieClip;
public var gameClass:Class;
public var game:Sprite;
public function all_1(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
musicBtn.visible = false;
stop();
}
function frame1(){
musicBtn.x = 500;
musicBtn.y = 350;
musicBtn.visible = true;
if (!_-0w){
new Mask((this as MovieClip));
};
stop();
}
function frame2(){
stop();
gameClass = (loaderInfo.applicationDomain.getDefinition("Game") as Class);
game = (new gameClass(this) as Sprite);
musicBtn.x = 500;
musicBtn.y = 62;
musicBtn.visible = true;
}
}
}//package movie_cs3_fla
Section 185
//show_28 (movie_cs3_fla.show_28)
package movie_cs3_fla {
import flash.display.*;
public dynamic class show_28 extends MovieClip {
public function show_28(){
addFrameScript(20, frame21);
}
function frame21(){
stop();
}
}
}//package movie_cs3_fla
Section 186
//Symbol2_26 (movie_cs3_fla.Symbol2_26)
package movie_cs3_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
public dynamic class Symbol2_26 extends MovieClip {
public var bVolume;
public var musicChannel:SoundChannel;
public var music:Sound;
public var soundButton:MovieClip;
public function Symbol2_26(){
addFrameScript(0, frame1);
}
public function soundButtonListener(_arg1:MouseEvent):void{
bVolume = !(bVolume);
update();
}
function frame1(){
stop();
soundButton.addEventListener(MouseEvent.CLICK, soundButtonListener);
bVolume = true;
music = new _-A();
update();
this.buttonMode = true;
}
public function update(){
if (bVolume){
soundButton.gotoAndStop(1);
musicChannel = music.play(0, int.MAX_VALUE);
} else {
soundButton.gotoAndStop(2);
musicChannel.stop();
};
}
}
}//package movie_cs3_fla
Section 187
//Symbol9_80 (movie_cs3_fla.Symbol9_80)
package movie_cs3_fla {
import flash.display.*;
public dynamic class Symbol9_80 extends MovieClip {
public function Symbol9_80(){
addFrameScript(14, frame15);
}
function frame15(){
stop();
}
}
}//package movie_cs3_fla
Section 188
//_-0 (_-0)
package {
import flash.display.*;
public dynamic class _-0 extends MovieClip {
}
}//package
Section 189
//_-0e (_-0e)
package {
import flash.display.*;
public dynamic class _-0e extends MovieClip {
}
}//package
Section 190
//_-0h (_-0h)
package {
import flash.display.*;
public dynamic class _-0h extends MovieClip {
}
}//package
Section 191
//_-0k (_-0k)
package {
import flash.display.*;
public dynamic class _-0k extends MovieClip {
}
}//package
Section 192
//_-0m (_-0m)
package {
import flash.display.*;
public dynamic class _-0m extends MovieClip {
}
}//package
Section 193
//_-13 (_-13)
package {
import flash.display.*;
public dynamic class _-13 extends MovieClip {
}
}//package
Section 194
//_-1i (_-1i)
package {
import flash.display.*;
public dynamic class _-1i extends MovieClip {
}
}//package
Section 195
//_-1I (_-1I)
package {
import flash.display.*;
public dynamic class _-1I extends MovieClip {
}
}//package
Section 196
//_-1m (_-1m)
package {
import flash.display.*;
public dynamic class _-1m extends MovieClip {
}
}//package
Section 197
//_-25 (_-25)
package {
public class _-25 {
public static const _-5-:int = 0;
public static const _-4a:int = 1;
public static const _-2s:int = 2;
}
}//package
Section 198
//_-2A (_-2A)
package {
import flash.display.*;
public dynamic class _-2A extends MovieClip {
}
}//package
Section 199
//_-2b (_-2b)
package {
public dynamic class _-2b extends _-73 {
}
}//package
Section 200
//_-2d (_-2d)
package {
import flash.display.*;
public dynamic class _-2d extends MovieClip {
}
}//package
Section 201
//_-2E (_-2E)
package {
public dynamic class _-2E extends _-73 {
}
}//package
Section 202
//_-2I (_-2I)
package {
import flash.display.*;
public dynamic class _-2I extends MovieClip {
}
}//package
Section 203
//_-2K (_-2K)
package {
import flash.display.*;
public dynamic class _-2K extends SimpleButton {
}
}//package
Section 204
//_-2o (_-2o)
package {
import flash.display.*;
public dynamic class _-2o extends MovieClip {
}
}//package
Section 205
//_-2p (_-2p)
package {
import flash.display.*;
public dynamic class _-2p extends MovieClip {
}
}//package
Section 206
//_-35 (_-35)
package {
import Box2D.Common.Math.*;
import Box2D.Collision.Shapes.*;
public class _-35 {
public var separation:Number;
public var position:b2Vec2;
public var shape1:b2Shape;
public var shape2:b2Shape;
public var _-1V:uint;
public function _-35(_arg1:uint, _arg2:b2Shape, _arg3:b2Shape, _arg4:Number, _arg5:b2Vec2){
_-1V = _arg1;
shape1 = _arg2;
shape2 = _arg3;
separation = _arg4;
position = _arg5;
}
}
}//package
Section 207
//_-3A (_-3A)
package {
public class _-3A {
public static const _-5E:int = 0;
public static const _-4F:int = 1;
public static const _-0i:int = 3;
public static const _-5j:int = 2;
}
}//package
Section 208
//_-3C (_-3C)
package {
import flash.display.*;
public dynamic class _-3C extends MovieClip {
}
}//package
Section 209
//_-3F (_-3F)
package {
import flash.display.*;
public dynamic class _-3F extends MovieClip {
}
}//package
Section 210
//_-3M (_-3M)
package {
import flash.display.*;
public dynamic class _-3M extends SimpleButton {
}
}//package
Section 211
//_-3Y (_-3Y)
package {
import flash.display.*;
public dynamic class _-3Y extends MovieClip {
}
}//package
Section 212
//_-3y (_-3y)
package {
public class _-3y {
public static const _-1p:int = 0;
public static const _-1P:int = 6;
public static const _-5s:int = 1;
public static const _-1D:int = 3;
public static const override:int = 5;
public static const _-8:int = 4;
public static const _-2g:int = 2;
public static var _-85:Array = new Array(new Array(0, 0.7, 0.2), new Array(3, 0.3, 0.1), new Array(1, 0.3, 0), new Array(0.5, 0.8, 0.4), new Array(1, 0.6, 0.9), new Array(0.9, 0.5, 0.5), new Array(0.5, 0.9, 0.1));
}
}//package
Section 213
//_-4E (_-4E)
package {
import flash.display.*;
public dynamic class _-4E extends MovieClip {
}
}//package
Section 214
//_-4m (_-4m)
package {
import flash.display.*;
public dynamic class _-4m extends MovieClip {
}
}//package
Section 215
//_-4n (_-4n)
package {
import com.kongregate.as3.client.*;
public class _-4n {
public static var _-3K:KongregateAPI;
public static var _-0g:Number;
}
}//package
Section 216
//_-5d (_-5d)
package {
import flash.display.*;
public dynamic class _-5d extends SimpleButton {
}
}//package
Section 217
//_-5e (_-5e)
package {
public dynamic class _-5e extends _-73 {
}
}//package
Section 218
//_-5i (_-5i)
package {
import flash.display.*;
public dynamic class _-5i extends MovieClip {
}
}//package
Section 219
//_-5q (_-5q)
package {
import flash.display.*;
public dynamic class _-5q extends MovieClip {
}
}//package
Section 220
//_-5r (_-5r)
package {
public dynamic class _-5r extends WaveElement {
}
}//package
Section 221
//_-6D (_-6D)
package {
import flash.display.*;
public dynamic class _-6D extends SimpleButton {
}
}//package
Section 222
//_-6f (_-6f)
package {
import flash.display.*;
public dynamic class _-6f extends MovieClip {
}
}//package
Section 223
//_-6g (_-6g)
package {
import flash.display.*;
public dynamic class _-6g extends MovieClip {
}
}//package
Section 224
//_-6l (_-6l)
package {
public dynamic class _-6l extends _-73 {
}
}//package
Section 225
//_-6n (_-6n)
package {
import flash.display.*;
public dynamic class _-6n extends MovieClip {
public function _-6n(){
addFrameScript(59, _-8d);
}
function _-8d(){
gotoAndPlay(1);
}
}
}//package
Section 226
//_-6P (_-6P)
package {
import flash.display.*;
public dynamic class _-6P extends MovieClip {
}
}//package
Section 227
//_-6w (_-6w)
package {
import flash.media.*;
public dynamic class _-6w extends Sound {
}
}//package
Section 228
//_-72 (_-72)
package {
import flash.display.*;
public dynamic class _-72 extends MovieClip {
}
}//package
Section 229
//_-73 (_-73)
package {
import flash.display.*;
import flash.events.*;
public class _-73 extends WaveElement {
public var _-2C:MovieClip;
public function _-5L(_arg1:MouseEvent=null):void{
gotoAndStop(1);
this.removeEventListener(Event.ENTER_FRAME, update);
finally.stop();
}
public function overAction(_arg1:MouseEvent=null):void{
this.addEventListener(Event.ENTER_FRAME, update);
finally.play();
gotoAndStop(2);
}
public function _-00(_arg1:MouseEvent=null):void{
gotoAndStop(3);
}
override public function clearEvents(_arg1:Event=null):void{
super.clearEvents();
this.removeEventListener(MouseEvent.MOUSE_OVER, overAction);
this.removeEventListener(MouseEvent.MOUSE_DOWN, _-00);
this.removeEventListener(MouseEvent.MOUSE_OUT, _-5L);
}
override public function ini(_arg1:Event=null):void{
super.ini();
gotoAndStop(1);
finally.gotoAndStop((1 + Math.round(((finally.totalFrames - 1) * Math.random()))));
this.removeEventListener(Event.ENTER_FRAME, update);
update();
this.buttonMode = true;
this.mouseChildren = false;
this.addEventListener(MouseEvent.MOUSE_OVER, overAction);
this.addEventListener(MouseEvent.MOUSE_DOWN, _-00);
this.addEventListener(MouseEvent.MOUSE_OUT, _-5L);
}
}
}//package
Section 230
//_-7b (_-7b)
package {
import flash.display.*;
public dynamic class _-7b extends MovieClip {
}
}//package
Section 231
//_-7g (_-7g)
package {
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Dynamics.Contacts.*;
public class _-7g extends _-0L {
public var _-6G:Array;
public function _-7g(){
_-6G = new Array();
super();
}
override public function _-7M(_arg1:b2ContactPoint):void{
var _local2:_-35;
var _local3:Array;
for each (_local2 in _-6G) {
if ((((((_local2._-1V == _arg1.id._-1V)) && ((_local2.shape1 == _arg1.shape1)))) && ((_local2.shape2 == _arg1.shape2)))){
_local3 = _-6G.splice(_-6G.indexOf(_local2), 1);
};
};
}
override public function Add(_arg1:b2ContactPoint):void{
_-6G.push(new _-35(_arg1.id._key, _arg1.shape1, _arg1.shape2, _arg1.separation, _arg1.position));
}
public function _-0c(_arg1:_-0F):Boolean{
var _local2:_-35;
for each (_local2 in _-6G) {
if ((((_local2.shape1.GetBody() == _arg1)) || ((_local2.shape2.GetBody() == _arg1)))){
return (true);
};
};
return (false);
}
override public function _-B(_arg1:b2ContactPoint):void{
}
override public function _-8t(_arg1:b2ContactResult):void{
}
public function _-0E(_arg1:_-0F, _arg2:_-0F):Boolean{
var _local3:_-35;
for each (_local3 in _-6G) {
if ((((((_local3.shape1.GetBody() == _arg1)) && ((_local3.shape2.GetBody() == _arg2)))) || ((((_local3.shape1.GetBody() == _arg2)) && ((_local3.shape2.GetBody() == _arg1)))))){
return (true);
};
};
return (false);
}
}
}//package
Section 232
//_-7p (_-7p)
package {
public dynamic class _-7p extends WaveElement {
}
}//package
Section 233
//_-80 (_-80)
package {
import flash.display.*;
public dynamic class _-80 extends MovieClip {
}
}//package
Section 234
//_-82 (_-82)
package {
import flash.display.*;
public dynamic class _-82 extends MovieClip {
}
}//package
Section 235
//_-8C (_-8C)
package {
import flash.display.*;
public class _-8C {
public var _-43:MovieClip;
public var _-1O:Array;
public var _-8Y:int;
public function _-8C(_arg1:MovieClip, _arg2:int, _arg3:Array){
_-1O = new Array();
super();
_-43 = _arg1;
_-8Y = _arg2;
_-1O = _arg3.slice();
}
}
}//package
Section 236
//_-8I (_-8I)
package {
import flash.display.*;
public dynamic class _-8I extends MovieClip {
}
}//package
Section 237
//_-8l (_-8l)
package {
public dynamic class _-8l extends _-73 {
}
}//package
Section 238
//_-8s (_-8s)
package {
import flash.display.*;
public dynamic class _-8s extends MovieClip {
}
}//package
Section 239
//_-8V (_-8V)
package {
public dynamic class _-8V extends WaveElement {
}
}//package
Section 240
//_-A (_-A)
package {
import flash.media.*;
public dynamic class _-A extends Sound {
}
}//package
Section 241
//_-C (_-C)
package {
import flash.display.*;
import flash.text.*;
public dynamic class _-C extends MovieClip {
public var txt:TextField;
}
}//package
Section 242
//_-f (_-f)
package {
import flash.display.*;
public dynamic class _-f extends MovieClip {
}
}//package
Section 243
//_-r (_-r)
package {
import flash.display.*;
public dynamic class _-r extends MovieClip {
}
}//package
Section 244
//const (const)
package {
import flash.display.*;
public dynamic class const extends MovieClip {
}
}//package
Section 245
//Game (Game)
package {
import flash.display.*;
import flash.events.*;
import com.gamezhero.api.as3.*;
import flash.media.*;
import flash.utils.*;
public class Game extends MovieClip {
public var _-0g:uint;// = 0
public var _-1B:Sound;
public var _-78;
public var _-U:Level;
public var resetButton;
public var _-6W:int;// = 0
public var g:MovieClip;
public var _-8h:_-3F;
public var _-52:Timer;
public var zorroButton;
public var pauseButton;
public var _-16:int;// = 0
public static var bVolume:Boolean = true;
public function Game(_arg1:MovieClip){
_-16 = 0;
_-6W = 0;
_-0g = 0;
super();
g = _arg1;
g.addChildAt(this, 0);
_-1B = new _-6w();
resetButton = new _-2K();
resetButton.name = "resetButton";
resetButton.x = 500;
resetButton.y = 115;
g.addChild(resetButton);
resetButton.addEventListener(MouseEvent.CLICK, _-1Y);
pauseButton = new _-5d();
pauseButton.name = "pauseButton";
pauseButton.x = 500;
pauseButton.y = (115 + 53);
g.addChild(pauseButton);
pauseButton.addEventListener(MouseEvent.CLICK, _-4V);
zorroButton = new _-6D();
zorroButton.name = "zorroButton";
zorroButton.x = 500;
zorroButton.y = ((115 + 53) + 53);
g.addChild(zorroButton);
zorroButton.addEventListener(MouseEvent.CLICK, _-6N);
_-78 = new _-C();
_-78.x = 55;
_-78.y = 13;
addChild(_-78);
_-52 = new Timer(1000);
_-52.addEventListener(TimerEvent.TIMER, _-2x);
_-52.start();
_-7N(_-16);
if (_-16 != 11){
addEventListener(Event.ENTER_FRAME, Update, false, 0, true);
};
}
public function _-Z(_arg1:Event){
_-52.start();
}
public function _-2x(_arg1:TimerEvent):void{
_-0g++;
_-78.txt.text = _-4Z(_-0g);
}
function _-4Z(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
if (_arg1 < 0){
_arg1 = 0;
};
_local2 = Math.floor(_arg1);
_local3 = Math.floor((_local2 / 60));
_local4 = Math.floor((_local3 / 60));
_local3 = (_local3 - (Math.floor((_local3 / 60)) * 60));
_local2 = (_local2 - (Math.floor((_local2 / 60)) * 60));
if (_local4.toString().length < 2){
_local4 = ("0" + _local4);
};
if (_local3.toString().length < 2){
_local3 = ("0" + _local3);
};
if (_local2.toString().length < 2){
_local2 = ("0" + _local2);
};
return (((((_local4 + ":") + _local3) + ":") + _local2));
}
public function _-1Y(_arg1:MouseEvent):void{
_-7N(_-16);
}
public function _-7N(_arg1:int):void{
var levelClass:Class;
var n = _arg1;
try {
removeChild(_-U);
} catch(e:Error) {
};
if (_-16 != 11){
_-16 = n;
levelClass = (Preloader._-2u.applicationDomain.getDefinition(("Levels.Level_" + _-16.toString())) as Class);
_-U = new (levelClass);
addChildAt(_-U, 0);
_-U.id = _-16;
Preloader._-4O.addEventListener(MouseEvent.MOUSE_DOWN, _-U._-5F);
Preloader._-4O.addEventListener(MouseEvent.MOUSE_UP, _-U._-7Q);
Preloader._-4O.addEventListener(MouseEvent.MOUSE_MOVE, _-U._-x);
};
if (((bVolume) && (!((_-16 == 0))))){
_-1B.play(0, 1);
};
if (_-16 == 11){
removeEventListener(MouseEvent.CLICK, _-1Y);
removeEventListener(MouseEvent.CLICK, _-4V);
removeEventListener(MouseEvent.CLICK, _-6N);
removeEventListener(MouseEvent.CLICK, _-6N);
removeEventListener(Event.ENTER_FRAME, Update, false);
_-52.removeEventListener(TimerEvent.TIMER, _-2x);
_-52.stop();
try {
g.removeChild(resetButton);
g.removeChild(pauseButton);
g.removeChild(zorroButton);
removeChild(_-78);
} catch(e:Error) {
};
try {
_-4n._-0g = _-0g;
(this.parent as MovieClip).gotoAndStop("score");
g.removeChild(this);
} catch(e:Error) {
};
};
try {
parent["s2"].gotoAndPlay(1);
} catch(e:Error) {
};
}
public function _-6N(_arg1:MouseEvent):void{
GamezheroApi.linkZorroLogo();
}
public function _-4V(_arg1:MouseEvent):void{
var _local2:MovieClip;
_-52.stop();
_local2 = new Pause((g as MovieClip));
_local2.addEventListener("CLOSE_PAUSE", _-Z);
}
public function Update(_arg1:Event):void{
if (_-U._-4T != _-25._-2s){
_-U.Update(_arg1);
} else {
_-16++;
if (_-16 <= 11){
_-7N(_-16);
};
};
}
}
}//package
Section 246
//Level (Level)
package {
import Box2D.Common.Math.*;
import flash.display.*;
import Box2D.Collision.*;
import Box2D.Dynamics.*;
import Box2D.Collision.Shapes.*;
import Box2D.Dynamics.Joints.*;
import Box2D.Dynamics.Contacts.*;
import Box2D.Common.*;
import flash.events.*;
import flash.utils.*;
public class Level extends Sprite {
public var _-0W:_-0F;
public var id:int;
public var _-01:_-7g;
public var import:Timer;
public var _-0G:Boolean;
public var m_world:_-5Y;
public var _-4T:int;// = 0
public var m_ground:_-0F;
public var _-G:b2DebugDraw;
public var _-3G:_-5i;
public var _-y:Sprite;
public var _-3m:b2MouseJoint;
public static const _-44:Number = 30;
public static const _-4k:int = 10;
public static const package:Number = 0.0333333333333333;
public static const _-39:int = 1;
public static const _-8j:int = 0;
public static const _-46:Number = 1.5;
public static var _-6U:Number;
public static var while:Number;
public static var _-6j:Number;
public static var _-5G:Number;
public function Level():void{
var _local1:b2AABB;
var _local2:b2Vec2;
var _local3:Boolean;
var _local4:*;
_-4T = _-25._-5-;
import = new Timer(8000, 1);
_-G = new b2DebugDraw();
super();
_-y = this;
_local1 = new b2AABB();
_local1._-6x.Set(-1000, -1000);
_local1._-0Q.Set(1000, 1000);
_local2 = new b2Vec2(0, 10);
_local3 = true;
m_world = new _-5Y(_local1, _local2, _local3);
_-01 = new _-7g();
m_world._-3S(_-01);
m_ground = m_world.GetGroundBody();
CreateCommonObjects();
import.addEventListener(TimerEvent.TIMER_COMPLETE, _-2y);
_local4 = new Sprite();
addChild(_local4);
_-G._-y = _local4;
_-G._-1W = _-44;
_-G.m_fillAlpha = 1;
_-G._-P = 0.5;
_-G._-4D = 1.5;
_-G._-o = b2DebugDraw.class;
m_world._-0D(_-G);
}
public function _-0P(_arg1:Boolean=false):_-0F{
var _local2:b2Vec2;
var _local3:b2AABB;
var _local4:int;
var _local5:Array;
var _local6:int;
var _local7:_-0F;
var _local8:int;
var _local9:b2Shape;
var _local10:Boolean;
_local2 = new b2Vec2();
_local2.Set(_-6j, _-5G);
_local3 = new b2AABB();
_local3._-6x.Set((_-6j - 0.001), (_-5G - 0.001));
_local3._-0Q.Set((_-6j + 0.001), (_-5G + 0.001));
_local4 = 10;
_local5 = new Array();
_local6 = m_world._-5v(_local3, _local5, _local4);
_local7 = null;
_local8 = 0;
while (_local8 < _local6) {
if ((((_local5[_local8].GetBody().IsStatic() == false)) || (_arg1))){
_local9 = (_local5[_local8] as b2Shape);
_local10 = _local9.TestPoint(_local9.GetBody().GetXForm(), _local2);
if (_local10){
_local7 = _local9.GetBody();
break;
};
};
_local8++;
};
return (_local7);
}
public function _-3l(_arg1:Number, _arg2:Number, _arg3:Boolean=true):Array{
var _local4:Array;
var _local5:b2Vec2;
var _local6:b2AABB;
var _local7:int;
var _local8:Array;
var _local9:int;
var _local10:_-0F;
var _local11:int;
var _local12:b2Shape;
var _local13:Boolean;
_local4 = new Array();
_local5 = new b2Vec2(_arg1, _arg2);
_local6 = new b2AABB();
_local6._-6x.Set((_arg1 - 0.001), (_arg2 - 0.001));
_local6._-0Q.Set((_arg1 + 0.001), (_arg2 + 0.001));
_local7 = 10;
_local8 = new Array();
_local9 = m_world._-5v(_local6, _local8, _local7);
_local10 = null;
_local11 = 0;
while (_local11 < _local9) {
if ((((_local8[_local11].GetBody().IsStatic() == false)) || (_arg3))){
_local12 = (_local8[_local11] as b2Shape);
_local13 = _local12.TestPoint(_local12.GetBody().GetXForm(), _local5);
if (_local13){
_local10 = _local12.GetBody();
_local4.push(_local10);
};
};
_local11++;
};
return (_local4);
}
public function _-2Q():void{
import.removeEventListener(TimerEvent.TIMER_COMPLETE, _-2y);
removeChild(_-3G);
}
public function _-7Q(_arg1:MouseEvent):void{
if (_-3m){
m_world._-7s(_-3m);
_-3m = null;
};
}
public function _-5F(_arg1:MouseEvent):void{
var _local2:_-0F;
var _local3:b2MouseJointDef;
if (!_-3m){
_local2 = _-0P();
if (_local2){
_local3 = new b2MouseJointDef();
_local3.body1 = m_world.GetGroundBody();
_local3.body2 = _local2;
_local3.target.Set(_-6j, _-5G);
switch (id){
case 0:
_local3.maxForce = (60 * _local2._-71());
break;
case 1:
_local3.maxForce = (50 * _local2._-71());
break;
case 2:
_local3.maxForce = (50 * _local2._-71());
break;
case 3:
_local3.maxForce = (50 * _local2._-71());
break;
case 4:
_local3.maxForce = (60 * _local2._-71());
break;
case 5:
_local3.maxForce = ((50 * _local2._-71()) + 50);
break;
case 6:
_local3.maxForce = ((50 * _local2._-71()) + 50);
break;
case 7:
_local3.maxForce = (50 * _local2._-71());
break;
case 8:
_local3.maxForce = (80 + (40 * _local2._-71()));
break;
case 9:
_local3.maxForce = 350;
break;
case 10:
_local3.maxForce = 350;
break;
case 11:
_local3.maxForce = 0;
break;
};
_local3.timeStep = package;
_-3m = (m_world._-1b(_local3) as b2MouseJoint);
_local2.WakeUp();
};
};
}
public function _-1b(_arg1, _arg2:int, _arg3:Array):b2Joint{
var _local4:MovieClip;
var _local5:b2Joint;
var _local6:_-8C;
var _local7:b2DistanceJointDef;
var _local8:b2Vec2;
var _local9:b2Vec2;
var _local10:_-0F;
var _local11:_-0F;
var _local12:b2RevoluteJointDef;
var _local13:b2Vec2;
var _local14:b2PrismaticJointDef;
var _local15:b2Vec2;
if ((_arg1 is MovieClip)){
_local4 = _arg1;
} else {
_local4 = (this.getChildByName(_arg1) as MovieClip);
};
_local6 = new _-8C(_arg1, _arg2, _arg3);
switch (_arg2){
case _-3A._-5E:
_local7 = new b2DistanceJointDef();
_local8 = new b2Vec2((_local4.x / _-44), (_local4.y / _-44));
_local9 = new b2Vec2(((_local4.x + _local4.width) / _-44), ((_local4.y + _local4.height) / _-44));
_local10 = _-3l(_local8.x, _local8.y)[0];
_local11 = _-3l(_local9.x, _local9.y)[0];
if (_local10 == null){
_local10 = m_ground;
};
if (_local11 == null){
_local11 = m_ground;
};
_local7.Initialize(_local10, _local11, _local8, _local9);
_local5 = m_world._-1b(_local7);
break;
case _-3A._-4F:
_local12 = new b2RevoluteJointDef();
_local13 = new b2Vec2((_local4.x / _-44), (_local4.y / _-44));
_local10 = _-3l(_local13.x, _local13.y)[0];
_local11 = _-3l(_local13.x, _local13.y)[1];
if (_local10 == null){
_local10 = m_ground;
};
if (_local11 == null){
_local11 = m_ground;
};
_local12.enableMotor = _arg3[0];
_local12.enableLimit = _arg3[1];
if (_local12.enableMotor){
_local12.motorSpeed = _arg3[2];
_local12.maxMotorTorque = _arg3[3];
};
if (_local12.enableLimit){
_local12.lowerAngle = ((_arg3[4] * Math.PI) / 180);
_local12.upperAngle = ((_arg3[5] * Math.PI) / 180);
};
_local12.Initialize(_local10, _local11, _local13);
_local5 = m_world._-1b(_local12);
break;
case _-3A._-5j:
_local14 = new b2PrismaticJointDef();
_local8 = new b2Vec2((_local4.x / _-44), (_local4.y / _-44));
_local9 = new b2Vec2(((_local4.x + (100 * Math.cos(((_local4.rotation * Math.PI) / 180)))) / _-44), ((_local4.y + (100 * Math.sin(((_local4.rotation * Math.PI) / 180)))) / _-44));
_local10 = _-3l(_local8.x, _local8.y)[0];
_local11 = _-3l(_local9.x, _local9.y)[0];
if (_local10 == null){
_local10 = m_ground;
};
if (_local11 == null){
_local11 = m_ground;
};
_local15 = new b2Vec2((_local9.x - _local8.x), (_local9.y - _local8.y));
_local15 = new b2Vec2((_local15.x / _local15.Length()), (_local15.y / _local15.Length()));
_local14.enableMotor = _arg3[0];
_local14.enableLimit = _arg3[1];
if (_local14.enableMotor){
_local14.motorSpeed = _arg3[2];
_local14.maxMotorForce = _arg3[3];
};
if (_local14.enableLimit){
_local14.lowerTranslation = _arg3[4];
_local14.upperTranslation = _arg3[5];
};
_local14.Initialize(_local10, _local11, _local8, _local15);
_local5 = m_world._-1b(_local14);
break;
};
_local5.m_userData = _local6;
if (_-y.contains(_local4)){
_-y.removeChild(_local4);
};
return (_local5);
}
public function _-2y(_arg1:TimerEvent):void{
_-4T = _-25._-2s;
}
public function CreateBody(_arg1:Sprite, _arg2:int, _arg3:int, _arg4:Array, _arg5:uint=1, _arg6:uint=0xFFFF, _arg7:Number=1.5):_-0F{
var _local8:_-0F;
var _local9:_-8u;
var _local10:b2CircleDef;
var _local11:int;
var _local12:b2PolygonDef;
var _local13:int;
_local9 = new _-8u();
_local9.position = new b2Vec2((_arg1.x / _-44), (_arg1.y / _-44));
_local9.angle = (_arg1.rotation * (Math.PI / 180));
_local9.userData = _arg1;
_local9._-5I = _arg7;
_local9._-6r = _arg7;
_local8 = m_world.CreateBody(_local9);
switch (_arg2){
case _-8j:
_local11 = 0;
while (_local11 < _arg4.length) {
_local12 = new b2PolygonDef();
_local12.vertexCount = _arg4[_local11].length;
_local13 = 0;
while (_local13 < _local12.vertexCount) {
_local12.vertices[_local13].Set((_arg4[_local11][_local13][0] / _-44), (_arg4[_local11][_local13][1] / _-44));
_local13++;
};
_local12.density = _-3y._-85[_arg3][0];
_local12.friction = _-3y._-85[_arg3][1];
_local12.restitution = _-3y._-85[_arg3][2];
_local12.filter.categoryBits = _arg5;
_local12.filter.maskBits = _arg6;
_local8._-8c(_local12);
_local11++;
};
break;
case _-39:
_local10 = new b2CircleDef();
_local10.radius = ((_arg4[0] / 2) / _-44);
_local10.localPosition.Set(0, 0);
_local10.density = _-3y._-85[_arg3][0];
_local10.friction = _-3y._-85[_arg3][1];
_local10.restitution = _-3y._-85[_arg3][2];
_local10.filter.categoryBits = _arg5;
_local10.filter.maskBits = _arg6;
_local8._-8c(_local10);
break;
};
_local8._-6A();
return (_local8);
}
public function Update(_arg1:Event):void{
var _local2:_-0F;
m_world._-07(package, _-4k);
_-0G = true;
_local2 = m_world._-17;
while (_local2) {
if ((_local2.m_userData is Sprite)){
_local2.m_userData.x = (_local2._-1r().x * _-44);
_local2.m_userData.y = (_local2._-1r().y * _-44);
_local2.m_userData.rotation = ((_local2.GetAngle() * (180 / Math.PI)) % 360);
};
if (((_local2._-5t()) && (!(_local2.IsSleeping())))){
_-0G = false;
};
_local2 = _local2.m_next;
};
if (((_-01._-0c(_-0W)) || (_-3m))){
_-4T = _-25._-5-;
if (import.running){
import.stop();
import.reset();
_-3G.gotoAndStop(1);
};
} else {
_-4T = _-25._-4a;
if (!import.running){
import.start();
_-3G.gotoAndPlay(1);
};
};
if (((_-0G) && ((_-4T == _-25._-4a)))){
_-4T = _-25._-2s;
if (import.running){
import.stop();
import.reset();
_-3G.stop();
};
};
}
public function CreateCommonObjects():void{
var _local1:_-1i;
var _local2:_-1i;
_-3G = new _-5i();
_-3G.x = 30;
_-3G.y = 30;
addChild(_-3G);
_-3G.stop();
_local1 = new _-1i();
_local1.x = -10;
_local1.y = 200;
addChild(_local1);
CreateBody(_local1, _-8j, _-3y._-1p, [[[-10, -210], [10, -210], [10, 210], [-10, 210]]]);
_local2 = new _-1i();
_local2.x = 560;
_local2.y = 200;
addChild(_local2);
CreateBody(_local2, _-8j, _-3y._-1p, [[[-10, -210], [10, -210], [10, 210], [-10, 210]]]);
}
public function _-x(_arg1:MouseEvent):void{
var _local2:b2Vec2;
_-6j = (_arg1.stageX / _-44);
_-5G = (_arg1.stageY / _-44);
while = _arg1.stageX;
_-6U = _arg1.stageY;
if (_-3m){
_local2 = new b2Vec2(_-6j, _-5G);
_-3m.SetTarget(_local2);
};
}
}
}//package
Section 247
//MainMenu (MainMenu)
package {
import flash.display.*;
import flash.events.*;
import com.gamezhero.api.as3.*;
public class MainMenu extends MovieClip {
public var moreGamesBtn:_-6l;
private var btn3:MovieClip;
private var btn4:MovieClip;
private var btn1:MovieClip;
private var btn5:MovieClip;
private var btn2:MovieClip;
public var playBtn:_-2E;
public var gamezheroBtn:_-8l;
public var logo:WaveElement;
public var topScoreBtn:_-73;
public var twitterBtn:_-2b;
public function MainMenu(){
ini();
}
public function ini(_arg1:Event=null):void{
btn1 = (this["playBtn"] as MovieClip);
btn2 = (this["topScoreBtn"] as MovieClip);
btn3 = (this["moreGamesBtn"] as MovieClip);
btn4 = (this["gamezheroBtn"] as MovieClip);
btn5 = (this["twitterBtn"] as MovieClip);
this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
btn1.addEventListener(MouseEvent.CLICK, gotoAction);
btn2.addEventListener(MouseEvent.CLICK, gotoAction);
btn3.addEventListener(MouseEvent.CLICK, gotoAction);
btn4.addEventListener(MouseEvent.CLICK, gotoAction);
btn5.addEventListener(MouseEvent.CLICK, gotoAction);
}
public function gotoAction(_arg1:MouseEvent=null):void{
switch (_arg1.target){
case btn1:
(this.parent as MovieClip).gotoAndStop("game");
break;
case btn2:
GamezheroApi.linkTopScore();
break;
case btn3:
GamezheroApi.linkMoreGames();
break;
case btn4:
GamezheroApi.linkZorroLogo();
break;
case btn5:
GamezheroApi.linkTwitter();
break;
default:
GamezheroApi.linkMoreGames();
};
}
public function clearEvents(_arg1:Event=null):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
btn1.removeEventListener(MouseEvent.CLICK, gotoAction);
btn2.removeEventListener(MouseEvent.CLICK, gotoAction);
btn3.removeEventListener(MouseEvent.CLICK, gotoAction);
btn4.removeEventListener(MouseEvent.CLICK, gotoAction);
btn5.removeEventListener(MouseEvent.CLICK, gotoAction);
}
}
}//package
Section 248
//Mask (Mask)
package {
import flash.display.*;
import flash.events.*;
public class Mask extends MovieClip {
private var g:MovieClip;
public function Mask(_arg1:MovieClip){
g = _arg1;
g.addChild(this);
ini();
}
public function ini():void{
g.addEventListener(Event.ADDED_TO_STAGE, update);
}
public function update(_arg1:Event):void{
g.removeChild(this);
g.addChild(this);
}
}
}//package
Section 249
//Pause (Pause)
package {
import flash.display.*;
import flash.events.*;
import com.gamezhero.api.as3.*;
public class Pause extends MovieClip {
private var btn3:MovieClip;
private var btn2:MovieClip;
private var btn4:MovieClip;
private var btn1:MovieClip;
private var btn5:MovieClip;
private var g:MovieClip;
public var playBtn:_-5e;
public var gamezheroBtn:_-8l;
private var _-0n:Boolean;
public function Pause(_arg1:MovieClip){
g = _arg1;
g.getChildByName("zorroButton").visible = false;
g.getChildByName("pauseButton").visible = false;
g.getChildByName("resetButton").visible = false;
g["musicBtn"].visible = false;
g["s2"].gotoAndPlay(1);
g.addChild(this);
_-0n = g["musicBtn"].bVolume;
g["musicBtn"].bVolume = false;
g["musicBtn"].update();
ini();
}
public function ini(_arg1:Event=null):void{
btn1 = (this["playBtn"] as MovieClip);
btn4 = (this["gamezheroBtn"] as MovieClip);
this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
btn1.addEventListener(MouseEvent.CLICK, gotoAction);
btn4.addEventListener(MouseEvent.CLICK, gotoAction);
}
public function gotoAction(_arg1:MouseEvent=null):void{
switch (_arg1.target){
case btn1:
_-77();
break;
case btn4:
GamezheroApi.linkZorroLogo();
break;
default:
GamezheroApi.linkMoreGames();
};
}
public function clearEvents(_arg1:Event=null):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
btn1.removeEventListener(MouseEvent.CLICK, gotoAction);
btn4.removeEventListener(MouseEvent.CLICK, gotoAction);
}
public function _-77():void{
g.getChildByName("zorroButton").visible = true;
g.getChildByName("pauseButton").visible = true;
g.getChildByName("resetButton").visible = true;
g["musicBtn"].visible = true;
g["musicBtn"].bVolume = _-0n;
g["musicBtn"].update();
g["s2"].gotoAndPlay(1);
g.removeChild(this);
this.dispatchEvent(new Event("CLOSE_PAUSE"));
}
}
}//package
Section 250
//Preloader (Preloader)
package {
import flash.display.*;
import com.gamezhero.api.as3.*;
import flash.text.*;
import flash.errors.*;
import com.kongregate.as3.client.*;
public class Preloader extends MovieClip {
private var _-3g:TextField;
private var _-5S:Sprite;
public static var _-4O:Stage;
public static var _-2u:LoaderInfo;
public function Preloader(){
var i:uint;
var g:*;
super();
addFrameScript(0, frame1);
stop();
_-2u = loaderInfo;
_-4O = stage;
stage.scaleMode = StageScaleMode.NO_SCALE;
i = 0;
while (i <= (this.numChildren - 1)) {
g = this.getChildAt(i);
if ((g is MovieClip)){
this.removeChild(g);
break;
};
i = (i + 1);
};
GamezheroApi.ini("seabedcleaner");
GamezheroApi.preloader(this, _-6y);
try {
_-4n._-3K = new KongregateAPI();
this.addChild(_-4n._-3K);
} catch(error:IllegalOperationError) {
_-4n._-3K = KongregateAPI.getInstance();
};
}
private function _-6y():void{
gotoAndStop(2);
}
function frame1(){
stop();
}
}
}//package
Section 251
//WaveElement (WaveElement)
package {
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
public class WaveElement extends MovieClip {
public var finally:_-6n;
private var _-5Q:BitmapData;
private var _-90:DisplacementMapFilter;
private var _-0l:Point;
public function WaveElement(){
_-5Q = new BitmapData(this.width, this.height, false, 0);
_-0l = new Point(0, 0);
_-90 = new DisplacementMapFilter(_-5Q, _-0l, 1, 1, 10, 10);
finally = new _-6n();
ini();
}
public function ini(_arg1:Event=null):void{
this.addEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
this.addEventListener(Event.ENTER_FRAME, update);
}
public function update(_arg1:Event=null):void{
_-5Q.draw(finally);
this.filters = [_-90];
}
public function clearEvents(_arg1:Event=null):void{
this.removeEventListener(Event.REMOVED_FROM_STAGE, clearEvents);
this.removeEventListener(Event.ENTER_FRAME, update);
}
}
}//package
Section 252
//with (with)
package {
import flash.display.*;
public dynamic class with extends MovieClip {
public var _-7E:_-6n;
public function with(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package