gecko-dev/browser/extensions/shumway/content/shumway.player.js

43039 строки
1.6 MiB

console.time("Load Player Dependencies");
console.time("Load Shared Dependencies");
var jsGlobal = function() {
return this || (0,eval)("this");
}(), inBrowser = "undefined" != typeof console;
jsGlobal.performance || (jsGlobal.performance = {});
jsGlobal.performance.now || (jsGlobal.performance.now = "undefined" !== typeof dateNow ? dateNow : Date.now);
function log(b) {
for (var k = 0;k < arguments.length - 1;k++) {
}
jsGlobal.print.apply(jsGlobal, arguments);
}
function warn(b) {
for (var k = 0;k < arguments.length - 1;k++) {
}
inBrowser ? console.warn.apply(console, arguments) : jsGlobal.print(Shumway.IndentingWriter.RED + b + Shumway.IndentingWriter.ENDC);
}
var Shumway;
(function(b) {
function k(a) {
return(a | 0) === a;
}
function g(a) {
return "object" === typeof a || "function" === typeof a;
}
function f(a) {
return String(Number(a)) === a;
}
function t(a) {
var c = 0;
if ("number" === typeof a) {
return c = a | 0, a === c && 0 <= c ? !0 : a >>> 0 === a;
}
if ("string" !== typeof a) {
return!1;
}
var e = a.length;
if (0 === e) {
return!1;
}
if ("0" === a) {
return!0;
}
if (e > b.UINT32_CHAR_BUFFER_LENGTH) {
return!1;
}
var r = 0, c = a.charCodeAt(r++) - 48;
if (1 > c || 9 < c) {
return!1;
}
for (var h = 0, q = 0;r < e;) {
q = a.charCodeAt(r++) - 48;
if (0 > q || 9 < q) {
return!1;
}
h = c;
c = 10 * c + q;
}
return h < b.UINT32_MAX_DIV_10 || h === b.UINT32_MAX_DIV_10 && q <= b.UINT32_MAX_MOD_10 ? !0 : !1;
}
(function(a) {
a[a._0 = 48] = "_0";
a[a._1 = 49] = "_1";
a[a._2 = 50] = "_2";
a[a._3 = 51] = "_3";
a[a._4 = 52] = "_4";
a[a._5 = 53] = "_5";
a[a._6 = 54] = "_6";
a[a._7 = 55] = "_7";
a[a._8 = 56] = "_8";
a[a._9 = 57] = "_9";
})(b.CharacterCodes || (b.CharacterCodes = {}));
b.UINT32_CHAR_BUFFER_LENGTH = 10;
b.UINT32_MAX = 4294967295;
b.UINT32_MAX_DIV_10 = 429496729;
b.UINT32_MAX_MOD_10 = 5;
b.isString = function(a) {
return "string" === typeof a;
};
b.isFunction = function(a) {
return "function" === typeof a;
};
b.isNumber = function(a) {
return "number" === typeof a;
};
b.isInteger = k;
b.isArray = function(a) {
return a instanceof Array;
};
b.isNumberOrString = function(a) {
return "number" === typeof a || "string" === typeof a;
};
b.isObject = g;
b.toNumber = function(a) {
return+a;
};
b.isNumericString = f;
b.isNumeric = function(a) {
if ("number" === typeof a) {
return!0;
}
if ("string" === typeof a) {
var c = a.charCodeAt(0);
return 65 <= c && 90 >= c || 97 <= c && 122 >= c || 36 === c || 95 === c ? !1 : t(a) || f(a);
}
return!1;
};
b.isIndex = t;
b.isNullOrUndefined = function(a) {
return void 0 == a;
};
(function(a) {
a.backtrace = function() {
try {
throw Error();
} catch (a) {
return a.stack ? a.stack.split("\n").slice(2).join("\n") : "";
}
};
a.error = function(c) {
inBrowser ? warn(c) : warn(c + "\n\nStack Trace:\n" + a.backtrace());
throw Error(c);
};
a.assert = function(c, r) {
"undefined" === typeof r && (r = "assertion failed");
"" === c && (c = !0);
c || a.error(r.toString());
};
a.assertUnreachable = function(a) {
var l = Error().stack.split("\n")[1];
throw Error("Reached unreachable location " + l + a);
};
a.assertNotImplemented = function(c, r) {
c || a.error("notImplemented: " + r);
};
a.warning = function(a) {
warn(a);
};
a.notUsed = function(c) {
a.assert(!1, "Not Used " + c);
};
a.notImplemented = function(c) {
log("release: false");
a.assert(!1, "Not Implemented " + c);
};
a.abstractMethod = function(c) {
a.assert(!1, "Abstract Method " + c);
};
var c = {};
a.somewhatImplemented = function(e) {
c[e] || (c[e] = !0, a.warning("somewhatImplemented: " + e));
};
a.unexpected = function(c) {
a.assert(!1, "Unexpected: " + c);
};
a.untested = function(c) {
a.warning("Congratulations, you've found a code path for which we haven't found a test case. Please submit the test case: " + c);
};
})(b.Debug || (b.Debug = {}));
var s = b.Debug;
b.getTicks = function() {
return performance.now();
};
(function(a) {
function c(a, l) {
for (var r = 0, e = a.length;r < e;r++) {
if (a[r] === l) {
return r;
}
}
a.push(l);
return a.length - 1;
}
var e = b.Debug.assert;
a.popManyInto = function(a, l, c) {
e(a.length >= l);
for (var r = l - 1;0 <= r;r--) {
c[r] = a.pop();
}
c.length = l;
};
a.popMany = function(a, l) {
e(a.length >= l);
var c = a.length - l, r = a.slice(c, this.length);
a.splice(c, l);
return r;
};
a.popManyIntoVoid = function(a, l) {
e(a.length >= l);
a.length -= l;
};
a.pushMany = function(a, l) {
for (var c = 0;c < l.length;c++) {
a.push(l[c]);
}
};
a.top = function(a) {
return a.length && a[a.length - 1];
};
a.last = function(a) {
return a.length && a[a.length - 1];
};
a.peek = function(a) {
e(0 < a.length);
return a[a.length - 1];
};
a.indexOf = function(a, l) {
for (var c = 0, r = a.length;c < r;c++) {
if (a[c] === l) {
return c;
}
}
return-1;
};
a.pushUnique = c;
a.unique = function(a) {
for (var l = [], r = 0;r < a.length;r++) {
c(l, a[r]);
}
return l;
};
a.copyFrom = function(h, c) {
h.length = 0;
a.pushMany(h, c);
};
a.ensureTypedArrayCapacity = function(a, l) {
if (a.length < l) {
var c = a;
a = new a.constructor(b.IntegerUtilities.nearestPowerOfTwo(l));
a.set(c, 0);
}
return a;
};
var r = function() {
function a(h) {
"undefined" === typeof h && (h = 16);
this._f32 = this._i32 = this._u16 = this._u8 = null;
this._offset = 0;
this.ensureCapacity(h);
}
a.prototype.reset = function() {
this._offset = 0;
};
Object.defineProperty(a.prototype, "offset", {get:function() {
return this._offset;
}, enumerable:!0, configurable:!0});
a.prototype.getIndex = function(a) {
e(1 === a || 2 === a || 4 === a || 8 === a || 16 === a);
a = this._offset / a;
e((a | 0) === a);
return a;
};
a.prototype.ensureAdditionalCapacity = function(a) {
this.ensureCapacity(this._offset + a);
};
a.prototype.ensureCapacity = function(a) {
if (!this._u8) {
this._u8 = new Uint8Array(a);
} else {
if (this._u8.length > a) {
return;
}
}
var h = 2 * this._u8.length;
h < a && (h = a);
a = new Uint8Array(h);
a.set(this._u8, 0);
this._u8 = a;
this._u16 = new Uint16Array(a.buffer);
this._i32 = new Int32Array(a.buffer);
this._f32 = new Float32Array(a.buffer);
};
a.prototype.writeInt = function(a) {
e(0 === (this._offset & 3));
this.ensureCapacity(this._offset + 4);
this.writeIntUnsafe(a);
};
a.prototype.writeIntAt = function(a, h) {
e(0 <= h && h <= this._offset);
e(0 === (h & 3));
this.ensureCapacity(h + 4);
this._i32[h >> 2] = a;
};
a.prototype.writeIntUnsafe = function(a) {
this._i32[this._offset >> 2] = a;
this._offset += 4;
};
a.prototype.writeFloat = function(a) {
e(0 === (this._offset & 3));
this.ensureCapacity(this._offset + 4);
this.writeFloatUnsafe(a);
};
a.prototype.writeFloatUnsafe = function(a) {
this._f32[this._offset >> 2] = a;
this._offset += 4;
};
a.prototype.write4Floats = function(a, h, l, c) {
e(0 === (this._offset & 3));
this.ensureCapacity(this._offset + 16);
this.write4FloatsUnsafe(a, h, l, c);
};
a.prototype.write4FloatsUnsafe = function(a, h, l, c) {
var r = this._offset >> 2;
this._f32[r + 0] = a;
this._f32[r + 1] = h;
this._f32[r + 2] = l;
this._f32[r + 3] = c;
this._offset += 16;
};
a.prototype.write6Floats = function(a, h, l, c, r, u) {
e(0 === (this._offset & 3));
this.ensureCapacity(this._offset + 24);
this.write6FloatsUnsafe(a, h, l, c, r, u);
};
a.prototype.write6FloatsUnsafe = function(a, h, l, c, r, e) {
var u = this._offset >> 2;
this._f32[u + 0] = a;
this._f32[u + 1] = h;
this._f32[u + 2] = l;
this._f32[u + 3] = c;
this._f32[u + 4] = r;
this._f32[u + 5] = e;
this._offset += 24;
};
a.prototype.subF32View = function() {
return this._f32.subarray(0, this._offset >> 2);
};
a.prototype.subI32View = function() {
return this._i32.subarray(0, this._offset >> 2);
};
a.prototype.subU16View = function() {
return this._u16.subarray(0, this._offset >> 1);
};
a.prototype.subU8View = function() {
return this._u8.subarray(0, this._offset);
};
a.prototype.hashWords = function(a, h, l) {
h = this._i32;
for (var c = 0;c < l;c++) {
a = (31 * a | 0) + h[c] | 0;
}
return a;
};
a.prototype.reserve = function(a) {
a = a + 3 & -4;
this.ensureCapacity(this._offset + a);
this._offset += a;
};
return a;
}();
a.ArrayWriter = r;
})(b.ArrayUtilities || (b.ArrayUtilities = {}));
var m = b.ArrayUtilities, d = function() {
function a(l) {
this._u8 = new Uint8Array(l);
this._u16 = new Uint16Array(l);
this._i32 = new Int32Array(l);
this._f32 = new Float32Array(l);
this._offset = 0;
}
Object.defineProperty(a.prototype, "offset", {get:function() {
return this._offset;
}, enumerable:!0, configurable:!0});
a.prototype.isEmpty = function() {
return this._offset === this._u8.length;
};
a.prototype.readInt = function() {
s.assert(0 === (this._offset & 3));
s.assert(this._offset <= this._u8.length - 4);
var a = this._i32[this._offset >> 2];
this._offset += 4;
return a;
};
a.prototype.readFloat = function() {
s.assert(0 === (this._offset & 3));
s.assert(this._offset <= this._u8.length - 4);
var a = this._f32[this._offset >> 2];
this._offset += 4;
return a;
};
return a;
}();
b.ArrayReader = d;
(function(l) {
function c(a, h) {
return Object.prototype.hasOwnProperty.call(a, h);
}
function e(a, h) {
for (var l in h) {
c(h, l) && (a[l] = h[l]);
}
}
l.boxValue = function(a) {
return void 0 == a || g(a) ? a : Object(a);
};
l.toKeyValueArray = function(a) {
var h = Object.prototype.hasOwnProperty, l = [], c;
for (c in a) {
h.call(a, c) && l.push([c, a[c]]);
}
return l;
};
l.isPrototypeWriteable = function(a) {
return Object.getOwnPropertyDescriptor(a, "prototype").writable;
};
l.hasOwnProperty = c;
l.propertyIsEnumerable = function(a, h) {
return Object.prototype.propertyIsEnumerable.call(a, h);
};
l.getOwnPropertyDescriptor = function(a, h) {
return Object.getOwnPropertyDescriptor(a, h);
};
l.hasOwnGetter = function(a, h) {
var l = Object.getOwnPropertyDescriptor(a, h);
return!(!l || !l.get);
};
l.getOwnGetter = function(a, h) {
var l = Object.getOwnPropertyDescriptor(a, h);
return l ? l.get : null;
};
l.hasOwnSetter = function(a, h) {
var l = Object.getOwnPropertyDescriptor(a, h);
return!(!l || !l.set);
};
l.createObject = function(a) {
return Object.create(a);
};
l.createEmptyObject = function() {
return Object.create(null);
};
l.createMap = function() {
return Object.create(null);
};
l.createArrayMap = function() {
return[];
};
l.defineReadOnlyProperty = function(a, h, l) {
Object.defineProperty(a, h, {value:l, writable:!1, configurable:!0, enumerable:!1});
};
l.getOwnPropertyDescriptors = function(a) {
for (var h = l.createMap(), c = Object.getOwnPropertyNames(a), e = 0;e < c.length;e++) {
h[c[e]] = Object.getOwnPropertyDescriptor(a, c[e]);
}
return h;
};
l.cloneObject = function(a) {
var h = Object.create(Object.getPrototypeOf(a));
e(h, a);
return h;
};
l.copyProperties = function(a, h) {
for (var l in h) {
a[l] = h[l];
}
};
l.copyOwnProperties = e;
l.copyOwnPropertyDescriptors = function(a, h, l) {
"undefined" === typeof l && (l = !0);
for (var e in h) {
if (c(h, e)) {
var q = Object.getOwnPropertyDescriptor(h, e);
if (l || !c(a, e)) {
s.assert(q);
try {
Object.defineProperty(a, e, q);
} catch (d) {
}
}
}
}
};
l.getLatestGetterOrSetterPropertyDescriptor = function(a, h) {
for (var l = {};a;) {
var c = Object.getOwnPropertyDescriptor(a, h);
c && (l.get = l.get || c.get, l.set = l.set || c.set);
if (l.get && l.set) {
break;
}
a = Object.getPrototypeOf(a);
}
return l;
};
l.defineNonEnumerableGetterOrSetter = function(a, h, c, e) {
var u = l.getLatestGetterOrSetterPropertyDescriptor(a, h);
u.configurable = !0;
u.enumerable = !1;
e ? u.get = c : u.set = c;
Object.defineProperty(a, h, u);
};
l.defineNonEnumerableGetter = function(a, h, l) {
Object.defineProperty(a, h, {get:l, configurable:!0, enumerable:!1});
};
l.defineNonEnumerableSetter = function(a, h, l) {
Object.defineProperty(a, h, {set:l, configurable:!0, enumerable:!1});
};
l.defineNonEnumerableProperty = function(a, h, l) {
Object.defineProperty(a, h, {value:l, writable:!0, configurable:!0, enumerable:!1});
};
l.defineNonEnumerableForwardingProperty = function(l, h, c) {
Object.defineProperty(l, h, {get:a.makeForwardingGetter(c), set:a.makeForwardingSetter(c), writable:!0, configurable:!0, enumerable:!1});
};
l.defineNewNonEnumerableProperty = function(a, h, c) {
s.assert(!Object.prototype.hasOwnProperty.call(a, h), "Property: " + h + " already exits.");
l.defineNonEnumerableProperty(a, h, c);
};
})(b.ObjectUtilities || (b.ObjectUtilities = {}));
(function(a) {
a.makeForwardingGetter = function(a) {
return new Function('return this["' + a + '"]');
};
a.makeForwardingSetter = function(a) {
return new Function("value", 'this["' + a + '"] = value;');
};
a.bindSafely = function(a, l) {
s.assert(!a.boundTo && l);
var c = a.bind(l);
c.boundTo = l;
return c;
};
})(b.FunctionUtilities || (b.FunctionUtilities = {}));
var a = b.FunctionUtilities;
(function(a) {
function c(a) {
return "string" === typeof a ? '"' + a + '"' : "number" === typeof a || "boolean" === typeof a ? String(a) : a instanceof Array ? "[] " + a.length : typeof a;
}
var e = b.Debug.assert;
a.repeatString = function(a, h) {
for (var l = "", c = 0;c < h;c++) {
l += a;
}
return l;
};
a.memorySizeToString = function(a) {
a |= 0;
return 1024 > a ? a + " B" : 1048576 > a ? (a / 1024).toFixed(2) + "KB" : (a / 1048576).toFixed(2) + "MB";
};
a.toSafeString = c;
a.toSafeArrayString = function(a) {
for (var h = [], l = 0;l < a.length;l++) {
h.push(c(a[l]));
}
return h.join(", ");
};
a.utf8decode = function(a) {
for (var h = new Uint8Array(4 * a.length), l = 0, c = 0, e = a.length;c < e;c++) {
var r = a.charCodeAt(c);
if (127 >= r) {
h[l++] = r;
} else {
if (55296 <= r && 56319 >= r) {
var u = a.charCodeAt(c + 1);
56320 <= u && 57343 >= u && (r = ((r & 1023) << 10) + (u & 1023) + 65536, ++c);
}
0 !== (r & 4292870144) ? (h[l++] = 248 | r >>> 24 & 3, h[l++] = 128 | r >>> 18 & 63, h[l++] = 128 | r >>> 12 & 63, h[l++] = 128 | r >>> 6 & 63) : 0 !== (r & 4294901760) ? (h[l++] = 240 | r >>> 18 & 7, h[l++] = 128 | r >>> 12 & 63, h[l++] = 128 | r >>> 6 & 63) : 0 !== (r & 4294965248) ? (h[l++] = 224 | r >>> 12 & 15, h[l++] = 128 | r >>> 6 & 63) : h[l++] = 192 | r >>> 6 & 31;
h[l++] = 128 | r & 63;
}
}
return h.subarray(0, l);
};
a.utf8encode = function(a) {
for (var h = 0, l = "";h < a.length;) {
var c = a[h++] & 255;
if (127 >= c) {
l += String.fromCharCode(c);
} else {
var e = 192, r = 5;
do {
if ((c & (e >> 1 | 128)) === e) {
break;
}
e = e >> 1 | 128;
--r;
} while (0 <= r);
if (0 >= r) {
l += String.fromCharCode(c);
} else {
for (var c = c & (1 << r) - 1, e = !1, u = 5;u >= r;--u) {
var q = a[h++];
if (128 != (q & 192)) {
e = !0;
break;
}
c = c << 6 | q & 63;
}
if (e) {
for (r = h - (7 - u);r < h;++r) {
l += String.fromCharCode(a[r] & 255);
}
} else {
l = 65536 <= c ? l + String.fromCharCode(c - 65536 >> 10 & 1023 | 55296, c & 1023 | 56320) : l + String.fromCharCode(c);
}
}
}
}
return l;
};
a.base64ArrayBuffer = function(a) {
var h = "";
a = new Uint8Array(a);
for (var l = a.byteLength, c = l % 3, l = l - c, e, r, u, q, d = 0;d < l;d += 3) {
q = a[d] << 16 | a[d + 1] << 8 | a[d + 2], e = (q & 16515072) >> 18, r = (q & 258048) >> 12, u = (q & 4032) >> 6, q &= 63, h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[e] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[r] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[u] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[q];
}
1 == c ? (q = a[l], h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 252) >> 2] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 3) << 4] + "==") : 2 == c && (q = a[l] << 8 | a[l + 1], h += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 64512) >> 10] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 1008) >> 4] + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(q & 15) <<
2] + "=");
return h;
};
a.escapeString = function(a) {
void 0 !== a && (a = a.replace(/[^\w$]/gi, "$"), /^\d/.test(a) && (a = "$" + a));
return a;
};
a.fromCharCodeArray = function(a) {
for (var h = "", l = 0;l < a.length;l += 16384) {
var c = Math.min(a.length - l, 16384), h = h + String.fromCharCode.apply(null, a.subarray(l, l + c))
}
return h;
};
a.variableLengthEncodeInt32 = function(h) {
var c = 32 - Math.clz32(h);
e(32 >= c, c);
for (var r = Math.ceil(c / 6), u = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_"[r], q = r - 1;0 <= q;q--) {
u += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_"[h >> 6 * q & 63];
}
e(a.variableLengthDecodeInt32(u) === h, h + " : " + u + " - " + r + " bits: " + c);
return u;
};
a.toEncoding = function(a) {
return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$_"[a];
};
a.fromEncoding = function(a) {
a = a.charCodeAt(0);
if (65 <= a && 90 >= a) {
return a - 65;
}
if (97 <= a && 122 >= a) {
return a - 71;
}
if (48 <= a && 57 >= a) {
return a + 4;
}
if (36 === a) {
return 62;
}
if (95 === a) {
return 63;
}
e(!1, "Invalid Encoding");
};
a.variableLengthDecodeInt32 = function(h) {
for (var c = a.fromEncoding(h[0]), e = 0, r = 0;r < c;r++) {
var u = 6 * (c - r - 1), e = e | a.fromEncoding(h[1 + r]) << u
}
return e;
};
a.trimMiddle = function(a, h) {
if (a.length <= h) {
return a;
}
var l = h >> 1, c = h - l - 1;
return a.substr(0, l) + "\u2026" + a.substr(a.length - c, c);
};
a.multiple = function(a, h) {
for (var l = "", c = 0;c < h;c++) {
l += a;
}
return l;
};
a.indexOfAny = function(a, h, l) {
for (var c = a.length, e = 0;e < h.length;e++) {
var r = a.indexOf(h[e], l);
0 <= r && (c = Math.min(c, r));
}
return c === a.length ? -1 : c;
};
var r = Array(3), h = Array(4), q = Array(5), d = Array(6), p = Array(7), n = Array(8), m = Array(9);
a.concat3 = function(a, h, l) {
r[0] = a;
r[1] = h;
r[2] = l;
return r.join("");
};
a.concat4 = function(a, l, c, e) {
h[0] = a;
h[1] = l;
h[2] = c;
h[3] = e;
return h.join("");
};
a.concat5 = function(a, h, l, c, e) {
q[0] = a;
q[1] = h;
q[2] = l;
q[3] = c;
q[4] = e;
return q.join("");
};
a.concat6 = function(a, h, l, c, e, r) {
d[0] = a;
d[1] = h;
d[2] = l;
d[3] = c;
d[4] = e;
d[5] = r;
return d.join("");
};
a.concat7 = function(a, h, l, c, e, r, u) {
p[0] = a;
p[1] = h;
p[2] = l;
p[3] = c;
p[4] = e;
p[5] = r;
p[6] = u;
return p.join("");
};
a.concat8 = function(a, h, l, c, e, r, u, q) {
n[0] = a;
n[1] = h;
n[2] = l;
n[3] = c;
n[4] = e;
n[5] = r;
n[6] = u;
n[7] = q;
return n.join("");
};
a.concat9 = function(a, h, l, c, e, r, u, q, d) {
m[0] = a;
m[1] = h;
m[2] = l;
m[3] = c;
m[4] = e;
m[5] = r;
m[6] = u;
m[7] = q;
m[8] = d;
return m.join("");
};
})(b.StringUtilities || (b.StringUtilities = {}));
(function(a) {
var c = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]), e = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632,
643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649,
-145523070, -1120210379, 718787259, -343485551]);
a.hashBytesTo32BitsMD5 = function(a, h, l) {
var q = 1732584193, d = -271733879, p = -1732584194, n = 271733878, b = l + 72 & -64, m = new Uint8Array(b), f;
for (f = 0;f < l;++f) {
m[f] = a[h++];
}
m[f++] = 128;
for (a = b - 8;f < a;) {
m[f++] = 0;
}
m[f++] = l << 3 & 255;
m[f++] = l >> 5 & 255;
m[f++] = l >> 13 & 255;
m[f++] = l >> 21 & 255;
m[f++] = l >>> 29 & 255;
m[f++] = 0;
m[f++] = 0;
m[f++] = 0;
a = new Int32Array(16);
for (f = 0;f < b;) {
for (l = 0;16 > l;++l, f += 4) {
a[l] = m[f] | m[f + 1] << 8 | m[f + 2] << 16 | m[f + 3] << 24;
}
var g = q;
h = d;
var s = p, k = n, t, z;
for (l = 0;64 > l;++l) {
16 > l ? (t = h & s | ~h & k, z = l) : 32 > l ? (t = k & h | ~k & s, z = 5 * l + 1 & 15) : 48 > l ? (t = h ^ s ^ k, z = 3 * l + 5 & 15) : (t = s ^ (h | ~k), z = 7 * l & 15);
var P = k, g = g + t + e[l] + a[z] | 0;
t = c[l];
k = s;
s = h;
h = h + (g << t | g >>> 32 - t) | 0;
g = P;
}
q = q + g | 0;
d = d + h | 0;
p = p + s | 0;
n = n + k | 0;
}
return q;
};
a.hashBytesTo32BitsAdler = function(a, h, l) {
var c = 1, e = 0;
for (l = h + l;h < l;++h) {
c = (c + (a[h] & 255)) % 65521, e = (e + c) % 65521;
}
return e << 16 | c;
};
})(b.HashUtilities || (b.HashUtilities = {}));
var c = function() {
function a() {
}
a.seed = function(c) {
a._state[0] = c;
a._state[1] = c;
};
a.next = function() {
var a = this._state, l = Math.imul(18273, a[0] & 65535) + (a[0] >>> 16) | 0;
a[0] = l;
var c = Math.imul(36969, a[1] & 65535) + (a[1] >>> 16) | 0;
a[1] = c;
a = (l << 16) + (c & 65535) | 0;
return 2.3283064365386963E-10 * (0 > a ? a + 4294967296 : a);
};
a._state = new Uint32Array([57005, 48879]);
return a;
}();
b.Random = c;
Math.random = function() {
return c.next();
};
(function() {
function a() {
this.id = "$weakmap" + c++;
}
if ("function" !== typeof jsGlobal.WeakMap) {
var c = 0;
a.prototype = {has:function(a) {
return a.hasOwnProperty(this.id);
}, get:function(a, l) {
return a.hasOwnProperty(this.id) ? a[this.id] : l;
}, set:function(a, l) {
Object.defineProperty(a, this.id, {value:l, enumerable:!1, configurable:!0});
}};
jsGlobal.WeakMap = a;
}
})();
d = function() {
function a() {
"undefined" !== typeof netscape && netscape.security.PrivilegeManager ? this._map = new WeakMap : this._list = [];
}
a.prototype.clear = function() {
this._map ? this._map.clear() : this._list.length = 0;
};
a.prototype.push = function(a) {
this._map ? this._map.set(a, null) : this._list.push(a);
};
a.prototype.forEach = function(a) {
if (this._map) {
"undefined" !== typeof netscape && netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"), Components.utils.nondeterministicGetWeakMapKeys(this._map).forEach(function(h) {
0 !== h._referenceCount && a(h);
});
} else {
for (var l = this._list, c = 0, h = 0;h < l.length;h++) {
var e = l[h];
0 === e._referenceCount ? c++ : a(e);
}
if (16 < c && c > l.length >> 2) {
c = [];
for (h = 0;h < l.length;h++) {
0 < l[h]._referenceCount && c.push(l[h]);
}
this._list = c;
}
}
};
Object.defineProperty(a.prototype, "length", {get:function() {
return this._map ? -1 : this._list.length;
}, enumerable:!0, configurable:!0});
return a;
}();
b.WeakList = d;
(function(a) {
a.pow2 = function(a) {
return a === (a | 0) ? 0 > a ? 1 / (1 << -a) : 1 << a : Math.pow(2, a);
};
a.clamp = function(a, l, c) {
return Math.max(l, Math.min(c, a));
};
a.roundHalfEven = function(a) {
if (.5 === Math.abs(a % 1)) {
var l = Math.floor(a);
return 0 === l % 2 ? l : Math.ceil(a);
}
return Math.round(a);
};
a.epsilonEquals = function(a, l) {
return 1E-7 > Math.abs(a - l);
};
})(b.NumberUtilities || (b.NumberUtilities = {}));
(function(a) {
a[a.MaxU16 = 65535] = "MaxU16";
a[a.MaxI16 = 32767] = "MaxI16";
a[a.MinI16 = -32768] = "MinI16";
})(b.Numbers || (b.Numbers = {}));
(function(a) {
function c(a) {
return 256 * a << 16 >> 16;
}
var e = new ArrayBuffer(8);
a.i8 = new Int8Array(e);
a.u8 = new Uint8Array(e);
a.i32 = new Int32Array(e);
a.f32 = new Float32Array(e);
a.f64 = new Float64Array(e);
a.nativeLittleEndian = 1 === (new Int8Array((new Int32Array([1])).buffer))[0];
a.floatToInt32 = function(c) {
a.f32[0] = c;
return a.i32[0];
};
a.int32ToFloat = function(c) {
a.i32[0] = c;
return a.f32[0];
};
a.swap16 = function(a) {
return(a & 255) << 8 | a >> 8 & 255;
};
a.swap32 = function(a) {
return(a & 255) << 24 | (a & 65280) << 8 | a >> 8 & 65280 | a >> 24 & 255;
};
a.toS8U8 = c;
a.fromS8U8 = function(a) {
return a / 256;
};
a.clampS8U8 = function(a) {
return c(a) / 256;
};
a.toS16 = function(a) {
return a << 16 >> 16;
};
a.bitCount = function(a) {
a -= a >> 1 & 1431655765;
a = (a & 858993459) + (a >> 2 & 858993459);
return 16843009 * (a + (a >> 4) & 252645135) >> 24;
};
a.ones = function(a) {
a -= a >> 1 & 1431655765;
a = (a & 858993459) + (a >> 2 & 858993459);
return 16843009 * (a + (a >> 4) & 252645135) >> 24;
};
a.trailingZeros = function(c) {
return a.ones((c & -c) - 1);
};
a.getFlags = function(a, h) {
var c = "";
for (a = 0;a < h.length;a++) {
a & 1 << a && (c += h[a] + " ");
}
return 0 === c.length ? "" : c.trim();
};
a.isPowerOfTwo = function(a) {
return a && 0 === (a & a - 1);
};
a.roundToMultipleOfFour = function(a) {
return a + 3 & -4;
};
a.nearestPowerOfTwo = function(a) {
a--;
a |= a >> 1;
a |= a >> 2;
a |= a >> 4;
a |= a >> 8;
a |= a >> 16;
a++;
return a;
};
a.roundToMultipleOfPowerOfTwo = function(a, h) {
var c = (1 << h) - 1;
return a + c & ~c;
};
Math.imul || (Math.imul = function(a, h) {
var c = a & 65535, l = h & 65535;
return c * l + ((a >>> 16 & 65535) * l + c * (h >>> 16 & 65535) << 16 >>> 0) | 0;
});
Math.clz32 || (Math.clz32 = function(c) {
c |= c >> 1;
c |= c >> 2;
c |= c >> 4;
c |= c >> 8;
return 32 - a.ones(c | c >> 16);
});
})(b.IntegerUtilities || (b.IntegerUtilities = {}));
var n = b.IntegerUtilities;
(function(a) {
function c(a, l, h, e, u, q) {
return(h - a) * (q - l) - (e - l) * (u - a);
}
a.pointInPolygon = function(a, c, h) {
for (var l = 0, e = h.length - 2, u = 0;u < e;u += 2) {
var q = h[u + 0], d = h[u + 1], p = h[u + 2], n = h[u + 3];
(d <= c && n > c || d > c && n <= c) && a < q + (c - d) / (n - d) * (p - q) && l++;
}
return 1 === (l & 1);
};
a.signedArea = c;
a.counterClockwise = function(a, l, h, e, q, d) {
return 0 < c(a, l, h, e, q, d);
};
a.clockwise = function(a, l, h, e, q, d) {
return 0 > c(a, l, h, e, q, d);
};
a.pointInPolygonInt32 = function(a, c, h) {
a |= 0;
c |= 0;
for (var l = 0, e = h.length - 2, u = 0;u < e;u += 2) {
var q = h[u + 0], d = h[u + 1], p = h[u + 2], n = h[u + 3];
(d <= c && n > c || d > c && n <= c) && a < q + (c - d) / (n - d) * (p - q) && l++;
}
return 1 === (l & 1);
};
})(b.GeometricUtilities || (b.GeometricUtilities = {}));
(function(a) {
a[a.Error = 1] = "Error";
a[a.Warn = 2] = "Warn";
a[a.Debug = 4] = "Debug";
a[a.Log = 8] = "Log";
a[a.Info = 16] = "Info";
a[a.All = 31] = "All";
})(b.LogLevel || (b.LogLevel = {}));
d = function() {
function a(c, e) {
"undefined" === typeof c && (c = !1);
this._tab = " ";
this._padding = "";
this._suppressOutput = c;
this._out = e || a._consoleOut;
this._outNoNewline = e || a._consoleOutNoNewline;
}
a.prototype.write = function(a, c) {
"undefined" === typeof a && (a = "");
"undefined" === typeof c && (c = !1);
this._suppressOutput || this._outNoNewline((c ? this._padding : "") + a);
};
a.prototype.writeLn = function(a) {
"undefined" === typeof a && (a = "");
this._suppressOutput || this._out(this._padding + a);
};
a.prototype.writeTimeLn = function(a) {
"undefined" === typeof a && (a = "");
this._suppressOutput || this._out(this._padding + performance.now().toFixed(2) + " " + a);
};
a.prototype.writeComment = function(a) {
a = a.split("\n");
if (1 === a.length) {
this.writeLn("// " + a[0]);
} else {
this.writeLn("/**");
for (var c = 0;c < a.length;c++) {
this.writeLn(" * " + a[c]);
}
this.writeLn(" */");
}
};
a.prototype.writeLns = function(a) {
a = a.split("\n");
for (var c = 0;c < a.length;c++) {
this.writeLn(a[c]);
}
};
a.prototype.errorLn = function(c) {
a.logLevel & 1 && this.boldRedLn(c);
};
a.prototype.warnLn = function(c) {
a.logLevel & 2 && this.yellowLn(c);
};
a.prototype.debugLn = function(c) {
a.logLevel & 4 && this.purpleLn(c);
};
a.prototype.logLn = function(c) {
a.logLevel & 8 && this.writeLn(c);
};
a.prototype.infoLn = function(c) {
a.logLevel & 16 && this.writeLn(c);
};
a.prototype.yellowLn = function(c) {
this.colorLn(a.YELLOW, c);
};
a.prototype.greenLn = function(c) {
this.colorLn(a.GREEN, c);
};
a.prototype.boldRedLn = function(c) {
this.colorLn(a.BOLD_RED, c);
};
a.prototype.redLn = function(c) {
this.colorLn(a.RED, c);
};
a.prototype.purpleLn = function(c) {
this.colorLn(a.PURPLE, c);
};
a.prototype.colorLn = function(c, e) {
this._suppressOutput || (inBrowser ? this._out(this._padding + e) : this._out(this._padding + c + e + a.ENDC));
};
a.prototype.redLns = function(c) {
this.colorLns(a.RED, c);
};
a.prototype.colorLns = function(a, c) {
for (var l = c.split("\n"), h = 0;h < l.length;h++) {
this.colorLn(a, l[h]);
}
};
a.prototype.enter = function(a) {
this._suppressOutput || this._out(this._padding + a);
this.indent();
};
a.prototype.leaveAndEnter = function() {
this.leave("Slots");
this.indent();
};
a.prototype.leave = function(a) {
this.outdent();
this._suppressOutput || this._out(this._padding + a);
};
a.prototype.indent = function() {
this._padding += this._tab;
};
a.prototype.outdent = function() {
0 < this._padding.length && (this._padding = this._padding.substring(0, this._padding.length - this._tab.length));
};
a.prototype.writeArray = function(a, c, l) {
"undefined" === typeof c && (c = !1);
"undefined" === typeof l && (l = !1);
c = c || !1;
for (var h = 0, e = a.length;h < e;h++) {
var q = "";
c && (q = null === a[h] ? "null" : void 0 === a[h] ? "undefined" : a[h].constructor.name, q += " ");
var d = l ? "" : ("" + h).padRight(" ", 4);
this.writeLn(d + q + a[h]);
}
};
a.PURPLE = "\u001b[94m";
a.YELLOW = "\u001b[93m";
a.GREEN = "\u001b[92m";
a.RED = "\u001b[91m";
a.BOLD_RED = "\u001b[1;91m";
a.ENDC = "\u001b[0m";
a.logLevel = 31;
a._consoleOut = inBrowser ? console.info.bind(console) : print;
a._consoleOutNoNewline = inBrowser ? console.info.bind(console) : putstr;
return a;
}();
b.IndentingWriter = d;
var p = function() {
return function(a, c) {
this.value = a;
this.next = c;
};
}(), d = function() {
function a(c) {
s.assert(c);
this._compare = c;
this._head = null;
this._length = 0;
}
a.prototype.push = function(a) {
s.assert(void 0 !== a);
this._length++;
if (this._head) {
var c = this._head, l = null;
a = new p(a, null);
for (var h = this._compare;c;) {
if (0 < h(c.value, a.value)) {
l ? (a.next = c, l.next = a) : (a.next = this._head, this._head = a);
return;
}
l = c;
c = c.next;
}
l.next = a;
} else {
this._head = new p(a, null);
}
};
a.prototype.forEach = function(c) {
for (var e = this._head, r = null;e;) {
var h = c(e.value);
if (h === a.RETURN) {
break;
} else {
h === a.DELETE ? e = r ? r.next = e.next : this._head = this._head.next : (r = e, e = e.next);
}
}
};
a.prototype.isEmpty = function() {
return!this._head;
};
a.prototype.pop = function() {
if (this._head) {
this._length--;
var a = this._head;
this._head = this._head.next;
return a.value;
}
};
a.prototype.contains = function(a) {
for (var c = this._head;c;) {
if (c.value === a) {
return!0;
}
c = c.next;
}
return!1;
};
a.prototype.toString = function() {
for (var a = "[", c = this._head;c;) {
a += c.value.toString(), (c = c.next) && (a += ",");
}
return a + "]";
};
a.RETURN = 1;
a.DELETE = 2;
return a;
}();
b.SortedList = d;
d = function() {
function a(c, l) {
"undefined" === typeof l && (l = 12);
this.start = this.index = 0;
this._size = 1 << l;
this._mask = this._size - 1;
this.array = new c(this._size);
}
a.prototype.get = function(a) {
return this.array[a];
};
a.prototype.forEachInReverse = function(a) {
if (!this.isEmpty()) {
for (var c = 0 === this.index ? this._size - 1 : this.index - 1, l = this.start - 1 & this._mask;c !== l && !a(this.array[c], c);) {
c = 0 === c ? this._size - 1 : c - 1;
}
}
};
a.prototype.write = function(a) {
this.array[this.index] = a;
this.index = this.index + 1 & this._mask;
this.index === this.start && (this.start = this.start + 1 & this._mask);
};
a.prototype.isFull = function() {
return(this.index + 1 & this._mask) === this.start;
};
a.prototype.isEmpty = function() {
return this.index === this.start;
};
a.prototype.reset = function() {
this.start = this.index = 0;
};
return a;
}();
b.CircularBuffer = d;
(function(a) {
function c(h) {
return h + (a.BITS_PER_WORD - 1) >> a.ADDRESS_BITS_PER_WORD << a.ADDRESS_BITS_PER_WORD;
}
function e(a, h) {
a = a || "1";
h = h || "0";
for (var c = "", l = 0;l < length;l++) {
c += this.get(l) ? a : h;
}
return c;
}
function r(a) {
for (var h = [], c = 0;c < length;c++) {
this.get(c) && h.push(a ? a[c] : c);
}
return h.join(", ");
}
var h = b.Debug.assert;
a.ADDRESS_BITS_PER_WORD = 5;
a.BITS_PER_WORD = 1 << a.ADDRESS_BITS_PER_WORD;
a.BIT_INDEX_MASK = a.BITS_PER_WORD - 1;
var q = function() {
function e(h) {
this.size = c(h);
this.dirty = this.count = 0;
this.length = h;
this.bits = new Uint32Array(this.size >> a.ADDRESS_BITS_PER_WORD);
}
e.prototype.recount = function() {
if (this.dirty) {
for (var a = this.bits, h = 0, c = 0, e = a.length;c < e;c++) {
var l = a[c], l = l - (l >> 1 & 1431655765), l = (l & 858993459) + (l >> 2 & 858993459), h = h + (16843009 * (l + (l >> 4) & 252645135) >> 24)
}
this.count = h;
this.dirty = 0;
}
};
e.prototype.set = function(h) {
var c = h >> a.ADDRESS_BITS_PER_WORD, e = this.bits[c];
h = e | 1 << (h & a.BIT_INDEX_MASK);
this.bits[c] = h;
this.dirty |= e ^ h;
};
e.prototype.setAll = function() {
for (var a = this.bits, h = 0, c = a.length;h < c;h++) {
a[h] = 4294967295;
}
this.count = this.size;
this.dirty = 0;
};
e.prototype.assign = function(a) {
this.count = a.count;
this.dirty = a.dirty;
this.size = a.size;
for (var h = 0, c = this.bits.length;h < c;h++) {
this.bits[h] = a.bits[h];
}
};
e.prototype.clear = function(h) {
var c = h >> a.ADDRESS_BITS_PER_WORD, e = this.bits[c];
h = e & ~(1 << (h & a.BIT_INDEX_MASK));
this.bits[c] = h;
this.dirty |= e ^ h;
};
e.prototype.get = function(h) {
return 0 !== (this.bits[h >> a.ADDRESS_BITS_PER_WORD] & 1 << (h & a.BIT_INDEX_MASK));
};
e.prototype.clearAll = function() {
for (var a = this.bits, h = 0, c = a.length;h < c;h++) {
a[h] = 0;
}
this.dirty = this.count = 0;
};
e.prototype._union = function(a) {
var h = this.dirty, c = this.bits;
a = a.bits;
for (var e = 0, l = c.length;e < l;e++) {
var r = c[e], q = r | a[e];
c[e] = q;
h |= r ^ q;
}
this.dirty = h;
};
e.prototype.intersect = function(a) {
var h = this.dirty, c = this.bits;
a = a.bits;
for (var e = 0, l = c.length;e < l;e++) {
var r = c[e], q = r & a[e];
c[e] = q;
h |= r ^ q;
}
this.dirty = h;
};
e.prototype.subtract = function(a) {
var h = this.dirty, c = this.bits;
a = a.bits;
for (var e = 0, l = c.length;e < l;e++) {
var r = c[e], q = r & ~a[e];
c[e] = q;
h |= r ^ q;
}
this.dirty = h;
};
e.prototype.negate = function() {
for (var a = this.dirty, h = this.bits, c = 0, e = h.length;c < e;c++) {
var l = h[c], r = ~l;
h[c] = r;
a |= l ^ r;
}
this.dirty = a;
};
e.prototype.forEach = function(c) {
h(c);
for (var e = this.bits, r = 0, q = e.length;r < q;r++) {
var u = e[r];
if (u) {
for (var d = 0;d < a.BITS_PER_WORD;d++) {
u & 1 << d && c(r * a.BITS_PER_WORD + d);
}
}
}
};
e.prototype.toArray = function() {
for (var h = [], c = this.bits, e = 0, r = c.length;e < r;e++) {
var q = c[e];
if (q) {
for (var u = 0;u < a.BITS_PER_WORD;u++) {
q & 1 << u && h.push(e * a.BITS_PER_WORD + u);
}
}
}
return h;
};
e.prototype.equals = function(a) {
if (this.size !== a.size) {
return!1;
}
var h = this.bits;
a = a.bits;
for (var c = 0, e = h.length;c < e;c++) {
if (h[c] !== a[c]) {
return!1;
}
}
return!0;
};
e.prototype.contains = function(a) {
if (this.size !== a.size) {
return!1;
}
var h = this.bits;
a = a.bits;
for (var c = 0, e = h.length;c < e;c++) {
if ((h[c] | a[c]) !== h[c]) {
return!1;
}
}
return!0;
};
e.prototype.isEmpty = function() {
this.recount();
return 0 === this.count;
};
e.prototype.clone = function() {
var a = new e(this.length);
a._union(this);
return a;
};
return e;
}();
a.Uint32ArrayBitSet = q;
var d = function() {
function e(a) {
this.dirty = this.count = 0;
this.size = c(a);
this.bits = 0;
this.singleWord = !0;
this.length = a;
}
e.prototype.recount = function() {
if (this.dirty) {
var a = this.bits, a = a - (a >> 1 & 1431655765), a = (a & 858993459) + (a >> 2 & 858993459);
this.count = 0 + (16843009 * (a + (a >> 4) & 252645135) >> 24);
this.dirty = 0;
}
};
e.prototype.set = function(h) {
var c = this.bits;
this.bits = h = c | 1 << (h & a.BIT_INDEX_MASK);
this.dirty |= c ^ h;
};
e.prototype.setAll = function() {
this.bits = 4294967295;
this.count = this.size;
this.dirty = 0;
};
e.prototype.assign = function(a) {
this.count = a.count;
this.dirty = a.dirty;
this.size = a.size;
this.bits = a.bits;
};
e.prototype.clear = function(h) {
var c = this.bits;
this.bits = h = c & ~(1 << (h & a.BIT_INDEX_MASK));
this.dirty |= c ^ h;
};
e.prototype.get = function(h) {
return 0 !== (this.bits & 1 << (h & a.BIT_INDEX_MASK));
};
e.prototype.clearAll = function() {
this.dirty = this.count = this.bits = 0;
};
e.prototype._union = function(a) {
var h = this.bits;
this.bits = a = h | a.bits;
this.dirty = h ^ a;
};
e.prototype.intersect = function(a) {
var h = this.bits;
this.bits = a = h & a.bits;
this.dirty = h ^ a;
};
e.prototype.subtract = function(a) {
var h = this.bits;
this.bits = a = h & ~a.bits;
this.dirty = h ^ a;
};
e.prototype.negate = function() {
var a = this.bits, h = ~a;
this.bits = h;
this.dirty = a ^ h;
};
e.prototype.forEach = function(c) {
h(c);
var e = this.bits;
if (e) {
for (var r = 0;r < a.BITS_PER_WORD;r++) {
e & 1 << r && c(r);
}
}
};
e.prototype.toArray = function() {
var h = [], c = this.bits;
if (c) {
for (var e = 0;e < a.BITS_PER_WORD;e++) {
c & 1 << e && h.push(e);
}
}
return h;
};
e.prototype.equals = function(a) {
return this.bits === a.bits;
};
e.prototype.contains = function(a) {
var h = this.bits;
return(h | a.bits) === h;
};
e.prototype.isEmpty = function() {
this.recount();
return 0 === this.count;
};
e.prototype.clone = function() {
var a = new e(this.length);
a._union(this);
return a;
};
return e;
}();
a.Uint32BitSet = d;
d.prototype.toString = r;
d.prototype.toBitString = e;
q.prototype.toString = r;
q.prototype.toBitString = e;
a.BitSetFunctor = function(h) {
var e = 1 === c(h) >> a.ADDRESS_BITS_PER_WORD ? d : q;
return function() {
return new e(h);
};
};
})(b.BitSets || (b.BitSets = {}));
d = function() {
function a() {
}
a.randomStyle = function() {
a._randomStyleCache || (a._randomStyleCache = "#ff5e3a #ff9500 #ffdb4c #87fc70 #52edc7 #1ad6fd #c644fc #ef4db6 #4a4a4a #dbddde #ff3b30 #ff9500 #ffcc00 #4cd964 #34aadc #007aff #5856d6 #ff2d55 #8e8e93 #c7c7cc #5ad427 #c86edf #d1eefc #e0f8d8 #fb2b69 #f7f7f7 #1d77ef #d6cec3 #55efcb #ff4981 #ffd3e0 #f7f7f7 #ff1300 #1f1f21 #bdbec2 #ff3a2d".split(" "));
return a._randomStyleCache[a._nextStyle++ % a._randomStyleCache.length];
};
a.contrastStyle = function(a) {
a = parseInt(a.substr(1), 16);
return 128 <= (299 * (a >> 16) + 587 * (a >> 8 & 255) + 114 * (a & 255)) / 1E3 ? "#000000" : "#ffffff";
};
a.reset = function() {
a._nextStyle = 0;
};
a.TabToolbar = "#252c33";
a.Toolbars = "#343c45";
a.HighlightBlue = "#1d4f73";
a.LightText = "#f5f7fa";
a.ForegroundText = "#b6babf";
a.Black = "#000000";
a.VeryDark = "#14171a";
a.Dark = "#181d20";
a.Light = "#a9bacb";
a.Grey = "#8fa1b2";
a.DarkGrey = "#5f7387";
a.Blue = "#46afe3";
a.Purple = "#6b7abb";
a.Pink = "#df80ff";
a.Red = "#eb5368";
a.Orange = "#d96629";
a.LightOrange = "#d99b28";
a.Green = "#70bf53";
a.BlueGrey = "#5e88b0";
a._nextStyle = 0;
return a;
}();
b.ColorStyle = d;
d = function() {
function a(c, e, l, h) {
this.xMin = c | 0;
this.yMin = e | 0;
this.xMax = l | 0;
this.yMax = h | 0;
}
a.FromUntyped = function(c) {
return new a(c.xMin, c.yMin, c.xMax, c.yMax);
};
a.FromRectangle = function(c) {
return new a(20 * c.x | 0, 20 * c.y | 0, 20 * (c.x + c.width) | 0, 20 * (c.y + c.height) | 0);
};
a.prototype.setElements = function(a, c, e, h) {
this.xMin = a;
this.yMin = c;
this.xMax = e;
this.yMax = h;
};
a.prototype.copyFrom = function(a) {
this.setElements(a.xMin, a.yMin, a.xMax, a.yMax);
};
a.prototype.contains = function(a, c) {
return a < this.xMin !== a < this.xMax && c < this.yMin !== c < this.yMax;
};
a.prototype.unionInPlace = function(a) {
this.xMin = Math.min(this.xMin, a.xMin);
this.yMin = Math.min(this.yMin, a.yMin);
this.xMax = Math.max(this.xMax, a.xMax);
this.yMax = Math.max(this.yMax, a.yMax);
};
a.prototype.extendByPoint = function(a, c) {
this.extendByX(a);
this.extendByY(c);
};
a.prototype.extendByX = function(a) {
134217728 === this.xMin ? this.xMin = this.xMax = a : (this.xMin = Math.min(this.xMin, a), this.xMax = Math.max(this.xMax, a));
};
a.prototype.extendByY = function(a) {
134217728 === this.yMin ? this.yMin = this.yMax = a : (this.yMin = Math.min(this.yMin, a), this.yMax = Math.max(this.yMax, a));
};
a.prototype.intersects = function(a) {
return this.contains(a.xMin, a.yMin) || this.contains(a.xMax, a.yMax);
};
a.prototype.isEmpty = function() {
return this.xMax <= this.xMin || this.yMax <= this.yMin;
};
Object.defineProperty(a.prototype, "width", {get:function() {
return this.xMax - this.xMin;
}, set:function(a) {
this.xMax = this.xMin + a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "height", {get:function() {
return this.yMax - this.yMin;
}, set:function(a) {
this.yMax = this.yMin + a;
}, enumerable:!0, configurable:!0});
a.prototype.getBaseWidth = function(a) {
return Math.abs(Math.cos(a)) * (this.xMax - this.xMin) + Math.abs(Math.sin(a)) * (this.yMax - this.yMin);
};
a.prototype.getBaseHeight = function(a) {
return Math.abs(Math.sin(a)) * (this.xMax - this.xMin) + Math.abs(Math.cos(a)) * (this.yMax - this.yMin);
};
a.prototype.setEmpty = function() {
this.xMin = this.yMin = this.xMax = this.yMax = 0;
};
a.prototype.setToSentinels = function() {
this.xMin = this.yMin = this.xMax = this.yMax = 134217728;
};
a.prototype.clone = function() {
return new a(this.xMin, this.yMin, this.xMax, this.yMax);
};
a.prototype.toString = function() {
return "{ xMin: " + this.xMin + ", xMin: " + this.yMin + ", xMax: " + this.xMax + ", xMax: " + this.yMax + " }";
};
return a;
}();
b.Bounds = d;
d = function() {
function a(c, e, l, h) {
s.assert(k(c));
s.assert(k(e));
s.assert(k(l));
s.assert(k(h));
this._xMin = c | 0;
this._yMin = e | 0;
this._xMax = l | 0;
this._yMax = h | 0;
}
a.FromUntyped = function(c) {
return new a(c.xMin, c.yMin, c.xMax, c.yMax);
};
a.FromRectangle = function(c) {
return new a(20 * c.x | 0, 20 * c.y | 0, 20 * (c.x + c.width) | 0, 20 * (c.y + c.height) | 0);
};
a.prototype.setElements = function(a, c, e, h) {
this.xMin = a;
this.yMin = c;
this.xMax = e;
this.yMax = h;
};
a.prototype.copyFrom = function(a) {
this.setElements(a.xMin, a.yMin, a.xMax, a.yMax);
};
a.prototype.contains = function(a, c) {
return a < this.xMin !== a < this.xMax && c < this.yMin !== c < this.yMax;
};
a.prototype.unionWith = function(a) {
this._xMin = Math.min(this._xMin, a._xMin);
this._yMin = Math.min(this._yMin, a._yMin);
this._xMax = Math.max(this._xMax, a._xMax);
this._yMax = Math.max(this._yMax, a._yMax);
};
a.prototype.extendByPoint = function(a, c) {
this.extendByX(a);
this.extendByY(c);
};
a.prototype.extendByX = function(a) {
134217728 === this.xMin ? this.xMin = this.xMax = a : (this.xMin = Math.min(this.xMin, a), this.xMax = Math.max(this.xMax, a));
};
a.prototype.extendByY = function(a) {
134217728 === this.yMin ? this.yMin = this.yMax = a : (this.yMin = Math.min(this.yMin, a), this.yMax = Math.max(this.yMax, a));
};
a.prototype.intersects = function(a) {
return this.contains(a._xMin, a._yMin) || this.contains(a._xMax, a._yMax);
};
a.prototype.isEmpty = function() {
return this._xMax <= this._xMin || this._yMax <= this._yMin;
};
Object.defineProperty(a.prototype, "xMin", {get:function() {
return this._xMin;
}, set:function(a) {
s.assert(k(a));
this._xMin = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "yMin", {get:function() {
return this._yMin;
}, set:function(a) {
s.assert(k(a));
this._yMin = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "xMax", {get:function() {
return this._xMax;
}, set:function(a) {
s.assert(k(a));
this._xMax = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "width", {get:function() {
return this._xMax - this._xMin;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "yMax", {get:function() {
return this._yMax;
}, set:function(a) {
s.assert(k(a));
this._yMax = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "height", {get:function() {
return this._yMax - this._yMin;
}, enumerable:!0, configurable:!0});
a.prototype.getBaseWidth = function(a) {
return Math.abs(Math.cos(a)) * (this._xMax - this._xMin) + Math.abs(Math.sin(a)) * (this._yMax - this._yMin);
};
a.prototype.getBaseHeight = function(a) {
return Math.abs(Math.sin(a)) * (this._xMax - this._xMin) + Math.abs(Math.cos(a)) * (this._yMax - this._yMin);
};
a.prototype.setEmpty = function() {
this._xMin = this._yMin = this._xMax = this._yMax = 0;
};
a.prototype.clone = function() {
return new a(this.xMin, this.yMin, this.xMax, this.yMax);
};
a.prototype.toString = function() {
return "{ xMin: " + this._xMin + ", xMin: " + this._yMin + ", xMax: " + this._xMax + ", yMax: " + this._yMax + " }";
};
a.prototype.assertValid = function() {
};
return a;
}();
b.DebugBounds = d;
d = function() {
function a(c, e, l, h) {
this.r = c;
this.g = e;
this.b = l;
this.a = h;
}
a.FromARGB = function(c) {
return new a((c >> 16 & 255) / 255, (c >> 8 & 255) / 255, (c >> 0 & 255) / 255, (c >> 24 & 255) / 255);
};
a.FromRGBA = function(c) {
return a.FromARGB(e.RGBAToARGB(c));
};
a.prototype.toRGBA = function() {
return 255 * this.r << 24 | 255 * this.g << 16 | 255 * this.b << 8 | 255 * this.a;
};
a.prototype.toCSSStyle = function() {
return e.rgbaToCSSStyle(this.toRGBA());
};
a.prototype.set = function(a) {
this.r = a.r;
this.g = a.g;
this.b = a.b;
this.a = a.a;
};
a.randomColor = function(c) {
"undefined" === typeof c && (c = 1);
return new a(Math.random(), Math.random(), Math.random(), c);
};
a.parseColor = function(c) {
a.colorCache || (a.colorCache = Object.create(null));
if (a.colorCache[c]) {
return a.colorCache[c];
}
var e = document.createElement("span");
document.body.appendChild(e);
e.style.backgroundColor = c;
var r = getComputedStyle(e).backgroundColor;
document.body.removeChild(e);
(e = /^rgb\((\d+), (\d+), (\d+)\)$/.exec(r)) || (e = /^rgba\((\d+), (\d+), (\d+), ([\d.]+)\)$/.exec(r));
r = new a(0, 0, 0, 0);
r.r = parseFloat(e[1]) / 255;
r.g = parseFloat(e[2]) / 255;
r.b = parseFloat(e[3]) / 255;
r.a = e[4] ? parseFloat(e[4]) / 255 : 1;
return a.colorCache[c] = r;
};
a.Red = new a(1, 0, 0, 1);
a.Green = new a(0, 1, 0, 1);
a.Blue = new a(0, 0, 1, 1);
a.None = new a(0, 0, 0, 0);
a.White = new a(1, 1, 1, 1);
a.Black = new a(0, 0, 0, 1);
a.colorCache = {};
return a;
}();
b.Color = d;
(function(a) {
function c(a) {
var e, l, r = a >> 24 & 255;
l = (Math.imul(a >> 16 & 255, r) + 127) / 255 | 0;
e = (Math.imul(a >> 8 & 255, r) + 127) / 255 | 0;
a = (Math.imul(a >> 0 & 255, r) + 127) / 255 | 0;
return r << 24 | l << 16 | e << 8 | a;
}
a.RGBAToARGB = function(a) {
return a >> 8 & 16777215 | (a & 255) << 24;
};
a.ARGBToRGBA = function(a) {
return a << 8 | a >> 24 & 255;
};
a.rgbaToCSSStyle = function(a) {
return b.StringUtilities.concat9("rgba(", a >> 24 & 255, ",", a >> 16 & 255, ",", a >> 8 & 255, ",", (a & 255) / 255, ")");
};
a.cssStyleToRGBA = function(a) {
if ("#" === a[0]) {
if (7 === a.length) {
return parseInt(a.substring(1), 16) << 8 | 255;
}
} else {
if ("r" === a[0]) {
return a = a.substring(5, a.length - 1).split(","), (parseInt(a[0]) & 255) << 24 | (parseInt(a[1]) & 255) << 16 | (parseInt(a[2]) & 255) << 8 | 255 * parseFloat(a[3]) & 255;
}
}
return 4278190335;
};
a.hexToRGB = function(a) {
return parseInt(a.slice(1), 16);
};
a.rgbToHex = function(a) {
return "#" + ("000000" + a.toString(16)).slice(-6);
};
a.isValidHexColor = function(a) {
return/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(a);
};
a.clampByte = function(a) {
return Math.max(0, Math.min(255, a));
};
a.unpremultiplyARGB = function(a) {
var c, e, l = a >> 24 & 255;
e = Math.imul(255, a >> 16 & 255) / l & 255;
c = Math.imul(255, a >> 8 & 255) / l & 255;
a = Math.imul(255, a >> 0 & 255) / l & 255;
return l << 24 | e << 16 | c << 8 | a;
};
a.premultiplyARGB = c;
var e;
a.ensureUnpremultiplyTable = function() {
if (!e) {
e = new Uint8Array(65536);
for (var a = 0;256 > a;a++) {
for (var c = 0;256 > c;c++) {
e[(c << 8) + a] = Math.imul(255, a) / c;
}
}
}
};
a.tableLookupUnpremultiplyARGB = function(a) {
a |= 0;
var c = a >> 24 & 255;
if (0 === c) {
return 0;
}
if (255 === c) {
return a;
}
var l, r, q = c << 8, d = e;
r = d[q + (a >> 16 & 255)];
l = d[q + (a >> 8 & 255)];
a = d[q + (a >> 0 & 255)];
return c << 24 | r << 16 | l << 8 | a;
};
a.blendPremultipliedBGRA = function(a, c) {
var e, l;
l = 256 - (c & 255);
e = Math.imul(a & 16711935, l) >> 8;
l = Math.imul(a >> 8 & 16711935, l) >> 8;
return((c >> 8 & 16711935) + l & 16711935) << 8 | (c & 16711935) + e & 16711935;
};
var r = n.swap32;
a.convertImage = function(a, l, d, p) {
d !== p && s.assert(d.buffer !== p.buffer, "Can't handle overlapping views.");
var n = d.length;
if (a === l) {
if (d !== p) {
for (a = 0;a < n;a++) {
p[a] = d[a];
}
}
} else {
if (1 === a && 3 === l) {
for (b.ColorUtilities.ensureUnpremultiplyTable(), a = 0;a < n;a++) {
var m = d[a];
l = m & 255;
if (0 === l) {
p[a] = 0;
} else {
if (255 === l) {
p[a] = (m & 255) << 24 | m >> 8 & 16777215;
} else {
var f = m >> 24 & 255, g = m >> 16 & 255, m = m >> 8 & 255, k = l << 8, t = e, m = t[k + m], g = t[k + g], f = t[k + f];
p[a] = l << 24 | f << 16 | g << 8 | m;
}
}
}
} else {
if (2 === a && 3 === l) {
for (a = 0;a < n;a++) {
p[a] = r(d[a]);
}
} else {
if (3 === a && 1 === l) {
for (a = 0;a < n;a++) {
l = d[a], p[a] = r(c(l & 4278255360 | l >> 16 & 255 | (l & 255) << 16));
}
} else {
for (s.somewhatImplemented("Image Format Conversion: " + q[a] + " -> " + q[l]), a = 0;a < n;a++) {
p[a] = d[a];
}
}
}
}
}
};
})(b.ColorUtilities || (b.ColorUtilities = {}));
var e = b.ColorUtilities, d = function() {
function a(c) {
"undefined" === typeof c && (c = 32);
this._list = [];
this._maxSize = c;
}
a.prototype.acquire = function(c) {
if (a._enabled) {
for (var e = this._list, r = 0;r < e.length;r++) {
var h = e[r];
if (h.byteLength >= c) {
return e.splice(r, 1), h;
}
}
}
return new ArrayBuffer(c);
};
a.prototype.release = function(c) {
if (a._enabled) {
var e = this._list;
s.assert(0 > m.indexOf(e, c));
e.length === this._maxSize && e.shift();
e.push(c);
}
};
a.prototype.ensureUint8ArrayLength = function(a, c) {
if (a.length >= c) {
return a;
}
var e = Math.max(a.length + c, (3 * a.length >> 1) + 1), e = new Uint8Array(this.acquire(e), 0, e);
e.set(a);
this.release(a.buffer);
return e;
};
a.prototype.ensureFloat64ArrayLength = function(a, c) {
if (a.length >= c) {
return a;
}
var e = Math.max(a.length + c, (3 * a.length >> 1) + 1), e = new Float64Array(this.acquire(e * Float64Array.BYTES_PER_ELEMENT), 0, e);
e.set(a);
this.release(a.buffer);
return e;
};
a._enabled = !0;
return a;
}();
b.ArrayBufferPool = d;
(function(a) {
(function(a) {
a[a.EXTERNAL_INTERFACE_FEATURE = 1] = "EXTERNAL_INTERFACE_FEATURE";
a[a.CLIPBOARD_FEATURE = 2] = "CLIPBOARD_FEATURE";
a[a.SHAREDOBJECT_FEATURE = 3] = "SHAREDOBJECT_FEATURE";
a[a.VIDEO_FEATURE = 4] = "VIDEO_FEATURE";
a[a.SOUND_FEATURE = 5] = "SOUND_FEATURE";
a[a.NETCONNECTION_FEATURE = 6] = "NETCONNECTION_FEATURE";
})(a.Feature || (a.Feature = {}));
(function(a) {
a[a.AVM1_ERROR = 1] = "AVM1_ERROR";
a[a.AVM2_ERROR = 2] = "AVM2_ERROR";
})(a.ErrorTypes || (a.ErrorTypes = {}));
a.instance;
})(b.Telemetry || (b.Telemetry = {}));
(function(a) {
a.instance;
})(b.FileLoadingService || (b.FileLoadingService = {}));
(function(a) {
a.instance = {enabled:!1, initJS:function(a) {
}, registerCallback:function(a) {
}, unregisterCallback:function(a) {
}, eval:function(a) {
}, call:function(a) {
}, getId:function() {
return null;
}};
})(b.ExternalInterfaceService || (b.ExternalInterfaceService = {}));
d = function() {
function a() {
}
a.prototype.setClipboard = function(a) {
s.abstractMethod("public ClipboardService::setClipboard");
};
a.instance = null;
return a;
}();
b.ClipboardService = d;
d = function() {
function a() {
this._queues = {};
}
a.prototype.register = function(a, c) {
s.assert(a);
s.assert(c);
var e = this._queues[a];
if (e) {
if (-1 < e.indexOf(c)) {
return;
}
} else {
e = this._queues[a] = [];
}
e.push(c);
};
a.prototype.unregister = function(a, c) {
s.assert(a);
s.assert(c);
var e = this._queues[a];
if (e) {
var h = e.indexOf(c);
-1 !== h && e.splice(h, 1);
0 === e.length && (this._queues[a] = null);
}
};
a.prototype.notify = function(a, c) {
var e = this._queues[a];
if (e) {
e = e.slice();
c = Array.prototype.slice.call(arguments, 0);
for (var h = 0;h < e.length;h++) {
e[h].apply(null, c);
}
}
};
a.prototype.notify1 = function(a, c) {
var e = this._queues[a];
if (e) {
for (var e = e.slice(), h = 0;h < e.length;h++) {
(0,e[h])(a, c);
}
}
};
return a;
}();
b.Callback = d;
(function(a) {
a[a.None = 0] = "None";
a[a.PremultipliedAlphaARGB = 1] = "PremultipliedAlphaARGB";
a[a.StraightAlphaARGB = 2] = "StraightAlphaARGB";
a[a.StraightAlphaRGBA = 3] = "StraightAlphaRGBA";
a[a.JPEG = 4] = "JPEG";
a[a.PNG = 5] = "PNG";
a[a.GIF = 6] = "GIF";
})(b.ImageType || (b.ImageType = {}));
var q = b.ImageType;
b.PromiseWrapper = function() {
return function() {
this.promise = new Promise(function(a, c) {
this.resolve = a;
this.reject = c;
}.bind(this));
};
}();
})(Shumway || (Shumway = {}));
(function() {
function b(a) {
if ("function" !== typeof a) {
throw new TypeError("Invalid deferred constructor");
}
var c = p();
a = new a(c);
var e = c.resolve;
if ("function" !== typeof e) {
throw new TypeError("Invalid resolve construction function");
}
c = c.reject;
if ("function" !== typeof c) {
throw new TypeError("Invalid reject construction function");
}
return{promise:a, resolve:e, reject:c};
}
function k(a, c) {
if ("object" !== typeof a || null === a) {
return!1;
}
try {
var e = a.then;
if ("function" !== typeof e) {
return!1;
}
e.call(a, c.resolve, c.reject);
} catch (l) {
e = c.reject, e(l);
}
return!0;
}
function g(a) {
return "object" === typeof a && null !== a && "undefined" !== typeof a.promiseStatus;
}
function f(a, c) {
if ("unresolved" === a.promiseStatus) {
var e = a.rejectReactions;
a.result = c;
a.resolveReactions = void 0;
a.rejectReactions = void 0;
a.promiseStatus = "has-rejection";
t(e, c);
}
}
function t(a, c) {
for (var e = 0;e < a.length;e++) {
s({reaction:a[e], argument:c});
}
}
function s(a) {
0 === w.length && setTimeout(m, 0);
w.push(a);
}
function m() {
for (;0 < w.length;) {
var a = w[0];
try {
a: {
var c = a.reaction, e = c.deferred, q = c.handler, d = void 0, p = void 0;
try {
d = q(a.argument);
} catch (n) {
var b = e.reject;
b(n);
break a;
}
if (d === e.promise) {
b = e.reject, b(new TypeError("Self resolution"));
} else {
try {
if (p = k(d, e), !p) {
var m = e.resolve;
m(d);
}
} catch (u) {
b = e.reject, b(u);
}
}
}
} catch (f) {
if ("function" === typeof l.onerror) {
l.onerror(f);
}
}
w.shift();
}
}
function d(a) {
throw a;
}
function a(a) {
return a;
}
function c(a) {
return function(c) {
f(a, c);
};
}
function n(a) {
return function(c) {
if ("unresolved" === a.promiseStatus) {
var e = a.resolveReactions;
a.result = c;
a.resolveReactions = void 0;
a.rejectReactions = void 0;
a.promiseStatus = "has-resolution";
t(e, c);
}
};
}
function p() {
function a(c, e) {
a.resolve = c;
a.reject = e;
}
return a;
}
function e(a, c, e) {
return function(l) {
if (l === a) {
return e(new TypeError("Self resolution"));
}
var q = a.promiseConstructor;
if (g(l) && l.promiseConstructor === q) {
return l.then(c, e);
}
q = b(q);
return k(l, q) ? q.promise.then(c, e) : c(l);
};
}
function q(a, c, e, l) {
return function(q) {
c[a] = q;
l.countdown--;
0 === l.countdown && e.resolve(c);
};
}
function l(a) {
if ("function" !== typeof a) {
throw new TypeError("resolver is not a function");
}
if ("object" !== typeof this) {
throw new TypeError("Promise to initialize is not an object");
}
this.promiseStatus = "unresolved";
this.resolveReactions = [];
this.rejectReactions = [];
this.result = void 0;
var h = n(this), e = c(this);
try {
a(h, e);
} catch (q) {
f(this, q);
}
this.promiseConstructor = l;
return this;
}
var u = Function("return this")();
if (u.Promise) {
"function" !== typeof u.Promise.all && (u.Promise.all = function(a) {
var c = 0, e = [], l, q, d = new u.Promise(function(a, c) {
l = a;
q = c;
});
a.forEach(function(a, d) {
c++;
a.then(function(a) {
e[d] = a;
c--;
0 === c && l(e);
}, q);
});
0 === c && l(e);
return d;
}), "function" !== typeof u.Promise.resolve && (u.Promise.resolve = function(a) {
return new u.Promise(function(c) {
c(a);
});
});
} else {
var w = [];
l.all = function(a) {
var c = b(this), e = [], l = {countdown:0}, d = 0;
a.forEach(function(a) {
this.cast(a).then(q(d, e, c, l), c.reject);
d++;
l.countdown++;
}, this);
0 === d && c.resolve(e);
return c.promise;
};
l.cast = function(a) {
if (g(a)) {
return a;
}
var c = b(this);
c.resolve(a);
return c.promise;
};
l.reject = function(a) {
var c = b(this);
c.reject(a);
return c.promise;
};
l.resolve = function(a) {
var c = b(this);
c.resolve(a);
return c.promise;
};
l.prototype = {"catch":function(a) {
this.then(void 0, a);
}, then:function(c, h) {
if (!g(this)) {
throw new TypeError("this is not a Promises");
}
var l = b(this.promiseConstructor), q = "function" === typeof h ? h : d, p = {deferred:l, handler:e(this, "function" === typeof c ? c : a, q)}, q = {deferred:l, handler:q};
switch(this.promiseStatus) {
case "unresolved":
this.resolveReactions.push(p);
this.rejectReactions.push(q);
break;
case "has-resolution":
s({reaction:p, argument:this.result});
break;
case "has-rejection":
s({reaction:q, argument:this.result});
}
return l.promise;
}};
u.Promise = l;
}
})();
"undefined" !== typeof exports && (exports.Shumway = Shumway);
(function() {
function b(b, g, f) {
b[g] || Object.defineProperty(b, g, {value:f, writable:!0, configurable:!0, enumerable:!1});
}
b(String.prototype, "padRight", function(b, g) {
var f = this, t = f.replace(/\033\[[0-9]*m/g, "").length;
if (!b || t >= g) {
return f;
}
for (var t = (g - t) / b.length, s = 0;s < t;s++) {
f += b;
}
return f;
});
b(String.prototype, "padLeft", function(b, g) {
var f = this, t = f.length;
if (!b || t >= g) {
return f;
}
for (var t = (g - t) / b.length, s = 0;s < t;s++) {
f = b + f;
}
return f;
});
b(String.prototype, "trim", function() {
return this.replace(/^\s+|\s+$/g, "");
});
b(String.prototype, "endsWith", function(b) {
return-1 !== this.indexOf(b, this.length - b.length);
});
b(Array.prototype, "replace", function(b, g) {
if (b === g) {
return 0;
}
for (var f = 0, t = 0;t < this.length;t++) {
this[t] === b && (this[t] = g, f++);
}
return f;
});
})();
(function(b) {
(function(k) {
var g = b.isObject, f = b.Debug.assert, t = function() {
function a(a, d, p, e) {
this.shortName = a;
this.longName = d;
this.type = p;
e = e || {};
this.positional = e.positional;
this.parseFn = e.parse;
this.value = e.defaultValue;
}
a.prototype.parse = function(a) {
"boolean" === this.type ? (f("boolean" === typeof a), this.value = a) : "number" === this.type ? (f(!isNaN(a), a + " is not a number"), this.value = parseInt(a, 10)) : this.value = a;
this.parseFn && this.parseFn(this.value);
};
return a;
}();
k.Argument = t;
var s = function() {
function a() {
this.args = [];
}
a.prototype.addArgument = function(a, d, p, e) {
a = new t(a, d, p, e);
this.args.push(a);
return a;
};
a.prototype.addBoundOption = function(a) {
this.args.push(new t(a.shortName, a.longName, a.type, {parse:function(d) {
a.value = d;
}}));
};
a.prototype.addBoundOptionSet = function(a) {
var n = this;
a.options.forEach(function(a) {
a instanceof m ? n.addBoundOptionSet(a) : (f(a instanceof d), n.addBoundOption(a));
});
};
a.prototype.getUsage = function() {
var a = "";
this.args.forEach(function(d) {
a = d.positional ? a + d.longName : a + ("[-" + d.shortName + "|--" + d.longName + ("boolean" === d.type ? "" : " " + d.type[0].toUpperCase()) + "]");
a += " ";
});
return a;
};
a.prototype.parse = function(a) {
var d = {}, p = [];
this.args.forEach(function(a) {
a.positional ? p.push(a) : (d["-" + a.shortName] = a, d["--" + a.longName] = a);
});
for (var e = [];a.length;) {
var q = a.shift(), l = null, b = q;
if ("--" == q) {
e = e.concat(a);
break;
} else {
if ("-" == q.slice(0, 1) || "--" == q.slice(0, 2)) {
l = d[q];
if (!l) {
continue;
}
"boolean" !== l.type ? (b = a.shift(), f("-" !== b && "--" !== b, "Argument " + q + " must have a value.")) : b = !0;
} else {
p.length ? l = p.shift() : e.push(b);
}
}
l && l.parse(b);
}
f(0 === p.length, "Missing positional arguments.");
return e;
};
return a;
}();
k.ArgumentParser = s;
var m = function() {
function a(a, d) {
"undefined" === typeof d && (d = null);
this.open = !1;
this.name = a;
this.settings = d || {};
this.options = [];
}
a.prototype.register = function(c) {
if (c instanceof a) {
for (var d = 0;d < this.options.length;d++) {
var p = this.options[d];
if (p instanceof a && p.name === c.name) {
return p;
}
}
}
this.options.push(c);
if (this.settings) {
if (c instanceof a) {
d = this.settings[c.name], g(d) && (c.settings = d.settings, c.open = d.open);
} else {
if ("undefined" !== typeof this.settings[c.longName]) {
switch(c.type) {
case "boolean":
c.value = !!this.settings[c.longName];
break;
case "number":
c.value = +this.settings[c.longName];
break;
default:
c.value = this.settings[c.longName];
}
}
}
}
return c;
};
a.prototype.trace = function(a) {
a.enter(this.name + " {");
this.options.forEach(function(d) {
d.trace(a);
});
a.leave("}");
};
a.prototype.getSettings = function() {
var c = {};
this.options.forEach(function(d) {
d instanceof a ? c[d.name] = {settings:d.getSettings(), open:d.open} : c[d.longName] = d.value;
});
return c;
};
a.prototype.setSettings = function(c) {
c && this.options.forEach(function(d) {
d instanceof a ? d.name in c && d.setSettings(c[d.name].settings) : d.longName in c && (d.value = c[d.longName]);
});
};
return a;
}();
k.OptionSet = m;
var d = function() {
function a(a, d, p, e, q, l) {
"undefined" === typeof l && (l = null);
this.longName = d;
this.shortName = a;
this.type = p;
this.value = this.defaultValue = e;
this.description = q;
this.config = l;
}
a.prototype.parse = function(a) {
this.value = a;
};
a.prototype.trace = function(a) {
a.writeLn(("-" + this.shortName + "|--" + this.longName).padRight(" ", 30) + " = " + this.type + " " + this.value + " [" + this.defaultValue + "] (" + this.description + ")");
};
return a;
}();
k.Option = d;
})(b.Options || (b.Options = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
function g() {
try {
return "undefined" !== typeof window && "localStorage" in window && null !== window.localStorage;
} catch (b) {
return!1;
}
}
function f(b) {
"undefined" === typeof b && (b = k.ROOT);
var f = {};
if (g() && (b = window.localStorage[b])) {
try {
f = JSON.parse(b);
} catch (m) {
}
}
return f;
}
k.ROOT = "Shumway Options";
k.shumwayOptions = new b.Options.OptionSet(k.ROOT, f());
k.isStorageSupported = g;
k.load = f;
k.save = function(b, f) {
"undefined" === typeof b && (b = null);
"undefined" === typeof f && (f = k.ROOT);
if (g()) {
try {
window.localStorage[f] = JSON.stringify(b ? b : k.shumwayOptions.getSettings());
} catch (m) {
}
}
};
k.setSettings = function(b) {
k.shumwayOptions.setSettings(b);
};
k.getSettings = function(b) {
return k.shumwayOptions.getSettings();
};
})(b.Settings || (b.Settings = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = function() {
function f(f, g) {
this._parent = f;
this._timers = b.ObjectUtilities.createMap();
this._name = g;
this._count = this._total = this._last = this._begin = 0;
}
f.time = function(b, g) {
f.start(b);
g();
f.stop();
};
f.start = function(b) {
f._top = f._top._timers[b] || (f._top._timers[b] = new f(f._top, b));
f._top.start();
b = f._flat._timers[b] || (f._flat._timers[b] = new f(f._flat, b));
b.start();
f._flatStack.push(b);
};
f.stop = function() {
f._top.stop();
f._top = f._top._parent;
f._flatStack.pop().stop();
};
f.stopStart = function(b) {
f.stop();
f.start(b);
};
f.prototype.start = function() {
this._begin = b.getTicks();
};
f.prototype.stop = function() {
this._last = b.getTicks() - this._begin;
this._total += this._last;
this._count += 1;
};
f.prototype.toJSON = function() {
return{name:this._name, total:this._total, timers:this._timers};
};
f.prototype.trace = function(b) {
b.enter(this._name + ": " + this._total.toFixed(2) + " ms, count: " + this._count + ", average: " + (this._total / this._count).toFixed(2) + " ms");
for (var f in this._timers) {
this._timers[f].trace(b);
}
b.outdent();
};
f.trace = function(b) {
f._base.trace(b);
f._flat.trace(b);
};
f._base = new f(null, "Total");
f._top = f._base;
f._flat = new f(null, "Flat");
f._flatStack = [];
return f;
}();
k.Timer = g;
g = function() {
function f(b) {
this._enabled = b;
this.clear();
}
Object.defineProperty(f.prototype, "counts", {get:function() {
return this._counts;
}, enumerable:!0, configurable:!0});
f.prototype.setEnabled = function(b) {
this._enabled = b;
};
f.prototype.clear = function() {
this._counts = b.ObjectUtilities.createMap();
this._times = b.ObjectUtilities.createMap();
};
f.prototype.toJSON = function() {
return{counts:this._counts, times:this._times};
};
f.prototype.count = function(b, f, m) {
"undefined" === typeof f && (f = 1);
"undefined" === typeof m && (m = 0);
if (this._enabled) {
return void 0 === this._counts[b] && (this._counts[b] = 0, this._times[b] = 0), this._counts[b] += f, this._times[b] += m, this._counts[b];
}
};
f.prototype.trace = function(b) {
for (var f in this._counts) {
b.writeLn(f + ": " + this._counts[f]);
}
};
f.prototype._pairToString = function(b, f) {
var m = f[0], d = f[1], a = b[m], m = m + ": " + d;
a && (m += ", " + a.toFixed(4), 1 < d && (m += " (" + (a / d).toFixed(4) + ")"));
return m;
};
f.prototype.toStringSorted = function() {
var b = this, f = this._times, m = [], d;
for (d in this._counts) {
m.push([d, this._counts[d]]);
}
m.sort(function(a, c) {
return c[1] - a[1];
});
return m.map(function(a) {
return b._pairToString(f, a);
}).join(", ");
};
f.prototype.traceSorted = function(b) {
var f = !0;
"undefined" === typeof f && (f = !1);
var m = this, d = this._times, a = [], c;
for (c in this._counts) {
a.push([c, this._counts[c]]);
}
a.sort(function(a, c) {
return c[1] - a[1];
});
f ? b.writeLn(a.map(function(a) {
return m._pairToString(d, a);
}).join(", ")) : a.forEach(function(a) {
b.writeLn(m._pairToString(d, a));
});
};
f.instance = new f(!0);
return f;
}();
k.Counter = g;
g = function() {
function b(f) {
this._samples = new Float64Array(f);
this._index = this._count = 0;
}
b.prototype.push = function(b) {
this._count < this._samples.length && this._count++;
this._index++;
this._samples[this._index % this._samples.length] = b;
};
b.prototype.average = function() {
for (var b = 0, f = 0;f < this._count;f++) {
b += this._samples[f];
}
return b / this._count;
};
return b;
}();
k.Average = g;
})(b.Metrics || (b.Metrics = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
function g(a) {
for (var c = Math.max.apply(null, a), e = a.length, q = 1 << c, h = new Uint32Array(q), d = c << 16 | 65535, b = 0;b < q;b++) {
h[b] = d;
}
for (var d = 0, b = 1, p = 2;b <= c;d <<= 1, ++b, p <<= 1) {
for (var n = 0;n < e;++n) {
if (a[n] === b) {
for (var m = 0, f = 0;f < b;++f) {
m = 2 * m + (d >> f & 1);
}
for (f = m;f < q;f += p) {
h[f] = b << 16 | n;
}
++d;
}
}
}
return{codes:h, maxBits:c};
}
var f;
(function(a) {
a[a.INIT = 0] = "INIT";
a[a.BLOCK_0 = 1] = "BLOCK_0";
a[a.BLOCK_1 = 2] = "BLOCK_1";
a[a.BLOCK_2_PRE = 3] = "BLOCK_2_PRE";
a[a.BLOCK_2 = 4] = "BLOCK_2";
a[a.DONE = 5] = "DONE";
a[a.ERROR = 6] = "ERROR";
a[a.VERIFY_HEADER = 7] = "VERIFY_HEADER";
})(f || (f = {}));
f = function() {
function e(l) {
this._buffer = new Uint8Array(1024);
this._bitLength = this._bitBuffer = this._bufferPosition = this._bufferSize = 0;
this._window = new Uint8Array(65794);
this._windowPosition = 0;
this._state = l ? 7 : 0;
this._isFinalBlock = !1;
this._distanceTable = this._literalTable = null;
this._block0Read = 0;
this._block2State = null;
this._copyState = {state:0, len:0, lenBits:0, dist:0, distBits:0};
this._error = void 0;
if (!p) {
t = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
s = new Uint16Array(30);
m = new Uint8Array(30);
for (var q = l = 0, r = 1;30 > l;++l) {
s[l] = r, r += 1 << (m[l] = ~~((q += 2 < l ? 1 : 0) / 2));
}
var h = new Uint8Array(288);
for (l = 0;32 > l;++l) {
h[l] = 5;
}
d = g(h.subarray(0, 32));
a = new Uint16Array(29);
c = new Uint8Array(29);
q = l = 0;
for (r = 3;29 > l;++l) {
a[l] = r - (28 == l ? 1 : 0), r += 1 << (c[l] = ~~((q += 4 < l ? 1 : 0) / 4 % 6));
}
for (l = 0;288 > l;++l) {
h[l] = 144 > l || 279 < l ? 8 : 256 > l ? 9 : 7;
}
n = g(h);
p = !0;
}
}
Object.defineProperty(e.prototype, "error", {get:function() {
return this._error;
}, enumerable:!0, configurable:!0});
e.prototype.push = function(a) {
if (this._buffer.length < this._bufferSize + a.length) {
var c = new Uint8Array(this._bufferSize + a.length);
c.set(this._buffer);
this._buffer = c;
}
this._buffer.set(a, this._bufferSize);
this._bufferSize += a.length;
this._bufferPosition = 0;
a = !1;
do {
c = this._windowPosition;
if (0 === this._state && (a = this._decodeInitState())) {
break;
}
switch(this._state) {
case 1:
a = this._decodeBlock0();
break;
case 3:
if (a = this._decodeBlock2Pre()) {
break;
}
;
case 2:
;
case 4:
a = this._decodeBlock();
break;
case 6:
;
case 5:
this._bufferPosition = this._bufferSize;
break;
case 7:
a = this._verifyZlibHeader();
}
if (0 < this._windowPosition - c) {
this.onData(this._window.subarray(c, this._windowPosition));
}
65536 <= this._windowPosition && (this._window.set(this._window.subarray(this._windowPosition - 32768, this._windowPosition)), this._windowPosition = 32768);
} while (!a && this._bufferPosition < this._bufferSize);
this._bufferPosition < this._bufferSize ? (this._buffer.set(this._buffer.subarray(this._bufferPosition, this._bufferSize)), this._bufferSize -= this._bufferPosition) : this._bufferSize = 0;
};
e.prototype._verifyZlibHeader = function() {
var a = this._bufferPosition;
if (a + 2 > this._bufferSize) {
return!0;
}
var c = this._buffer, c = c[a] << 8 | c[a + 1];
this._bufferPosition = a + 2;
a = null;
2048 !== (c & 3840) ? a = "inflate: unknown compression method" : 0 !== c % 31 ? a = "inflate: bad FCHECK" : 0 !== (c & 32) && (a = "inflate: FDICT bit set");
a ? (this._error = a, this._state = 6) : this._state = 0;
};
e.prototype._decodeInitState = function() {
if (this._isFinalBlock) {
return this._state = 5, !1;
}
var a = this._buffer, c = this._bufferSize, e = this._bitBuffer, h = this._bitLength, l = this._bufferPosition;
if (3 > (c - l << 3) + h) {
return!0;
}
3 > h && (e |= a[l++] << h, h += 8);
var q = e & 7, e = e >> 3, h = h - 3;
switch(q >> 1) {
case 0:
h = e = 0;
if (4 > c - l) {
return!0;
}
var b = a[l] | a[l + 1] << 8, a = a[l + 2] | a[l + 3] << 8, l = l + 4;
if (65535 !== (b ^ a)) {
this._error = "inflate: invalid block 0 length";
a = 6;
break;
}
0 === b ? a = 0 : (this._block0Read = b, a = 1);
break;
case 1:
a = 2;
this._literalTable = n;
this._distanceTable = d;
break;
case 2:
if (26 > (c - l << 3) + h) {
return!0;
}
for (;14 > h;) {
e |= a[l++] << h, h += 8;
}
b = (e >> 10 & 15) + 4;
if ((c - l << 3) + h < 14 + 3 * b) {
return!0;
}
for (var c = {numLiteralCodes:(e & 31) + 257, numDistanceCodes:(e >> 5 & 31) + 1, codeLengthTable:void 0, bitLengths:void 0, codesRead:0, dupBits:0}, e = e >> 14, h = h - 14, p = new Uint8Array(19), m = 0;m < b;++m) {
3 > h && (e |= a[l++] << h, h += 8), p[t[m]] = e & 7, e >>= 3, h -= 3;
}
for (;19 > m;m++) {
p[t[m]] = 0;
}
c.bitLengths = new Uint8Array(c.numLiteralCodes + c.numDistanceCodes);
c.codeLengthTable = g(p);
this._block2State = c;
a = 3;
break;
default:
return this._error = "inflate: unsupported block type", !1;
}
this._isFinalBlock = !!(q & 1);
this._state = a;
this._bufferPosition = l;
this._bitBuffer = e;
this._bitLength = h;
return!1;
};
e.prototype._decodeBlock0 = function() {
var a = this._bufferPosition, c = this._windowPosition, e = this._block0Read, h = 65794 - c, l = this._bufferSize - a, q = l < e, d = Math.min(h, l, e);
this._window.set(this._buffer.subarray(a, a + d), c);
this._windowPosition = c + d;
this._bufferPosition = a + d;
this._block0Read = e - d;
return e === d ? (this._state = 0, !1) : q && h < l;
};
e.prototype._readBits = function(a) {
var c = this._bitBuffer, e = this._bitLength;
if (a > e) {
var h = this._bufferPosition, l = this._bufferSize;
do {
if (h >= l) {
return this._bufferPosition = h, this._bitBuffer = c, this._bitLength = e, -1;
}
c |= this._buffer[h++] << e;
e += 8;
} while (a > e);
this._bufferPosition = h;
}
this._bitBuffer = c >> a;
this._bitLength = e - a;
return c & (1 << a) - 1;
};
e.prototype._readCode = function(a) {
var c = this._bitBuffer, e = this._bitLength, h = a.maxBits;
if (h > e) {
var l = this._bufferPosition, q = this._bufferSize;
do {
if (l >= q) {
return this._bufferPosition = l, this._bitBuffer = c, this._bitLength = e, -1;
}
c |= this._buffer[l++] << e;
e += 8;
} while (h > e);
this._bufferPosition = l;
}
a = a.codes[c & (1 << h) - 1];
h = a >> 16;
if (a & 32768) {
return this._error = "inflate: invalid encoding", this._state = 6, -1;
}
this._bitBuffer = c >> h;
this._bitLength = e - h;
return a & 65535;
};
e.prototype._decodeBlock2Pre = function() {
var a = this._block2State, c = a.numLiteralCodes + a.numDistanceCodes, e = a.bitLengths, h = a.codesRead, l = 0 < h ? e[h - 1] : 0, q = a.codeLengthTable, d;
if (0 < a.dupBits) {
d = this._readBits(a.dupBits);
if (0 > d) {
return!0;
}
for (;d--;) {
e[h++] = l;
}
a.dupBits = 0;
}
for (;h < c;) {
var b = this._readCode(q);
if (0 > b) {
return a.codesRead = h, !0;
}
if (16 > b) {
e[h++] = l = b;
} else {
var p;
switch(b) {
case 16:
p = 2;
d = 3;
b = l;
break;
case 17:
d = p = 3;
b = 0;
break;
case 18:
p = 7, d = 11, b = 0;
}
for (;d--;) {
e[h++] = b;
}
d = this._readBits(p);
if (0 > d) {
return a.codesRead = h, a.dupBits = p, !0;
}
for (;d--;) {
e[h++] = b;
}
l = b;
}
}
this._literalTable = g(e.subarray(0, a.numLiteralCodes));
this._distanceTable = g(e.subarray(a.numLiteralCodes));
this._state = 4;
this._block2State = null;
return!1;
};
e.prototype._decodeBlock = function() {
var e = this._literalTable, l = this._distanceTable, q = this._window, h = this._windowPosition, d = this._copyState, b, p, n, f;
if (0 !== d.state) {
switch(d.state) {
case 1:
if (0 > (b = this._readBits(d.lenBits))) {
return!0;
}
d.len += b;
d.state = 2;
case 2:
if (0 > (b = this._readCode(l))) {
return!0;
}
d.distBits = m[b];
d.dist = s[b];
d.state = 3;
case 3:
b = 0;
if (0 < d.distBits && 0 > (b = this._readBits(d.distBits))) {
return!0;
}
f = d.dist + b;
p = d.len;
for (b = h - f;p--;) {
q[h++] = q[b++];
}
d.state = 0;
if (65536 <= h) {
return this._windowPosition = h, !1;
}
break;
}
}
do {
b = this._readCode(e);
if (0 > b) {
return this._windowPosition = h, !0;
}
if (256 > b) {
q[h++] = b;
} else {
if (256 < b) {
this._windowPosition = h;
b -= 257;
n = c[b];
p = a[b];
b = 0 === n ? 0 : this._readBits(n);
if (0 > b) {
return d.state = 1, d.len = p, d.lenBits = n, !0;
}
p += b;
b = this._readCode(l);
if (0 > b) {
return d.state = 2, d.len = p, !0;
}
n = m[b];
f = s[b];
b = 0 === n ? 0 : this._readBits(n);
if (0 > b) {
return d.state = 3, d.len = p, d.dist = f, d.distBits = n, !0;
}
f += b;
for (b = h - f;p--;) {
q[h++] = q[b++];
}
} else {
this._state = 0;
break;
}
}
} while (65536 > h);
this._windowPosition = h;
return!1;
};
e.inflate = function(a, c, q) {
var h = new Uint8Array(c), d = 0;
c = new e(q);
c.onData = function(a) {
h.set(a, d);
d += a.length;
};
c.push(a);
return h;
};
return e;
}();
b.Inflate = f;
var t, s, m, d, a, c, n, p = !1, e;
(function(a) {
a[a.WRITE = 0] = "WRITE";
a[a.DONE = 1] = "DONE";
a[a.ZLIB_HEADER = 2] = "ZLIB_HEADER";
})(e || (e = {}));
var q = function() {
function a() {
this.a = 1;
this.b = 0;
}
a.prototype.update = function(a, c, e) {
for (var h = this.a, l = this.b;c < e;++c) {
h = (h + (a[c] & 255)) % 65521, l = (l + h) % 65521;
}
this.a = h;
this.b = l;
};
a.prototype.getChecksum = function() {
return this.b << 16 | this.a;
};
return a;
}();
b.Adler32 = q;
e = function() {
function a(c) {
this._state = (this._writeZlibHeader = c) ? 2 : 0;
this._adler32 = c ? new q : null;
}
a.prototype.push = function(a) {
2 === this._state && (this.onData(new Uint8Array([120, 156])), this._state = 0);
for (var c = a.length, e = new Uint8Array(c + 5 * Math.ceil(c / 65535)), h = 0, l = 0;65535 < c;) {
e.set(new Uint8Array([0, 255, 255, 0, 0]), h), h += 5, e.set(a.subarray(l, l + 65535), h), l += 65535, h += 65535, c -= 65535;
}
e.set(new Uint8Array([0, c & 255, c >> 8 & 255, ~c & 255, ~c >> 8 & 255]), h);
e.set(a.subarray(l, c), h + 5);
this.onData(e);
this._adler32 && this._adler32.update(a, 0, c);
};
a.prototype.finish = function() {
this._state = 1;
this.onData(new Uint8Array([1, 0, 0, 255, 255]));
if (this._adler32) {
var a = this._adler32.getChecksum();
this.onData(new Uint8Array([a & 255, a >> 8 & 255, a >> 16 & 255, a >>> 24 & 255]));
}
};
return a;
}();
b.Deflate = e;
})(b.ArrayUtilities || (b.ArrayUtilities = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
function g() {
t("throwEOFError");
}
function f(a) {
return "string" === typeof a ? a : void 0 == a ? null : a + "";
}
var t = b.Debug.notImplemented, s = b.StringUtilities.utf8decode, m = b.StringUtilities.utf8encode, d = b.NumberUtilities.clamp, a = function() {
return function(a, c, l) {
this.buffer = a;
this.length = c;
this.littleEndian = l;
};
}();
k.PlainObjectDataBuffer = a;
for (var c = new Uint32Array(33), n = 1, p = 0;32 >= n;n++) {
c[n] = p = p << 1 | 1;
}
n = function() {
function e(a) {
"undefined" === typeof a && (a = e.INITIAL_SIZE);
this._buffer || (this._buffer = new ArrayBuffer(a), this._position = this._length = 0, this._updateViews(), this._littleEndian = e._nativeLittleEndian, this._bitLength = this._bitBuffer = 0);
}
e.FromArrayBuffer = function(a, c) {
"undefined" === typeof c && (c = -1);
var d = Object.create(e.prototype);
d._buffer = a;
d._length = -1 === c ? a.byteLength : c;
d._position = 0;
d._updateViews();
d._littleEndian = e._nativeLittleEndian;
d._bitBuffer = 0;
d._bitLength = 0;
return d;
};
e.FromPlainObject = function(a) {
var c = e.FromArrayBuffer(a.buffer, a.length);
c._littleEndian = a.littleEndian;
return c;
};
e.prototype.toPlainObject = function() {
return new a(this._buffer, this._length, this._littleEndian);
};
e.prototype._updateViews = function() {
this._u8 = new Uint8Array(this._buffer);
0 === (this._buffer.byteLength & 3) && (this._i32 = new Int32Array(this._buffer), this._f32 = new Float32Array(this._buffer));
};
e.prototype.getBytes = function() {
return new Uint8Array(this._buffer, 0, this._length);
};
e.prototype._ensureCapacity = function(a) {
var c = this._buffer;
if (c.byteLength < a) {
for (var d = Math.max(c.byteLength, 1);d < a;) {
d *= 2;
}
a = e._arrayBufferPool.acquire(d);
d = this._u8;
this._buffer = a;
this._updateViews();
this._u8.set(d);
e._arrayBufferPool.release(c);
}
};
e.prototype.clear = function() {
this._position = this._length = 0;
};
e.prototype.readBoolean = function() {
return 0 !== this.readUnsignedByte();
};
e.prototype.readByte = function() {
return this.readUnsignedByte() << 24 >> 24;
};
e.prototype.readUnsignedByte = function() {
this._position + 1 > this._length && g();
return this._u8[this._position++];
};
e.prototype.readBytes = function(a, c, e) {
"undefined" === typeof c && (c = 0);
"undefined" === typeof e && (e = 0);
var d = this._position;
c || (c = 0);
e || (e = this._length - d);
d + e > this._length && g();
a.length < c + e && (a._ensureCapacity(c + e), a.length = c + e);
a._u8.set(new Uint8Array(this._buffer, d, e), c);
this._position += e;
};
e.prototype.readShort = function() {
return this.readUnsignedShort() << 16 >> 16;
};
e.prototype.readUnsignedShort = function() {
var a = this._u8, c = this._position;
c + 2 > this._length && g();
var e = a[c + 0], a = a[c + 1];
this._position = c + 2;
return this._littleEndian ? a << 8 | e : e << 8 | a;
};
e.prototype.readInt = function() {
var a = this._u8, c = this._position;
c + 4 > this._length && g();
var e = a[c + 0], d = a[c + 1], b = a[c + 2], a = a[c + 3];
this._position = c + 4;
return this._littleEndian ? a << 24 | b << 16 | d << 8 | e : e << 24 | d << 16 | b << 8 | a;
};
e.prototype.readUnsignedInt = function() {
return this.readInt() >>> 0;
};
e.prototype.readFloat = function() {
var a = this._position;
a + 4 > this._length && g();
this._position = a + 4;
if (this._littleEndian && 0 === (a & 3) && this._f32) {
return this._f32[a >> 2];
}
var c = this._u8, e = b.IntegerUtilities.u8;
this._littleEndian ? (e[0] = c[a + 0], e[1] = c[a + 1], e[2] = c[a + 2], e[3] = c[a + 3]) : (e[3] = c[a + 0], e[2] = c[a + 1], e[1] = c[a + 2], e[0] = c[a + 3]);
return b.IntegerUtilities.f32[0];
};
e.prototype.readDouble = function() {
var a = this._u8, c = this._position;
c + 8 > this._length && g();
var e = b.IntegerUtilities.u8;
this._littleEndian ? (e[0] = a[c + 0], e[1] = a[c + 1], e[2] = a[c + 2], e[3] = a[c + 3], e[4] = a[c + 4], e[5] = a[c + 5], e[6] = a[c + 6], e[7] = a[c + 7]) : (e[0] = a[c + 7], e[1] = a[c + 6], e[2] = a[c + 5], e[3] = a[c + 4], e[4] = a[c + 3], e[5] = a[c + 2], e[6] = a[c + 1], e[7] = a[c + 0]);
this._position = c + 8;
return b.IntegerUtilities.f64[0];
};
e.prototype.writeBoolean = function(a) {
this.writeByte(a ? 1 : 0);
};
e.prototype.writeByte = function(a) {
var c = this._position + 1;
this._ensureCapacity(c);
this._u8[this._position++] = a;
c > this._length && (this._length = c);
};
e.prototype.writeUnsignedByte = function(a) {
var c = this._position + 1;
this._ensureCapacity(c);
this._u8[this._position++] = a;
c > this._length && (this._length = c);
};
e.prototype.writeRawBytes = function(a) {
var c = this._position + a.length;
this._ensureCapacity(c);
this._u8.set(a, this._position);
this._position = c;
c > this._length && (this._length = c);
};
e.prototype.writeBytes = function(a, c, e) {
"undefined" === typeof c && (c = 0);
"undefined" === typeof e && (e = 0);
2 > arguments.length && (c = 0);
3 > arguments.length && (e = 0);
c !== d(c, 0, a.length) && t("throwRangeError");
var b = c + e;
b !== d(b, 0, a.length) && t("throwRangeError");
0 === e && (e = a.length - c);
this.writeRawBytes(new Int8Array(a._buffer, c, e));
};
e.prototype.writeShort = function(a) {
this.writeUnsignedShort(a);
};
e.prototype.writeUnsignedShort = function(a) {
var c = this._position;
this._ensureCapacity(c + 2);
var e = this._u8;
this._littleEndian ? (e[c + 0] = a, e[c + 1] = a >> 8) : (e[c + 0] = a >> 8, e[c + 1] = a);
this._position = c += 2;
c > this._length && (this._length = c);
};
e.prototype.writeInt = function(a) {
this.writeUnsignedInt(a);
};
e.prototype.write4Ints = function(a, c, e, d) {
this.write4UnsignedInts(a, c, e, d);
};
e.prototype.writeUnsignedInt = function(a) {
var c = this._position;
this._ensureCapacity(c + 4);
if (this._littleEndian === e._nativeLittleEndian && 0 === (c & 3) && this._i32) {
this._i32[c >> 2] = a;
} else {
var d = this._u8;
this._littleEndian ? (d[c + 0] = a, d[c + 1] = a >> 8, d[c + 2] = a >> 16, d[c + 3] = a >> 24) : (d[c + 0] = a >> 24, d[c + 1] = a >> 16, d[c + 2] = a >> 8, d[c + 3] = a);
}
this._position = c += 4;
c > this._length && (this._length = c);
};
e.prototype.write4UnsignedInts = function(a, c, d, b) {
var p = this._position;
this._ensureCapacity(p + 16);
this._littleEndian === e._nativeLittleEndian && 0 === (p & 3) && this._i32 ? (this._i32[(p >> 2) + 0] = a, this._i32[(p >> 2) + 1] = c, this._i32[(p >> 2) + 2] = d, this._i32[(p >> 2) + 3] = b, this._position = p += 16, p > this._length && (this._length = p)) : (this.writeUnsignedInt(a), this.writeUnsignedInt(c), this.writeUnsignedInt(d), this.writeUnsignedInt(b));
};
e.prototype.writeFloat = function(a) {
var c = this._position;
this._ensureCapacity(c + 4);
if (this._littleEndian === e._nativeLittleEndian && 0 === (c & 3) && this._f32) {
this._f32[c >> 2] = a;
} else {
var d = this._u8;
b.IntegerUtilities.f32[0] = a;
a = b.IntegerUtilities.u8;
this._littleEndian ? (d[c + 0] = a[0], d[c + 1] = a[1], d[c + 2] = a[2], d[c + 3] = a[3]) : (d[c + 0] = a[3], d[c + 1] = a[2], d[c + 2] = a[1], d[c + 3] = a[0]);
}
this._position = c += 4;
c > this._length && (this._length = c);
};
e.prototype.write6Floats = function(a, c, d, b, p, h) {
var n = this._position;
this._ensureCapacity(n + 24);
this._littleEndian === e._nativeLittleEndian && 0 === (n & 3) && this._f32 ? (this._f32[(n >> 2) + 0] = a, this._f32[(n >> 2) + 1] = c, this._f32[(n >> 2) + 2] = d, this._f32[(n >> 2) + 3] = b, this._f32[(n >> 2) + 4] = p, this._f32[(n >> 2) + 5] = h, this._position = n += 24, n > this._length && (this._length = n)) : (this.writeFloat(a), this.writeFloat(c), this.writeFloat(d), this.writeFloat(b), this.writeFloat(p), this.writeFloat(h));
};
e.prototype.writeDouble = function(a) {
var c = this._position;
this._ensureCapacity(c + 8);
var e = this._u8;
b.IntegerUtilities.f64[0] = a;
a = b.IntegerUtilities.u8;
this._littleEndian ? (e[c + 0] = a[0], e[c + 1] = a[1], e[c + 2] = a[2], e[c + 3] = a[3], e[c + 4] = a[4], e[c + 5] = a[5], e[c + 6] = a[6], e[c + 7] = a[7]) : (e[c + 0] = a[7], e[c + 1] = a[6], e[c + 2] = a[5], e[c + 3] = a[4], e[c + 4] = a[3], e[c + 5] = a[2], e[c + 6] = a[1], e[c + 7] = a[0]);
this._position = c += 8;
c > this._length && (this._length = c);
};
e.prototype.readRawBytes = function() {
return new Int8Array(this._buffer, 0, this._length);
};
e.prototype.writeUTF = function(a) {
a = f(a);
a = s(a);
this.writeShort(a.length);
this.writeRawBytes(a);
};
e.prototype.writeUTFBytes = function(a) {
a = f(a);
a = s(a);
this.writeRawBytes(a);
};
e.prototype.readUTF = function() {
return this.readUTFBytes(this.readShort());
};
e.prototype.readUTFBytes = function(a) {
a >>>= 0;
var c = this._position;
c + a > this._length && g();
this._position += a;
return m(new Int8Array(this._buffer, c, a));
};
Object.defineProperty(e.prototype, "length", {get:function() {
return this._length;
}, set:function(a) {
a >>>= 0;
a > this._buffer.byteLength && this._ensureCapacity(a);
this._length = a;
this._position = d(this._position, 0, this._length);
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "bytesAvailable", {get:function() {
return this._length - this._position;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "position", {get:function() {
return this._position;
}, set:function(a) {
this._position = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "buffer", {get:function() {
return this._buffer;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "bytes", {get:function() {
return this._u8;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "ints", {get:function() {
return this._i32;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "objectEncoding", {get:function() {
return this._objectEncoding;
}, set:function(a) {
this._objectEncoding = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "endian", {get:function() {
return this._littleEndian ? "littleEndian" : "bigEndian";
}, set:function(a) {
a = f(a);
this._littleEndian = "auto" === a ? e._nativeLittleEndian : "littleEndian" === a;
}, enumerable:!0, configurable:!0});
e.prototype.toString = function() {
return m(new Int8Array(this._buffer, 0, this._length));
};
e.prototype.toBlob = function() {
return new Blob([new Int8Array(this._buffer, this._position, this._length)]);
};
e.prototype.writeMultiByte = function(a, c) {
t("packageInternal flash.utils.ObjectOutput::writeMultiByte");
};
e.prototype.readMultiByte = function(a, c) {
t("packageInternal flash.utils.ObjectInput::readMultiByte");
};
e.prototype.getValue = function(a) {
a |= 0;
return a >= this._length ? void 0 : this._u8[a];
};
e.prototype.setValue = function(a, c) {
a |= 0;
var e = a + 1;
this._ensureCapacity(e);
this._u8[a] = c;
e > this._length && (this._length = e);
};
e.prototype.readFixed = function() {
return this.readInt() / 65536;
};
e.prototype.readFixed8 = function() {
return this.readShort() / 256;
};
e.prototype.readFloat16 = function() {
var a = this.readUnsignedShort(), c = a >> 15 ? -1 : 1, e = (a & 31744) >> 10, a = a & 1023;
return e ? 31 === e ? a ? NaN : Infinity * c : c * Math.pow(2, e - 15) * (1 + a / 1024) : a / 1024 * Math.pow(2, -14) * c;
};
e.prototype.readEncodedU32 = function() {
var a = this.readUnsignedByte();
if (!(a & 128)) {
return a;
}
a = a & 127 | this.readUnsignedByte() << 7;
if (!(a & 16384)) {
return a;
}
a = a & 16383 | this.readUnsignedByte() << 14;
if (!(a & 2097152)) {
return a;
}
a = a & 2097151 | this.readUnsignedByte() << 21;
return a & 268435456 ? a & 268435455 | this.readUnsignedByte() << 28 : a;
};
e.prototype.readBits = function(a) {
return this.readUnsignedBits(a) << 32 - a >> 32 - a;
};
e.prototype.readUnsignedBits = function(a) {
for (var e = this._bitBuffer, d = this._bitLength;a > d;) {
e = e << 8 | this.readUnsignedByte(), d += 8;
}
d -= a;
a = e >>> d & c[a];
this._bitBuffer = e;
this._bitLength = d;
return a;
};
e.prototype.readFixedBits = function(a) {
return this.readBits(a) / 65536;
};
e.prototype.readString = function(a) {
var c = this._position;
if (a) {
c + a > this._length && g(), this._position += a;
} else {
a = 0;
for (var e = c;e < this._length && this._u8[e];e++) {
a++;
}
this._position += a + 1;
}
return m(new Int8Array(this._buffer, c, a));
};
e.prototype.align = function() {
this._bitLength = this._bitBuffer = 0;
};
e.prototype._compress = function(a) {
a = f(a);
switch(a) {
case "zlib":
a = new k.Deflate(!0);
break;
case "deflate":
a = new k.Deflate(!1);
break;
default:
return;
}
var c = new e;
a.onData = c.writeRawBytes.bind(c);
a.push(this._u8.subarray(0, this._length));
a.finish();
this._ensureCapacity(c._u8.length);
this._u8.set(c._u8);
this.length = c.length;
this._position = 0;
};
e.prototype._uncompress = function(a) {
a = f(a);
switch(a) {
case "zlib":
a = new k.Inflate(!0);
break;
case "deflate":
a = new k.Inflate(!1);
break;
default:
return;
}
var c = new e;
a.onData = c.writeRawBytes.bind(c);
a.push(this._u8.subarray(0, this._length));
a.error && t("throwCompressedDataError");
this._ensureCapacity(c._u8.length);
this._u8.set(c._u8);
this.length = c.length;
this._position = 0;
};
e._nativeLittleEndian = 1 === (new Int8Array((new Int32Array([1])).buffer))[0];
e.INITIAL_SIZE = 128;
e._arrayBufferPool = new b.ArrayBufferPool;
return e;
}();
k.DataBuffer = n;
})(b.ArrayUtilities || (b.ArrayUtilities = {}));
})(Shumway || (Shumway = {}));
(function(b) {
var k = b.ArrayUtilities.DataBuffer, g = b.ArrayUtilities.ensureTypedArrayCapacity, f = b.Debug.assert;
(function(b) {
b[b.BeginSolidFill = 1] = "BeginSolidFill";
b[b.BeginGradientFill = 2] = "BeginGradientFill";
b[b.BeginBitmapFill = 3] = "BeginBitmapFill";
b[b.EndFill = 4] = "EndFill";
b[b.LineStyleSolid = 5] = "LineStyleSolid";
b[b.LineStyleGradient = 6] = "LineStyleGradient";
b[b.LineStyleBitmap = 7] = "LineStyleBitmap";
b[b.LineEnd = 8] = "LineEnd";
b[b.MoveTo = 9] = "MoveTo";
b[b.LineTo = 10] = "LineTo";
b[b.CurveTo = 11] = "CurveTo";
b[b.CubicCurveTo = 12] = "CubicCurveTo";
})(b.PathCommand || (b.PathCommand = {}));
(function(b) {
b[b.Linear = 16] = "Linear";
b[b.Radial = 18] = "Radial";
})(b.GradientType || (b.GradientType = {}));
(function(b) {
b[b.Pad = 0] = "Pad";
b[b.Reflect = 1] = "Reflect";
b[b.Repeat = 2] = "Repeat";
})(b.GradientSpreadMethod || (b.GradientSpreadMethod = {}));
(function(b) {
b[b.RGB = 0] = "RGB";
b[b.LinearRGB = 1] = "LinearRGB";
})(b.GradientInterpolationMethod || (b.GradientInterpolationMethod = {}));
(function(b) {
b[b.None = 0] = "None";
b[b.Normal = 1] = "Normal";
b[b.Vertical = 2] = "Vertical";
b[b.Horizontal = 3] = "Horizontal";
})(b.LineScaleMode || (b.LineScaleMode = {}));
var t = function() {
return function(b, d, a, c, n, p, e, q, l) {
this.commands = b;
this.commandsPosition = d;
this.coordinates = a;
this.coordinatesPosition = c;
this.morphCoordinates = n;
this.styles = p;
this.stylesLength = e;
this.hasFills = q;
this.hasLines = l;
};
}();
b.PlainObjectShapeData = t;
var s;
(function(b) {
b[b.Commands = 32] = "Commands";
b[b.Coordinates = 128] = "Coordinates";
b[b.Styles = 16] = "Styles";
})(s || (s = {}));
s = function() {
function b(d) {
"undefined" === typeof d && (d = !0);
d && this.clear();
}
b.FromPlainObject = function(d) {
var a = new b(!1);
a.commands = d.commands;
a.coordinates = d.coordinates;
a.morphCoordinates = d.morphCoordinates;
a.commandsPosition = d.commandsPosition;
a.coordinatesPosition = d.coordinatesPosition;
a.styles = k.FromArrayBuffer(d.styles, d.stylesLength);
a.styles.endian = "auto";
a.hasFills = d.hasFills;
a.hasLines = d.hasLines;
return a;
};
b.prototype.moveTo = function(d, a) {
this.ensurePathCapacities(1, 2);
this.commands[this.commandsPosition++] = 9;
this.coordinates[this.coordinatesPosition++] = d;
this.coordinates[this.coordinatesPosition++] = a;
};
b.prototype.lineTo = function(d, a) {
this.ensurePathCapacities(1, 2);
this.commands[this.commandsPosition++] = 10;
this.coordinates[this.coordinatesPosition++] = d;
this.coordinates[this.coordinatesPosition++] = a;
};
b.prototype.curveTo = function(d, a, c, b) {
this.ensurePathCapacities(1, 4);
this.commands[this.commandsPosition++] = 11;
this.coordinates[this.coordinatesPosition++] = d;
this.coordinates[this.coordinatesPosition++] = a;
this.coordinates[this.coordinatesPosition++] = c;
this.coordinates[this.coordinatesPosition++] = b;
};
b.prototype.cubicCurveTo = function(d, a, c, b, p, e) {
this.ensurePathCapacities(1, 6);
this.commands[this.commandsPosition++] = 12;
this.coordinates[this.coordinatesPosition++] = d;
this.coordinates[this.coordinatesPosition++] = a;
this.coordinates[this.coordinatesPosition++] = c;
this.coordinates[this.coordinatesPosition++] = b;
this.coordinates[this.coordinatesPosition++] = p;
this.coordinates[this.coordinatesPosition++] = e;
};
b.prototype.beginFill = function(d) {
this.ensurePathCapacities(1, 0);
this.commands[this.commandsPosition++] = 1;
this.styles.writeUnsignedInt(d);
this.hasFills = !0;
};
b.prototype.endFill = function() {
this.ensurePathCapacities(1, 0);
this.commands[this.commandsPosition++] = 4;
};
b.prototype.endLine = function() {
this.ensurePathCapacities(1, 0);
this.commands[this.commandsPosition++] = 8;
};
b.prototype.lineStyle = function(d, a, c, b, p, e, q) {
f(d === (d | 0), 0 <= d && 5100 >= d);
this.ensurePathCapacities(2, 0);
this.commands[this.commandsPosition++] = 5;
this.coordinates[this.coordinatesPosition++] = d;
d = this.styles;
d.writeUnsignedInt(a);
d.writeBoolean(c);
d.writeUnsignedByte(b);
d.writeUnsignedByte(p);
d.writeUnsignedByte(e);
d.writeUnsignedByte(q);
this.hasLines = !0;
};
b.prototype.beginBitmap = function(d, a, c, b, p) {
f(3 === d || 7 === d);
this.ensurePathCapacities(1, 0);
this.commands[this.commandsPosition++] = d;
d = this.styles;
d.writeUnsignedInt(a);
this._writeStyleMatrix(c);
d.writeBoolean(b);
d.writeBoolean(p);
this.hasFills = !0;
};
b.prototype.beginGradient = function(d, a, c, b, p, e, q, l) {
f(2 === d || 6 === d);
this.ensurePathCapacities(1, 0);
this.commands[this.commandsPosition++] = d;
d = this.styles;
d.writeUnsignedByte(b);
f(l === (l | 0));
d.writeShort(l);
this._writeStyleMatrix(p);
b = a.length;
d.writeByte(b);
for (p = 0;p < b;p++) {
d.writeUnsignedByte(c[p]), d.writeUnsignedInt(a[p]);
}
d.writeUnsignedByte(e);
d.writeUnsignedByte(q);
this.hasFills = !0;
};
b.prototype.writeCommandAndCoordinates = function(d, a, c) {
this.ensurePathCapacities(1, 2);
this.commands[this.commandsPosition++] = d;
this.coordinates[this.coordinatesPosition++] = a;
this.coordinates[this.coordinatesPosition++] = c;
};
b.prototype.writeCoordinates = function(d, a) {
this.ensurePathCapacities(0, 2);
this.coordinates[this.coordinatesPosition++] = d;
this.coordinates[this.coordinatesPosition++] = a;
};
b.prototype.writeMorphCoordinates = function(d, a) {
this.morphCoordinates = g(this.morphCoordinates, this.coordinatesPosition);
this.morphCoordinates[this.coordinatesPosition - 2] = d;
this.morphCoordinates[this.coordinatesPosition - 1] = a;
};
b.prototype.clear = function() {
this.commandsPosition = this.coordinatesPosition = 0;
this.commands = new Uint8Array(32);
this.coordinates = new Int32Array(128);
this.styles = new k(16);
this.styles.endian = "auto";
this.hasFills = this.hasLines = !1;
};
b.prototype.isEmpty = function() {
return 0 === this.commandsPosition;
};
b.prototype.clone = function() {
var d = new b(!1);
d.commands = new Uint8Array(this.commands);
d.commandsPosition = this.commandsPosition;
d.coordinates = new Int32Array(this.coordinates);
d.coordinatesPosition = this.coordinatesPosition;
d.styles = new k(this.styles.length);
d.styles.writeRawBytes(this.styles.bytes);
d.hasFills = this.hasFills;
d.hasLines = this.hasLines;
return d;
};
b.prototype.toPlainObject = function() {
return new t(this.commands, this.commandsPosition, this.coordinates, this.coordinatesPosition, this.morphCoordinates, this.styles.buffer, this.styles.length, this.hasFills, this.hasLines);
};
Object.defineProperty(b.prototype, "buffers", {get:function() {
var d = [this.commands.buffer, this.coordinates.buffer, this.styles.buffer];
this.morphCoordinates && d.push(this.morphCoordinates.buffer);
return d;
}, enumerable:!0, configurable:!0});
b.prototype._writeStyleMatrix = function(d) {
var a = this.styles;
a.writeFloat(d.a);
a.writeFloat(d.b);
a.writeFloat(d.c);
a.writeFloat(d.d);
a.writeFloat(d.tx);
a.writeFloat(d.ty);
};
b.prototype.ensurePathCapacities = function(d, a) {
this.commands = g(this.commands, this.commandsPosition + d);
this.coordinates = g(this.coordinates, this.coordinatesPosition + a);
};
return b;
}();
b.ShapeData = s;
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
b[b.CODE_END = 0] = "CODE_END";
b[b.CODE_SHOW_FRAME = 1] = "CODE_SHOW_FRAME";
b[b.CODE_DEFINE_SHAPE = 2] = "CODE_DEFINE_SHAPE";
b[b.CODE_FREE_CHARACTER = 3] = "CODE_FREE_CHARACTER";
b[b.CODE_PLACE_OBJECT = 4] = "CODE_PLACE_OBJECT";
b[b.CODE_REMOVE_OBJECT = 5] = "CODE_REMOVE_OBJECT";
b[b.CODE_DEFINE_BITS = 6] = "CODE_DEFINE_BITS";
b[b.CODE_DEFINE_BUTTON = 7] = "CODE_DEFINE_BUTTON";
b[b.CODE_JPEG_TABLES = 8] = "CODE_JPEG_TABLES";
b[b.CODE_SET_BACKGROUND_COLOR = 9] = "CODE_SET_BACKGROUND_COLOR";
b[b.CODE_DEFINE_FONT = 10] = "CODE_DEFINE_FONT";
b[b.CODE_DEFINE_TEXT = 11] = "CODE_DEFINE_TEXT";
b[b.CODE_DO_ACTION = 12] = "CODE_DO_ACTION";
b[b.CODE_DEFINE_FONT_INFO = 13] = "CODE_DEFINE_FONT_INFO";
b[b.CODE_DEFINE_SOUND = 14] = "CODE_DEFINE_SOUND";
b[b.CODE_START_SOUND = 15] = "CODE_START_SOUND";
b[b.CODE_STOP_SOUND = 16] = "CODE_STOP_SOUND";
b[b.CODE_DEFINE_BUTTON_SOUND = 17] = "CODE_DEFINE_BUTTON_SOUND";
b[b.CODE_SOUND_STREAM_HEAD = 18] = "CODE_SOUND_STREAM_HEAD";
b[b.CODE_SOUND_STREAM_BLOCK = 19] = "CODE_SOUND_STREAM_BLOCK";
b[b.CODE_DEFINE_BITS_LOSSLESS = 20] = "CODE_DEFINE_BITS_LOSSLESS";
b[b.CODE_DEFINE_BITS_JPEG2 = 21] = "CODE_DEFINE_BITS_JPEG2";
b[b.CODE_DEFINE_SHAPE2 = 22] = "CODE_DEFINE_SHAPE2";
b[b.CODE_DEFINE_BUTTON_CXFORM = 23] = "CODE_DEFINE_BUTTON_CXFORM";
b[b.CODE_PROTECT = 24] = "CODE_PROTECT";
b[b.CODE_PATHS_ARE_POSTSCRIPT = 25] = "CODE_PATHS_ARE_POSTSCRIPT";
b[b.CODE_PLACE_OBJECT2 = 26] = "CODE_PLACE_OBJECT2";
b[b.CODE_REMOVE_OBJECT2 = 28] = "CODE_REMOVE_OBJECT2";
b[b.CODE_SYNC_FRAME = 29] = "CODE_SYNC_FRAME";
b[b.CODE_FREE_ALL = 31] = "CODE_FREE_ALL";
b[b.CODE_DEFINE_SHAPE3 = 32] = "CODE_DEFINE_SHAPE3";
b[b.CODE_DEFINE_TEXT2 = 33] = "CODE_DEFINE_TEXT2";
b[b.CODE_DEFINE_BUTTON2 = 34] = "CODE_DEFINE_BUTTON2";
b[b.CODE_DEFINE_BITS_JPEG3 = 35] = "CODE_DEFINE_BITS_JPEG3";
b[b.CODE_DEFINE_BITS_LOSSLESS2 = 36] = "CODE_DEFINE_BITS_LOSSLESS2";
b[b.CODE_DEFINE_EDIT_TEXT = 37] = "CODE_DEFINE_EDIT_TEXT";
b[b.CODE_DEFINE_VIDEO = 38] = "CODE_DEFINE_VIDEO";
b[b.CODE_DEFINE_SPRITE = 39] = "CODE_DEFINE_SPRITE";
b[b.CODE_NAME_CHARACTER = 40] = "CODE_NAME_CHARACTER";
b[b.CODE_PRODUCT_INFO = 41] = "CODE_PRODUCT_INFO";
b[b.CODE_DEFINE_TEXT_FORMAT = 42] = "CODE_DEFINE_TEXT_FORMAT";
b[b.CODE_FRAME_LABEL = 43] = "CODE_FRAME_LABEL";
b[b.CODE_DEFINE_BEHAVIOUR = 44] = "CODE_DEFINE_BEHAVIOUR";
b[b.CODE_SOUND_STREAM_HEAD2 = 45] = "CODE_SOUND_STREAM_HEAD2";
b[b.CODE_DEFINE_MORPH_SHAPE = 46] = "CODE_DEFINE_MORPH_SHAPE";
b[b.CODE_FRAME_TAG = 47] = "CODE_FRAME_TAG";
b[b.CODE_DEFINE_FONT2 = 48] = "CODE_DEFINE_FONT2";
b[b.CODE_GEN_COMMAND = 49] = "CODE_GEN_COMMAND";
b[b.CODE_DEFINE_COMMAND_OBJ = 50] = "CODE_DEFINE_COMMAND_OBJ";
b[b.CODE_CHARACTER_SET = 51] = "CODE_CHARACTER_SET";
b[b.CODE_FONT_REF = 52] = "CODE_FONT_REF";
b[b.CODE_DEFINE_FUNCTION = 53] = "CODE_DEFINE_FUNCTION";
b[b.CODE_PLACE_FUNCTION = 54] = "CODE_PLACE_FUNCTION";
b[b.CODE_GEN_TAG_OBJECTS = 55] = "CODE_GEN_TAG_OBJECTS";
b[b.CODE_EXPORT_ASSETS = 56] = "CODE_EXPORT_ASSETS";
b[b.CODE_IMPORT_ASSETS = 57] = "CODE_IMPORT_ASSETS";
b[b.CODE_ENABLE_DEBUGGER = 58] = "CODE_ENABLE_DEBUGGER";
b[b.CODE_DO_INIT_ACTION = 59] = "CODE_DO_INIT_ACTION";
b[b.CODE_DEFINE_VIDEO_STREAM = 60] = "CODE_DEFINE_VIDEO_STREAM";
b[b.CODE_VIDEO_FRAME = 61] = "CODE_VIDEO_FRAME";
b[b.CODE_DEFINE_FONT_INFO2 = 62] = "CODE_DEFINE_FONT_INFO2";
b[b.CODE_DEBUG_ID = 63] = "CODE_DEBUG_ID";
b[b.CODE_ENABLE_DEBUGGER2 = 64] = "CODE_ENABLE_DEBUGGER2";
b[b.CODE_SCRIPT_LIMITS = 65] = "CODE_SCRIPT_LIMITS";
b[b.CODE_SET_TAB_INDEX = 66] = "CODE_SET_TAB_INDEX";
b[b.CODE_FILE_ATTRIBUTES = 69] = "CODE_FILE_ATTRIBUTES";
b[b.CODE_PLACE_OBJECT3 = 70] = "CODE_PLACE_OBJECT3";
b[b.CODE_IMPORT_ASSETS2 = 71] = "CODE_IMPORT_ASSETS2";
b[b.CODE_DO_ABC_ = 72] = "CODE_DO_ABC_";
b[b.CODE_DEFINE_FONT_ALIGN_ZONES = 73] = "CODE_DEFINE_FONT_ALIGN_ZONES";
b[b.CODE_CSM_TEXT_SETTINGS = 74] = "CODE_CSM_TEXT_SETTINGS";
b[b.CODE_DEFINE_FONT3 = 75] = "CODE_DEFINE_FONT3";
b[b.CODE_SYMBOL_CLASS = 76] = "CODE_SYMBOL_CLASS";
b[b.CODE_METADATA = 77] = "CODE_METADATA";
b[b.CODE_DEFINE_SCALING_GRID = 78] = "CODE_DEFINE_SCALING_GRID";
b[b.CODE_DO_ABC = 82] = "CODE_DO_ABC";
b[b.CODE_DEFINE_SHAPE4 = 83] = "CODE_DEFINE_SHAPE4";
b[b.CODE_DEFINE_MORPH_SHAPE2 = 84] = "CODE_DEFINE_MORPH_SHAPE2";
b[b.CODE_DEFINE_SCENE_AND_FRAME_LABEL_DATA = 86] = "CODE_DEFINE_SCENE_AND_FRAME_LABEL_DATA";
b[b.CODE_DEFINE_BINARY_DATA = 87] = "CODE_DEFINE_BINARY_DATA";
b[b.CODE_DEFINE_FONT_NAME = 88] = "CODE_DEFINE_FONT_NAME";
b[b.CODE_START_SOUND2 = 89] = "CODE_START_SOUND2";
b[b.CODE_DEFINE_BITS_JPEG4 = 90] = "CODE_DEFINE_BITS_JPEG4";
b[b.CODE_DEFINE_FONT4 = 91] = "CODE_DEFINE_FONT4";
})(b.SwfTag || (b.SwfTag = {}));
(function(b) {
b[b.Reserved = 2048] = "Reserved";
b[b.OpaqueBackground = 1024] = "OpaqueBackground";
b[b.HasVisible = 512] = "HasVisible";
b[b.HasImage = 256] = "HasImage";
b[b.HasClassName = 2048] = "HasClassName";
b[b.HasCacheAsBitmap = 1024] = "HasCacheAsBitmap";
b[b.HasBlendMode = 512] = "HasBlendMode";
b[b.HasFilterList = 256] = "HasFilterList";
b[b.HasClipActions = 128] = "HasClipActions";
b[b.HasClipDepth = 64] = "HasClipDepth";
b[b.HasName = 32] = "HasName";
b[b.HasRatio = 16] = "HasRatio";
b[b.HasColorTransform = 8] = "HasColorTransform";
b[b.HasMatrix = 4] = "HasMatrix";
b[b.HasCharacter = 2] = "HasCharacter";
b[b.Move = 1] = "Move";
})(b.PlaceObjectFlags || (b.PlaceObjectFlags = {}));
})(b.Parser || (b.Parser = {}));
})(b.SWF || (b.SWF = {}));
})(Shumway || (Shumway = {}));
(function(b) {
var k = b.Debug.unexpected, g = function() {
function b(g, f, m, d) {
this.url = g;
this.method = f;
this.mimeType = m;
this.data = d;
}
b.prototype.readAll = function(b) {
var g = this.url, m = new XMLHttpRequest({mozSystem:!0});
m.open(this.method || "GET", this.url, !0);
m.responseType = "arraybuffer";
m.onreadystatechange = function(d) {
4 === m.readyState && (200 !== m.status && 0 !== m.status || null === m.response ? (k("Path: " + g + " not found."), b(null, m.statusText)) : b(m.response));
};
this.mimeType && m.setRequestHeader("Content-Type", this.mimeType);
m.send(this.data || null);
};
b.prototype.readAsync = function(b, g, m, d, a) {
var c = new XMLHttpRequest({mozSystem:!0}), n = this.url, p = 0, e = 0;
c.open(this.method || "GET", n, !0);
c.responseType = "moz-chunked-arraybuffer";
var q = "moz-chunked-arraybuffer" !== c.responseType;
q && (c.responseType = "arraybuffer");
c.onprogress = function(a) {
q || (p = a.loaded, e = a.total, b(new Uint8Array(c.response), {loaded:p, total:e}));
};
c.onreadystatechange = function(l) {
2 === c.readyState && a && a(n, c.status, c.getAllResponseHeaders());
4 === c.readyState && (200 !== c.status && 0 !== c.status || null === c.response && (0 === e || p !== e) ? g(c.statusText) : (q && (l = c.response, b(new Uint8Array(l), {loaded:0, total:l.byteLength})), d && d()));
};
this.mimeType && c.setRequestHeader("Content-Type", this.mimeType);
c.send(this.data || null);
m && m();
};
return b;
}();
b.BinaryFileReader = g;
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
b[b.Objects = 0] = "Objects";
b[b.References = 1] = "References";
})(b.RemotingPhase || (b.RemotingPhase = {}));
(function(b) {
b[b.HasMatrix = 1] = "HasMatrix";
b[b.HasBounds = 2] = "HasBounds";
b[b.HasChildren = 4] = "HasChildren";
b[b.HasColorTransform = 8] = "HasColorTransform";
b[b.HasClipRect = 16] = "HasClipRect";
b[b.HasMiscellaneousProperties = 32] = "HasMiscellaneousProperties";
b[b.HasMask = 64] = "HasMask";
b[b.HasClip = 128] = "HasClip";
})(b.MessageBits || (b.MessageBits = {}));
(function(b) {
b[b.None = 0] = "None";
b[b.Asset = 134217728] = "Asset";
})(b.IDMask || (b.IDMask = {}));
(function(b) {
b[b.EOF = 0] = "EOF";
b[b.UpdateFrame = 100] = "UpdateFrame";
b[b.UpdateGraphics = 101] = "UpdateGraphics";
b[b.UpdateBitmapData = 102] = "UpdateBitmapData";
b[b.UpdateTextContent = 103] = "UpdateTextContent";
b[b.UpdateStage = 104] = "UpdateStage";
b[b.UpdateNetStream = 105] = "UpdateNetStream";
b[b.RequestBitmapData = 106] = "RequestBitmapData";
b[b.DecodeImage = 107] = "DecodeImage";
b[b.DecodeImageResponse = 108] = "DecodeImageResponse";
b[b.RegisterFont = 200] = "RegisterFont";
b[b.DrawToBitmap = 201] = "DrawToBitmap";
b[b.MouseEvent = 300] = "MouseEvent";
b[b.KeyboardEvent = 301] = "KeyboardEvent";
b[b.FocusEvent = 302] = "FocusEvent";
})(b.MessageTag || (b.MessageTag = {}));
(function(b) {
b[b.Identity = 0] = "Identity";
b[b.AlphaMultiplierOnly = 1] = "AlphaMultiplierOnly";
b[b.All = 2] = "All";
})(b.ColorTransformEncoding || (b.ColorTransformEncoding = {}));
b.MouseEventNames = ["click", "dblclick", "mousedown", "mousemove", "mouseup"];
b.KeyboardEventNames = ["keydown", "keypress", "keyup"];
(function(b) {
b[b.CtrlKey = 1] = "CtrlKey";
b[b.AltKey = 2] = "AltKey";
b[b.ShiftKey = 4] = "ShiftKey";
})(b.KeyboardEventFlags || (b.KeyboardEventFlags = {}));
(function(b) {
b[b.DocumentHidden = 0] = "DocumentHidden";
b[b.DocumentVisible = 1] = "DocumentVisible";
b[b.WindowBlur = 2] = "WindowBlur";
b[b.WindowFocus = 3] = "WindowFocus";
})(b.FocusEventType || (b.FocusEventType = {}));
})(b.Remoting || (b.Remoting = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
var f = function() {
function b() {
}
b.toRGBA = function(b, d, a, c) {
"undefined" === typeof c && (c = 1);
return "rgba(" + b + "," + d + "," + a + "," + c + ")";
};
return b;
}();
b.UI = f;
var k = function() {
function b() {
}
b.prototype.tabToolbar = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(37, 44, 51, b);
};
b.prototype.toolbars = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(52, 60, 69, b);
};
b.prototype.selectionBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(29, 79, 115, b);
};
b.prototype.selectionText = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(245, 247, 250, b);
};
b.prototype.splitters = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(0, 0, 0, b);
};
b.prototype.bodyBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(17, 19, 21, b);
};
b.prototype.sidebarBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(24, 29, 32, b);
};
b.prototype.attentionBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(161, 134, 80, b);
};
b.prototype.bodyText = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(143, 161, 178, b);
};
b.prototype.foregroundTextGrey = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(182, 186, 191, b);
};
b.prototype.contentTextHighContrast = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(169, 186, 203, b);
};
b.prototype.contentTextGrey = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(143, 161, 178, b);
};
b.prototype.contentTextDarkGrey = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(95, 115, 135, b);
};
b.prototype.blueHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(70, 175, 227, b);
};
b.prototype.purpleHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(107, 122, 187, b);
};
b.prototype.pinkHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(223, 128, 255, b);
};
b.prototype.redHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(235, 83, 104, b);
};
b.prototype.orangeHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(217, 102, 41, b);
};
b.prototype.lightOrangeHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(217, 155, 40, b);
};
b.prototype.greenHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(112, 191, 83, b);
};
b.prototype.blueGreyHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(94, 136, 176, b);
};
return b;
}();
b.UIThemeDark = k;
k = function() {
function b() {
}
b.prototype.tabToolbar = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(235, 236, 237, b);
};
b.prototype.toolbars = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(240, 241, 242, b);
};
b.prototype.selectionBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(76, 158, 217, b);
};
b.prototype.selectionText = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(245, 247, 250, b);
};
b.prototype.splitters = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(170, 170, 170, b);
};
b.prototype.bodyBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(252, 252, 252, b);
};
b.prototype.sidebarBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(247, 247, 247, b);
};
b.prototype.attentionBackground = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(161, 134, 80, b);
};
b.prototype.bodyText = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(24, 25, 26, b);
};
b.prototype.foregroundTextGrey = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(88, 89, 89, b);
};
b.prototype.contentTextHighContrast = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(41, 46, 51, b);
};
b.prototype.contentTextGrey = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(143, 161, 178, b);
};
b.prototype.contentTextDarkGrey = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(102, 115, 128, b);
};
b.prototype.blueHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(0, 136, 204, b);
};
b.prototype.purpleHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(91, 95, 255, b);
};
b.prototype.pinkHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(184, 46, 229, b);
};
b.prototype.redHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(237, 38, 85, b);
};
b.prototype.orangeHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(241, 60, 0, b);
};
b.prototype.lightOrangeHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(217, 126, 0, b);
};
b.prototype.greenHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(44, 187, 15, b);
};
b.prototype.blueGreyHighlight = function(b) {
"undefined" === typeof b && (b = 1);
return f.toRGBA(95, 136, 176, b);
};
return b;
}();
b.UIThemeLight = k;
})(b.Theme || (b.Theme = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
var f = function() {
function b(f) {
this._buffers = f || [];
this._snapshots = [];
this._maxDepth = 0;
}
b.prototype.addBuffer = function(b) {
this._buffers.push(b);
};
b.prototype.getSnapshotAt = function(b) {
return this._snapshots[b];
};
Object.defineProperty(b.prototype, "hasSnapshots", {get:function() {
return 0 < this.snapshotCount;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "snapshotCount", {get:function() {
return this._snapshots.length;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "startTime", {get:function() {
return this._startTime;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "endTime", {get:function() {
return this._endTime;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "totalTime", {get:function() {
return this.endTime - this.startTime;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "windowStart", {get:function() {
return this._windowStart;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "windowEnd", {get:function() {
return this._windowEnd;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "windowLength", {get:function() {
return this.windowEnd - this.windowStart;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "maxDepth", {get:function() {
return this._maxDepth;
}, enumerable:!0, configurable:!0});
b.prototype.forEachSnapshot = function(b) {
for (var m = 0, d = this.snapshotCount;m < d;m++) {
b(this._snapshots[m], m);
}
};
b.prototype.createSnapshots = function() {
var b = Number.MAX_VALUE, m = Number.MIN_VALUE, d = 0;
for (this._snapshots = [];0 < this._buffers.length;) {
var a = this._buffers.shift().createSnapshot();
a && (b > a.startTime && (b = a.startTime), m < a.endTime && (m = a.endTime), d < a.maxDepth && (d = a.maxDepth), this._snapshots.push(a));
}
this._startTime = b;
this._endTime = m;
this._windowStart = b;
this._windowEnd = m;
this._maxDepth = d;
};
b.prototype.setWindow = function(b, m) {
if (b > m) {
var d = b;
b = m;
m = d;
}
d = Math.min(m - b, this.totalTime);
b < this._startTime ? (b = this._startTime, m = this._startTime + d) : m > this._endTime && (b = this._endTime - d, m = this._endTime);
this._windowStart = b;
this._windowEnd = m;
};
b.prototype.moveWindowTo = function(b) {
this.setWindow(b - this.windowLength / 2, b + this.windowLength / 2);
};
return b;
}();
b.Profile = f;
})(b.Profiler || (b.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
var __extends = this.__extends || function(b, k) {
function g() {
this.constructor = b;
}
for (var f in k) {
k.hasOwnProperty(f) && (b[f] = k[f]);
}
g.prototype = k.prototype;
b.prototype = new g;
};
(function(b) {
(function(b) {
(function(b) {
var f = function() {
return function(b) {
this.kind = b;
this.totalTime = this.selfTime = this.count = 0;
};
}();
b.TimelineFrameStatistics = f;
var k = function() {
function b(m, d, a, c, n, p) {
this.parent = m;
this.kind = d;
this.startData = a;
this.endData = c;
this.startTime = n;
this.endTime = p;
this.maxDepth = 0;
}
Object.defineProperty(b.prototype, "totalTime", {get:function() {
return this.endTime - this.startTime;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "selfTime", {get:function() {
var b = this.totalTime;
if (this.children) {
for (var d = 0, a = this.children.length;d < a;d++) {
var c = this.children[d], b = b - (c.endTime - c.startTime)
}
}
return b;
}, enumerable:!0, configurable:!0});
b.prototype.getChildIndex = function(b) {
for (var d = this.children, a = 0;a < d.length;a++) {
if (d[a].endTime > b) {
return a;
}
}
return 0;
};
b.prototype.getChildRange = function(b, d) {
if (this.children && b <= this.endTime && d >= this.startTime && d >= b) {
var a = this._getNearestChild(b), c = this._getNearestChildReverse(d);
if (a <= c) {
return b = this.children[a].startTime, d = this.children[c].endTime, {startIndex:a, endIndex:c, startTime:b, endTime:d, totalTime:d - b};
}
}
return null;
};
b.prototype._getNearestChild = function(b) {
var d = this.children;
if (d && d.length) {
if (b <= d[0].endTime) {
return 0;
}
for (var a, c = 0, n = d.length - 1;n > c;) {
a = (c + n) / 2 | 0;
var p = d[a];
if (b >= p.startTime && b <= p.endTime) {
return a;
}
b > p.endTime ? c = a + 1 : n = a;
}
return Math.ceil((c + n) / 2);
}
return 0;
};
b.prototype._getNearestChildReverse = function(b) {
var d = this.children;
if (d && d.length) {
var a = d.length - 1;
if (b >= d[a].startTime) {
return a;
}
for (var c, n = 0;a > n;) {
c = Math.ceil((n + a) / 2);
var p = d[c];
if (b >= p.startTime && b <= p.endTime) {
return c;
}
b > p.endTime ? n = c : a = c - 1;
}
return(n + a) / 2 | 0;
}
return 0;
};
b.prototype.query = function(b) {
if (b < this.startTime || b > this.endTime) {
return null;
}
var d = this.children;
if (d && 0 < d.length) {
for (var a, c = 0, n = d.length - 1;n > c;) {
var p = (c + n) / 2 | 0;
a = d[p];
if (b >= a.startTime && b <= a.endTime) {
return a.query(b);
}
b > a.endTime ? c = p + 1 : n = p;
}
a = d[n];
if (b >= a.startTime && b <= a.endTime) {
return a.query(b);
}
}
return this;
};
b.prototype.queryNext = function(b) {
for (var d = this;b > d.endTime;) {
if (d.parent) {
d = d.parent;
} else {
break;
}
}
return d.query(b);
};
b.prototype.getDepth = function() {
for (var b = 0, d = this;d;) {
b++, d = d.parent;
}
return b;
};
b.prototype.calculateStatistics = function() {
function b(a) {
if (a.kind) {
var c = d[a.kind.id] || (d[a.kind.id] = new f(a.kind));
c.count++;
c.selfTime += a.selfTime;
c.totalTime += a.totalTime;
}
a.children && a.children.forEach(b);
}
var d = this.statistics = [];
b(this);
};
return b;
}();
b.TimelineFrame = k;
k = function(b) {
function m(d) {
b.call(this, null, null, null, null, NaN, NaN);
this.name = d;
}
__extends(m, b);
return m;
}(k);
b.TimelineBufferSnapshot = k;
})(b.Profiler || (b.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.ObjectUtilities.createEmptyObject, k = function() {
function s(m, d) {
"undefined" === typeof m && (m = "");
this.name = m || "";
this._startTime = b.isNullOrUndefined(d) ? performance.now() : d;
}
s.prototype.getKind = function(b) {
return this._kinds[b];
};
Object.defineProperty(s.prototype, "kinds", {get:function() {
return this._kinds.concat();
}, enumerable:!0, configurable:!0});
Object.defineProperty(s.prototype, "depth", {get:function() {
return this._depth;
}, enumerable:!0, configurable:!0});
s.prototype._initialize = function() {
this._depth = 0;
this._stack = [];
this._data = [];
this._kinds = [];
this._kindNameMap = f();
this._marks = new b.CircularBuffer(Int32Array, 20);
this._times = new b.CircularBuffer(Float64Array, 20);
};
s.prototype._getKindId = function(b) {
var d = s.MAX_KINDID;
if (void 0 === this._kindNameMap[b]) {
if (d = this._kinds.length, d < s.MAX_KINDID) {
var a = {id:d, name:b, visible:!0};
this._kinds.push(a);
this._kindNameMap[b] = a;
} else {
d = s.MAX_KINDID;
}
} else {
d = this._kindNameMap[b].id;
}
return d;
};
s.prototype._getMark = function(m, d, a) {
var c = s.MAX_DATAID;
b.isNullOrUndefined(a) || d === s.MAX_KINDID || (c = this._data.length, c < s.MAX_DATAID ? this._data.push(a) : c = s.MAX_DATAID);
return m | c << 16 | d;
};
s.prototype.enter = function(m, d, a) {
a = (b.isNullOrUndefined(a) ? performance.now() : a) - this._startTime;
this._marks || this._initialize();
this._depth++;
m = this._getKindId(m);
this._marks.write(this._getMark(s.ENTER, m, d));
this._times.write(a);
this._stack.push(m);
};
s.prototype.leave = function(m, d, a) {
a = (b.isNullOrUndefined(a) ? performance.now() : a) - this._startTime;
var c = this._stack.pop();
m && (c = this._getKindId(m));
this._marks.write(this._getMark(s.LEAVE, c, d));
this._times.write(a);
this._depth--;
};
s.prototype.count = function(b, d, a) {
};
s.prototype.createSnapshot = function() {
var m;
"undefined" === typeof m && (m = Number.MAX_VALUE);
if (!this._marks) {
return null;
}
var d = this._times, a = this._kinds, c = this._data, n = new g.TimelineBufferSnapshot(this.name), p = [n], e = 0;
this._marks || this._initialize();
this._marks.forEachInReverse(function(q, l) {
var n = c[q >>> 16 & s.MAX_DATAID], w = a[q & s.MAX_KINDID];
if (b.isNullOrUndefined(w) || w.visible) {
var r = q & 2147483648, h = d.get(l), x = p.length;
if (r === s.LEAVE) {
if (1 === x && (e++, e > m)) {
return!0;
}
p.push(new g.TimelineFrame(p[x - 1], w, null, n, NaN, h));
} else {
if (r === s.ENTER) {
if (w = p.pop(), r = p[p.length - 1]) {
for (r.children ? r.children.unshift(w) : r.children = [w], r = p.length, w.depth = r, w.startData = n, w.startTime = h;w;) {
if (w.maxDepth < r) {
w.maxDepth = r, w = w.parent;
} else {
break;
}
}
} else {
return!0;
}
}
}
}
});
n.children && n.children.length && (n.startTime = n.children[0].startTime, n.endTime = n.children[n.children.length - 1].endTime);
return n;
};
s.prototype.reset = function(m) {
this._startTime = b.isNullOrUndefined(m) ? performance.now() : m;
this._marks ? (this._depth = 0, this._data = [], this._marks.reset(), this._times.reset()) : this._initialize();
};
s.FromFirefoxProfile = function(b, d) {
for (var a = b.profile.threads[0].samples, c = new s(d, a[0].time), n = [], p, e = 0;e < a.length;e++) {
p = a[e];
var q = p.time, l = p.frames, u = 0;
for (p = Math.min(l.length, n.length);u < p && l[u].location === n[u].location;) {
u++;
}
for (var w = n.length - u, r = 0;r < w;r++) {
p = n.pop(), c.leave(p.location, null, q);
}
for (;u < l.length;) {
p = l[u++], c.enter(p.location, null, q);
}
n = l;
}
for (;p = n.pop();) {
c.leave(p.location, null, q);
}
return c;
};
s.FromChromeProfile = function(b, d) {
var a = b.timestamps, c = b.samples, n = new s(d, a[0] / 1E3), p = [], e = {}, q;
s._resolveIds(b.head, e);
for (var l = 0;l < a.length;l++) {
var u = a[l] / 1E3, w = [];
for (q = e[c[l]];q;) {
w.unshift(q), q = q.parent;
}
var r = 0;
for (q = Math.min(w.length, p.length);r < q && w[r] === p[r];) {
r++;
}
for (var h = p.length - r, x = 0;x < h;x++) {
q = p.pop(), n.leave(q.functionName, null, u);
}
for (;r < w.length;) {
q = w[r++], n.enter(q.functionName, null, u);
}
p = w;
}
for (;q = p.pop();) {
n.leave(q.functionName, null, u);
}
return n;
};
s._resolveIds = function(b, d) {
d[b.id] = b;
if (b.children) {
for (var a = 0;a < b.children.length;a++) {
b.children[a].parent = b, s._resolveIds(b.children[a], d);
}
}
};
s.ENTER = 0;
s.LEAVE = -2147483648;
s.MAX_KINDID = 65535;
s.MAX_DATAID = 32767;
return s;
}();
g.TimelineBuffer = k;
})(k.Profiler || (k.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(b) {
b[b.DARK = 0] = "DARK";
b[b.LIGHT = 1] = "LIGHT";
})(g.UIThemeType || (g.UIThemeType = {}));
var f = function() {
function f(b, m) {
"undefined" === typeof m && (m = 0);
this._container = b;
this._headers = [];
this._charts = [];
this._profiles = [];
this._activeProfile = null;
this.themeType = m;
this._tooltip = this._createTooltip();
}
f.prototype.createProfile = function(b, m) {
"undefined" === typeof m && (m = !0);
var d = new g.Profile(b);
d.createSnapshots();
this._profiles.push(d);
m && this.activateProfile(d);
return d;
};
f.prototype.activateProfile = function(b) {
this.deactivateProfile();
this._activeProfile = b;
this._createViews();
this._initializeViews();
};
f.prototype.activateProfileAt = function(b) {
this.activateProfile(this.getProfileAt(b));
};
f.prototype.deactivateProfile = function() {
this._activeProfile && (this._destroyViews(), this._activeProfile = null);
};
f.prototype.resize = function() {
this._onResize();
};
f.prototype.getProfileAt = function(b) {
return this._profiles[b];
};
Object.defineProperty(f.prototype, "activeProfile", {get:function() {
return this._activeProfile;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "profileCount", {get:function() {
return this._profiles.length;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "container", {get:function() {
return this._container;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "themeType", {get:function() {
return this._themeType;
}, set:function(b) {
switch(b) {
case 0:
this._theme = new k.Theme.UIThemeDark;
break;
case 1:
this._theme = new k.Theme.UIThemeLight;
}
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "theme", {get:function() {
return this._theme;
}, enumerable:!0, configurable:!0});
f.prototype.getSnapshotAt = function(b) {
return this._activeProfile.getSnapshotAt(b);
};
f.prototype._createViews = function() {
if (this._activeProfile) {
var b = this;
this._overviewHeader = new g.FlameChartHeader(this, 0);
this._overview = new g.FlameChartOverview(this, 0);
this._activeProfile.forEachSnapshot(function(m, d) {
b._headers.push(new g.FlameChartHeader(b, 1));
b._charts.push(new g.FlameChart(b, m));
});
window.addEventListener("resize", this._onResize.bind(this));
}
};
f.prototype._destroyViews = function() {
if (this._activeProfile) {
this._overviewHeader.destroy();
for (this._overview.destroy();this._headers.length;) {
this._headers.pop().destroy();
}
for (;this._charts.length;) {
this._charts.pop().destroy();
}
window.removeEventListener("resize", this._onResize.bind(this));
}
};
f.prototype._initializeViews = function() {
if (this._activeProfile) {
var b = this, m = this._activeProfile.startTime, d = this._activeProfile.endTime;
this._overviewHeader.initialize(m, d);
this._overview.initialize(m, d);
this._activeProfile.forEachSnapshot(function(a, c) {
b._headers[c].initialize(m, d);
b._charts[c].initialize(m, d);
});
}
};
f.prototype._onResize = function() {
if (this._activeProfile) {
var b = this, m = this._container.offsetWidth;
this._overviewHeader.setSize(m);
this._overview.setSize(m);
this._activeProfile.forEachSnapshot(function(d, a) {
b._headers[a].setSize(m);
b._charts[a].setSize(m);
});
}
};
f.prototype._updateViews = function() {
if (this._activeProfile) {
var b = this, m = this._activeProfile.windowStart, d = this._activeProfile.windowEnd;
this._overviewHeader.setWindow(m, d);
this._overview.setWindow(m, d);
this._activeProfile.forEachSnapshot(function(a, c) {
b._headers[c].setWindow(m, d);
b._charts[c].setWindow(m, d);
});
}
};
f.prototype._drawViews = function() {
};
f.prototype._createTooltip = function() {
var b = document.createElement("div");
b.classList.add("profiler-tooltip");
b.style.display = "none";
this._container.insertBefore(b, this._container.firstChild);
return b;
};
f.prototype.setWindow = function(b, m) {
this._activeProfile.setWindow(b, m);
this._updateViews();
};
f.prototype.moveWindowTo = function(b) {
this._activeProfile.moveWindowTo(b);
this._updateViews();
};
f.prototype.showTooltip = function(b, m, d, a) {
this.removeTooltipContent();
this._tooltip.appendChild(this.createTooltipContent(b, m));
this._tooltip.style.display = "block";
var c = this._tooltip.firstChild;
m = c.clientWidth;
c = c.clientHeight;
d += d + m >= b.canvas.clientWidth - 50 ? -(m + 20) : 25;
a += b.canvas.offsetTop - c / 2;
this._tooltip.style.left = d + "px";
this._tooltip.style.top = a + "px";
};
f.prototype.hideTooltip = function() {
this._tooltip.style.display = "none";
};
f.prototype.createTooltipContent = function(b, m) {
var d = Math.round(1E5 * m.totalTime) / 1E5, a = Math.round(1E5 * m.selfTime) / 1E5, c = Math.round(1E4 * m.selfTime / m.totalTime) / 100, n = document.createElement("div"), p = document.createElement("h1");
p.textContent = m.kind.name;
n.appendChild(p);
p = document.createElement("p");
p.textContent = "Total: " + d + " ms";
n.appendChild(p);
d = document.createElement("p");
d.textContent = "Self: " + a + " ms (" + c + "%)";
n.appendChild(d);
if (a = b.getStatistics(m.kind)) {
c = document.createElement("p"), c.textContent = "Count: " + a.count, n.appendChild(c), c = Math.round(1E5 * a.totalTime) / 1E5, d = document.createElement("p"), d.textContent = "All Total: " + c + " ms", n.appendChild(d), a = Math.round(1E5 * a.selfTime) / 1E5, c = document.createElement("p"), c.textContent = "All Self: " + a + " ms", n.appendChild(c);
}
this.appendDataElements(n, m.startData);
this.appendDataElements(n, m.endData);
return n;
};
f.prototype.appendDataElements = function(f, m) {
if (!b.isNullOrUndefined(m)) {
f.appendChild(document.createElement("hr"));
var d;
if (b.isObject(m)) {
for (var a in m) {
d = document.createElement("p"), d.textContent = a + ": " + m[a], f.appendChild(d);
}
} else {
d = document.createElement("p"), d.textContent = m.toString(), f.appendChild(d);
}
}
};
f.prototype.removeTooltipContent = function() {
for (var b = this._tooltip;b.firstChild;) {
b.removeChild(b.firstChild);
}
};
return f;
}();
g.Controller = f;
})(k.Profiler || (k.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.NumberUtilities.clamp, k = function() {
function b(d) {
this.value = d;
}
b.prototype.toString = function() {
return this.value;
};
b.AUTO = new b("auto");
b.DEFAULT = new b("default");
b.NONE = new b("none");
b.HELP = new b("help");
b.POINTER = new b("pointer");
b.PROGRESS = new b("progress");
b.WAIT = new b("wait");
b.CELL = new b("cell");
b.CROSSHAIR = new b("crosshair");
b.TEXT = new b("text");
b.ALIAS = new b("alias");
b.COPY = new b("copy");
b.MOVE = new b("move");
b.NO_DROP = new b("no-drop");
b.NOT_ALLOWED = new b("not-allowed");
b.ALL_SCROLL = new b("all-scroll");
b.COL_RESIZE = new b("col-resize");
b.ROW_RESIZE = new b("row-resize");
b.N_RESIZE = new b("n-resize");
b.E_RESIZE = new b("e-resize");
b.S_RESIZE = new b("s-resize");
b.W_RESIZE = new b("w-resize");
b.NE_RESIZE = new b("ne-resize");
b.NW_RESIZE = new b("nw-resize");
b.SE_RESIZE = new b("se-resize");
b.SW_RESIZE = new b("sw-resize");
b.EW_RESIZE = new b("ew-resize");
b.NS_RESIZE = new b("ns-resize");
b.NESW_RESIZE = new b("nesw-resize");
b.NWSE_RESIZE = new b("nwse-resize");
b.ZOOM_IN = new b("zoom-in");
b.ZOOM_OUT = new b("zoom-out");
b.GRAB = new b("grab");
b.GRABBING = new b("grabbing");
return b;
}();
g.MouseCursor = k;
var s = function() {
function b(d, a) {
this._target = d;
this._eventTarget = a;
this._wheelDisabled = !1;
this._boundOnMouseDown = this._onMouseDown.bind(this);
this._boundOnMouseUp = this._onMouseUp.bind(this);
this._boundOnMouseOver = this._onMouseOver.bind(this);
this._boundOnMouseOut = this._onMouseOut.bind(this);
this._boundOnMouseMove = this._onMouseMove.bind(this);
this._boundOnMouseWheel = this._onMouseWheel.bind(this);
this._boundOnDrag = this._onDrag.bind(this);
a.addEventListener("mousedown", this._boundOnMouseDown, !1);
a.addEventListener("mouseover", this._boundOnMouseOver, !1);
a.addEventListener("mouseout", this._boundOnMouseOut, !1);
a.addEventListener("onwheel" in document ? "wheel" : "mousewheel", this._boundOnMouseWheel, !1);
}
b.prototype.destroy = function() {
var b = this._eventTarget;
b.removeEventListener("mousedown", this._boundOnMouseDown);
b.removeEventListener("mouseover", this._boundOnMouseOver);
b.removeEventListener("mouseout", this._boundOnMouseOut);
b.removeEventListener("onwheel" in document ? "wheel" : "mousewheel", this._boundOnMouseWheel);
window.removeEventListener("mousemove", this._boundOnDrag);
window.removeEventListener("mouseup", this._boundOnMouseUp);
this._killHoverCheck();
this._target = this._eventTarget = null;
};
b.prototype.updateCursor = function(d) {
if (!b._cursorOwner || b._cursorOwner === this._target) {
var a = this._eventTarget.parentElement;
b._cursor !== d && (b._cursor = d, ["", "-moz-", "-webkit-"].forEach(function(c) {
a.style.cursor = c + d;
}));
b._cursorOwner = b._cursor === k.DEFAULT ? null : this._target;
}
};
b.prototype._onMouseDown = function(b) {
this._killHoverCheck();
if (0 === b.button) {
var a = this._getTargetMousePos(b, b.target);
this._dragInfo = {start:a, current:a, delta:{x:0, y:0}, hasMoved:!1, originalTarget:b.target};
window.addEventListener("mousemove", this._boundOnDrag, !1);
window.addEventListener("mouseup", this._boundOnMouseUp, !1);
this._target.onMouseDown(a.x, a.y);
}
};
b.prototype._onDrag = function(b) {
var a = this._dragInfo;
b = this._getTargetMousePos(b, a.originalTarget);
var c = {x:b.x - a.start.x, y:b.y - a.start.y};
a.current = b;
a.delta = c;
a.hasMoved = !0;
this._target.onDrag(a.start.x, a.start.y, b.x, b.y, c.x, c.y);
};
b.prototype._onMouseUp = function(b) {
window.removeEventListener("mousemove", this._boundOnDrag);
window.removeEventListener("mouseup", this._boundOnMouseUp);
var a = this;
b = this._dragInfo;
if (b.hasMoved) {
this._target.onDragEnd(b.start.x, b.start.y, b.current.x, b.current.y, b.delta.x, b.delta.y);
} else {
this._target.onClick(b.current.x, b.current.y);
}
this._dragInfo = null;
this._wheelDisabled = !0;
setTimeout(function() {
a._wheelDisabled = !1;
}, 500);
};
b.prototype._onMouseOver = function(b) {
b.target.addEventListener("mousemove", this._boundOnMouseMove, !1);
if (!this._dragInfo) {
var a = this._getTargetMousePos(b, b.target);
this._target.onMouseOver(a.x, a.y);
this._startHoverCheck(b);
}
};
b.prototype._onMouseOut = function(b) {
b.target.removeEventListener("mousemove", this._boundOnMouseMove, !1);
if (!this._dragInfo) {
this._target.onMouseOut();
}
this._killHoverCheck();
};
b.prototype._onMouseMove = function(b) {
if (!this._dragInfo) {
var a = this._getTargetMousePos(b, b.target);
this._target.onMouseMove(a.x, a.y);
this._killHoverCheck();
this._startHoverCheck(b);
}
};
b.prototype._onMouseWheel = function(b) {
if (!(b.altKey || b.metaKey || b.ctrlKey || b.shiftKey || (b.preventDefault(), this._dragInfo || this._wheelDisabled))) {
var a = this._getTargetMousePos(b, b.target);
b = f("undefined" !== typeof b.deltaY ? b.deltaY / 16 : -b.wheelDelta / 40, -1, 1);
this._target.onMouseWheel(a.x, a.y, Math.pow(1.2, b) - 1);
}
};
b.prototype._startHoverCheck = function(d) {
this._hoverInfo = {isHovering:!1, timeoutHandle:setTimeout(this._onMouseMoveIdleHandler.bind(this), b.HOVER_TIMEOUT), pos:this._getTargetMousePos(d, d.target)};
};
b.prototype._killHoverCheck = function() {
if (this._hoverInfo) {
clearTimeout(this._hoverInfo.timeoutHandle);
if (this._hoverInfo.isHovering) {
this._target.onHoverEnd();
}
this._hoverInfo = null;
}
};
b.prototype._onMouseMoveIdleHandler = function() {
var b = this._hoverInfo;
b.isHovering = !0;
this._target.onHoverStart(b.pos.x, b.pos.y);
};
b.prototype._getTargetMousePos = function(b, a) {
var c = a.getBoundingClientRect();
return{x:b.clientX - c.left, y:b.clientY - c.top};
};
b.HOVER_TIMEOUT = 500;
b._cursor = k.DEFAULT;
return b;
}();
g.MouseController = s;
})(k.Profiler || (k.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
b[b.NONE = 0] = "NONE";
b[b.WINDOW = 1] = "WINDOW";
b[b.HANDLE_LEFT = 2] = "HANDLE_LEFT";
b[b.HANDLE_RIGHT = 3] = "HANDLE_RIGHT";
b[b.HANDLE_BOTH = 4] = "HANDLE_BOTH";
})(b.FlameChartDragTarget || (b.FlameChartDragTarget = {}));
var f = function() {
function f(s) {
this._controller = s;
this._initialized = !1;
this._canvas = document.createElement("canvas");
this._context = this._canvas.getContext("2d");
this._mouseController = new b.MouseController(this, this._canvas);
s = s.container;
s.appendChild(this._canvas);
s = s.getBoundingClientRect();
this.setSize(s.width);
}
Object.defineProperty(f.prototype, "canvas", {get:function() {
return this._canvas;
}, enumerable:!0, configurable:!0});
f.prototype.setSize = function(b, f) {
"undefined" === typeof f && (f = 20);
this._width = b;
this._height = f;
this._resetCanvas();
this.draw();
};
f.prototype.initialize = function(b, f) {
this._initialized = !0;
this.setRange(b, f);
this.setWindow(b, f, !1);
this.draw();
};
f.prototype.setWindow = function(b, f, d) {
"undefined" === typeof d && (d = !0);
this._windowStart = b;
this._windowEnd = f;
!d || this.draw();
};
f.prototype.setRange = function(b, f) {
var d = !1;
"undefined" === typeof d && (d = !0);
this._rangeStart = b;
this._rangeEnd = f;
!d || this.draw();
};
f.prototype.destroy = function() {
this._mouseController.destroy();
this._mouseController = null;
this._controller.container.removeChild(this._canvas);
this._controller = null;
};
f.prototype._resetCanvas = function() {
var b = window.devicePixelRatio, f = this._canvas;
f.width = this._width * b;
f.height = this._height * b;
f.style.width = this._width + "px";
f.style.height = this._height + "px";
};
f.prototype.draw = function() {
};
f.prototype._almostEq = function(b, f) {
var d;
"undefined" === typeof d && (d = 10);
return Math.abs(b - f) < 1 / Math.pow(10, d);
};
f.prototype._windowEqRange = function() {
return this._almostEq(this._windowStart, this._rangeStart) && this._almostEq(this._windowEnd, this._rangeEnd);
};
f.prototype._decimalPlaces = function(b) {
return(+b).toFixed(10).replace(/^-?\d*\.?|0+$/g, "").length;
};
f.prototype._toPixelsRelative = function(b) {
return 0;
};
f.prototype._toPixels = function(b) {
return 0;
};
f.prototype._toTimeRelative = function(b) {
return 0;
};
f.prototype._toTime = function(b) {
return 0;
};
f.prototype.onMouseWheel = function(b, m, d) {
b = this._toTime(b);
m = this._windowStart;
var a = this._windowEnd, c = a - m;
d = Math.max((f.MIN_WINDOW_LEN - c) / c, d);
this._controller.setWindow(m + (m - b) * d, a + (a - b) * d);
this.onHoverEnd();
};
f.prototype.onMouseDown = function(b, f) {
};
f.prototype.onMouseMove = function(b, f) {
};
f.prototype.onMouseOver = function(b, f) {
};
f.prototype.onMouseOut = function() {
};
f.prototype.onDrag = function(b, f, d, a, c, n) {
};
f.prototype.onDragEnd = function(b, f, d, a, c, n) {
};
f.prototype.onClick = function(b, f) {
};
f.prototype.onHoverStart = function(b, f) {
};
f.prototype.onHoverEnd = function() {
};
f.DRAGHANDLE_WIDTH = 4;
f.MIN_WINDOW_LEN = .1;
return f;
}();
b.FlameChartBase = f;
})(b.Profiler || (b.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.StringUtilities.trimMiddle, k = b.ObjectUtilities.createEmptyObject, s = function(m) {
function d(a, b) {
m.call(this, a);
this._textWidth = {};
this._minFrameWidthInPixels = 1;
this._snapshot = b;
this._kindStyle = k();
}
__extends(d, m);
d.prototype.setSize = function(a, b) {
m.prototype.setSize.call(this, a, b || this._initialized ? 12.5 * this._maxDepth : 100);
};
d.prototype.initialize = function(a, b) {
this._initialized = !0;
this._maxDepth = this._snapshot.maxDepth;
this.setRange(a, b);
this.setWindow(a, b, !1);
this.setSize(this._width, 12.5 * this._maxDepth);
};
d.prototype.destroy = function() {
m.prototype.destroy.call(this);
this._snapshot = null;
};
d.prototype.draw = function() {
var a = this._context, c = window.devicePixelRatio;
b.ColorStyle.reset();
a.save();
a.scale(c, c);
a.fillStyle = this._controller.theme.bodyBackground(1);
a.fillRect(0, 0, this._width, this._height);
this._initialized && this._drawChildren(this._snapshot);
a.restore();
};
d.prototype._drawChildren = function(a, b) {
"undefined" === typeof b && (b = 0);
var d = a.getChildRange(this._windowStart, this._windowEnd);
if (d) {
for (var p = d.startIndex;p <= d.endIndex;p++) {
var e = a.children[p];
this._drawFrame(e, b) && this._drawChildren(e, b + 1);
}
}
};
d.prototype._drawFrame = function(a, c) {
var d = this._context, p = this._toPixels(a.startTime), e = this._toPixels(a.endTime), q = e - p;
if (q <= this._minFrameWidthInPixels) {
return d.fillStyle = this._controller.theme.tabToolbar(1), d.fillRect(p, 12.5 * c, this._minFrameWidthInPixels, 12 + 12.5 * (a.maxDepth - a.depth)), !1;
}
0 > p && (e = q + p, p = 0);
var e = e - p, l = this._kindStyle[a.kind.id];
l || (l = b.ColorStyle.randomStyle(), l = this._kindStyle[a.kind.id] = {bgColor:l, textColor:b.ColorStyle.contrastStyle(l)});
d.save();
d.fillStyle = l.bgColor;
d.fillRect(p, 12.5 * c, e, 12);
12 < q && (q = a.kind.name) && q.length && (q = this._prepareText(d, q, e - 4), q.length && (d.fillStyle = l.textColor, d.textBaseline = "bottom", d.fillText(q, p + 2, 12.5 * (c + 1) - 1)));
d.restore();
return!0;
};
d.prototype._prepareText = function(a, b, d) {
var p = this._measureWidth(a, b);
if (d > p) {
return b;
}
for (var p = 3, e = b.length;p < e;) {
var q = p + e >> 1;
this._measureWidth(a, f(b, q)) < d ? p = q + 1 : e = q;
}
b = f(b, e - 1);
p = this._measureWidth(a, b);
return p <= d ? b : "";
};
d.prototype._measureWidth = function(a, b) {
var d = this._textWidth[b];
d || (d = a.measureText(b).width, this._textWidth[b] = d);
return d;
};
d.prototype._toPixelsRelative = function(a) {
return a * this._width / (this._windowEnd - this._windowStart);
};
d.prototype._toPixels = function(a) {
return this._toPixelsRelative(a - this._windowStart);
};
d.prototype._toTimeRelative = function(a) {
return a * (this._windowEnd - this._windowStart) / this._width;
};
d.prototype._toTime = function(a) {
return this._toTimeRelative(a) + this._windowStart;
};
d.prototype._getFrameAtPosition = function(a, b) {
var d = 1 + b / 12.5 | 0, p = this._snapshot.query(this._toTime(a));
if (p && p.depth >= d) {
for (;p && p.depth > d;) {
p = p.parent;
}
return p;
}
return null;
};
d.prototype.onMouseDown = function(a, b) {
this._windowEqRange() || (this._mouseController.updateCursor(g.MouseCursor.ALL_SCROLL), this._dragInfo = {windowStartInitial:this._windowStart, windowEndInitial:this._windowEnd, target:1});
};
d.prototype.onMouseMove = function(a, b) {
};
d.prototype.onMouseOver = function(a, b) {
};
d.prototype.onMouseOut = function() {
};
d.prototype.onDrag = function(a, b, d, p, e, q) {
if (a = this._dragInfo) {
e = this._toTimeRelative(-e), this._controller.setWindow(a.windowStartInitial + e, a.windowEndInitial + e);
}
};
d.prototype.onDragEnd = function(a, b, d, p, e, q) {
this._dragInfo = null;
this._mouseController.updateCursor(g.MouseCursor.DEFAULT);
};
d.prototype.onClick = function(a, b) {
this._dragInfo = null;
this._mouseController.updateCursor(g.MouseCursor.DEFAULT);
};
d.prototype.onHoverStart = function(a, b) {
var d = this._getFrameAtPosition(a, b);
d && (this._hoveredFrame = d, this._controller.showTooltip(this, d, a, b));
};
d.prototype.onHoverEnd = function() {
this._hoveredFrame && (this._hoveredFrame = null, this._controller.hideTooltip());
};
d.prototype.getStatistics = function(a) {
var b = this._snapshot;
b.statistics || b.calculateStatistics();
return b.statistics[a.id];
};
return d;
}(g.FlameChartBase);
g.FlameChart = s;
})(k.Profiler || (k.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.NumberUtilities.clamp;
(function(b) {
b[b.OVERLAY = 0] = "OVERLAY";
b[b.STACK = 1] = "STACK";
b[b.UNION = 2] = "UNION";
})(g.FlameChartOverviewMode || (g.FlameChartOverviewMode = {}));
var k = function(b) {
function m(d, a) {
"undefined" === typeof a && (a = 1);
this._mode = a;
this._overviewCanvasDirty = !0;
this._overviewCanvas = document.createElement("canvas");
this._overviewContext = this._overviewCanvas.getContext("2d");
b.call(this, d);
}
__extends(m, b);
m.prototype.setSize = function(d, a) {
b.prototype.setSize.call(this, d, a || 64);
};
Object.defineProperty(m.prototype, "mode", {set:function(b) {
this._mode = b;
this.draw();
}, enumerable:!0, configurable:!0});
m.prototype._resetCanvas = function() {
b.prototype._resetCanvas.call(this);
this._overviewCanvas.width = this._canvas.width;
this._overviewCanvas.height = this._canvas.height;
this._overviewCanvasDirty = !0;
};
m.prototype.draw = function() {
var b = this._context, a = window.devicePixelRatio, c = this._width, n = this._height;
b.save();
b.scale(a, a);
b.fillStyle = this._controller.theme.bodyBackground(1);
b.fillRect(0, 0, c, n);
b.restore();
this._initialized && (this._overviewCanvasDirty && (this._drawChart(), this._overviewCanvasDirty = !1), b.drawImage(this._overviewCanvas, 0, 0), this._drawSelection());
};
m.prototype._drawSelection = function() {
var b = this._context, a = this._height, c = window.devicePixelRatio, n = this._selection ? this._selection.left : this._toPixels(this._windowStart), p = this._selection ? this._selection.right : this._toPixels(this._windowEnd), e = this._controller.theme;
b.save();
b.scale(c, c);
this._selection ? (b.fillStyle = e.selectionText(.15), b.fillRect(n, 1, p - n, a - 1), b.fillStyle = "rgba(133, 0, 0, 1)", b.fillRect(n + .5, 0, p - n - 1, 4), b.fillRect(n + .5, a - 4, p - n - 1, 4)) : (b.fillStyle = e.bodyBackground(.4), b.fillRect(0, 1, n, a - 1), b.fillRect(p, 1, this._width, a - 1));
b.beginPath();
b.moveTo(n, 0);
b.lineTo(n, a);
b.moveTo(p, 0);
b.lineTo(p, a);
b.lineWidth = .5;
b.strokeStyle = e.foregroundTextGrey(1);
b.stroke();
a = Math.abs((this._selection ? this._toTime(this._selection.right) : this._windowEnd) - (this._selection ? this._toTime(this._selection.left) : this._windowStart));
b.fillStyle = e.selectionText(.5);
b.font = "8px sans-serif";
b.textBaseline = "alphabetic";
b.textAlign = "end";
b.fillText(a.toFixed(2), Math.min(n, p) - 4, 10);
b.fillText((a / 60).toFixed(2), Math.min(n, p) - 4, 20);
b.restore();
};
m.prototype._drawChart = function() {
var b = window.devicePixelRatio, a = this._height, c = this._controller.activeProfile, n = 4 * this._width, p = c.totalTime / n, e = this._overviewContext, q = this._controller.theme.blueHighlight(1);
e.save();
e.translate(0, b * a);
var l = -b * a / (c.maxDepth - 1);
e.scale(b / 4, l);
e.clearRect(0, 0, n, c.maxDepth - 1);
1 == this._mode && e.scale(1, 1 / c.snapshotCount);
for (var f = 0, w = c.snapshotCount;f < w;f++) {
var r = c.getSnapshotAt(f);
if (r) {
var h = null, x = 0;
e.beginPath();
e.moveTo(0, 0);
for (var y = 0;y < n;y++) {
x = c.startTime + y * p, x = (h = h ? h.queryNext(x) : r.query(x)) ? h.getDepth() - 1 : 0, e.lineTo(y, x);
}
e.lineTo(y, 0);
e.fillStyle = q;
e.fill();
1 == this._mode && e.translate(0, -a * b / l);
}
}
e.restore();
};
m.prototype._toPixelsRelative = function(b) {
return b * this._width / (this._rangeEnd - this._rangeStart);
};
m.prototype._toPixels = function(b) {
return this._toPixelsRelative(b - this._rangeStart);
};
m.prototype._toTimeRelative = function(b) {
return b * (this._rangeEnd - this._rangeStart) / this._width;
};
m.prototype._toTime = function(b) {
return this._toTimeRelative(b) + this._rangeStart;
};
m.prototype._getDragTargetUnderCursor = function(b, a) {
if (0 <= a && a < this._height) {
var c = this._toPixels(this._windowStart), n = this._toPixels(this._windowEnd), p = 2 + g.FlameChartBase.DRAGHANDLE_WIDTH / 2, e = b >= c - p && b <= c + p, q = b >= n - p && b <= n + p;
if (e && q) {
return 4;
}
if (e) {
return 2;
}
if (q) {
return 3;
}
if (!this._windowEqRange() && b > c + p && b < n - p) {
return 1;
}
}
return 0;
};
m.prototype.onMouseDown = function(b, a) {
var c = this._getDragTargetUnderCursor(b, a);
0 === c ? (this._selection = {left:b, right:b}, this.draw()) : (1 === c && this._mouseController.updateCursor(g.MouseCursor.GRABBING), this._dragInfo = {windowStartInitial:this._windowStart, windowEndInitial:this._windowEnd, target:c});
};
m.prototype.onMouseMove = function(b, a) {
var c = g.MouseCursor.DEFAULT, n = this._getDragTargetUnderCursor(b, a);
0 === n || this._selection || (c = 1 === n ? g.MouseCursor.GRAB : g.MouseCursor.EW_RESIZE);
this._mouseController.updateCursor(c);
};
m.prototype.onMouseOver = function(b, a) {
this.onMouseMove(b, a);
};
m.prototype.onMouseOut = function() {
this._mouseController.updateCursor(g.MouseCursor.DEFAULT);
};
m.prototype.onDrag = function(b, a, c, n, p, e) {
if (this._selection) {
this._selection = {left:b, right:f(c, 0, this._width - 1)}, this.draw();
} else {
b = this._dragInfo;
if (4 === b.target) {
if (0 !== p) {
b.target = 0 > p ? 2 : 3;
} else {
return;
}
}
a = this._windowStart;
c = this._windowEnd;
p = this._toTimeRelative(p);
switch(b.target) {
case 1:
a = b.windowStartInitial + p;
c = b.windowEndInitial + p;
break;
case 2:
a = f(b.windowStartInitial + p, this._rangeStart, c - g.FlameChartBase.MIN_WINDOW_LEN);
break;
case 3:
c = f(b.windowEndInitial + p, a + g.FlameChartBase.MIN_WINDOW_LEN, this._rangeEnd);
break;
default:
return;
}
this._controller.setWindow(a, c);
}
};
m.prototype.onDragEnd = function(b, a, c, n, p, e) {
this._selection && (this._selection = null, this._controller.setWindow(this._toTime(b), this._toTime(c)));
this._dragInfo = null;
this.onMouseMove(c, n);
};
m.prototype.onClick = function(b, a) {
this._selection = this._dragInfo = null;
this._windowEqRange() || (0 === this._getDragTargetUnderCursor(b, a) && this._controller.moveWindowTo(this._toTime(b)), this.onMouseMove(b, a));
this.draw();
};
m.prototype.onHoverStart = function(b, a) {
};
m.prototype.onHoverEnd = function() {
};
return m;
}(g.FlameChartBase);
g.FlameChartOverview = k;
})(k.Profiler || (k.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.NumberUtilities.clamp;
(function(b) {
b[b.OVERVIEW = 0] = "OVERVIEW";
b[b.CHART = 1] = "CHART";
})(g.FlameChartHeaderType || (g.FlameChartHeaderType = {}));
var k = function(b) {
function m(d, a) {
this._type = a;
b.call(this, d);
}
__extends(m, b);
m.prototype.draw = function() {
var b = this._context, a = window.devicePixelRatio, c = this._width, n = this._height;
b.save();
b.scale(a, a);
b.fillStyle = this._controller.theme.tabToolbar(1);
b.fillRect(0, 0, c, n);
this._initialized && (0 == this._type ? (a = this._toPixels(this._windowStart), c = this._toPixels(this._windowEnd), b.fillStyle = this._controller.theme.bodyBackground(1), b.fillRect(a, 0, c - a, n), this._drawLabels(this._rangeStart, this._rangeEnd), this._drawDragHandle(a), this._drawDragHandle(c)) : this._drawLabels(this._windowStart, this._windowEnd));
b.restore();
};
m.prototype._drawLabels = function(b, a) {
var c = this._context, n = this._calculateTickInterval(b, a), p = Math.ceil(b / n) * n, e = 500 <= n, q = e ? 1E3 : 1, l = this._decimalPlaces(n / q), e = e ? "s" : "ms", f = this._toPixels(p), w = this._height / 2, r = this._controller.theme;
c.lineWidth = 1;
c.strokeStyle = r.contentTextDarkGrey(.5);
c.fillStyle = r.contentTextDarkGrey(1);
c.textAlign = "right";
c.textBaseline = "middle";
c.font = "11px sans-serif";
for (r = this._width + m.TICK_MAX_WIDTH;f < r;) {
c.fillText((p / q).toFixed(l) + " " + e, f - 7, w + 1), c.beginPath(), c.moveTo(f, 0), c.lineTo(f, this._height + 1), c.closePath(), c.stroke(), p += n, f = this._toPixels(p);
}
};
m.prototype._calculateTickInterval = function(b, a) {
var c = (a - b) / (this._width / m.TICK_MAX_WIDTH), n = Math.pow(10, Math.floor(Math.log(c) / Math.LN10)), c = c / n;
return 5 < c ? 10 * n : 2 < c ? 5 * n : 1 < c ? 2 * n : n;
};
m.prototype._drawDragHandle = function(b) {
var a = this._context;
a.lineWidth = 2;
a.strokeStyle = this._controller.theme.bodyBackground(1);
a.fillStyle = this._controller.theme.foregroundTextGrey(.7);
this._drawRoundedRect(a, b - g.FlameChartBase.DRAGHANDLE_WIDTH / 2, g.FlameChartBase.DRAGHANDLE_WIDTH, this._height - 2);
};
m.prototype._drawRoundedRect = function(b, a, c, n) {
var p, e = !0;
"undefined" === typeof e && (e = !0);
"undefined" === typeof p && (p = !0);
b.beginPath();
b.moveTo(a + 2, 1);
b.lineTo(a + c - 2, 1);
b.quadraticCurveTo(a + c, 1, a + c, 3);
b.lineTo(a + c, 1 + n - 2);
b.quadraticCurveTo(a + c, 1 + n, a + c - 2, 1 + n);
b.lineTo(a + 2, 1 + n);
b.quadraticCurveTo(a, 1 + n, a, 1 + n - 2);
b.lineTo(a, 3);
b.quadraticCurveTo(a, 1, a + 2, 1);
b.closePath();
e && b.stroke();
p && b.fill();
};
m.prototype._toPixelsRelative = function(b) {
return b * this._width / (0 === this._type ? this._rangeEnd - this._rangeStart : this._windowEnd - this._windowStart);
};
m.prototype._toPixels = function(b) {
return this._toPixelsRelative(b - (0 === this._type ? this._rangeStart : this._windowStart));
};
m.prototype._toTimeRelative = function(b) {
return b * (0 === this._type ? this._rangeEnd - this._rangeStart : this._windowEnd - this._windowStart) / this._width;
};
m.prototype._toTime = function(b) {
return this._toTimeRelative(b) + (0 === this._type ? this._rangeStart : this._windowStart);
};
m.prototype._getDragTargetUnderCursor = function(b, a) {
if (0 <= a && a < this._height) {
if (0 === this._type) {
var c = this._toPixels(this._windowStart), n = this._toPixels(this._windowEnd), p = 2 + g.FlameChartBase.DRAGHANDLE_WIDTH / 2, c = b >= c - p && b <= c + p, n = b >= n - p && b <= n + p;
if (c && n) {
return 4;
}
if (c) {
return 2;
}
if (n) {
return 3;
}
}
if (!this._windowEqRange()) {
return 1;
}
}
return 0;
};
m.prototype.onMouseDown = function(b, a) {
var c = this._getDragTargetUnderCursor(b, a);
1 === c && this._mouseController.updateCursor(g.MouseCursor.GRABBING);
this._dragInfo = {windowStartInitial:this._windowStart, windowEndInitial:this._windowEnd, target:c};
};
m.prototype.onMouseMove = function(b, a) {
var c = g.MouseCursor.DEFAULT, n = this._getDragTargetUnderCursor(b, a);
0 !== n && (1 !== n ? c = g.MouseCursor.EW_RESIZE : 1 !== n || this._windowEqRange() || (c = g.MouseCursor.GRAB));
this._mouseController.updateCursor(c);
};
m.prototype.onMouseOver = function(b, a) {
this.onMouseMove(b, a);
};
m.prototype.onMouseOut = function() {
this._mouseController.updateCursor(g.MouseCursor.DEFAULT);
};
m.prototype.onDrag = function(b, a, c, n, p, e) {
b = this._dragInfo;
if (4 === b.target) {
if (0 !== p) {
b.target = 0 > p ? 2 : 3;
} else {
return;
}
}
a = this._windowStart;
c = this._windowEnd;
p = this._toTimeRelative(p);
switch(b.target) {
case 1:
c = 0 === this._type ? 1 : -1;
a = b.windowStartInitial + c * p;
c = b.windowEndInitial + c * p;
break;
case 2:
a = f(b.windowStartInitial + p, this._rangeStart, c - g.FlameChartBase.MIN_WINDOW_LEN);
break;
case 3:
c = f(b.windowEndInitial + p, a + g.FlameChartBase.MIN_WINDOW_LEN, this._rangeEnd);
break;
default:
return;
}
this._controller.setWindow(a, c);
};
m.prototype.onDragEnd = function(b, a, c, n, p, e) {
this._dragInfo = null;
this.onMouseMove(c, n);
};
m.prototype.onClick = function(b, a) {
1 === this._dragInfo.target && this._mouseController.updateCursor(g.MouseCursor.GRAB);
};
m.prototype.onHoverStart = function(b, a) {
};
m.prototype.onHoverEnd = function() {
};
m.TICK_MAX_WIDTH = 75;
return m;
}(g.FlameChartBase);
g.FlameChartHeader = k;
})(k.Profiler || (k.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
var g = function() {
function b(d, a, c, n, p) {
this.pageLoaded = d;
this.threadsTotal = a;
this.threadsLoaded = c;
this.threadFilesTotal = n;
this.threadFilesLoaded = p;
}
b.prototype.toString = function() {
return "[" + ["pageLoaded", "threadsTotal", "threadsLoaded", "threadFilesTotal", "threadFilesLoaded"].map(function(b, a, c) {
return b + ":" + this[b];
}, this).join(", ") + "]";
};
return b;
}();
b.TraceLoggerProgressInfo = g;
var k = function() {
function m(b) {
this._baseUrl = b;
this._threads = [];
this._progressInfo = null;
}
m.prototype.loadPage = function(b, a, c) {
this._threads = [];
this._pageLoadCallback = a;
this._pageLoadProgressCallback = c;
this._progressInfo = new g(!1, 0, 0, 0, 0);
this._loadData([b], this._onLoadPage.bind(this));
};
Object.defineProperty(m.prototype, "buffers", {get:function() {
for (var b = [], a = 0, c = this._threads.length;a < c;a++) {
b.push(this._threads[a].buffer);
}
return b;
}, enumerable:!0, configurable:!0});
m.prototype._onProgress = function() {
this._pageLoadProgressCallback && this._pageLoadProgressCallback.call(this, this._progressInfo);
};
m.prototype._onLoadPage = function(d) {
if (d && 1 == d.length) {
var a = this, c = 0;
d = d[0];
var n = d.length;
this._threads = Array(n);
this._progressInfo.pageLoaded = !0;
this._progressInfo.threadsTotal = n;
for (var p = 0;p < d.length;p++) {
var e = d[p], q = [e.dict, e.tree];
e.corrections && q.push(e.corrections);
this._progressInfo.threadFilesTotal += q.length;
this._loadData(q, function(e) {
return function(d) {
d && (d = new b.Thread(d), d.buffer.name = "Thread " + e, a._threads[e] = d);
c++;
a._progressInfo.threadsLoaded++;
a._onProgress();
c === n && a._pageLoadCallback.call(a, null, a._threads);
};
}(p), function(b) {
a._progressInfo.threadFilesLoaded++;
a._onProgress();
});
}
this._onProgress();
} else {
this._pageLoadCallback.call(this, "Error loading page.", null);
}
};
m.prototype._loadData = function(b, a, c) {
var n = 0, p = 0, e = b.length, q = [];
q.length = e;
for (var l = 0;l < e;l++) {
var f = this._baseUrl + b[l], w = new XMLHttpRequest, r = /\.tl$/i.test(f) ? "arraybuffer" : "json";
w.open("GET", f, !0);
w.responseType = r;
w.onload = function(b, l) {
return function(d) {
if ("json" === l) {
if (d = this.response, "string" === typeof d) {
try {
d = JSON.parse(d), q[b] = d;
} catch (r) {
p++;
}
} else {
q[b] = d;
}
} else {
q[b] = this.response;
}
++n;
c && c(n);
n === e && a(q);
};
}(l, r);
w.send();
}
};
m.colors = "#0044ff #8c4b00 #cc5c33 #ff80c4 #ffbfd9 #ff8800 #8c5e00 #adcc33 #b380ff #bfd9ff #ffaa00 #8c0038 #bf8f30 #f780ff #cc99c9 #aaff00 #000073 #452699 #cc8166 #cca799 #000066 #992626 #cc6666 #ccc299 #ff6600 #526600 #992663 #cc6681 #99ccc2 #ff0066 #520066 #269973 #61994d #739699 #ffcc00 #006629 #269199 #94994d #738299 #ff0000 #590000 #234d8c #8c6246 #7d7399 #ee00ff #00474d #8c2385 #8c7546 #7c8c69 #eeff00 #4d003d #662e1a #62468c #8c6969 #6600ff #4c2900 #1a6657 #8c464f #8c6981 #44ff00 #401100 #1a2466 #663355 #567365 #d90074 #403300 #101d40 #59562d #66614d #cc0000 #002b40 #234010 #4c2626 #4d5e66 #00a3cc #400011 #231040 #4c3626 #464359 #0000bf #331b00 #80e6ff #311a33 #4d3939 #a69b00 #003329 #80ffb2 #331a20 #40303d #00a658 #40ffd9 #ffc480 #ffe1bf #332b26 #8c2500 #9933cc #80fff6 #ffbfbf #303326 #005e8c #33cc47 #b2ff80 #c8bfff #263332 #00708c #cc33ad #ffe680 #f2ffbf #262a33 #388c00 #335ccc #8091ff #bfffd9".split(" ");
return m;
}();
b.TraceLogger = k;
})(b.TraceLogger || (b.TraceLogger = {}));
})(b.Profiler || (b.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
var k;
(function(b) {
b[b.START_HI = 0] = "START_HI";
b[b.START_LO = 4] = "START_LO";
b[b.STOP_HI = 8] = "STOP_HI";
b[b.STOP_LO = 12] = "STOP_LO";
b[b.TEXTID = 16] = "TEXTID";
b[b.NEXTID = 20] = "NEXTID";
})(k || (k = {}));
k = function() {
function f(m) {
2 <= m.length && (this._text = m[0], this._data = new DataView(m[1]), this._buffer = new b.TimelineBuffer, this._walkTree(0));
}
Object.defineProperty(f.prototype, "buffer", {get:function() {
return this._buffer;
}, enumerable:!0, configurable:!0});
f.prototype._walkTree = function(b) {
var d = this._data, a = this._buffer;
do {
var c = b * f.ITEM_SIZE, n = 4294967295 * d.getUint32(c + 0) + d.getUint32(c + 4), p = 4294967295 * d.getUint32(c + 8) + d.getUint32(c + 12), e = d.getUint32(c + 16), c = d.getUint32(c + 20), q = 1 === (e & 1), e = e >>> 1, e = this._text[e];
a.enter(e, null, n / 1E6);
q && this._walkTree(b + 1);
a.leave(e, null, p / 1E6);
b = c;
} while (0 !== b);
};
f.ITEM_SIZE = 24;
return f;
}();
f.Thread = k;
})(b.TraceLogger || (b.TraceLogger = {}));
})(b.Profiler || (b.Profiler = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.NumberUtilities.clamp, k = function() {
function b() {
this.length = 0;
this.lines = [];
this.format = [];
this.time = [];
this.repeat = [];
this.length = 0;
}
b.prototype.append = function(b, a) {
var c = this.lines;
0 < c.length && c[c.length - 1] === b ? this.repeat[c.length - 1]++ : (this.lines.push(b), this.repeat.push(1), this.format.push(a ? {backgroundFillStyle:a} : void 0), this.time.push(performance.now()), this.length++);
};
b.prototype.get = function(b) {
return this.lines[b];
};
b.prototype.getFormat = function(b) {
return this.format[b];
};
b.prototype.getTime = function(b) {
return this.time[b];
};
b.prototype.getRepeat = function(b) {
return this.repeat[b];
};
return b;
}();
g.Buffer = k;
var s = function() {
function b(d) {
this.lineColor = "#2A2A2A";
this.alternateLineColor = "#262626";
this.textColor = "#FFFFFF";
this.selectionColor = "#96C9F3";
this.selectionTextColor = "#000000";
this.ratio = 1;
this.showLineNumbers = !0;
this.showLineCounter = this.showLineTime = !1;
this.canvas = d;
this.canvas.focus();
this.context = d.getContext("2d", {original:!0});
this.context.fillStyle = "#FFFFFF";
this.fontSize = 10;
this.columnIndex = this.pageIndex = this.lineIndex = 0;
this.selection = null;
this.lineHeight = 15;
this.hasFocus = !1;
window.addEventListener("resize", this._resizeHandler.bind(this), !1);
this._resizeHandler();
this.textMarginBottom = this.textMarginLeft = 4;
this.refreshFrequency = 0;
this.buffer = new k;
d.addEventListener("keydown", function(b) {
var d = 0;
switch(b.keyCode) {
case h:
this.showLineNumbers = !this.showLineNumbers;
break;
case x:
this.showLineTime = !this.showLineTime;
break;
case e:
d = -1;
break;
case q:
d = 1;
break;
case a:
d = -this.pageLineCount;
break;
case c:
d = this.pageLineCount;
break;
case n:
d = -this.lineIndex;
break;
case p:
d = this.buffer.length - this.lineIndex;
break;
case l:
this.columnIndex -= b.metaKey ? 10 : 1;
0 > this.columnIndex && (this.columnIndex = 0);
b.preventDefault();
break;
case f:
this.columnIndex += b.metaKey ? 10 : 1;
b.preventDefault();
break;
case w:
b.metaKey && (this.selection = {start:0, end:this.buffer.length}, b.preventDefault());
break;
case r:
if (b.metaKey) {
var g = "";
if (this.selection) {
for (var m = this.selection.start;m <= this.selection.end;m++) {
g += this.buffer.get(m) + "\n";
}
} else {
g = this.buffer.get(this.lineIndex);
}
alert(g);
}
;
}
b.metaKey && (d *= this.pageLineCount);
d && (this.scroll(d), b.preventDefault());
d && b.shiftKey ? this.selection ? this.lineIndex > this.selection.start ? this.selection.end = this.lineIndex : this.selection.start = this.lineIndex : 0 < d ? this.selection = {start:this.lineIndex - d, end:this.lineIndex} : 0 > d && (this.selection = {start:this.lineIndex, end:this.lineIndex - d}) : d && (this.selection = null);
this.paint();
}.bind(this), !1);
d.addEventListener("focus", function(a) {
this.hasFocus = !0;
}.bind(this), !1);
d.addEventListener("blur", function(a) {
this.hasFocus = !1;
}.bind(this), !1);
var a = 33, c = 34, n = 36, p = 35, e = 38, q = 40, l = 37, f = 39, w = 65, r = 67, h = 78, x = 84;
}
b.prototype.resize = function() {
this._resizeHandler();
};
b.prototype._resizeHandler = function() {
var b = this.canvas.parentElement, a = b.clientWidth, b = b.clientHeight - 1, c = window.devicePixelRatio || 1;
1 !== c ? (this.ratio = c / 1, this.canvas.width = a * this.ratio, this.canvas.height = b * this.ratio, this.canvas.style.width = a + "px", this.canvas.style.height = b + "px") : (this.ratio = 1, this.canvas.width = a, this.canvas.height = b);
this.pageLineCount = Math.floor(this.canvas.height / this.lineHeight);
};
b.prototype.gotoLine = function(b) {
this.lineIndex = f(b, 0, this.buffer.length - 1);
};
b.prototype.scrollIntoView = function() {
this.lineIndex < this.pageIndex ? this.pageIndex = this.lineIndex : this.lineIndex >= this.pageIndex + this.pageLineCount && (this.pageIndex = this.lineIndex - this.pageLineCount + 1);
};
b.prototype.scroll = function(b) {
this.gotoLine(this.lineIndex + b);
this.scrollIntoView();
};
b.prototype.paint = function() {
var b = this.pageLineCount;
this.pageIndex + b > this.buffer.length && (b = this.buffer.length - this.pageIndex);
var a = this.textMarginLeft, c = a + (this.showLineNumbers ? 5 * (String(this.buffer.length).length + 2) : 0), n = c + (this.showLineTime ? 40 : 10), p = n + 25;
this.context.font = this.fontSize + 'px Consolas, "Liberation Mono", Courier, monospace';
this.context.setTransform(this.ratio, 0, 0, this.ratio, 0, 0);
for (var e = this.canvas.width, q = this.lineHeight, l = 0;l < b;l++) {
var f = l * this.lineHeight, w = this.pageIndex + l, r = this.buffer.get(w), h = this.buffer.getFormat(w), x = this.buffer.getRepeat(w), y = 1 < w ? this.buffer.getTime(w) - this.buffer.getTime(0) : 0;
this.context.fillStyle = w % 2 ? this.lineColor : this.alternateLineColor;
h && h.backgroundFillStyle && (this.context.fillStyle = h.backgroundFillStyle);
this.context.fillRect(0, f, e, q);
this.context.fillStyle = this.selectionTextColor;
this.context.fillStyle = this.textColor;
this.selection && w >= this.selection.start && w <= this.selection.end && (this.context.fillStyle = this.selectionColor, this.context.fillRect(0, f, e, q), this.context.fillStyle = this.selectionTextColor);
this.hasFocus && w === this.lineIndex && (this.context.fillStyle = this.selectionColor, this.context.fillRect(0, f, e, q), this.context.fillStyle = this.selectionTextColor);
0 < this.columnIndex && (r = r.substring(this.columnIndex));
f = (l + 1) * this.lineHeight - this.textMarginBottom;
this.showLineNumbers && this.context.fillText(String(w), a, f);
this.showLineTime && this.context.fillText(y.toFixed(1).padLeft(" ", 6), c, f);
1 < x && this.context.fillText(String(x).padLeft(" ", 3), n, f);
this.context.fillText(r, p, f);
}
};
b.prototype.refreshEvery = function(b) {
function a() {
c.paint();
c.refreshFrequency && setTimeout(a, c.refreshFrequency);
}
var c = this;
this.refreshFrequency = b;
c.refreshFrequency && setTimeout(a, c.refreshFrequency);
};
b.prototype.isScrolledToBottom = function() {
return this.lineIndex === this.buffer.length - 1;
};
return b;
}();
g.Terminal = s;
})(k.Terminal || (k.Terminal = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
var f = function() {
function b(f) {
this._lastWeightedTime = this._lastTime = this._index = 0;
this._gradient = "#FF0000 #FF1100 #FF2300 #FF3400 #FF4600 #FF5700 #FF6900 #FF7B00 #FF8C00 #FF9E00 #FFAF00 #FFC100 #FFD300 #FFE400 #FFF600 #F7FF00 #E5FF00 #D4FF00 #C2FF00 #B0FF00 #9FFF00 #8DFF00 #7CFF00 #6AFF00 #58FF00 #47FF00 #35FF00 #24FF00 #12FF00 #00FF00".split(" ");
this._canvas = f;
this._context = f.getContext("2d");
window.addEventListener("resize", this._resizeHandler.bind(this), !1);
this._resizeHandler();
}
b.prototype._resizeHandler = function() {
var b = this._canvas.parentElement, f = b.clientWidth, b = b.clientHeight - 1, d = window.devicePixelRatio || 1;
1 !== d ? (this._ratio = d / 1, this._canvas.width = f * this._ratio, this._canvas.height = b * this._ratio, this._canvas.style.width = f + "px", this._canvas.style.height = b + "px") : (this._ratio = 1, this._canvas.width = f, this._canvas.height = b);
};
b.prototype.tickAndRender = function(b) {
"undefined" === typeof b && (b = !1);
if (0 === this._lastTime) {
this._lastTime = performance.now();
} else {
var f = (performance.now() - this._lastTime) * (1 - .9) + .9 * this._lastWeightedTime, d = this._context, a = 2 * this._ratio, c = (this._canvas.width - 20) / (a + 1) | 0, n = this._index++;
this._index > c && (this._index = 0);
d.globalAlpha = 1;
d.fillStyle = "black";
d.fillRect(20 + n * (a + 1), 0, 4 * a, this._canvas.height);
c = 1E3 / 60 / f;
d.fillStyle = this._gradient[c * (this._gradient.length - 1) | 0];
d.globalAlpha = b ? .5 : 1;
d.fillRect(20 + n * (a + 1), 0, a, this._canvas.height * c | 0);
0 === n % 16 && (d.globalAlpha = 1, d.fillStyle = "black", d.fillRect(0, 0, 20, this._canvas.height), d.fillStyle = "white", d.font = "10px Arial", d.fillText((1E3 / f).toFixed(0), 2, 8));
this._lastTime = performance.now();
this._lastWeightedTime = f;
}
};
return b;
}();
b.FPS = f;
})(b.Mini || (b.Mini = {}));
})(b.Tools || (b.Tools = {}));
})(Shumway || (Shumway = {}));
console.timeEnd("Load Shared Dependencies");
console.time("Load AVM2 Dependencies");
(function(b) {
(function(k) {
k.timelineBuffer = new b.Tools.Profiler.TimelineBuffer("AVM2");
k.counter = new b.Metrics.Counter(!0);
k.countTimeline = function(b, f) {
"undefined" === typeof f && (f = 1);
k.timelineBuffer && k.timelineBuffer.count(b, f);
};
k.enterTimeline = function(b, f) {
};
k.leaveTimeline = function(b) {
};
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
function g(b) {
for (var g = 0;g < arguments.length - 1;g++) {
}
var k = b.message;
Array.prototype.slice.call(arguments, 1).forEach(function(b, d) {
k = k.replace("%" + (d + 1), b);
});
return "Error #" + b.code + ": " + k;
}
k.Errors = {CallOfNonFunctionError:{code:1006, message:"%1 is not a function."}, ConvertNullToObjectError:{code:1009, message:"Cannot access a property or method of a null object reference."}, ConvertUndefinedToObjectError:{code:1010, message:"A term is undefined and has no properties."}, ClassNotFoundError:{code:1014, message:"Class %1 could not be found."}, CheckTypeFailedError:{code:1034, message:"Type Coercion failed: cannot convert %1 to %2."}, WrongArgumentCountError:{code:1063, message:"Argument count mismatch on %1. Expected %2, got %3."},
XMLMarkupMustBeWellFormed:{code:1088, message:"The markup in the document following the root element must be well-formed."}, OutOfRangeError:{code:1125, message:"The index %1 is out of range %2."}, VectorFixedError:{code:1126, message:"Cannot change the length of a fixed Vector."}, InvalidRangeError:{code:1506, message:"The specified range is invalid."}, NullArgumentError:{code:1507, message:"Argument %1 cannot be null."}, InvalidArgumentError:{code:1508, message:"The value specified for argument %1 is invalid."},
InvalidParamError:{code:2004, message:"One of the parameters is invalid."}, ParamRangeError:{code:2006, message:"The supplied index is out of bounds."}, NullPointerError:{code:2007, message:"Parameter %1 must be non-null."}, InvalidEnumError:{code:2008, message:"Parameter %1 must be one of the accepted values."}, InvalidBitmapData:{code:2015, message:"Invalid BitmapData."}, CompressedDataError:{code:2058, message:"There was an error decompressing the data."}, TooFewArgumentsError:{code:2001,
message:"Too few arguments were specified; got %1, %2 expected."}, SocketConnectError:{code:2011, message:"Socket connection failed to %1:%2."}, CantAddSelfError:{code:2024, message:"An object cannot be added as a child of itself."}, NotAChildError:{code:2025, message:"The supplied DisplayObject must be a child of the caller."}, ExternalInterfaceNotAvailableError:{code:2067, message:"The ExternalInterface is not available in this container. ExternalInterface requires Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime."},
InvalidStageMethodError:{code:2071, message:"The Stage class does not implement this property or method."}, SceneNotFoundError:{code:2108, message:"Scene %1 was not found."}, FrameLabelNotFoundError:{code:2109, message:"Frame label %1 not found in scene %2."}, CantAddParentError:{code:2150, message:"An object cannot be added as a child to one of it's children (or children's children, etc.)."}, ObjectWithStringsParamError:{code:2196, message:"Parameter %1 must be an Object with only String values."}};
k.getErrorMessage = function(f) {
if (!b.AVM2.Runtime.debuggerMode.value) {
return "Error #" + f;
}
for (var g in k.Errors) {
if (k.Errors[g].code == f) {
return "Error #" + f + ": " + k.Errors[g].message;
}
}
return "Error #" + f + ": (unknown)";
};
k.formatErrorMessage = g;
k.translateErrorMessage = function(f) {
if (f.type) {
switch(f.type) {
case "undefined_method":
return g(k.Errors.CallOfNonFunctionError, "value");
default:
throw b.Debug.notImplemented(f.type);;
}
} else {
return 0 <= f.message.indexOf("is not a function") ? g(k.Errors.CallOfNonFunctionError, "value") : f.message;
}
};
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Errors = Shumway.AVM2.Errors, getErrorMessage = Shumway.AVM2.getErrorMessage, formatErrorMessage = Shumway.AVM2.formatErrorMessage, translateErrorMessage = Shumway.AVM2.translateErrorMessage;
(function(b) {
(function(k) {
(function(g) {
var f = null;
"undefined" !== typeof TextDecoder && (f = new TextDecoder);
var k = function() {
function g(b) {
this._bytes = b;
this._view = new DataView(b.buffer, b.byteOffset);
this._position = 0;
}
g._getResultBuffer = function(b) {
if (!g._resultBuffer || g._resultBuffer.length < b) {
g._resultBuffer = new Int32Array(2 * b);
}
return g._resultBuffer;
};
Object.defineProperty(g.prototype, "position", {get:function() {
return this._position;
}, enumerable:!0, configurable:!0});
g.prototype.remaining = function() {
return this._bytes.length - this._position;
};
g.prototype.seek = function(b) {
this._position = b;
};
g.prototype.readU8 = function() {
return this._bytes[this._position++];
};
g.prototype.readU8s = function(b) {
var d = new Uint8Array(b);
d.set(this._bytes.subarray(this._position, this._position + b), 0);
this._position += b;
return d;
};
g.prototype.readS8 = function() {
return this._bytes[this._position++] << 24 >> 24;
};
g.prototype.readU32 = function() {
return this.readS32() >>> 0;
};
g.prototype.readU30 = function() {
return this.readU32();
};
g.prototype.readU30Unsafe = function() {
return this.readU32();
};
g.prototype.readS16 = function() {
return this.readU30Unsafe() << 16 >> 16;
};
g.prototype.readS32 = function() {
var b = this.readU8();
b & 128 && (b = b & 127 | this.readU8() << 7, b & 16384 && (b = b & 16383 | this.readU8() << 14, b & 2097152 && (b = b & 2097151 | this.readU8() << 21, b & 268435456 && (b = b & 268435455 | this.readU8() << 28, b &= 4294967295))));
return b;
};
g.prototype.readWord = function() {
var b = this._view.getUint32(this._position, !0);
this._position += 4;
return b;
};
g.prototype.readS24 = function() {
return(this.readU8() | this.readU8() << 8 | this.readU8() << 16) << 8 >> 8;
};
g.prototype.readDouble = function() {
var b = this._view.getFloat64(this._position, !0);
this._position += 8;
return b;
};
g.prototype.readUTFString = function(m) {
if (f) {
var d = this._position;
this._position += m;
return f.decode(this._bytes.subarray(d, d + m));
}
var d = this._position, a = d + m, c = this._bytes, n = 0;
for (m = g._getResultBuffer(2 * m);d < a;) {
var p = c[d++];
if (127 >= p) {
m[n++] = p;
} else {
if (192 <= p) {
var e = 0;
224 > p ? e = (p & 31) << 6 | c[d++] & 63 : 240 > p ? e = (p & 15) << 12 | (c[d++] & 63) << 6 | c[d++] & 63 : (e = ((p & 7) << 18 | (c[d++] & 63) << 12 | (c[d++] & 63) << 6 | c[d++] & 63) - 65536, m[n++] = ((e & 1047552) >>> 10) + 55296, e = (e & 1023) + 56320);
m[n++] = e;
}
}
}
this._position = d;
return b.StringUtilities.fromCharCodeArray(m.subarray(0, n));
};
g._resultBuffer = new Int32Array(256);
return g;
}();
g.AbcStream = k;
})(k.ABC || (k.ABC = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
__extends = this.__extends || function(b, k) {
function g() {
this.constructor = b;
}
for (var f in k) {
k.hasOwnProperty(f) && (b[f] = k[f]);
}
g.prototype = k.prototype;
b.prototype = new g;
};
(function(b) {
(function(k) {
(function(g) {
var f = b.isString, t = b.isNumeric, s = b.isObject, m = b.Debug.assert, d = b.Debug.notImplemented, a = function() {
return function(a, b, c, e) {
"undefined" === typeof e && (e = !1);
this.name = a;
this.type = b;
this.value = c;
this.optional = e;
};
}();
g.Parameter = a;
var c = function() {
function a(b, c, e) {
var h = b.constantPool, l = b.methods, d = b.classes, p = b.metadata;
this.holder = e;
this.name = h.multinames[c.readU30()];
e = c.readU8();
this.kind = e & 15;
this.attributes = e >> 4 & 15;
m(r.isQName(this.name), "Name must be a QName: " + this.name + ", kind: " + this.kind);
switch(this.kind) {
case 0:
;
case 6:
this.slotId = c.readU30();
this.typeName = h.multinames[c.readU30()];
b = c.readU30();
this.value = void 0;
0 !== b && (this.hasDefaultValue = !0, this.value = h.getValue(c.readU8(), b));
break;
case 1:
;
case 3:
;
case 2:
this.dispId = c.readU30();
this.methodInfo = l[c.readU30()];
this.methodInfo.name = this.name;
u.attachHolder(this.methodInfo, this.holder);
this.methodInfo.abc = b;
break;
case 4:
this.slotId = c.readU30();
m(d, "Classes should be passed down here, I'm guessing whenever classes are being parsed.");
this.classInfo = d[c.readU30()];
break;
case 5:
m(!1, "Function encountered in the wild, should not happen");
}
if (this.attributes & 4) {
var q, h = 0;
for (b = c.readU30();h < b;h++) {
l = p[c.readU30()], "__go_to_definition_help" !== l.name && "__go_to_ctor_definition_help" !== l.name && (q || (q = {}), q[l.name] = l);
}
q && (this.isClass() && (this.classInfo.metadata = q), this.metadata = q);
}
}
a.prototype.isSlot = function() {
return 0 === this.kind;
};
a.prototype.isConst = function() {
return 6 === this.kind;
};
a.prototype.isMethod = function() {
return 1 === this.kind;
};
a.prototype.isClass = function() {
return 4 === this.kind;
};
a.prototype.isGetter = function() {
return 2 === this.kind;
};
a.prototype.isSetter = function() {
return 3 === this.kind;
};
a.prototype.isAccessor = function() {
return this.isGetter() || this.isSetter();
};
a.prototype.isMethodOrAccessor = function() {
return this.isMethod() || this.isGetter() || this.isSetter();
};
a.prototype.isProtected = function() {
m(r.isQName(this.name));
return this.name.namespaces[0].isProtected();
};
a.prototype.kindName = function() {
switch(this.kind) {
case 0:
return "Slot";
case 6:
return "Const";
case 1:
return "Method";
case 3:
return "Setter";
case 2:
return "Getter";
case 4:
return "Class";
case 5:
return "Function";
}
b.Debug.unexpected();
};
a.prototype.isOverride = function() {
return this.attributes & 2;
};
a.prototype.isFinal = function() {
return this.attributes & 1;
};
a.prototype.toString = function() {
var a = b.IntegerUtilities.getFlags(this.attributes, ["final", "override", "metadata"]);
a && (a += " ");
a += r.getQualifiedName(this.name);
switch(this.kind) {
case 0:
;
case 6:
return a + ", typeName: " + this.typeName + ", slotId: " + this.slotId + ", value: " + this.value;
case 1:
;
case 3:
;
case 2:
return a + ", " + this.kindName() + ": " + this.methodInfo.name;
case 4:
return a + ", slotId: " + this.slotId + ", class: " + this.classInfo;
}
};
a.parseTraits = function(b, c, e) {
for (var h = c.readU30(), l = [], d = 0;d < h;d++) {
l.push(new a(b, c, e));
}
return l;
};
return a;
}();
g.Trait = c;
var n = function() {
return function(a, b, c) {
this.abc = a;
this.index = b;
this.hash = a.hash & 65535 | c | b << 19;
};
}();
g.Info = n;
var p = function(h) {
function d(b, c, e) {
h.call(this, b, c, 131072);
b = b.constantPool;
c = e.readU30();
this.returnType = b.multinames[e.readU30()];
this.parameters = [];
for (var l = 0;l < c;l++) {
this.parameters.push(new a(void 0, b.multinames[e.readU30()], void 0));
}
this.debugName = b.strings[e.readU30()];
this.flags = e.readU8();
l = 0;
if (this.flags & 8) {
for (l = e.readU30(), m(c >= l), l = c - l;l < c;l++) {
var p = e.readU30();
this.parameters[l].value = b.getValue(e.readU8(), p);
this.parameters[l].optional = !0;
}
}
if (this.flags & 128) {
for (l = 0;l < c;l++) {
d.parseParameterNames ? this.parameters[l].name = b.strings[e.readU30()] : (e.readU30(), this.parameters[l].name = d._getParameterName(l));
}
} else {
for (l = 0;l < c;l++) {
this.parameters[l].name = d._getParameterName(l);
}
}
}
__extends(d, h);
d._getParameterName = function(a) {
return 26 > a ? String.fromCharCode(65 + a) : "P" + (a - 26);
};
d.prototype.toString = function() {
var a = b.IntegerUtilities.getFlags(this.flags, "NEED_ARGUMENTS NEED_ACTIVATION NEED_REST HAS_OPTIONAL SET_DXN HAS_PARAM_NAMES".split(" "));
return(a ? a + " " : "") + this.name;
};
d.prototype.hasOptional = function() {
return!!(this.flags & 8);
};
d.prototype.needsActivation = function() {
return!!(this.flags & 2);
};
d.prototype.needsRest = function() {
return!!(this.flags & 4);
};
d.prototype.needsArguments = function() {
return!!(this.flags & 1);
};
d.prototype.isNative = function() {
return!!(this.flags & 32);
};
d.prototype.isClassMember = function() {
return this.holder instanceof q;
};
d.prototype.isInstanceMember = function() {
return this.holder instanceof e;
};
d.prototype.isScriptMember = function() {
return this.holder instanceof l;
};
d.prototype.hasSetsDxns = function() {
return!!(this.flags & 64);
};
d.parseException = function(a, b) {
var c = a.constantPool.multinames, c = {start:b.readU30(), end:b.readU30(), target:b.readU30(), typeName:c[b.readU30()], varName:c[b.readU30()]};
m(!c.typeName || !c.typeName.isRuntime());
m(!c.varName || c.varName.isQName());
return c;
};
d.parseBody = function(a, b) {
var e = a.methods, h = b.readU30(), e = e[h];
e.index = h;
e.hasBody = !0;
m(!e.isNative());
e.maxStack = b.readU30();
e.localCount = b.readU30();
e.initScopeDepth = b.readU30();
e.maxScopeDepth = b.readU30();
e.code = b.readU8s(b.readU30());
for (var h = [], l = b.readU30(), p = 0;p < l;++p) {
h.push(d.parseException(a, b));
}
e.exceptions = h;
e.traits = c.parseTraits(a, b, e);
};
d.prototype.hasExceptions = function() {
return 0 < this.exceptions.length;
};
d.parseParameterNames = !1;
return d;
}(n);
g.MethodInfo = p;
var e = function(a) {
function e(b, h, l) {
a.call(this, b, h, 65536);
this.runtimeId = e.nextID++;
h = b.constantPool;
var d = b.methods;
this.name = h.multinames[l.readU30()];
m(r.isQName(this.name));
this.superName = h.multinames[l.readU30()];
this.flags = l.readU8();
this.protectedNs = void 0;
this.flags & 8 && (this.protectedNs = h.namespaces[l.readU30()]);
var p = l.readU30();
this.interfaces = [];
for (var q = 0;q < p;q++) {
this.interfaces[q] = h.multinames[l.readU30()];
}
this.init = d[l.readU30()];
this.init.isInstanceInitializer = !0;
this.init.name = this.name;
u.attachHolder(this.init, this);
this.traits = c.parseTraits(b, l, this);
}
__extends(e, a);
e.prototype.toString = function() {
var a = b.IntegerUtilities.getFlags(this.flags & 8, ["sealed", "final", "interface", "protected"]), a = (a ? a + " " : "") + this.name;
this.superName && (a += " extends " + this.superName);
return a;
};
e.prototype.isFinal = function() {
return!!(this.flags & 2);
};
e.prototype.isSealed = function() {
return!!(this.flags & 1);
};
e.prototype.isInterface = function() {
return!!(this.flags & 4);
};
e.nextID = 1;
return e;
}(n);
g.InstanceInfo = e;
(function(a) {
a[a.AbcMask = 65535] = "AbcMask";
a[a.KindMask = 458752] = "KindMask";
a[a.ClassInfo = 0] = "ClassInfo";
a[a.InstanceInfo = 65536] = "InstanceInfo";
a[a.MethodInfo = 131072] = "MethodInfo";
a[a.ScriptInfo = 196608] = "ScriptInfo";
a[a.NamespaceSet = 262144] = "NamespaceSet";
a[a.IndexOffset = 19] = "IndexOffset";
})(g.Hashes || (g.Hashes = {}));
var q = function(a) {
function b(e, h, l) {
a.call(this, e, h, 0);
this.runtimeId = b.nextID++;
this.init = e.methods[l.readU30()];
this.init.isClassInitializer = !0;
u.attachHolder(this.init, this);
this.traits = c.parseTraits(e, l, this);
this.instanceInfo = e.instances[h];
this.instanceInfo.classInfo = this;
this.defaultValue = b._getDefaultValue(this.instanceInfo.name);
}
__extends(b, a);
b._getDefaultValue = function(a) {
return r.getQualifiedName(a) === r.Int || r.getQualifiedName(a) === r.Uint ? 0 : r.getQualifiedName(a) === r.Number ? NaN : r.getQualifiedName(a) === r.Boolean ? !1 : null;
};
b.prototype.toString = function() {
return this.instanceInfo.name.toString();
};
b.nextID = 1;
return b;
}(n);
g.ClassInfo = q;
var l = function(a) {
function b(e, h, l) {
a.call(this, e, h, 196608);
this.runtimeId = q.nextID++;
this.name = e.name + "$script" + h;
this.init = e.methods[l.readU30()];
this.init.isScriptInitializer = !0;
u.attachHolder(this.init, this);
this.traits = c.parseTraits(e, l, this);
}
__extends(b, a);
Object.defineProperty(b.prototype, "entryPoint", {get:function() {
return this.init;
}, enumerable:!0, configurable:!0});
b.prototype.toString = function() {
return this.name;
};
b.nextID = 1;
return b;
}(n);
g.ScriptInfo = l;
var u = function() {
function a(c, d, r) {
"undefined" === typeof r && (r = 0);
k.enterTimeline("Parse ABC");
this.name = d;
this.env = {};
k.enterTimeline("Adler");
d = b.HashUtilities.hashBytesTo32BitsAdler(c, 0, c.length);
k.leaveTimeline();
r ? (this.hash = r, m(r === d)) : this.hash = d;
d = new g.AbcStream(c);
a._checkMagic(d);
k.enterTimeline("Parse constantPool");
this.constantPool = new x(d, this);
k.leaveTimeline();
k.enterTimeline("Parse Method Infos");
this.methods = [];
c = d.readU30();
for (r = 0;r < c;++r) {
this.methods.push(new p(this, r, d));
}
k.leaveTimeline();
k.enterTimeline("Parse MetaData Infos");
this.metadata = [];
c = d.readU30();
for (r = 0;r < c;++r) {
this.metadata.push(new h(this, d));
}
k.leaveTimeline();
k.enterTimeline("Parse Instance Infos");
this.instances = [];
c = d.readU30();
for (r = 0;r < c;++r) {
this.instances.push(new e(this, r, d));
}
k.leaveTimeline();
k.enterTimeline("Parse Class Infos");
this.classes = [];
for (r = 0;r < c;++r) {
this.classes.push(new q(this, r, d));
}
k.leaveTimeline();
k.enterTimeline("Parse Script Infos");
this.scripts = [];
c = d.readU30();
for (r = 0;r < c;++r) {
this.scripts.push(new l(this, r, d));
}
k.leaveTimeline();
k.enterTimeline("Parse Method Body Info");
c = d.readU30();
for (r = 0;r < c;++r) {
p.parseBody(this, d);
}
k.leaveTimeline();
k.leaveTimeline();
}
a._checkMagic = function(a) {
a = a.readWord();
if (3014671 > a) {
throw Error("Invalid ABC File (magic = " + Number(a).toString(16) + ")");
}
};
Object.defineProperty(a.prototype, "lastScript", {get:function() {
m(0 < this.scripts.length);
return this.scripts[this.scripts.length - 1];
}, enumerable:!0, configurable:!0});
a.attachHolder = function(a, b) {
m(!a.holder);
a.holder = b;
};
a.prototype.toString = function() {
return this.name;
};
a.prototype.getConstant = function(a) {
m((this.hash & 65535) === (a & 65535));
var b = a >> 19;
switch(a & 458752) {
case 0:
return this.classes[b];
case 65536:
return this.instances[b];
case 131072:
return this.methods[b];
case 196608:
return this.scripts[b];
case 262144:
return this.constantPool.namespaceSets[b];
default:
d("Kind");
}
};
return a;
}();
g.AbcFile = u;
var w = function() {
function a(b, c, e, h) {
"undefined" === typeof c && (c = "");
void 0 === c && (c = "");
this.kind = b;
this.uri = c;
this.prefix = e;
this.qualifiedName = void 0;
this._buildNamespace(h);
}
a.prototype._buildNamespace = function(b) {
22 === this.kind && (this.kind = 8);
this.isPublic() && this.uri ? (b = this.uri.length - 1, this.uri.charCodeAt(b) > a._MIN_API_MARK && (m(!1, "What's this code for?"), this.uri = this.uri.substring(0, b - 1))) : this.isUnique() && (m(void 0 !== b), this.uri = "private " + b);
26 === this.kind && (this.uri = "*");
this.qualifiedName = a._qualifyNamespace(this.kind, this.uri, this.prefix ? this.prefix : "");
};
a._hashNamespace = function(c, e, h) {
var l = new Int32Array(1 + e.length + h.length), d = 0;
l[d++] = c;
var p = a._knownURIs.indexOf(e);
if (0 <= p) {
return c << 2 | p;
}
for (c = 0;c < e.length;c++) {
l[d++] = e.charCodeAt(c);
}
for (c = 0;c < h.length;c++) {
l[d++] = h.charCodeAt(c);
}
return b.HashUtilities.hashBytesTo32BitsMD5(l, 0, d);
};
a._qualifyNamespace = function(c, e, h) {
var l = c + e, d = a._mangledNamespaceCache[l];
if (d) {
return d;
}
d = b.StringUtilities.variableLengthEncodeInt32(a._hashNamespace(c, e, h));
a._mangledNamespaceMap[d] = {kind:c, uri:e, prefix:h};
return a._mangledNamespaceCache[l] = d;
};
a.fromQualifiedName = function(c) {
var e = b.StringUtilities.fromEncoding(c[0]);
c = a._mangledNamespaceMap[c.substring(0, e + 1)];
return new a(c.kind, c.uri, c.prefix);
};
a.kindFromString = function(b) {
for (var c in a._kinds) {
if (a._kinds[c] === b) {
return c;
}
}
m(!1, "Cannot find kind " + b);
return NaN;
};
a.createNamespace = function(b, c) {
"undefined" === typeof c && (c = void 0);
return new a(8, b, c);
};
a.parse = function(b, c, e) {
var h = c.readU8();
b = b.strings[c.readU30()];
return new a(h, b, void 0, e);
};
a.prototype.isPublic = function() {
return 8 === this.kind || 22 === this.kind;
};
a.prototype.isProtected = function() {
return 24 === this.kind || 26 === this.kind;
};
a.prototype.isPrivate = function() {
return 5 === this.kind;
};
a.prototype.isPackageInternal = function() {
return 23 === this.kind;
};
a.prototype.isUnique = function() {
return 5 === this.kind && !this.uri;
};
a.prototype.isDynamic = function() {
return this.isPublic() && !this.uri;
};
a.prototype.getURI = function() {
return this.uri;
};
a.prototype.toString = function() {
return a._kinds[this.kind] + (this.uri ? " " + this.uri : "");
};
a.prototype.clone = function() {
var b = Object.create(a.prototype);
b.kind = this.kind;
b.uri = this.uri;
b.prefix = this.prefix;
b.qualifiedName = this.qualifiedName;
return b;
};
a.prototype.isEqualTo = function(a) {
return this.qualifiedName === a.qualifiedName;
};
a.prototype.inNamespaceSet = function(a) {
for (var b = 0;b < a.length;b++) {
if (a[b].qualifiedName === this.qualifiedName) {
return!0;
}
}
return!1;
};
a.prototype.getAccessModifier = function() {
return a._kinds[this.kind];
};
a.prototype.getQualifiedName = function() {
return this.qualifiedName;
};
a.fromSimpleName = function(b) {
if (b in a._simpleNameCache) {
return a._simpleNameCache[b];
}
var c;
0 === b.indexOf("[") ? (m("]" === b[b.length - 1]), c = b.substring(1, b.length - 1).split(",")) : c = [b];
return a._simpleNameCache[b] = c.map(function(b) {
b = b.trim();
var c;
0 < b.indexOf(" ") ? (c = b.substring(0, b.indexOf(" ")).trim(), b = b.substring(b.indexOf(" ") + 1).trim()) : (c = a._kinds, b === c[8] || b === c[23] || b === c[5] || b === c[24] || b === c[25] || b === c[26] ? (c = b, b = "") : c = a._publicPrefix);
return new a(a.kindFromString(c), b);
});
};
a._publicPrefix = "public";
a._kinds = function() {
var c = b.ObjectUtilities.createMap();
c[8] = a._publicPrefix;
c[23] = "packageInternal";
c[5] = "private";
c[24] = "protected";
c[25] = "explicit";
c[26] = "staticProtected";
return c;
}();
a._MIN_API_MARK = 58004;
a._MAX_API_MARK = 63743;
a._knownURIs = [""];
a._mangledNamespaceCache = b.ObjectUtilities.createMap();
a._mangledNamespaceMap = b.ObjectUtilities.createMap();
a.PUBLIC = new a(8);
a.PROTECTED = new a(24);
a.PROXY = new a(8, "http://www.adobe.com/2006/actionscript/flash/proxy");
a.VECTOR = new a(8, "__AS3__.vec");
a.VECTOR_PACKAGE = new a(23, "__AS3__.vec");
a.BUILTIN = new a(5, "builtin.as$0");
a._simpleNameCache = b.ObjectUtilities.createMap();
return a;
}();
g.Namespace = w;
w.prototype = Object.create(w.prototype);
var r = function() {
function a(b, c, e) {
"undefined" === typeof e && (e = 0);
void 0 !== c && m(null === c || f(c), "Multiname name must be a string. " + c);
this.runtimeId = a._nextID++;
this.namespaces = b;
this.name = c;
this.flags = e;
}
a.parse = function(c, e, h, l, d) {
var p = 0, r = e.readU8(), q, n = [], x = 0;
switch(r) {
case 7:
;
case 13:
(p = e.readU30()) ? n = [c.namespaces[p]] : x &= ~a.RUNTIME_NAME;
(p = e.readU30()) && (q = c.strings[p]);
break;
case 15:
;
case 16:
(p = e.readU30()) ? q = c.strings[p] : x &= ~a.RUNTIME_NAME;
x |= a.RUNTIME_NAMESPACE;
break;
case 17:
;
case 18:
x |= a.RUNTIME_NAMESPACE;
x |= a.RUNTIME_NAME;
break;
case 9:
;
case 14:
(p = e.readU30()) ? q = c.strings[p] : x &= ~a.RUNTIME_NAME;
p = e.readU30();
m(0 !== p);
n = c.namespaceSets[p];
break;
case 27:
;
case 28:
x |= a.RUNTIME_NAME;
p = e.readU30();
m(0 !== p);
n = c.namespaceSets[p];
break;
case 29:
return c = e.readU32(), p = e.readU32(), m(1 === p), e = e.readU32(), p = void 0, h[c] && h[e] ? (p = new a(h[c].namespaces, h[c].name, x), p.typeParameter = h[e]) : l.push({index:d, factoryTypeIndex:c, typeParameterIndex:e, flags:x}), p;
default:
b.Debug.unexpected();
}
switch(r) {
case 13:
;
case 16:
;
case 18:
;
case 14:
;
case 28:
x |= a.ATTRIBUTE;
}
return new a(n, q, x);
};
a.isMultiname = function(b) {
return "number" === typeof b || "string" === typeof b || b instanceof a || b instanceof Number;
};
a.needsResolution = function(b) {
return b instanceof a && 1 < b.namespaces.length;
};
a.isQName = function(b) {
return b instanceof a ? b.namespaces && 1 === b.namespaces.length : !0;
};
a.isRuntimeName = function(b) {
return b instanceof a && b.isRuntimeName();
};
a.isRuntimeNamespace = function(b) {
return b instanceof a && b.isRuntimeNamespace();
};
a.isRuntime = function(b) {
return b instanceof a && b.isRuntimeName() || b.isRuntimeNamespace();
};
a.getQualifiedName = function(b) {
m(a.isQName(b));
if (b instanceof a) {
if (void 0 !== b.qualifiedName) {
return b.qualifiedName;
}
var c = String(b.name);
if (t(c) && b.namespaces[0].isPublic()) {
return b.qualifiedName = c;
}
b = b.qualifiedName = a.qualifyName(b.namespaces[0], c);
}
return b;
};
a.qualifyName = function(a, c) {
return b.StringUtilities.concat3("$", a.qualifiedName, c);
};
a.stripPublicQualifier = function(a) {
var b = "$" + w.PUBLIC.qualifiedName;
return 0 !== a.indexOf(b) ? void 0 : a.substring(b.length);
};
a.fromQualifiedName = function(b) {
if (b instanceof a) {
return b;
}
if (t(b)) {
return new a([w.PUBLIC], b);
}
if ("$" === b[0]) {
var c = w.fromQualifiedName(b.substring(1));
return new a([c], b.substring(1 + c.qualifiedName.length));
}
};
a.getNameFromPublicQualifiedName = function(b) {
b = a.fromQualifiedName(b);
m(b.getNamespace().isPublic());
return b.name;
};
a.getFullQualifiedName = function(b) {
var c = a.getQualifiedName(b);
b instanceof a && b.typeParameter && (c += "$" + a.getFullQualifiedName(b.typeParameter));
return c;
};
a.getPublicQualifiedName = function(c) {
var e;
if ("string" === typeof c && (e = a._publicQualifiedNameCache[c])) {
return e;
}
if (t(c)) {
return b.toNumber(c);
}
if (null !== c && s(c)) {
return c;
}
e = a.qualifyName(w.PUBLIC, c);
"string" === typeof c && (a._publicQualifiedNameCache[c] = e);
return e;
};
a.isPublicQualifiedName = function(a) {
return "number" === typeof a || t(a) || 1 === a.indexOf(w.PUBLIC.qualifiedName);
};
a.getAccessModifier = function(b) {
m(a.isQName(b));
if ("number" === typeof b || "string" === typeof b || b instanceof Number) {
return "public";
}
m(b instanceof a);
return b.namespaces[0].getAccessModifier();
};
a.isNumeric = function(b) {
return "number" === typeof b ? !0 : "string" === typeof b ? t(b) : !isNaN(parseInt(a.getName(b), 10));
};
a.getName = function(b) {
m(b instanceof a);
m(!b.isRuntimeName());
return b.getName();
};
a.isAnyName = function(a) {
return "object" === typeof a && !a.isRuntimeName() && !a.name;
};
a.fromSimpleName = function(b) {
m(b);
if (b in a._simpleNameCache) {
return a._simpleNameCache[b];
}
var c, e;
c = b.lastIndexOf(".");
0 >= c && (c = b.lastIndexOf(" "));
0 < c && c < b.length - 1 ? (e = b.substring(c + 1).trim(), c = b.substring(0, c).trim()) : (e = b, c = "");
return a._simpleNameCache[b] = new a(w.fromSimpleName(c), e);
};
a.prototype.getQName = function(b) {
m(0 <= b && b < this.namespaces.length);
this._qualifiedNameCache || (this._qualifiedNameCache = []);
var c = this._qualifiedNameCache[b];
c || (c = this._qualifiedNameCache[b] = new a([this.namespaces[b]], this.name, this.flags));
return c;
};
a.prototype.hasQName = function(b) {
m(b instanceof a);
if (this.name !== b.name) {
return!1;
}
for (var c = 0;c < this.namespaces.length;c++) {
if (this.namespaces[c].isEqualTo(b.namespaces[0])) {
return!0;
}
}
return!1;
};
a.prototype.isAttribute = function() {
return this.flags & a.ATTRIBUTE;
};
a.prototype.isAnyName = function() {
return a.isAnyName(this);
};
a.prototype.isAnyNamespace = function() {
return!this.isRuntimeNamespace() && (0 === this.namespaces.length || this.isAnyName() && 1 !== this.namespaces.length);
};
a.prototype.isRuntimeName = function() {
return!!(this.flags & a.RUNTIME_NAME);
};
a.prototype.isRuntimeNamespace = function() {
return!!(this.flags & a.RUNTIME_NAMESPACE);
};
a.prototype.isRuntime = function() {
return!!(this.flags & (a.RUNTIME_NAME | a.RUNTIME_NAMESPACE));
};
a.prototype.isQName = function() {
return 1 === this.namespaces.length && !this.isAnyName();
};
a.prototype.hasTypeParameter = function() {
return!!this.typeParameter;
};
a.prototype.getName = function() {
return this.name;
};
a.prototype.getOriginalName = function() {
m(this.isQName());
var a = this.namespaces[0].uri;
a && (a += ".");
return a + this.name;
};
a.prototype.getNamespace = function() {
m(!this.isRuntimeNamespace());
m(1 === this.namespaces.length);
return this.namespaces[0];
};
a.prototype.nameToString = function() {
if (this.isAnyName()) {
return "*";
}
var a = this.getName();
return this.isRuntimeName() ? "[]" : a;
};
a.prototype.hasObjectName = function() {
return "object" === typeof this.name;
};
a.prototype.toString = function() {
var a = this.isAttribute() ? "@" : "";
if (this.isAnyNamespace()) {
a += "*::" + this.nameToString();
} else {
if (this.isRuntimeNamespace()) {
a += "[]::" + this.nameToString();
} else {
if (1 === this.namespaces.length && this.isQName()) {
a += this.namespaces[0].toString() + "::", a += this.nameToString();
} else {
for (var a = a + "{", b = 0, c = this.namespaces.length;b < c;b++) {
a += this.namespaces[b].toString(), b + 1 < c && (a += ",");
}
a += "}::" + this.nameToString();
}
}
}
this.hasTypeParameter() && (a += "<" + this.typeParameter.toString() + ">");
return a;
};
a.ATTRIBUTE = 1;
a.RUNTIME_NAMESPACE = 2;
a.RUNTIME_NAME = 4;
a._nextID = 0;
a._publicQualifiedNameCache = b.ObjectUtilities.createMap();
a._simpleNameCache = b.ObjectUtilities.createMap();
a.Int = a.getPublicQualifiedName("int");
a.Uint = a.getPublicQualifiedName("uint");
a.Class = a.getPublicQualifiedName("Class");
a.Array = a.getPublicQualifiedName("Array");
a.Object = a.getPublicQualifiedName("Object");
a.String = a.getPublicQualifiedName("String");
a.Number = a.getPublicQualifiedName("Number");
a.Boolean = a.getPublicQualifiedName("Boolean");
a.Function = a.getPublicQualifiedName("Function");
a.XML = a.getPublicQualifiedName("XML");
a.XMLList = a.getPublicQualifiedName("XMLList");
a.TO_STRING = a.getPublicQualifiedName("toString");
a.VALUE_OF = a.getPublicQualifiedName("valueOf");
a.TEMPORARY = new a([], "");
return a;
}();
g.Multiname = r;
var h = function() {
function a(b, c) {
for (var e = b.constantPool.strings, h = this.name = e[c.readU30()], l = c.readU30(), d = [], p = [], r = 0;r < l;r++) {
d[r] = e[c.readU30()];
}
for (r = 0;r < l;r++) {
var q = d[r];
p[r] = {key:q, value:e[c.readU30()]};
q && "native" === h && (m(!this.hasOwnProperty(q)), this[q] = p[r].value);
}
this.value = p;
}
a.prototype.toString = function() {
return "[" + this.name + "]";
};
return a;
}();
g.MetaDataInfo = h;
(function(a) {
a[a.Undefined = 0] = "Undefined";
a[a.Utf8 = 1] = "Utf8";
a[a.Float = 2] = "Float";
a[a.Int = 3] = "Int";
a[a.UInt = 4] = "UInt";
a[a.PrivateNs = 5] = "PrivateNs";
a[a.Double = 6] = "Double";
a[a.QName = 7] = "QName";
a[a.Namespace = 8] = "Namespace";
a[a.Multiname = 9] = "Multiname";
a[a.False = 10] = "False";
a[a.True = 11] = "True";
a[a.Null = 12] = "Null";
a[a.QNameA = 13] = "QNameA";
a[a.MultinameA = 14] = "MultinameA";
a[a.RTQName = 15] = "RTQName";
a[a.RTQNameA = 16] = "RTQNameA";
a[a.RTQNameL = 17] = "RTQNameL";
a[a.RTQNameLA = 18] = "RTQNameLA";
a[a.NameL = 19] = "NameL";
a[a.NameLA = 20] = "NameLA";
a[a.NamespaceSet = 21] = "NamespaceSet";
a[a.PackageNamespace = 22] = "PackageNamespace";
a[a.PackageInternalNs = 23] = "PackageInternalNs";
a[a.ProtectedNamespace = 24] = "ProtectedNamespace";
a[a.ExplicitNamespace = 25] = "ExplicitNamespace";
a[a.StaticProtectedNs = 26] = "StaticProtectedNs";
a[a.MultinameL = 27] = "MultinameL";
a[a.MultinameLA = 28] = "MultinameLA";
a[a.TypeName = 29] = "TypeName";
a[a.ClassSealed = 1] = "ClassSealed";
a[a.ClassFinal = 2] = "ClassFinal";
a[a.ClassInterface = 4] = "ClassInterface";
a[a.ClassProtectedNs = 8] = "ClassProtectedNs";
})(g.CONSTANT || (g.CONSTANT = {}));
(function(a) {
a[a.Arguments = 1] = "Arguments";
a[a.Activation = 2] = "Activation";
a[a.Needrest = 4] = "Needrest";
a[a.HasOptional = 8] = "HasOptional";
a[a.IgnoreRest = 16] = "IgnoreRest";
a[a.Native = 32] = "Native";
a[a.Setsdxns = 64] = "Setsdxns";
a[a.HasParamNames = 128] = "HasParamNames";
})(g.METHOD || (g.METHOD = {}));
(function(a) {
a[a.Slot = 0] = "Slot";
a[a.Method = 1] = "Method";
a[a.Getter = 2] = "Getter";
a[a.Setter = 3] = "Setter";
a[a.Class = 4] = "Class";
a[a.Function = 5] = "Function";
a[a.Const = 6] = "Const";
})(g.TRAIT || (g.TRAIT = {}));
(function(a) {
a[a.Final = 1] = "Final";
a[a.Override = 2] = "Override";
a[a.Metadata = 4] = "Metadata";
})(g.ATTR || (g.ATTR = {}));
(function(a) {
a[a.CASEINSENSITIVE = 1] = "CASEINSENSITIVE";
a[a.DESCENDING = 2] = "DESCENDING";
a[a.UNIQUESORT = 4] = "UNIQUESORT";
a[a.RETURNINDEXEDARRAY = 8] = "RETURNINDEXEDARRAY";
a[a.NUMERIC = 16] = "NUMERIC";
})(g.SORT || (g.SORT = {}));
var x = function() {
function a(b, c) {
var e, h = [0];
e = b.readU30();
for (var l = 1;l < e;++l) {
h.push(b.readS32());
}
var d = [0];
e = b.readU30();
for (l = 1;l < e;++l) {
d.push(b.readU32());
}
var p = [NaN];
e = b.readU30();
for (l = 1;l < e;++l) {
p.push(b.readDouble());
}
k.enterTimeline("Parse Strings");
var q = [""];
e = b.readU30();
for (l = 1;l < e;++l) {
q.push(b.readUTFString(b.readU30()));
}
k.leaveTimeline();
this.ints = h;
this.uints = d;
this.doubles = p;
this.strings = q;
k.enterTimeline("Parse Namespaces");
h = [void 0];
e = b.readU30();
for (l = 1;l < e;++l) {
h.push(w.parse(this, b, c.hash + l));
}
k.leaveTimeline();
k.enterTimeline("Parse Namespace Sets");
d = [void 0];
e = b.readU30();
for (l = 1;l < e;++l) {
p = b.readU30();
q = [];
q.runtimeId = a._nextNamespaceSetID++;
q.hash = c.hash & 65535 | 262144 | l << 19;
for (var n = 0;n < p;++n) {
q.push(h[b.readU30()]);
}
d.push(q);
}
k.leaveTimeline();
this.namespaces = h;
this.namespaceSets = d;
k.enterTimeline("Parse Multinames");
h = [void 0];
d = [];
e = b.readU30();
for (l = 1;l < e;++l) {
h.push(r.parse(this, b, h, d, l));
}
for (l = 0;l < d.length;l++) {
e = d[l], q = h[e.factoryTypeIndex], p = h[e.typeParameterIndex], m(q && p), q = new r(q.namespaces, q.name, e.flags), q.typeParameter = p, h[e.index] = q;
}
k.leaveTimeline();
this.multinames = h;
}
a.prototype.getValue = function(a, c) {
switch(a) {
case 3:
return this.ints[c];
case 4:
return this.uints[c];
case 6:
return this.doubles[c];
case 1:
return this.strings[c];
case 11:
return!0;
case 10:
return!1;
case 12:
return null;
case 0:
break;
case 8:
;
case 23:
return this.namespaces[c];
case 7:
;
case 14:
;
case 15:
;
case 16:
;
case 17:
;
case 18:
;
case 19:
;
case 20:
return this.multinames[c];
case 2:
b.Debug.warning("TODO: CONSTANT.Float may be deprecated?");
break;
default:
m(!1, "Not Implemented Kind " + a);
}
};
a._nextNamespaceSetID = 1;
return a;
}();
g.ConstantPool = x;
})(k.ABC || (k.ABC = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(a, b, c, l) {
"undefined" === typeof l && (l = null);
0 !== c.length && (a.enter(b + " {"), c.forEach(function(b, c) {
b.trace(a, l);
}), a.leave("}"));
}
function k(a, b, c) {
var l;
"undefined" === typeof l && (l = !1);
var n = c.position, f = "";
null === a.operands ? f = "null" : a.operands.forEach(function(l, h) {
var n = f, u;
a: {
u = 0;
switch(l.size) {
case "s08":
u = c.readS8();
break;
case "u08":
u = c.readU8();
break;
case "s16":
u = c.readS16();
break;
case "s24":
u = c.readS24();
break;
case "u30":
u = c.readU30();
break;
case "u32":
u = c.readU32();
break;
default:
d(!1);
}
var g = "";
switch(l.type) {
case "":
break;
case "I":
g = b.constantPool.ints[u];
break;
case "U":
g = b.constantPool.uints[u];
break;
case "D":
g = b.constantPool.doubles[u];
break;
case "S":
g = b.constantPool.strings[u];
break;
case "N":
g = b.constantPool.namespaces[u];
break;
case "CI":
g = b.classes[u];
break;
case "M":
u = b.constantPool.multinames[u];
break a;
default:
g = "?";
}
u = l.name + ":" + u + ("" === g ? "" : " (" + g + ")");
}
f = n + u;
h < a.operands.length - 1 && (f += ", ");
});
l && c.seek(n);
return f;
}
function s(a, b) {
var c = new n(a);
b.scripts.forEach(function(a) {
c.traceTraits(a.traits);
});
}
function m(a, c) {
var q = new b.Metrics.Counter(!0), l = new b.Metrics.Counter(!0), n = new b.Metrics.Counter(!0), f = new b.Metrics.Counter(!0), r = {}, h = {}, x = {};
c.classes.forEach(function(a) {
r[a.instanceInfo.name.name] = !0;
});
c.scripts.forEach(function(a) {
a.traits.forEach(function(a) {
if (a.isClass()) {
var b = a.classInfo.instanceInfo.superName ? a.classInfo.instanceInfo.superName.name : "?";
b in r || l.count(b);
a.classInfo.traits.forEach(function(a) {
a.isMethod() ? h[a.name.name] = !0 : x[a.name.name] = !0;
});
a.classInfo.instanceInfo.traits.forEach(function(a) {
!a.isMethod() || a.attributes & 2 ? x[a.name.name] = !0 : h[a.name.name] = !0;
});
}
});
});
var m = new b.Metrics.Counter(!0);
c.methods.forEach(function(a) {
function l(a) {
var b = 0;
switch(a.size) {
case "s08":
b = p.readS8();
break;
case "u08":
b = p.readU8();
break;
case "s16":
b = p.readS16();
break;
case "s24":
b = p.readS24();
break;
case "u30":
b = p.readU30();
break;
case "u32":
b = p.readU32();
break;
default:
d(!1);
}
var h = "";
switch(a.type) {
case "":
break;
case "I":
h = c.constantPool.ints[b];
break;
case "U":
h = c.constantPool.uints[b];
break;
case "D":
h = c.constantPool.doubles[b];
break;
case "S":
h = c.constantPool.strings[b];
break;
case "N":
h = c.constantPool.namespaces[b];
break;
case "CI":
h = c.classes[b];
break;
case "M":
h = c.constantPool.multinames[b];
break;
default:
h = "?";
}
return h;
}
if (a.code) {
for (var p = new g.AbcStream(a.code);0 < p.remaining();) {
a = p.readU8();
var k = b.AVM2.opcodeTable[a], s = null;
if (k) {
switch(m.count(k.name), k.operands && (s = k.operands.map(l)), a) {
case 65:
;
case 67:
continue;
case 70:
;
case 76:
;
case 79:
;
case 68:
;
case 69:
;
case 78:
!s[0] || s[0].name in h || n.count(s[0].name);
break;
case 74:
!s[0] || s[0].name in r || q.count(s[0].name);
break;
case 102:
;
case 97:
!s[0] || s[0].name in x || f.count(s[0].name);
}
}
}
}
});
a.writeLn(JSON.stringify({definedClasses:r, definedMethods:h, definedProperties:x, libraryClasses:q.counts, librarySuperClasses:l.counts, libraryMethods:n.counts, libraryProperties:f.counts, operations:m.counts}, null, 2));
}
var d = b.Debug.assert, a = b.Debug.notImplemented, c = new b.Options.Option("f", "filter", "string", "SpciMsmNtu", "[S]ource, constant[p]ool, [c]lasses, [i]nstances, [M]etadata, [s]cripts, [m]ethods, multi[N]ames, S[t]atistics, [u]tf");
g.AbcFile.prototype.trace = function(a) {
0 <= c.value.indexOf("p") && this.constantPool.trace(a);
0 <= c.value.indexOf("N") && a.writeArray(this.constantPool.multinames, null, !0);
0 <= c.value.indexOf("c") && f(a, "classes", this.classes);
0 <= c.value.indexOf("i") && f(a, "instances", this.instances);
0 <= c.value.indexOf("M") && f(a, "metadata", this.metadata);
0 <= c.value.indexOf("s") && f(a, "scripts", this.scripts);
0 <= c.value.indexOf("m") && f(a, "methods", this.methods, this);
0 <= c.value.indexOf("S") && s(a, this);
0 <= c.value.indexOf("t") && m(a, this);
};
g.ConstantPool.prototype.trace = function(a) {
a.enter("constantPool {");
for (var b in this) {
"namespaces" === b ? (a.enter("namespaces {"), this.namespaces.forEach(function(b, c) {
a.writeLn(("" + c).padRight(" ", 3) + (b ? b.toString() : "*"));
}), a.leave("}")) : this[b] instanceof Array && (a.enter(b + " " + this[b].length + " {"), a.writeArray(this[b]), a.leave("}"));
}
a.leave("}");
};
g.ClassInfo.prototype.trace = function(a) {
a.enter("class " + this + " {");
f(a, "traits", this.traits);
a.leave("}");
};
g.MetaDataInfo.prototype.trace = function(a) {
a.enter(this + " {");
this.value.forEach(function(b) {
a.writeLn((b.key ? b.key + ": " : "") + '"' + b.value + '"');
});
a.leave("}");
};
g.InstanceInfo.prototype.trace = function(a) {
a.enter("instance " + this + " {");
f(a, "traits", this.traits);
a.leave("}");
};
g.ScriptInfo.prototype.trace = function(a) {
a.enter("script " + this + " {");
f(a, "traits", this.traits);
a.leave("}");
};
g.Trait.prototype.trace = function(a) {
if (this.metadata) {
for (var b in this.metadata) {
this.metadata.hasOwnProperty(b) && this.metadata[b].trace(a);
}
}
a.writeLn(this);
};
g.MethodInfo.prototype.trace = function(a) {
var c = this.abc;
a.enter("method" + (this.name ? " " + this.name : "") + " {");
a.writeLn("flags: " + b.IntegerUtilities.getFlags(this.flags, "NEED_ARGUMENTS NEED_ACTIVATION NEED_REST HAS_OPTIONAL NATIVE SET_DXN HAS_PARAM_NAMES".split(" ")));
a.writeLn("parameters: " + this.parameters.map(function(a) {
return(a.type ? g.Multiname.getQualifiedName(a.type) + "::" : "") + a.name;
}));
if (this.code) {
var q = new g.AbcStream(this.code);
f(a, "traits", this.traits);
for (a.enter("code {");0 < q.remaining();) {
var l = q.readU8(), n = b.AVM2.opcodeTable[l], w;
w = ("" + q.position).padRight(" ", 6);
switch(l) {
case 27:
w += n.name + ": defaultOffset: " + q.readS24();
l = q.readU30();
w += ", caseCount: " + l;
for (n = 0;n < l + 1;n++) {
w += " offset: " + q.readS24();
}
a.writeLn(w);
break;
default:
n ? (w += n.name.padRight(" ", 20), n.operands ? (0 < n.operands.length && (w += k(n, c, q)), a.writeLn(w)) : d(!1, "Opcode: " + n.name + " has undefined operands.")) : d(!1, "Opcode: " + l + " is not implemented.");
}
}
a.leave("}");
}
a.leave("}");
};
var n = function() {
function c(a) {
return void 0 === a ? "undefined" : null === a ? "null" : "string" === typeof a ? '"' + a + '"' : String(a);
}
function e(a, b) {
"undefined" === typeof b && (b = !1);
return a.parameters.map(function(a) {
var e = a.name;
b || (a.type && (e += ":" + a.type.getName()), void 0 !== a.value && (e += " = " + c(a.value)));
return e;
}).join(", ");
}
function d(a) {
this.writer = a;
}
d.prototype = {traceTraits:function(b, d, q) {
var r = this.writer, h = this;
b.forEach(function(b) {
var l;
l = g.Multiname.getAccessModifier(b.name);
var n = b.name.namespaces[0].uri;
n && ("http://adobe.com/AS3/2006/builtin" === n && (n = "AS3"), l = "public" === l ? q === n ? "" : n : l);
d && (l += " static");
if (b.isSlot() || b.isConst()) {
h.traceMetadata(b.metadata), l = b.isConst() ? l + " const" : l + " var", l += " " + b.name.getName(), b.typeName && (l += ":" + b.typeName.getName()), b.value && (l += " = " + c(b.value)), r.writeLn(l + ";");
} else {
if (b.isMethod() || b.isGetter() || b.isSetter()) {
h.traceMetadata(b.metadata);
n = b.methodInfo;
b.attributes & 2 && (l += " override");
n.isNative() && (l += " native");
l = l + " function" + (b.isGetter() ? " get" : b.isSetter() ? " set" : "");
l += " " + b.name.getName();
l += "(" + e(n) + ")";
l += n.returnType ? ":" + n.returnType.getName() : "";
var f;
b.holder instanceof g.ClassInfo ? (f = b.holder.instanceInfo.name, f.getName()) : b.holder instanceof g.InstanceInfo && (f = b.holder.name, f.getName());
n.isNative();
n.isNative() ? r.writeLn(l + ";") : q ? r.writeLn(l + ";") : r.writeLn(l + ' { notImplemented("' + b.name.getName() + '"); }');
} else {
b.isClass() ? (f = b.classInfo.instanceInfo.name, r.enter("package " + f.namespaces[0].uri + " {\n"), h.traceMetadata(b.metadata), h.traceClass(b.classInfo), r.leave("\n}"), h.traceClassStub(b)) : a(b);
}
}
});
}, traceClassStub2:function(a) {
function b(a, h) {
"undefined" === typeof h && (h = !1);
var l = [];
a.forEach(function(a, b) {
(a.isMethod() || a.isGetter() || a.isSetter()) && a.methodInfo.isNative() && l.push(a);
});
l.forEach(function(a, b) {
var h = a.methodInfo, d = a.name.getName();
c.writeLn("// " + d + " :: " + (h.parameters.length ? e(h) : "void") + " -> " + (h.returnType ? h.returnType.getName() : "any"));
c.enter((a.isGetter() ? '"get ' + d + '"' : a.isSetter() ? '"set ' + d + '"' : d) + ": function " + d + "(" + e(h, !0) + ") {");
c.writeLn(' notImplemented("' + p + "." + d + '");');
c.leave("}" + (b === l.length - 1 ? "" : ",\n"));
});
}
var c = this.writer, d = a.classInfo, h = d.instanceInfo, p = h.name.getName();
a = a.metadata ? a.metadata.native : null;
if (!a) {
return!1;
}
c.writeLn("Cut and paste the following into `native.js' and edit accordingly");
c.writeLn("8< --------------------------------------------------------------");
c.enter("natives." + a.cls + " = function " + a.cls + "(runtime, scope, instanceConstructor, baseClass) {");
c.writeLn('var c = new Class("' + p + '", instanceConstructor, ApplicationDomain.passthroughCallable(instanceConstructor));');
c.writeLn("c.extend(baseClass);\n");
c.enter("c.nativeStatics = {");
b(d.traits, !0);
c.leave("};\n");
c.enter("c.nativeMethods = {");
b(h.traits);
c.leave("};\n");
c.writeLn("return c;");
c.leave("};");
c.writeLn("-------------------------------------------------------------- >8");
return!0;
}, traceClassStub:function(a) {
function c(a) {
return{properties:a.filter(function(a) {
return!1;
}), methods:a.filter(function(a) {
return(a.isMethod() || a.isGetter() || a.isSetter()) && !0 === a.methodInfo.isNative();
})};
}
function d(a, h) {
function l(a, b) {
var c = a.methodInfo, d = a.name.getName(), n = "// (" + (c.parameters.length ? e(c) : "void") + ") -> " + (c.returnType ? c.returnType.getName() : "any"), f = d;
a.isGetter() ? f = "get" : a.isSetter() && (f = "set");
p.enter(f + ": function " + d + "(" + e(c, !0) + ") { " + n);
p.writeLn('notImplemented("' + q + "." + d + '");');
h || (a.isGetter() ? p.writeLn("return this._" + d + ";") : a.isSetter() && p.writeLn("this._" + d + " = " + c.parameters[0].name + ";"));
p.leave("}" + (b ? "," : ""));
}
"undefined" === typeof h && (h = !1);
a = c(a);
var n = [], f = b.ObjectUtilities.createEmptyObject();
a.methods.forEach(function(a, b) {
var c = a.name.getName();
a.isGetter() || a.isSetter() ? (f[c] || (f[c] = []), f[c].push(a)) : n.push(a);
});
for (var w = 0;w < n.length;w++) {
l(n[w], w < n.length - 1);
}
for (var g = b.ObjectUtilities.toKeyValueArray(f), m = 0;m < g.length;m++) {
p.enter(g[m][0] + ": {");
for (var y = g[m][1], w = 0;w < y.length;w++) {
l(y[w], w < y.length - 1);
}
p.leave("}" + (m < g.length - 1 ? "," : ""));
}
a.properties.forEach(function(b, c) {
var e = b.name.getName(), h = c === a.properties.length - 1;
b.name.getNamespace().isPublic() && p.writeLn(e + ": " + ("'public " + b.name.name + "'") + (h ? "" : ","));
});
}
var p = this.writer;
a = a.classInfo;
var h = a.instanceInfo, q = h.name.getName();
p.writeLn("Cut and paste the following glue and edit accordingly.");
p.writeLn("Class " + h);
p.writeLn("8< --------------------------------------------------------------");
var n = h.name.namespaces[0].uri;
p.enter("var " + q + "Definition = (function () {");
p.enter("return {");
p.writeLn("// (" + e(h.init, !1) + ")");
p.writeLn('__class__: "' + n + "." + q + '",');
p.enter("initialize: function () {");
p.leave("},");
p.enter("__glue__: {");
p.enter("native: {");
p.enter("static: {");
d(a.traits, !0);
p.leave("},");
p.enter("instance: {");
d(h.traits);
p.leave("}");
p.leave("},");
p.enter("script: {");
p.writeLn("instance: Glue.ALL");
p.leave("}");
p.leave("}");
p.leave("};");
p.leave("}).call(this);");
p.writeLn("-------------------------------------------------------------- >8");
return!0;
}, traceClass:function(a) {
var b = this.writer, c = a.instanceInfo, d = c.name, h = g.Multiname.getAccessModifier(d);
c.isFinal() && (h += " final");
c.isSealed() || (h += " dynamic");
h += c.isInterface() ? " interface " : " class ";
h += d.getName();
c.superName && "Object" !== c.superName.getName() && (h += " extends " + c.superName.getName());
c.interfaces.length && (h += " implements " + c.interfaces.map(function(a) {
return a.getName();
}).join(", "));
b.enter(h + " {");
c.isInterface() || b.writeLn("public function " + d.getName() + "(" + e(c.init) + ") {}");
var p;
c.isInterface() && (p = d.namespaces[0].uri + ":" + d.name);
this.traceTraits(a.traits, !0, p);
this.traceTraits(c.traits, !1, p);
b.leave("}");
}, traceMetadata:function(a) {
var b = this.writer, c;
for (c in a) {
a.hasOwnProperty(c) && 0 !== c.indexOf("__") && b.writeLn("[" + c + "(" + a[c].value.map(function(a) {
return(a.key ? a.key + "=" : "") + '"' + a.value + '"';
}).join(", ") + ")]");
}
}};
return d;
}();
})(k.ABC || (k.ABC = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = b.Debug.assert, f = b.Debug.unexpected, t = b.AVM2.ABC.AbcStream, s = b.ArrayUtilities.top, m = b.ArrayUtilities.peek;
(function(a) {
a[a.bkpt = 1] = "bkpt";
a[a.nop = 2] = "nop";
a[a["throw"] = 3] = "throw";
a[a.getsuper = 4] = "getsuper";
a[a.setsuper = 5] = "setsuper";
a[a.dxns = 6] = "dxns";
a[a.dxnslate = 7] = "dxnslate";
a[a.kill = 8] = "kill";
a[a.label = 9] = "label";
a[a.lf32x4 = 10] = "lf32x4";
a[a.sf32x4 = 11] = "sf32x4";
a[a.ifnlt = 12] = "ifnlt";
a[a.ifnle = 13] = "ifnle";
a[a.ifngt = 14] = "ifngt";
a[a.ifnge = 15] = "ifnge";
a[a.jump = 16] = "jump";
a[a.iftrue = 17] = "iftrue";
a[a.iffalse = 18] = "iffalse";
a[a.ifeq = 19] = "ifeq";
a[a.ifne = 20] = "ifne";
a[a.iflt = 21] = "iflt";
a[a.ifle = 22] = "ifle";
a[a.ifgt = 23] = "ifgt";
a[a.ifge = 24] = "ifge";
a[a.ifstricteq = 25] = "ifstricteq";
a[a.ifstrictne = 26] = "ifstrictne";
a[a.lookupswitch = 27] = "lookupswitch";
a[a.pushwith = 28] = "pushwith";
a[a.popscope = 29] = "popscope";
a[a.nextname = 30] = "nextname";
a[a.hasnext = 31] = "hasnext";
a[a.pushnull = 32] = "pushnull";
a[a.pushundefined = 33] = "pushundefined";
a[a.pushfloat = 34] = "pushfloat";
a[a.nextvalue = 35] = "nextvalue";
a[a.pushbyte = 36] = "pushbyte";
a[a.pushshort = 37] = "pushshort";
a[a.pushtrue = 38] = "pushtrue";
a[a.pushfalse = 39] = "pushfalse";
a[a.pushnan = 40] = "pushnan";
a[a.pop = 41] = "pop";
a[a.dup = 42] = "dup";
a[a.swap = 43] = "swap";
a[a.pushstring = 44] = "pushstring";
a[a.pushint = 45] = "pushint";
a[a.pushuint = 46] = "pushuint";
a[a.pushdouble = 47] = "pushdouble";
a[a.pushscope = 48] = "pushscope";
a[a.pushnamespace = 49] = "pushnamespace";
a[a.hasnext2 = 50] = "hasnext2";
a[a.li8 = 53] = "li8";
a[a.li16 = 54] = "li16";
a[a.li32 = 55] = "li32";
a[a.lf32 = 56] = "lf32";
a[a.lf64 = 57] = "lf64";
a[a.si8 = 58] = "si8";
a[a.si16 = 59] = "si16";
a[a.si32 = 60] = "si32";
a[a.sf32 = 61] = "sf32";
a[a.sf64 = 62] = "sf64";
a[a.newfunction = 64] = "newfunction";
a[a.call = 65] = "call";
a[a.construct = 66] = "construct";
a[a.callmethod = 67] = "callmethod";
a[a.callstatic = 68] = "callstatic";
a[a.callsuper = 69] = "callsuper";
a[a.callproperty = 70] = "callproperty";
a[a.returnvoid = 71] = "returnvoid";
a[a.returnvalue = 72] = "returnvalue";
a[a.constructsuper = 73] = "constructsuper";
a[a.constructprop = 74] = "constructprop";
a[a.callsuperid = 75] = "callsuperid";
a[a.callproplex = 76] = "callproplex";
a[a.callinterface = 77] = "callinterface";
a[a.callsupervoid = 78] = "callsupervoid";
a[a.callpropvoid = 79] = "callpropvoid";
a[a.sxi1 = 80] = "sxi1";
a[a.sxi8 = 81] = "sxi8";
a[a.sxi16 = 82] = "sxi16";
a[a.applytype = 83] = "applytype";
a[a.pushfloat4 = 84] = "pushfloat4";
a[a.newobject = 85] = "newobject";
a[a.newarray = 86] = "newarray";
a[a.newactivation = 87] = "newactivation";
a[a.newclass = 88] = "newclass";
a[a.getdescendants = 89] = "getdescendants";
a[a.newcatch = 90] = "newcatch";
a[a.findpropstrict = 93] = "findpropstrict";
a[a.findproperty = 94] = "findproperty";
a[a.finddef = 95] = "finddef";
a[a.getlex = 96] = "getlex";
a[a.setproperty = 97] = "setproperty";
a[a.getlocal = 98] = "getlocal";
a[a.setlocal = 99] = "setlocal";
a[a.getglobalscope = 100] = "getglobalscope";
a[a.getscopeobject = 101] = "getscopeobject";
a[a.getproperty = 102] = "getproperty";
a[a.getouterscope = 103] = "getouterscope";
a[a.initproperty = 104] = "initproperty";
a[a.setpropertylate = 105] = "setpropertylate";
a[a.deleteproperty = 106] = "deleteproperty";
a[a.deletepropertylate = 107] = "deletepropertylate";
a[a.getslot = 108] = "getslot";
a[a.setslot = 109] = "setslot";
a[a.getglobalslot = 110] = "getglobalslot";
a[a.setglobalslot = 111] = "setglobalslot";
a[a.convert_s = 112] = "convert_s";
a[a.esc_xelem = 113] = "esc_xelem";
a[a.esc_xattr = 114] = "esc_xattr";
a[a.convert_i = 115] = "convert_i";
a[a.convert_u = 116] = "convert_u";
a[a.convert_d = 117] = "convert_d";
a[a.convert_b = 118] = "convert_b";
a[a.convert_o = 119] = "convert_o";
a[a.checkfilter = 120] = "checkfilter";
a[a.convert_f = 121] = "convert_f";
a[a.unplus = 122] = "unplus";
a[a.convert_f4 = 123] = "convert_f4";
a[a.coerce = 128] = "coerce";
a[a.coerce_b = 129] = "coerce_b";
a[a.coerce_a = 130] = "coerce_a";
a[a.coerce_i = 131] = "coerce_i";
a[a.coerce_d = 132] = "coerce_d";
a[a.coerce_s = 133] = "coerce_s";
a[a.astype = 134] = "astype";
a[a.astypelate = 135] = "astypelate";
a[a.coerce_u = 136] = "coerce_u";
a[a.coerce_o = 137] = "coerce_o";
a[a.negate = 144] = "negate";
a[a.increment = 145] = "increment";
a[a.inclocal = 146] = "inclocal";
a[a.decrement = 147] = "decrement";
a[a.declocal = 148] = "declocal";
a[a["typeof"] = 149] = "typeof";
a[a.not = 150] = "not";
a[a.bitnot = 151] = "bitnot";
a[a.add = 160] = "add";
a[a.subtract = 161] = "subtract";
a[a.multiply = 162] = "multiply";
a[a.divide = 163] = "divide";
a[a.modulo = 164] = "modulo";
a[a.lshift = 165] = "lshift";
a[a.rshift = 166] = "rshift";
a[a.urshift = 167] = "urshift";
a[a.bitand = 168] = "bitand";
a[a.bitor = 169] = "bitor";
a[a.bitxor = 170] = "bitxor";
a[a.equals = 171] = "equals";
a[a.strictequals = 172] = "strictequals";
a[a.lessthan = 173] = "lessthan";
a[a.lessequals = 174] = "lessequals";
a[a.greaterthan = 175] = "greaterthan";
a[a.greaterequals = 176] = "greaterequals";
a[a["instanceof"] = 177] = "instanceof";
a[a.istype = 178] = "istype";
a[a.istypelate = 179] = "istypelate";
a[a["in"] = 180] = "in";
a[a.increment_i = 192] = "increment_i";
a[a.decrement_i = 193] = "decrement_i";
a[a.inclocal_i = 194] = "inclocal_i";
a[a.declocal_i = 195] = "declocal_i";
a[a.negate_i = 196] = "negate_i";
a[a.add_i = 197] = "add_i";
a[a.subtract_i = 198] = "subtract_i";
a[a.multiply_i = 199] = "multiply_i";
a[a.getlocal0 = 208] = "getlocal0";
a[a.getlocal1 = 209] = "getlocal1";
a[a.getlocal2 = 210] = "getlocal2";
a[a.getlocal3 = 211] = "getlocal3";
a[a.setlocal0 = 212] = "setlocal0";
a[a.setlocal1 = 213] = "setlocal1";
a[a.setlocal2 = 214] = "setlocal2";
a[a.setlocal3 = 215] = "setlocal3";
a[a.invalid = 237] = "invalid";
a[a.debug = 239] = "debug";
a[a.debugline = 240] = "debugline";
a[a.debugfile = 241] = "debugfile";
a[a.bkptline = 242] = "bkptline";
a[a.timestamp = 243] = "timestamp";
})(k.OP || (k.OP = {}));
k.opcodeTable = [null, {name:"bkpt", canThrow:!1, operands:[]}, {name:"nop", canThrow:!1, operands:[]}, {name:"throw", canThrow:!0, operands:[]}, {name:"getsuper", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"setsuper", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"dxns", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"dxnslate", canThrow:!0, operands:[]}, {name:"kill", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]},
{name:"label", canThrow:!1, operands:[]}, {name:"lf32x4", canThrow:!0, operands:[]}, {name:"sf32x4", canThrow:!0, operands:[]}, {name:"ifnlt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifnle", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifngt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifnge", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"jump", canThrow:!1, operands:[{name:"offset", size:"s24",
type:""}]}, {name:"iftrue", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"iffalse", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifeq", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifne", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"iflt", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifle", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifgt", canThrow:!0,
operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifge", canThrow:!0, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifstricteq", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"ifstrictne", canThrow:!1, operands:[{name:"offset", size:"s24", type:""}]}, {name:"lookupswitch", canThrow:!1, operands:null}, {name:"pushwith", canThrow:!1, operands:[]}, {name:"popscope", canThrow:!1, operands:[]}, {name:"nextname", canThrow:!0, operands:[]}, {name:"hasnext", canThrow:!0,
operands:[]}, {name:"pushnull", canThrow:!1, operands:[]}, {name:"pushundefined", canThrow:!1, operands:[]}, null, {name:"nextvalue", canThrow:!0, operands:[]}, {name:"pushbyte", canThrow:!1, operands:[{name:"value", size:"s08", type:""}]}, {name:"pushshort", canThrow:!1, operands:[{name:"value", size:"s16", type:""}]}, {name:"pushtrue", canThrow:!1, operands:[]}, {name:"pushfalse", canThrow:!1, operands:[]}, {name:"pushnan", canThrow:!1, operands:[]}, {name:"pop", canThrow:!1, operands:[]},
{name:"dup", canThrow:!1, operands:[]}, {name:"swap", canThrow:!1, operands:[]}, {name:"pushstring", canThrow:!1, operands:[{name:"index", size:"u30", type:"S"}]}, {name:"pushint", canThrow:!1, operands:[{name:"index", size:"u30", type:"I"}]}, {name:"pushuint", canThrow:!1, operands:[{name:"index", size:"u30", type:"U"}]}, {name:"pushdouble", canThrow:!1, operands:[{name:"index", size:"u30", type:"D"}]}, {name:"pushscope", canThrow:!1, operands:[]}, {name:"pushnamespace", canThrow:!1, operands:[{name:"index",
size:"u30", type:"N"}]}, {name:"hasnext2", canThrow:!0, operands:[{name:"object", size:"u30", type:""}, {name:"index", size:"u30", type:""}]}, {name:"lix8", canThrow:!0, operands:null}, {name:"lix16", canThrow:!0, operands:null}, {name:"li8", canThrow:!0, operands:[]}, {name:"li16", canThrow:!0, operands:[]}, {name:"li32", canThrow:!0, operands:[]}, {name:"lf32", canThrow:!0, operands:[]}, {name:"lf64", canThrow:!0, operands:[]}, {name:"si8", canThrow:!0, operands:[]}, {name:"si16", canThrow:!0,
operands:[]}, {name:"si32", canThrow:!0, operands:[]}, {name:"sf32", canThrow:!0, operands:[]}, {name:"sf64", canThrow:!0, operands:[]}, null, {name:"newfunction", canThrow:!0, operands:[{name:"index", size:"u30", type:"MI"}]}, {name:"call", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"construct", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"callmethod", canThrow:!0, operands:[{name:"index", size:"u30", type:""}, {name:"argCount", size:"u30",
type:""}]}, {name:"callstatic", canThrow:!0, operands:[{name:"index", size:"u30", type:"MI"}, {name:"argCount", size:"u30", type:""}]}, {name:"callsuper", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"returnvoid", canThrow:!1, operands:[]}, {name:"returnvalue", canThrow:!0, operands:[]}, {name:"constructsuper",
canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"constructprop", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callsuperid", canThrow:!0, operands:null}, {name:"callproplex", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"callinterface", canThrow:!0, operands:null}, {name:"callsupervoid", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"},
{name:"argCount", size:"u30", type:""}]}, {name:"callpropvoid", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}, {name:"argCount", size:"u30", type:""}]}, {name:"sxi1", canThrow:!1, operands:[]}, {name:"sxi8", canThrow:!1, operands:[]}, {name:"sxi16", canThrow:!1, operands:[]}, {name:"applytype", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"pushfloat4", canThrow:!1, operands:null}, {name:"newobject", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]},
{name:"newarray", canThrow:!0, operands:[{name:"argCount", size:"u30", type:""}]}, {name:"newactivation", canThrow:!0, operands:[]}, {name:"newclass", canThrow:!0, operands:[{name:"index", size:"u30", type:"CI"}]}, {name:"getdescendants", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"newcatch", canThrow:!0, operands:[{name:"index", size:"u30", type:"EI"}]}, {name:"findpropglobalstrict", canThrow:!0, operands:null}, {name:"findpropglobal", canThrow:!0, operands:null}, {name:"findpropstrict",
canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"findproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"finddef", canThrow:!0, operands:null}, {name:"getlex", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"setproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"getlocal", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"setlocal", canThrow:!1, operands:[{name:"index", size:"u30",
type:""}]}, {name:"getglobalscope", canThrow:!1, operands:[]}, {name:"getscopeobject", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"getproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"getouterscope", canThrow:!1, operands:null}, {name:"initproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, null, {name:"deleteproperty", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, null, {name:"getslot", canThrow:!0,
operands:[{name:"index", size:"u30", type:""}]}, {name:"setslot", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"getglobalslot", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"setglobalslot", canThrow:!1, operands:[{name:"index", size:"u30", type:""}]}, {name:"convert_s", canThrow:!0, operands:[]}, {name:"esc_xelem", canThrow:!0, operands:[]}, {name:"esc_xattr", canThrow:!0, operands:[]}, {name:"convert_i", canThrow:!0, operands:[]}, {name:"convert_u",
canThrow:!0, operands:[]}, {name:"convert_d", canThrow:!0, operands:[]}, {name:"convert_b", canThrow:!0, operands:[]}, {name:"convert_o", canThrow:!0, operands:[]}, {name:"checkfilter", canThrow:!0, operands:[]}, {name:"convert_f", canThrow:!0, operands:[]}, {name:"unplus", canThrow:!0, operands:[]}, {name:"convert_f4", canThrow:!0, operands:[]}, null, null, null, null, {name:"coerce", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"coerce_b", canThrow:!0, operands:[]},
{name:"coerce_a", canThrow:!0, operands:[]}, {name:"coerce_i", canThrow:!0, operands:[]}, {name:"coerce_d", canThrow:!0, operands:[]}, {name:"coerce_s", canThrow:!0, operands:[]}, {name:"astype", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"astypelate", canThrow:!0, operands:[]}, {name:"coerce_u", canThrow:!0, operands:[]}, {name:"coerce_o", canThrow:!0, operands:[]}, null, null, null, null, null, null, {name:"negate", canThrow:!0, operands:[]}, {name:"increment", canThrow:!0,
operands:[]}, {name:"inclocal", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"decrement", canThrow:!0, operands:[]}, {name:"declocal", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"typeof", canThrow:!1, operands:[]}, {name:"not", canThrow:!1, operands:[]}, {name:"bitnot", canThrow:!0, operands:[]}, null, null, null, null, null, null, null, null, {name:"add", canThrow:!0, operands:[]}, {name:"subtract", canThrow:!0, operands:[]}, {name:"multiply",
canThrow:!0, operands:[]}, {name:"divide", canThrow:!0, operands:[]}, {name:"modulo", canThrow:!0, operands:[]}, {name:"lshift", canThrow:!0, operands:[]}, {name:"rshift", canThrow:!0, operands:[]}, {name:"urshift", canThrow:!0, operands:[]}, {name:"bitand", canThrow:!0, operands:[]}, {name:"bitor", canThrow:!0, operands:[]}, {name:"bitxor", canThrow:!0, operands:[]}, {name:"equals", canThrow:!0, operands:[]}, {name:"strictequals", canThrow:!0, operands:[]}, {name:"lessthan", canThrow:!0, operands:[]},
{name:"lessequals", canThrow:!0, operands:[]}, {name:"greaterthan", canThrow:!0, operands:[]}, {name:"greaterequals", canThrow:!0, operands:[]}, {name:"instanceof", canThrow:!0, operands:[]}, {name:"istype", canThrow:!0, operands:[{name:"index", size:"u30", type:"M"}]}, {name:"istypelate", canThrow:!0, operands:[]}, {name:"in", canThrow:!0, operands:[]}, null, null, null, null, null, null, null, null, null, null, null, {name:"increment_i", canThrow:!0, operands:[]}, {name:"decrement_i", canThrow:!0,
operands:[]}, {name:"inclocal_i", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"declocal_i", canThrow:!0, operands:[{name:"index", size:"u30", type:""}]}, {name:"negate_i", canThrow:!0, operands:[]}, {name:"add_i", canThrow:!0, operands:[]}, {name:"subtract_i", canThrow:!0, operands:[]}, {name:"multiply_i", canThrow:!0, operands:[]}, null, null, null, null, null, null, null, null, {name:"getlocal0", canThrow:!1, operands:[]}, {name:"getlocal1", canThrow:!1, operands:[]},
{name:"getlocal2", canThrow:!1, operands:[]}, {name:"getlocal3", canThrow:!1, operands:[]}, {name:"setlocal0", canThrow:!1, operands:[]}, {name:"setlocal1", canThrow:!1, operands:[]}, {name:"setlocal2", canThrow:!1, operands:[]}, {name:"setlocal3", canThrow:!1, operands:[]}, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, {name:"invalid", canThrow:!1, operands:[]}, null, {name:"debug", canThrow:!0, operands:[{name:"debugType",
size:"u08", type:""}, {name:"index", size:"u30", type:"S"}, {name:"reg", size:"u08", type:""}, {name:"extra", size:"u30", type:""}]}, {name:"debugline", canThrow:!0, operands:[{name:"lineNumber", size:"u30", type:""}]}, {name:"debugfile", canThrow:!0, operands:[{name:"index", size:"u30", type:"S"}]}, null, null, null, null, null, null, null, null, null, null, null, null, null, null];
k.opcodeName = function(a) {
return k.opcodeTable[a].name;
};
var d = function() {
function a(c) {
var e = c.readU8();
this.op = e;
this.originalPosition = c.position;
var d = b.AVM2.opcodeTable[e];
d || f("Unknown Op " + e);
this.canThrow = d.canThrow;
var p;
switch(e) {
case 27:
d = c.readS24();
this.offsets = [];
p = c.readU30() + 1;
for (e = 0;e < p;e++) {
this.offsets.push(c.readS24());
}
this.offsets.push(d);
break;
default:
for (e = 0, p = d.operands.length;e < p;e++) {
var r = d.operands[e];
switch(r.size) {
case "u08":
this[r.name] = c.readU8();
break;
case "s08":
this[r.name] = c.readS8();
break;
case "s16":
this[r.name] = c.readS16();
break;
case "s24":
this[r.name] = c.readS24();
break;
case "u30":
this[r.name] = c.readU30();
break;
case "u32":
this[r.name] = c.readU32();
break;
default:
f();
}
}
;
}
}
a.prototype.makeBlockHead = function(a) {
if (this.succs) {
return a;
}
this.bid = a;
this.succs = [];
this.preds = [];
this.dominatees = [];
return a + 1;
};
a.prototype.trace = function(a) {
this.succs && a.writeLn("#" + this.bid);
};
a.prototype.toString = function(a) {
var c = b.AVM2.opcodeTable[this.op], e = c.name.padRight(" ", 20), d, p;
if (27 === this.op) {
for (e += "targets:", d = 0, p = this.targets.length;d < p;d++) {
e += (0 < d ? "," : "") + this.targets[d].position;
}
} else {
for (d = 0, p = c.operands.length;d < p;d++) {
var h = c.operands[d];
if ("offset" === h.name) {
e += "target:" + this.target.position;
} else {
var e = e + (h.name + ": "), n = this[h.name];
if (a) {
switch(h.type) {
case "":
e += n;
break;
case "I":
e += a.constantPool.ints[n];
break;
case "U":
e += a.constantPool.uints[n];
break;
case "D":
e += a.constantPool.doubles[n];
break;
case "S":
e += a.constantPool.strings[n];
break;
case "N":
e += a.constantPool.namespaces[n];
break;
case "CI":
e += a.classes[n];
break;
case "M":
e += a.constantPool.multinames[n];
break;
default:
e += "?";
}
} else {
e += n;
}
}
d < p - 1 && (e += ", ");
}
}
return e;
};
return a;
}();
k.Bytecode = d;
var a = b.BitSets.BITS_PER_WORD, c = b.BitSets.ADDRESS_BITS_PER_WORD, n = b.BitSets.BIT_INDEX_MASK, p = function(b) {
function d(a, c) {
b.call(this, a);
this.blockById = c;
}
__extends(d, b);
d.prototype.forEachBlock = function(b) {
g(b);
for (var c = this.blockById, e = this.bits, d = 0, h = e.length;d < h;d++) {
var p = e[d];
if (p) {
for (var n = 0;n < a;n++) {
p & 1 << n && b(c[d * a + n]);
}
}
}
};
d.prototype.choose = function() {
for (var b = this.blockById, c = this.bits, e = 0, d = c.length;e < d;e++) {
var h = c[e];
if (h) {
for (var p = 0;p < a;p++) {
if (h & 1 << p) {
return b[e * a + p];
}
}
}
}
};
d.prototype.members = function() {
for (var b = this.blockById, c = [], e = this.bits, d = 0, h = e.length;d < h;d++) {
var p = e[d];
if (p) {
for (var n = 0;n < a;n++) {
p & 1 << n && c.push(b[d * a + n]);
}
}
}
return c;
};
d.prototype.setBlocks = function(a) {
for (var b = this.bits, e = 0, d = a.length;e < d;e++) {
var h = a[e].bid;
b[h >> c] |= 1 << (h & n);
}
};
return d;
}(b.BitSets.Uint32ArrayBitSet);
k.BlockSet = p;
p = function() {
function a(b) {
this.methodInfo = b;
this.methodInfo.code && (k.enterTimeline("normalizeBytecode"), this.normalizeBytecode(), k.leaveTimeline());
}
a.prototype.makeBlockSetFactory = function(a, c) {
g(!this.boundBlockSet);
this.boundBlockSet = function() {
return new b.AVM2.BlockSet(a, c);
};
};
a.prototype.accessLocal = function(a) {
0 !== a-- && a < this.methodInfo.parameters.length && (this.methodInfo.parameters[a].isUsed = !0);
};
a.prototype.getInvalidTarget = function(a, b) {
if (a && a[b]) {
return a[b];
}
var c = Object.create(d.prototype);
c.op = 237;
c.position = b;
a && (a[b] = c);
return c;
};
a.prototype.normalizeBytecode = function() {
for (var a = [], b = [], c = new t(this.methodInfo.code), e;0 < c.remaining();) {
var p = c.position;
e = new d(c);
switch(e.op) {
case 2:
;
case 9:
a[p] = b.length;
continue;
case 27:
this.methodInfo.hasLookupSwitches = !0;
e.targets = [];
for (var h = e.offsets, n = 0, f = h.length;n < f;n++) {
h[n] += p;
}
break;
case 16:
;
case 21:
;
case 12:
;
case 22:
;
case 13:
;
case 23:
;
case 14:
;
case 24:
;
case 15:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
;
case 17:
;
case 18:
e.offset += c.position;
break;
case 208:
;
case 209:
;
case 210:
;
case 211:
this.accessLocal(e.op - 208);
break;
case 98:
this.accessLocal(e.index);
}
e.position = b.length;
a[p] = b.length;
b.push(e);
}
for (var c = {}, g = 0, m = b.length;g < m;g++) {
switch(e = b[g], e.op) {
case 27:
h = e.offsets;
n = 0;
for (f = h.length;n < f;n++) {
p = a[h[n]], e.targets.push(b[p] || this.getInvalidTarget(c, h[n])), h[n] = p;
}
break;
case 16:
;
case 21:
;
case 12:
;
case 22:
;
case 13:
;
case 23:
;
case 14:
;
case 24:
;
case 15:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
;
case 17:
;
case 18:
p = a[e.offset], e.target = b[p] || this.getInvalidTarget(c, e.offset), e.offset = p;
}
}
this.bytecodes = b;
e = this.methodInfo.exceptions;
n = 0;
for (f = e.length;n < f;n++) {
h = e[n], h.start = a[h.start], h.end = a[h.end], h.offset = a[h.target], h.target = b[h.offset], h.target.exception = h;
}
};
a.prototype.analyzeControlFlow = function() {
g(this.bytecodes);
k.enterTimeline("analyzeControlFlow");
this.detectBasicBlocks();
this.normalizeReachableBlocks();
this.computeDominance();
this.analyzedControlFlow = !0;
k.leaveTimeline();
return!0;
};
a.prototype.detectBasicBlocks = function() {
var a = this.bytecodes, b = this.methodInfo.exceptions, c = 0 < b.length, e = {}, d, h, p, n;
n = a[0].makeBlockHead(0);
h = 0;
for (p = a.length - 1;h < p;h++) {
switch(d = a[h], d.op) {
case 71:
;
case 72:
;
case 3:
n = a[h + 1].makeBlockHead(n);
break;
case 27:
d = d.targets;
for (var f = 0, m = d.length;f < m;f++) {
n = d[f].makeBlockHead(n);
}
n = a[h + 1].makeBlockHead(n);
break;
case 16:
;
case 21:
;
case 12:
;
case 22:
;
case 13:
;
case 23:
;
case 14:
;
case 24:
;
case 15:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
;
case 17:
;
case 18:
n = d.target.makeBlockHead(n), n = a[h + 1].makeBlockHead(n);
}
}
d = a[p];
switch(d.op) {
case 27:
d = d.targets;
f = 0;
for (m = d.length;f < m;f++) {
n = d[f].makeBlockHead(n);
}
break;
case 16:
n = d.target.makeBlockHead(n);
break;
case 21:
;
case 12:
;
case 22:
;
case 13:
;
case 23:
;
case 14:
;
case 24:
;
case 15:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
;
case 17:
;
case 18:
n = d.target.makeBlockHead(n), a[h + 1] = this.getInvalidTarget(null, h + 1), n = a[h + 1].makeBlockHead(n);
}
if (c) {
for (f = 0;f < b.length;f++) {
h = b[f], p = a[h.end + 1], n = a[h.start].makeBlockHead(n), p && (n = p.makeBlockHead(n)), n = h.target.makeBlockHead(n);
}
}
var k = a[0];
h = 1;
for (p = a.length;h < p;h++) {
if (a[h].succs) {
g(k.succs);
e[k.bid] = k;
d = a[h - 1];
k.end = d;
var s = a[h];
switch(d.op) {
case 71:
;
case 72:
;
case 3:
break;
case 27:
f = 0;
for (m = d.targets.length;f < m;f++) {
k.succs.push(d.targets[f]);
}
break;
case 16:
k.succs.push(d.target);
break;
case 21:
;
case 12:
;
case 22:
;
case 13:
;
case 23:
;
case 14:
;
case 24:
;
case 15:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
;
case 17:
;
case 18:
k.succs.push(d.target);
d.target !== s && k.succs.push(s);
break;
default:
k.succs.push(s);
}
if (c) {
f = k;
m = [];
d = 0;
for (var t = b.length;d < t;d++) {
var K = b[d];
f.position >= K.start && f.end.position <= K.end && m.push(K.target);
}
d = m;
k.hasCatches = 0 < d.length;
k.succs.push.apply(k.succs, d);
}
k = s;
}
}
e[k.bid] = k;
d = a[p - 1];
switch(d.op) {
case 27:
f = 0;
for (m = d.targets.length;f < m;f++) {
k.succs.push(d.targets[f]);
}
break;
case 16:
k.succs.push(d.target);
}
k.end = d;
this.makeBlockSetFactory(n, e);
};
a.prototype.normalizeReachableBlocks = function() {
var a = this.bytecodes[0];
g(0 === a.preds.length);
var b = [], c = {}, e = {}, d = [a];
for (e[a.bid] = !0;a = s(d);) {
if (c[a.bid]) {
if (1 === c[a.bid]) {
c[a.bid] = 2;
b.push(a);
for (var h = a.succs, p = 0, n = h.length;p < n;p++) {
h[p].preds.push(a);
}
}
e[a.bid] = !1;
d.pop();
} else {
for (c[a.bid] = 1, e[a.bid] = !0, h = a.succs, p = 0, n = h.length;p < n;p++) {
var f = h[p];
e[f.bid] && (a.spbacks || (a.spbacks = new this.boundBlockSet), a.spbacks.set(f.bid));
!c[f.bid] && d.push(f);
}
}
}
this.blocks = b.reverse();
};
a.prototype.computeDominance = function() {
var a = this.blocks, b = a.length, c = Array(b);
c[0] = 0;
for (var e = {}, d = 0;d < b;d++) {
e[a[d].bid] = d;
}
for (var h = !0;h;) {
for (h = !1, d = 1;d < b;d++) {
var p = a[d].preds, n = p.length, f = e[p[0].bid];
if (!(f in c)) {
for (var m = 1;m < n && !(f = e[p[m].bid], f in c);m++) {
}
}
g(f in c);
for (m = 0;m < n;m++) {
var k = e[p[m].bid];
if (k !== f && k in c) {
for (;k !== f;) {
for (;k > f;) {
k = c[k];
}
for (;f > k;) {
f = c[f];
}
}
f = k;
}
}
c[d] !== f && (c[d] = f, h = !0);
}
}
a[0].dominator = a[0];
for (d = 1;d < b;d++) {
e = a[d], m = a[c[d]], e.dominator = m, m.dominatees.push(e), e.npreds = e.preds.length;
}
b = [a[0]];
for (a[0].level || (a[0].level = 0);e = b.shift();) {
a = e.dominatees;
for (m = 0;m < a.length;m++) {
a[m].level = e.level + 1;
}
b.push.apply(b, a);
}
};
a.prototype.markLoops = function() {
function a(b) {
var c = 1, h = {}, e = {}, d = [], p = [], l = [], n = b.level + 1;
b = [b];
for (var q, r;q = s(b);) {
if (h[q.bid]) {
if (m(p) === q) {
p.pop();
var f = [];
do {
r = d.pop(), e[r.bid] = !0, f.push(r);
} while (r !== q);
(1 < f.length || r.spbacks && r.spbacks.get(r.bid)) && l.push(f);
}
b.pop();
} else {
h[q.bid] = c++;
d.push(q);
p.push(q);
r = q.succs;
for (var f = 0, x = r.length;f < x;f++) {
if (q = r[f], !(q.level < n)) {
var w = q.bid;
if (!h[w]) {
b.push(q);
} else {
if (!e[w]) {
for (;h[m(p).bid] > h[w];) {
p.pop();
}
}
}
}
}
}
}
return l;
}
function b(a, c) {
var h = new e;
h.setBlocks(a);
h.recount();
this.id = c;
this.body = h;
this.exit = new e;
this.save = {};
this.head = new e;
this.npreds = 0;
this._dirtyLocals = null;
}
if (!this.analyzedControlFlow && !this.analyzeControlFlow()) {
return!1;
}
var c = this.bytecodes, e = this.boundBlockSet;
b.prototype.getDirtyLocals = function() {
if (this._dirtyLocals) {
return this._dirtyLocals;
}
var a = this._dirtyLocals = [];
this.body.members().forEach(function(b) {
var h = b.position;
for (b = b.end.position;h <= b;h++) {
var e = c[h], d = e.op;
switch(d) {
case 146:
;
case 148:
;
case 99:
;
case 194:
;
case 195:
a[e.index] = !0;
break;
case 50:
a[e.index] = !0;
a[e.object] = !0;
break;
case 212:
;
case 213:
;
case 214:
;
case 215:
a[d - 212] = !0;
}
}
});
return a;
};
var d = function(a) {
for (var b = new e, c = 0, h = a.length;c < h;c++) {
var d = a[c], p = d.spbacks;
if (p) {
for (var d = d.succs, l = 0, n = d.length;l < n;l++) {
var q = d[l];
p.get(q.bid) && b.set(q.dominator.bid);
}
}
}
return b.members();
}(this.blocks);
if (0 >= d.length) {
return this.markedLoops = !0;
}
for (var d = d.sort(function(a, b) {
return a.level - b.level;
}), h = 0, p = d.length - 1;0 <= p;p--) {
var n = d[p], f = a(n);
if (0 !== f.length) {
for (var g = 0, k = f.length;g < k;g++) {
for (var t = f[g], O = new b(t, h++), K = 0, F = t.length;K < F;K++) {
var J = t[K];
if (J.level === n.level + 1 && !J.loop) {
J.loop = O;
O.head.set(J.bid);
for (var A = J.preds, B = 0, z = A.length;B < z;B++) {
O.body.get(A[B].bid) && J.npreds--;
}
O.npreds += J.npreds;
}
}
K = 0;
for (F = t.length;K < F;K++) {
J = t[K], J.level === n.level + 1 && (J.npreds = O.npreds);
}
O.head.recount();
}
}
}
return this.markedLoops = !0;
};
return a;
}();
k.Analysis = p;
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Bytecode = Shumway.AVM2.Bytecode, Analysis = Shumway.AVM2.Analysis;
(function(b) {
(function(k) {
var g = b.Options.Option, f = b.Options.OptionSet, t = b.Settings.shumwayOptions.register(new f("AVM2"));
(function(b) {
var m = t.register(new f("Runtime"));
b.traceExecution = m.register(new g("tx", "traceExecution", "number", 0, "trace script execution", {choices:{off:0, normal:2, verbose:3}}));
b.traceCallExecution = m.register(new g("txc", "traceCallExecution", "number", 0, "trace call execution", {choices:{off:0, normal:1, verbose:2}}));
b.traceFunctions = m.register(new g("t", "traceFunctions", "number", 0, "trace functions", {choices:{off:0, compiled:1, "compiled & abc":2}}));
b.traceClasses = m.register(new g("tc", "traceClasses", "boolean", !1, "trace class creation"));
b.traceDomain = m.register(new g("td", "traceDomain", "boolean", !1, "trace domain property access"));
b.debuggerMode = m.register(new g("db", "debuggerMode", "boolean", !0, "enable debugger mode"));
b.globalMultinameAnalysis = m.register(new g("ga", "globalMultinameAnalysis", "boolean", !1, "Global multiname analysis."));
b.codeCaching = m.register(new g("cc", "codeCaching", "boolean", !1, "Enable code caching."));
b.compilerEnableExceptions = m.register(new g("cex", "exceptions", "boolean", !1, "Compile functions with catch blocks."));
b.compilerMaximumMethodSize = m.register(new g("cmms", "maximumMethodSize", "number", 4096, "Compiler maximum method size."));
b = b.ExecutionMode || (b.ExecutionMode = {});
b[b.INTERPRET = 1] = "INTERPRET";
b[b.COMPILE = 2] = "COMPILE";
})(k.Runtime || (k.Runtime = {}));
(function(b) {
b.options = t.register(new f("Compiler"));
b.traceLevel = b.options.register(new g("tc4", "tc4", "number", 0, "Compiler Trace Level"));
b.breakFilter = b.options.register(new g("", "break", "string", "", "Set a break point at methods whose qualified name matches this string pattern."));
b.compileFilter = b.options.register(new g("", "compile", "string", "", "Only compile methods whose qualified name matches this string pattern."));
b.enableDirtyLocals = b.options.register(new g("dl", "dirtyLocals", "boolean", !0, "Performe dirty local analysis to minimise PHI nodes."));
})(k.Compiler || (k.Compiler = {}));
(function(b) {
b.options = t.register(new f("Verifier"));
b.enabled = b.options.register(new g("verifier", "verifier", "boolean", !0, "Enable verifier."));
b.traceLevel = b.options.register(new g("tv", "tv", "number", 0, "Verifier Trace Level"));
})(k.Verifier || (k.Verifier = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Namespace = Shumway.AVM2.ABC.Namespace;
(function(b) {
(function(k) {
(function(g) {
function f(a) {
var c = this.resolutionMap[a.runtimeId];
if (c) {
return c;
}
var c = this.resolutionMap[a.runtimeId] = b.ObjectUtilities.createMap(), h = this.bindings, e;
for (e in h.map) {
var d = e, p = h.map[e].trait;
if (p.isGetter() || p.isSetter()) {
d = d.substring(g.Binding.KEY_PREFIX_LENGTH);
}
d = W.fromQualifiedName(d);
d.getNamespace().inNamespaceSet(a) && (c[d.getName()] = W.getQualifiedName(p.name));
}
return c;
}
function t(a, c, h) {
na(c) ? c = String(Q(c)) : "object" === typeof c && (c = String(c));
return b.isNumeric(c) ? b.toNumber(c) : a ? 1 < a.length ? (a = this.getNamespaceResolutionMap(a)[c]) ? a : W.getPublicQualifiedName(c) : W.qualifyName(a[0], c) : W.getPublicQualifiedName(c);
}
function s(a) {
return this.asGetProperty(void 0, a, 0);
}
function m(a, b, c) {
a = this.resolveMultinameProperty(a, b, c);
return this.asGetNumericProperty && W.isNumeric(a) ? this.asGetNumericProperty(a) : this[a];
}
function d(a) {
la(b.isString(a));
return this[a];
}
function a(a, b, c) {
b = b ? null : this;
var h = this.asOpenMethods;
return(b && h && h[a] ? h[a] : this[a]).asApply(b, c);
}
function c(a, b) {
return this.asSetProperty(void 0, a, 0, b);
}
function n(a, b) {
b === W.VALUE_OF ? (ia(a, "original_valueOf", a.valueOf), a.valueOf = g.forwardValueOf) : b === W.TO_STRING && (ia(a, "original_toString", a.toString), a.toString = g.forwardToString);
}
function p(a, b, c, h) {
"object" === typeof b && (b = String(b));
a = this.resolveMultinameProperty(a, b, c);
if (this.asSetNumericProperty && W.isNumeric(a)) {
return this.asSetNumericProperty(a, h);
}
(b = this.asSlots.byQN[a]) && (b = b.type) && b.coerce && (h = b.coerce(h));
n(this, a);
this[a] = h;
}
function e(a, b) {
return this.asDefineProperty(void 0, a, 0, b);
}
function q(a, b, c, h) {
"object" === typeof b && (b = String(b));
a = this.resolveMultinameProperty(a, b, c);
Object.defineProperty(this, a, h);
}
function l(a, b) {
return this.asCallProperty(void 0, a, 0, !1, b);
}
function u(a, b, c, h, e) {
g.traceCallExecution.value && ra.enter("call " + (this.class ? this.class + " " : "") + b + "(" + ya(e) + ") #" + ka.count(b));
h = h ? null : this;
a = this.resolveMultinameProperty(a, b, c);
this.asGetNumericProperty && W.isNumeric(a) ? a = this.asGetNumericProperty(a) : (b = this.asOpenMethods, a = h && b && b[a] ? b[a] : this[a]);
e = a.asApply(h, e);
0 < g.traceCallExecution.value && ra.leave("return " + va(e));
return e;
}
function w(a, b, c, h, e) {
g.traceCallExecution.value && ra.enter("call super " + (this.class ? this.class + " " : "") + c + "(" + ya(e) + ") #" + ka.count(c));
a = a.object.baseClass;
b = a.traitsPrototype.resolveMultinameProperty(b, c, h);
c = a.traitsPrototype.asOpenMethods;
la(c && c[b]);
e = c[b].asApply(this, e);
0 < g.traceCallExecution.value && ra.leave("return " + va(e));
return e;
}
function r(a, b, c, h, e) {
g.traceCallExecution.value && ra.enter("set super " + (this.class ? this.class + " " : "") + c + "(" + va(e) + ") #" + ka.count(c));
a = a.object.baseClass;
var d = a.traitsPrototype.resolveMultinameProperty(b, c, h);
this.asSlots.byQN[d] ? this.asSetProperty(b, c, h, e) : a.traitsPrototype[g.VM_OPEN_SET_METHOD_PREFIX + d].call(this, e);
0 < g.traceCallExecution.value && ra.leave("");
}
function h(a, b, c, h) {
g.traceCallExecution.value && ra.enter("get super " + (this.class ? this.class + " " : "") + c + " #" + ka.count(c));
a = a.object.baseClass;
var e = a.traitsPrototype.resolveMultinameProperty(b, c, h);
b = this.asSlots.byQN[e] ? this.asGetProperty(b, c, h) : a.traitsPrototype[g.VM_OPEN_GET_METHOD_PREFIX + e].call(this);
0 < g.traceCallExecution.value && ra.leave("return " + va(b));
return b;
}
function x(a, b) {
if (a.classInfo) {
var c = W.getQualifiedName(a.classInfo.instanceInfo.name);
if (c === W.String) {
return String.asApply(null, b);
}
if (c === W.Boolean) {
return Boolean.asApply(null, b);
}
if (c === W.Number) {
return Number.asApply(null, b);
}
}
c = a.instanceConstructor;
switch(b.length) {
case 0:
return new c;
case 1:
return new c(b[0]);
case 2:
return new c(b[0], b[1]);
case 3:
return new c(b[0], b[1], b[2]);
case 4:
return new c(b[0], b[1], b[2], b[3]);
case 5:
return new c(b[0], b[1], b[2], b[3], b[4]);
case 6:
return new c(b[0], b[1], b[2], b[3], b[4], b[5]);
case 7:
return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6]);
case 8:
return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7]);
case 9:
return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8]);
case 10:
return new c(b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9]);
}
for (var h = [], e = 0;e < b.length;e++) {
h[e + 1] = b[e];
}
return new (Function.bind.asApply(c, h));
}
function y(a, b, c, h) {
a = this.asGetProperty(a, b, c);
g.traceCallExecution.value && ra.enter("construct " + b + "(" + ya(h) + ") #" + ka.count(b));
b = x(a, h);
0 < g.traceCallExecution.value && ra.leave("return " + va(b));
return b;
}
function G(a, b, c) {
return this.resolveMultinameProperty(a, b, c) in this;
}
function I(a, b, c) {
a = this.resolveMultinameProperty(a, b, c);
return oa(this, a);
}
function C(a, b, c) {
a = this.resolveMultinameProperty(a, b, c);
return pa(this, a);
}
function E(a, b, c) {
return this.asHasTraitProperty(a, b, c) ? !1 : delete this[this.resolveMultinameProperty(a, b, c)];
}
function O(a, b, c) {
a = this.resolveMultinameProperty(a, b, c);
return 0 <= this.asBindings.indexOf(a);
}
function K(a) {
return this[a];
}
function F(a, b) {
this[a] = b;
}
function J(a) {
0 === a && ia(this, "asEnumerableKeys", this.asGetEnumerableKeys());
for (var b = this.asEnumerableKeys;a < b.length;) {
if (this.asHasProperty(void 0, b[a], 0)) {
return a + 1;
}
a++;
}
return 0;
}
function A(a) {
var b = this.asEnumerableKeys;
la(b && 0 < a && a < b.length + 1);
return b[a - 1];
}
function B(a) {
return this.asGetPublicProperty(this.asNextName(a));
}
function z(a) {
if (na(a.object)) {
a.index = 0, a.object = null;
} else {
var b = sa(a.object), c = b.asNextNameIndex(a.index);
if (0 < c) {
a.index = c, a.object = b;
} else {
for (;;) {
b = Object.getPrototypeOf(b);
if (!b) {
a.index = 0;
a.object = null;
break;
}
c = b.asNextNameIndex(0);
if (0 < c) {
a.index = c;
a.object = b;
break;
}
}
}
}
}
function P() {
if (this instanceof String || this instanceof Number) {
return[];
}
for (var a = Object.keys(this), c = [], h = 0;h < a.length;h++) {
var e = a[h];
b.isNumeric(e) ? c.push(e) : (e = W.stripPublicQualifier(e), void 0 !== e && c.push(e));
}
return c;
}
function D(a, b) {
a || L("TypeError", k.Errors.NullPointerError, b);
}
function L(a, c) {
for (var h = 0;h < arguments.length - 2;h++) {
}
h = b.AVM2.formatErrorMessage.apply(null, Array.prototype.slice.call(arguments, 1));
M(g.AVM2.currentDomain(), a, h, c.code);
}
function M(a, b, c, h) {
throw new (a.getClass(b).instanceConstructor)(c, h);
}
function V(a, b) {
return a.coerce(b);
}
function Q(a) {
return "string" === typeof a ? a : void 0 == a ? null : a + "";
}
function U(a) {
return void 0 == a ? null : "string" === typeof a || "number" === typeof a ? a : Object(a);
}
function S(a, b) {
return String(a).localeCompare(String(b));
}
function aa(a) {
return a instanceof b.AVM2.AS.ASXML || a instanceof b.AVM2.AS.ASXMLList;
}
function $(b) {
"Object Number Boolean String Array Date RegExp".split(" ").forEach(function(a) {
wa(b[a].prototype, g.VM_NATIVE_PROTOTYPE_FLAG, !0);
});
ia(b.Object.prototype, "getNamespaceResolutionMap", f);
ia(b.Object.prototype, "resolveMultinameProperty", t);
ia(b.Object.prototype, "asGetProperty", m);
ia(b.Object.prototype, "asGetPublicProperty", s);
ia(b.Object.prototype, "asGetResolvedStringProperty", d);
ia(b.Object.prototype, "asSetProperty", p);
ia(b.Object.prototype, "asSetPublicProperty", c);
ia(b.Object.prototype, "asDefineProperty", q);
ia(b.Object.prototype, "asDefinePublicProperty", e);
ia(b.Object.prototype, "asCallProperty", u);
ia(b.Object.prototype, "asCallSuper", w);
ia(b.Object.prototype, "asGetSuper", h);
ia(b.Object.prototype, "asSetSuper", r);
ia(b.Object.prototype, "asCallPublicProperty", l);
ia(b.Object.prototype, "asCallResolvedStringProperty", a);
ia(b.Object.prototype, "asConstructProperty", y);
ia(b.Object.prototype, "asHasProperty", G);
ia(b.Object.prototype, "asHasPropertyInternal", G);
ia(b.Object.prototype, "asHasOwnProperty", I);
ia(b.Object.prototype, "asPropertyIsEnumerable", C);
ia(b.Object.prototype, "asHasTraitProperty", O);
ia(b.Object.prototype, "asDeleteProperty", E);
ia(b.Object.prototype, "asHasNext2", z);
ia(b.Object.prototype, "asNextName", A);
ia(b.Object.prototype, "asNextValue", B);
ia(b.Object.prototype, "asNextNameIndex", J);
ia(b.Object.prototype, "asGetEnumerableKeys", P);
ia(b.Function.prototype, "asCall", b.Function.prototype.call);
ia(b.Function.prototype, "asApply", b.Function.prototype.apply);
"Array Object Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" ").forEach(function(a) {
a in b ? (ia(b[a].prototype, "asGetNumericProperty", K), ia(b[a].prototype, "asSetNumericProperty", F)) : log(a + " was not found in globals");
});
b.Array.prototype.asGetProperty = function(a, b, c) {
return "number" === typeof b ? this[b] : m.call(this, a, b, c);
};
b.Array.prototype.asSetProperty = function(a, b, c, h) {
if ("number" === typeof b) {
this[b] = h;
} else {
return p.call(this, a, b, c, h);
}
};
}
function ea(a, b) {
b && (new g.CatchBindings(new g.Scope(null, this), b)).applyTo(a, this);
}
function Z(a, b) {
"undefined" === typeof b && (b = 0);
return Array.prototype.slice.call(a, b);
}
function v(a) {
return!a.hasBody || a.hasExceptions() && !g.compilerEnableExceptions.value || a.hasSetsDxns() || a.code.length > g.compilerMaximumMethodSize.value ? !1 : !0;
}
function X(a) {
return!v(a) || a.isClassInitializer || a.isScriptInitializer ? !1 : !0;
}
function ba(a) {
if (a.hasExceptions()) {
return!1;
}
a = a.holder;
a instanceof da && (a = a.instanceInfo);
if (a instanceof ja) {
switch(a.name.namespaces[0].uri) {
case "flash.geom":
;
case "flash.events":
return!0;
}
switch(a.name.getOriginalName()) {
case "com.google.youtube.model.VideoData":
return!0;
}
}
return!1;
}
function R(a) {
if (g.codeCaching.value) {
var b = g.CODE_CACHE[a.abc.hash];
if (b) {
b.isInitialized || (b.isInitialized = !0);
if (b = b.methods[a.index]) {
return log("Linking CC: " + a), k.countTimeline("Code Cache Hit"), b;
}
a.isInstanceInitializer || a.isClassInitializer ? k.countTimeline("Code Cache Query On Initializer") : (k.countTimeline("Code Cache MISS ON OTHER"), warn("Shouldn't MISS: " + a + " " + a.debugName));
k.countTimeline("Code Cache Miss");
} else {
warn("Cannot Find Code Cache For ABC, name: " + a.abc.name + ", hash: " + a.abc.hash), k.countTimeline("Code Cache ABC Miss");
}
}
}
function H(a, c, h) {
var e = !1, d = a.parameters.map(function(a) {
void 0 !== a.value && (e = !0);
return a.value;
});
h = h ? function(c) {
var h = this === jsGlobal ? c.global.object : this, p = Z(arguments, 1);
e && p.length < d.length && (p = p.concat(d.slice(p.length - d.length)));
return b.AVM2.Interpreter.interpretMethod(h, a, c, p);
} : function() {
var h = this === jsGlobal ? c.global.object : this, p = Z(arguments);
e && p.length < d.length && (p = p.concat(d.slice(arguments.length - d.length)));
return b.AVM2.Interpreter.interpretMethod(h, a, c, p);
};
a.hasSetsDxns() && (h = function(a) {
return function() {
var c = b.AVM2.AS.ASXML.defaultNamespace;
try {
var h = a.apply(this, arguments);
b.AVM2.AS.ASXML.defaultNamespace = c;
return h;
} catch (e) {
throw b.AVM2.AS.ASXML.defaultNamespace = c, e;
}
};
}(h));
h.instanceConstructor = h;
h.debugName = "Interpreter Function #" + Ga++;
return h;
}
function Y(a, c, h, e, d) {
d = R(a);
var p;
d || (p = k.Compiler.compileMethod(a, c, h));
c = a.name ? W.getQualifiedName(a.name) : "fn" + Aa;
a.holder && (h = "", a.holder instanceof da ? h = "static$" + a.holder.instanceInfo.name.getName() : a.holder instanceof ja ? h = a.holder.name.getName() : a.holder instanceof N && (h = "script"), c = h + "$" + c);
c = b.StringUtilities.escapeString(c);
a.verified && (c += "$V");
e || (h = b.AVM2.Compiler.breakFilter.value) && 0 <= c.search(h) && (e = !0);
h = p.body;
e && (h = "{ debugger; \n" + h + "}");
if (!d) {
var l = "function " + c + " (" + p.parameters.join(", ") + ") " + h
}
1 < g.traceFunctions.value && a.trace(new T, a.abc);
a.debugTrace = function() {
a.trace(new T, a.abc);
};
0 < g.traceFunctions.value && log(l);
e = d || (new Function("return " + l))();
e.debugName = "Compiled Function #" + Ha++;
return e;
}
function ga(a, c, h, e) {
la(!a.isNative(), "Method should have a builtin: " + a.name);
if (a.freeMethod) {
return h ? g.bindFreeMethodScope(a, c) : a.freeMethod;
}
var d;
if (d = g.checkMethodOverrides(a)) {
return la(!h), d;
}
ca(a);
d = !1;
1 !== a.abc.applicationDomain.mode && X(a) || ba(a) || (d = !0);
var p = b.AVM2.Compiler.compileFilter.value;
p && a.name && 0 > W.getQualifiedName(a.name).search(p) && (d = !0);
d ? a.freeMethod = H(a, c, h) : (Aa++, a.freeMethod = Y(a, c, h, e, a.isInstanceInitializer));
a.freeMethod.methodInfo = a;
return h ? g.bindFreeMethodScope(a, c) : a.freeMethod;
}
function ca(a) {
if (!a.analysis) {
a.analysis = new k.Analysis(a);
a.needsActivation() && (a.activationPrototype = new Ba(a), (new g.ActivationBindings(a)).applyTo(a.abc.applicationDomain, a.activationPrototype));
for (var b = a.exceptions, c = 0, h = b.length;c < h;c++) {
var e = b[c];
if (e.varName) {
var d = Object.create(ma.prototype);
d.kind = 0;
d.name = e.varName;
d.typeName = e.typeName;
d.holder = a;
e.scopeObject = new ea(a.abc.applicationDomain, d);
} else {
e.scopeObject = new ea(void 0, void 0);
}
}
}
}
g.sealConstTraits = !1;
g.useAsAdd = !0;
var ka = new b.Metrics.Counter(!0), W = b.AVM2.ABC.Multiname, ha = b.AVM2.ABC.Namespace, da = b.AVM2.ABC.ClassInfo, ja = b.AVM2.ABC.InstanceInfo, N = b.AVM2.ABC.ScriptInfo, ma = b.AVM2.ABC.Trait, T = b.IndentingWriter, oa = b.ObjectUtilities.hasOwnProperty, pa = b.ObjectUtilities.propertyIsEnumerable, na = b.isNullOrUndefined, fa = b.ObjectUtilities.createEmptyObject, sa = b.ObjectUtilities.boxValue, xa = b.FunctionUtilities.bindSafely, la = b.Debug.assert, qa = b.ObjectUtilities.defineNonEnumerableGetterOrSetter,
ia = b.ObjectUtilities.defineNonEnumerableProperty, wa = b.ObjectUtilities.defineReadOnlyProperty, Ia = b.ObjectUtilities.defineNonEnumerableGetter, va = b.StringUtilities.toSafeString, ya = b.StringUtilities.toSafeArrayString;
g.VM_SLOTS = "asSlots";
g.VM_LENGTH = "asLength";
g.VM_BINDINGS = "asBindings";
g.VM_NATIVE_PROTOTYPE_FLAG = "asIsNative";
g.VM_OPEN_METHODS = "asOpenMethods";
g.VM_OPEN_METHOD_PREFIX = "m";
g.VM_MEMOIZER_PREFIX = "z";
g.VM_OPEN_SET_METHOD_PREFIX = "s";
g.VM_OPEN_GET_METHOD_PREFIX = "g";
g.SAVED_SCOPE_NAME = "$SS";
g.VM_METHOD_OVERRIDES = fa();
var Ga = 1, Ha = 1, Aa = 0;
g.isNativePrototype = function(a) {
return Object.prototype.hasOwnProperty.call(a, g.VM_NATIVE_PROTOTYPE_FLAG);
};
var ra = new T;
g.patch = function(a, c) {
la(b.isFunction(c));
for (var h = 0;h < a.length;h++) {
var e = a[h];
e.get ? qa(e.object, e.get, c, !0) : e.set ? qa(e.object, e.set, c, !1) : ia(e.object, e.name, c);
}
};
g.applyNonMemoizedMethodTrait = function(a, c, h, e, d) {
la(e);
if (c.isMethod()) {
var p = [{object:h, name:a}, {object:h, name:g.VM_OPEN_METHOD_PREFIX + a}];
c = g.makeTrampoline(c, e, d, p, c.methodInfo.parameters.length, "");
var l = xa(c, h);
wa(l, g.VM_LENGTH, c.asLength);
wa(l, W.getPublicQualifiedName("prototype"), null);
ia(h, a, l);
ia(h, g.VM_OPEN_METHOD_PREFIX + a, l);
} else {
if (c.isGetter() || c.isSetter()) {
var p = [{object:h}], n = 0;
(l = c.isGetter()) ? p[0].get = a : (p[0].set = a, n = 1);
c = g.makeTrampoline(c, e, d, p, n, "");
qa(h, a, c, l);
} else {
b.Debug.unexpected(c);
}
}
};
g.applyMemoizedMethodTrait = function(a, b, c, h, e) {
la(h, b);
if (b.isMethod()) {
var d = {value:null}, p = c.asOpenMethods, l = [{object:d, name:"value"}, {object:p, name:a}, {object:c, name:g.VM_OPEN_METHOD_PREFIX + a}];
b = g.makeTrampoline(b, h, e, l, b.methodInfo.parameters.length, String(b.name));
d.value = b;
p[a] = b;
ia(c, g.VM_OPEN_METHOD_PREFIX + a, b);
Ia(c, a, g.makeMemoizer(a, d));
n(c, a);
} else {
b.isGetter() ? (l = [{object:c, get:a}, {object:c, name:g.VM_OPEN_GET_METHOD_PREFIX + a}], b = g.makeTrampoline(b, h, e, l, 0, String(b.name)), ia(c, g.VM_OPEN_GET_METHOD_PREFIX + a, b), qa(c, a, b, !0)) : b.isSetter() && (l = [{object:c, set:a}, {object:c, name:g.VM_OPEN_SET_METHOD_PREFIX + a}], b = g.makeTrampoline(b, h, e, l, 0, String(b.name)), ia(c, g.VM_OPEN_SET_METHOD_PREFIX + a, b), qa(c, a, b, !1));
}
};
g.getNamespaceResolutionMap = f;
g.resolveMultinameProperty = t;
g.asGetPublicProperty = s;
g.asGetProperty = m;
g.asGetResolvedStringProperty = d;
g.asCallResolvedStringProperty = a;
g.asGetResolvedStringPropertyFallback = function(a) {
a = W.getNameFromPublicQualifiedName(a);
return this.asGetProperty([ha.PUBLIC], a, 0);
};
g.asSetPublicProperty = c;
g.forwardValueOf = new Function("", "return this." + W.VALUE_OF + ".apply(this, arguments)");
g.forwardToString = new Function("", "return this." + W.TO_STRING + ".apply(this, arguments)");
g.asSetProperty = p;
g.asDefinePublicProperty = e;
g.asDefineProperty = q;
g.asCallPublicProperty = l;
g.asCallProperty = u;
g.asCallSuper = w;
g.asSetSuper = r;
g.asGetSuper = h;
g.construct = x;
g.asConstructProperty = y;
g.asHasProperty = G;
g.asHasOwnProperty = I;
g.asPropertyIsEnumerable = C;
g.asDeleteProperty = E;
g.asHasTraitProperty = O;
g.asGetNumericProperty = K;
g.asSetNumericProperty = F;
g.asGetDescendants = function(a, c, h) {
b.Debug.notImplemented("asGetDescendants");
};
g.asNextNameIndex = J;
g.asNextName = A;
g.asNextValue = B;
g.asHasNext2 = z;
g.asGetEnumerableKeys = P;
g.asTypeOf = function(a) {
if (a) {
if (a.constructor === String) {
return "string";
}
if (a.constructor === Number) {
return "number";
}
if (a.constructor === Boolean) {
return "boolean";
}
if (a instanceof b.AVM2.AS.ASXML || a instanceof b.AVM2.AS.ASXMLList) {
return "xml";
}
if (b.AVM2.AS.ASClass.isType(a)) {
return "object";
}
}
return typeof a;
};
g.publicizeProperties = function(a) {
for (var b = Object.keys(a), c = 0;c < b.length;c++) {
var h = b[c];
if (!W.isPublicQualifiedName(h)) {
var e = a[h];
a[W.getPublicQualifiedName(h)] = e;
delete a[h];
}
}
};
g.asGetSlot = function(a, b) {
return a[a.asSlots.byID[b].name];
};
g.asSetSlot = function(a, b, c) {
b = a.asSlots.byID[b];
if (!b.const) {
var h = b.type;
a[b.name] = h && h.coerce ? h.coerce(c) : c;
}
};
g.asCheckVectorSetNumericProperty = function(a, c, h) {
(0 > a || a > c || a === c && h || !b.isNumeric(a)) && L("RangeError", k.Errors.OutOfRangeError, a, c);
};
g.asCheckVectorGetNumericProperty = function(a, c) {
(0 > a || a >= c || !b.isNumeric(a)) && L("RangeError", k.Errors.OutOfRangeError, a, c);
};
g.checkNullParameter = D;
g.checkParameterType = function(a, b, c) {
D(a, b);
c.isType(a) || L("TypeError", k.Errors.CheckTypeFailedError, a, c.classInfo.instanceInfo.name.getOriginalName());
};
g.throwError = L;
g.throwErrorFromVM = M;
g.translateError = function(a, c) {
if (c instanceof Error) {
var h = a.getClass(c.name);
if (h) {
return new h.instanceConstructor(b.AVM2.translateErrorMessage(c));
}
b.Debug.unexpected("Can't translate error: " + c);
}
return c;
};
g.asIsInstanceOf = function(a, b) {
return a.isInstanceOf(b);
};
g.asIsType = function(a, b) {
return a.isType(b);
};
g.asAsType = function(a, b) {
return a.isType(b) ? b : null;
};
g.asCoerceByMultiname = function(a, b, c) {
la(b.isQName());
switch(W.getQualifiedName(b)) {
case W.Int:
return c | 0;
case W.Uint:
return c >>> 0;
case W.String:
return Q(c);
case W.Number:
return+c;
case W.Boolean:
return!!c;
case W.Object:
return U(c);
}
return V(a.abc.applicationDomain.getType(b), c);
};
g.asCoerce = V;
g.asCoerceString = Q;
g.asCoerceInt = function(a) {
return a | 0;
};
g.asCoerceUint = function(a) {
return a >>> 0;
};
g.asCoerceNumber = function(a) {
return+a;
};
g.asCoerceBoolean = function(a) {
return!!a;
};
g.asCoerceObject = U;
g.asDefaultCompareFunction = S;
g.asCompare = function(a, c, h, e) {
b.Debug.assertNotImplemented(!(h & 4), "UNIQUESORT");
b.Debug.assertNotImplemented(!(h & 8), "RETURNINDEXEDARRAY");
var d = 0;
e || (e = S);
h & 1 && (a = String(a).toLowerCase(), c = String(c).toLowerCase());
h & 16 ? (a = b.toNumber(a), c = b.toNumber(c), d = a < c ? -1 : a > c ? 1 : 0) : d = e(a, c);
h & 2 && (d *= -1);
return d;
};
g.asAdd = function(a, b) {
return "string" === typeof a || "string" === typeof b ? String(a) + String(b) : a + b;
};
g.getDescendants = function(a, b) {
if (!aa(a)) {
throw "Not XML object in getDescendants";
}
return a.descendants(b);
};
g.checkFilter = function(a) {
if (!a.class || !aa(a)) {
throw "TypeError operand of childFilter not of XML type";
}
return a;
};
g.initializeGlobalObject = $;
$(jsGlobal);
g.nameInTraits = function(a, b) {
if (a.hasOwnProperty(g.VM_BINDINGS) && a.hasOwnProperty(b)) {
return!0;
}
var c = Object.getPrototypeOf(a);
return c.hasOwnProperty(g.VM_BINDINGS) && c.hasOwnProperty(b);
};
g.CatchScopeObject = ea;
var ta = function() {
function a(b) {
this.scriptInfo = b;
b.global = this;
this.scriptBindings = new g.ScriptBindings(b, new g.Scope(null, this, !1));
this.scriptBindings.applyTo(b.abc.applicationDomain, this);
b.loaded = !0;
}
a.prototype.toString = function() {
return "[object global]";
};
a.prototype.isExecuted = function() {
return this.scriptInfo.executed;
};
a.prototype.isExecuting = function() {
return this.scriptInfo.executing;
};
a.prototype.ensureExecuted = function() {
b.AVM2.Runtime.ensureScriptIsExecuted(this.scriptInfo);
};
return a;
}();
g.Global = ta;
ia(ta.prototype, W.getPublicQualifiedName("toString"), function() {
return this.toString();
});
ta = function() {
function a(b) {
this._isLazyInitializer = !0;
la(!b.asLazyInitializer);
this._target = b;
this._resolved = null;
}
a.create = function(b) {
return b.asLazyInitializer ? b.asLazyInitializer : b.asLazyInitializer = new a(b);
};
a.prototype.resolve = function() {
if (this._resolved) {
return this._resolved;
}
if (this._target instanceof N) {
var a = this._target;
g.ensureScriptIsExecuted(a, "Lazy Initializer");
return this._resolved = a.global;
}
if (this._target instanceof da) {
return a = this._target, a.classObject ? this._resolved = a.classObject : this._resolved = a.abc.applicationDomain.getProperty(a.instanceInfo.name, !1, !1);
}
b.Debug.notImplemented(String(this._target));
};
return a;
}();
g.LazyInitializer = ta;
g.forEachPublicProperty = function(a, c, h) {
if (!a.asBindings) {
for (var e in a) {
c.call(h, e, a[e]);
}
} else {
for (e in a) {
if (b.isNumeric(e)) {
c.call(h, e, a[e]);
} else {
if (W.isPublicQualifiedName(e) && 0 > a.asBindings.indexOf(e)) {
var d = W.stripPublicQualifier(e);
c.call(h, d, a[e]);
}
}
}
}
};
g.wrapJSObject = function(a) {
var b = Object.create(a), c;
for (c in a) {
Object.defineProperty(b, W.getPublicQualifiedName(c), function(a, b) {
return{get:function() {
return a[b];
}, set:function(c) {
a[b] = c;
}, enumerable:!0};
}(a, c));
}
return b;
};
g.asCreateActivation = function(a) {
return Object.create(a.activationPrototype);
};
ta = function() {
function a() {
}
a.updateTraits = function(c) {
for (var h = 0;h < c.length;h++) {
var e = c[h], d = e.name.name, e = e.name.getNamespace();
e.isDynamic() || (a.hasNonDynamicNamespaces[d] = !0, a.wasResolved[d] && b.Debug.notImplemented("We have to the undo the optimization, " + d + " can now bind to " + e));
}
};
a.loadAbc = function(b) {
if (g.globalMultinameAnalysis.value) {
var c = b.scripts, h = b.classes;
b = b.methods;
for (var e = 0;e < c.length;e++) {
a.updateTraits(c[e].traits);
}
for (e = 0;e < h.length;e++) {
a.updateTraits(h[e].traits), a.updateTraits(h[e].instanceInfo.traits);
}
for (e = 0;e < b.length;e++) {
b[e].traits && a.updateTraits(b[e].traits);
}
}
};
a.resolveMultiname = function(b) {
var c = b.name;
if (!a.hasNonDynamicNamespaces[c]) {
return a.wasResolved[c] = !0, new W([ha.PUBLIC], b.name);
}
};
a.hasNonDynamicNamespaces = fa();
a.wasResolved = fa();
return a;
}();
g.GlobalMultinameResolver = ta;
var Ba = function() {
return function(a) {
this.methodInfo = a;
};
}();
g.ActivationInfo = Ba;
g.HasNext2Info = function() {
return function(a, b) {
this.object = a;
this.index = b;
};
}();
g.sliceArguments = Z;
g.canCompile = v;
g.shouldCompile = X;
g.forceCompile = ba;
g.CODE_CACHE = fa();
g.searchCodeCache = R;
g.createInterpretedFunction = H;
g.debugName = function(a) {
return b.isFunction(a) ? a.debugName : a;
};
g.createCompiledFunction = Y;
g.createFunction = ga;
g.ensureFunctionIsInitialized = ca;
g.getTraitFunction = function(a, c, h) {
la(c);
la(a.isMethod() || a.isGetter() || a.isSetter());
var e = a.methodInfo, d;
if (e.isNative()) {
if ((c = a.metadata) && c.native ? d = b.AVM2.AS.getNative(c.native.value[0].value) : h && (d = b.AVM2.AS.getMethodOrAccessorNative(a, h)), !d) {
return b.Debug.warning("No native method for: " + a.kindName() + " " + e.holder + "::" + W.getQualifiedName(e.name) + ", make sure you've got the static keyword for static methods."), function(c) {
return function() {
b.Debug.warning("Calling undefined native method: " + a.kindName() + " " + c.holder.name + "::" + W.getQualifiedName(c.name));
};
}(e);
}
} else {
2 <= g.traceExecution.value && log("Creating Function For Trait: " + a.holder + " " + a), d = ga(e, c, !1, !1), la(d);
}
3 <= g.traceExecution.value && log("Made Function: " + W.getQualifiedName(e.name));
return d;
};
g.createClass = function(a, c, h) {
var e = a.instanceInfo, d = a.abc.applicationDomain, p = W.getName(e.name);
k.enterTimeline("createClass", {className:p, classInfo:a});
g.traceExecution.value && log("Creating " + (e.isInterface() ? "Interface" : "Class") + ": " + p + (a.native ? " replaced with native " + a.native.cls : ""));
c = e.isInterface() ? b.AVM2.AS.createInterface(a) : b.AVM2.AS.createClass(a, c, h);
g.traceClasses.value && (d.loadedClasses.push(c), d.traceLoadedClasses());
if (e.isInterface()) {
return k.leaveTimeline(), c;
}
d.onMessage.notify1("classCreated", c);
a.classObject = c;
g.traceExecution.value && log("Running " + (e.isInterface() ? "Interface" : "Class") + ": " + p + " Static Constructor");
k.enterTimeline("staticInitializer");
ga(a.init, h, !1, !1).call(c);
k.leaveTimeline();
g.traceExecution.value && log("Done With Static Constructor");
g.sealConstTraits && this.sealConstantTraits(c, a.traits);
k.leaveTimeline();
return c;
};
g.sealConstantTraits = function(a, b) {
for (var c = 0, h = b.length;c < h;c++) {
var e = b[c];
e.isConst() && (e = W.getQualifiedName(e.name), function(b, c) {
Object.defineProperty(a, b, {configurable:!1, enumerable:!1, get:function() {
return c;
}, set:function() {
M(g.AVM2.currentDomain(), "ReferenceError", "Illegal write to read-only property " + b + ".", 0);
}});
}(e, a[e]));
}
};
g.applyType = function(a, c, h) {
c = c.classInfo.instanceInfo.name.name;
if ("Vector" === c) {
la(1 === h.length);
h = h[0];
if (!na(h)) {
switch(c = h.classInfo.instanceInfo.name.name.toLowerCase(), c) {
case "number":
c = "double";
case "int":
;
case "uint":
;
case "double":
return a.abc.applicationDomain.getClass("packageInternal __AS3__.vec.Vector$" + c);
}
}
return a.abc.applicationDomain.getClass("packageInternal __AS3__.vec.Vector$object").applyType(h);
}
b.Debug.notImplemented(c);
};
g.createName = function(a, b) {
return new W(a, b);
};
})(k.Runtime || (k.Runtime = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var CC = Shumway.AVM2.Runtime.CODE_CACHE, HasNext2Info = Shumway.AVM2.Runtime.HasNext2Info, asCreateActivation = Shumway.AVM2.Runtime.asCreateActivation, asIsInstanceOf = Shumway.AVM2.Runtime.asIsInstanceOf, asIsType = Shumway.AVM2.Runtime.asIsType, asAsType = Shumway.AVM2.Runtime.asAsType, asTypeOf = Shumway.AVM2.Runtime.asTypeOf, asCoerceByMultiname = Shumway.AVM2.Runtime.asCoerceByMultiname, asCoerce = Shumway.AVM2.Runtime.asCoerce, asCoerceString = Shumway.AVM2.Runtime.asCoerceString, asCoerceInt =
Shumway.AVM2.Runtime.asCoerceInt, asCoerceUint = Shumway.AVM2.Runtime.asCoerceUint, asCoerceNumber = Shumway.AVM2.Runtime.asCoerceNumber, asCoerceBoolean = Shumway.AVM2.Runtime.asCoerceBoolean, asCoerceObject = Shumway.AVM2.Runtime.asCoerceObject, asCompare = Shumway.AVM2.Runtime.asCompare, asAdd = Shumway.AVM2.Runtime.asAdd, applyType = Shumway.AVM2.Runtime.applyType, asGetSlot = Shumway.AVM2.Runtime.asGetSlot, asSetSlot = Shumway.AVM2.Runtime.asSetSlot, asHasNext2 = Shumway.AVM2.Runtime.asHasNext2,
getDescendants = Shumway.AVM2.Runtime.getDescendants, checkFilter = Shumway.AVM2.Runtime.checkFilter, sliceArguments = Shumway.AVM2.Runtime.sliceArguments, createFunction = Shumway.AVM2.Runtime.createFunction, createName = Shumway.AVM2.Runtime.createName;
(function(b) {
(function(k) {
(function(g) {
var f = b.AVM2.ABC.Multiname, t = b.ObjectUtilities.createEmptyObject, s = b.Debug.assert, m = b.ObjectUtilities.boxValue, d = function() {
function a(a, d, p) {
"undefined" === typeof p && (p = !1);
this.parent = a;
this.object = m(d);
s(b.isObject(this.object));
this.global = a ? a.global : this;
this.isWith = p;
this.cache = t();
}
a.prototype.findDepth = function(a) {
for (var b = this, d = 0;b;) {
if (b.object === a) {
return d;
}
d++;
b = b.parent;
}
return-1;
};
a.prototype.getScopeObjects = function() {
for (var a = [], b = this;b;) {
a.unshift(b.object), b = b.parent;
}
return a;
};
a.prototype.findScopeProperty = function(a, d, p, e, q, l) {
k.countTimeline("findScopeProperty");
var g, w;
w = a ? 1 < a.length ? a.runtimeId + "$" + d : a[0].qualifiedName + "$" + d : d;
if (!l && (g = this.cache[w])) {
return g;
}
if (this.object.asHasPropertyInternal(a, d, p)) {
return this.isWith ? this.object : this.cache[w] = this.object;
}
if (this.parent) {
return this.cache[w] = this.parent.findScopeProperty(a, d, p, e, q, l);
}
if (l) {
return null;
}
if (g = e.abc.applicationDomain.findDomainProperty(new f(a, d, p), q, !0)) {
return g;
}
q && b.Debug.unexpected("Cannot find property " + d);
return this.global.object;
};
return a;
}();
g.Scope = d;
g.bindFreeMethodScope = function(a, b) {
var d = a.freeMethod;
if (a.lastBoundMethod && a.lastBoundMethod.scope === b) {
return a.lastBoundMethod.boundMethod;
}
s(d, "There should already be a cached method.");
var p, e = b.global.object;
if (!a.hasOptional() && !a.needsArguments() && !a.needsRest()) {
switch(a.parameters.length) {
case 0:
p = function() {
return d.call(this === jsGlobal ? e : this, b);
};
break;
case 1:
p = function(a) {
return d.call(this === jsGlobal ? e : this, b, a);
};
break;
case 2:
p = function(a, p) {
return d.call(this === jsGlobal ? e : this, b, a, p);
};
break;
case 3:
p = function(a, p, f) {
return d.call(this === jsGlobal ? e : this, b, a, p, f);
};
}
}
p || (k.countTimeline("Bind Scope - Slow Path"), p = function() {
Array.prototype.unshift.call(arguments, b);
return d.asApply(this === jsGlobal ? b.global.object : this, arguments);
});
p.methodInfo = a;
p.instanceConstructor = p;
a.lastBoundMethod = {scope:b, boundMethod:p};
return p;
};
})(k.Runtime || (k.Runtime = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Scope = Shumway.AVM2.Runtime.Scope;
(function(b) {
(function(k) {
(function(g) {
var f = b.AVM2.ABC.Multiname, t = b.AVM2.ABC.Trait, s = b.ObjectUtilities.hasOwnProperty, m = b.ObjectUtilities.createMap, d = b.ObjectUtilities.cloneObject, a = b.ObjectUtilities.copyProperties, c = b.ObjectUtilities.createEmptyObject, n = b.Debug.assert, p = b.ObjectUtilities.defineNonEnumerableProperty, e = b.ObjectUtilities.defineNonEnumerableGetter, q = b.FunctionUtilities.makeForwardingGetter, l = b.ArrayUtilities.pushUnique, u = function() {
function a(b) {
this.trait = b;
}
a.getKey = function(b, c) {
var h = b;
c.isGetter() ? h = a.GET_PREFIX + b : c.isSetter() && (h = a.SET_PREFIX + b);
return h;
};
a.prototype.toString = function() {
return String(this.trait);
};
a.SET_PREFIX = "set ";
a.GET_PREFIX = "get ";
a.KEY_PREFIX_LENGTH = 4;
return a;
}();
g.Binding = u;
var w = function() {
return function(a, b, c, h) {
this.name = a;
this.isConst = b;
this.type = c;
this.trait = h;
};
}();
g.SlotInfo = w;
var r = function() {
return function() {
this.byID = m();
this.byQN = m();
};
}();
g.SlotInfoMap = r;
var h = function() {
function a() {
this.map = m();
this.slots = [];
this.nextSlotId = 1;
}
a.prototype.assignNextSlot = function(a) {
n(a instanceof t);
n(a.isSlot() || a.isConst() || a.isClass());
a.slotId ? this.nextSlotId = a.slotId + 1 : a.slotId = this.nextSlotId++;
n(!this.slots[a.slotId], "Trait slot already taken.");
this.slots[a.slotId] = a;
};
a.prototype.trace = function(a) {
a.enter("Bindings");
for (var b in this.map) {
var c = this.map[b];
a.writeLn(c.trait.kindName() + ": " + b + " -> " + c);
}
a.leaveAndEnter();
a.writeArray(this.slots);
a.outdent();
};
a.prototype.applyTo = function(a, b, c) {
"undefined" === typeof c && (c = !1);
c || (n(!s(b, g.VM_SLOTS), "Already has VM_SLOTS."), n(!s(b, g.VM_BINDINGS), "Already has VM_BINDINGS."), n(!s(b, g.VM_OPEN_METHODS), "Already has VM_OPEN_METHODS."), p(b, g.VM_SLOTS, new r), p(b, g.VM_BINDINGS, []), p(b, g.VM_OPEN_METHODS, m()), p(b, "bindings", this), p(b, "resolutionMap", []));
G && G.greenLn("Applying Traits" + (c ? " (Append)" : ""));
for (var h in this.map) {
var d = this.map[h];
c = d.trait;
var x = f.getQualifiedName(c.name);
if (c.isSlot() || c.isConst() || c.isClass()) {
d = void 0;
if (c.isSlot() || c.isConst()) {
if (c.hasDefaultValue) {
d = c.value;
} else {
if (c.typeName) {
var I = a.findClassInfo(c.typeName);
I && (d = I.defaultValue);
}
}
}
h !== x ? (G && G.yellowLn("Binding Trait: " + h + " -> " + x), e(b, h, q(x)), l(b.asBindings, h)) : (G && G.greenLn("Applying Trait " + c.kindName() + ": " + c), p(b, x, d), l(b.asBindings, x), d = new w(x, c.isConst(), c.typeName ? a.getProperty(c.typeName, !1, !1) : null, c), b.asSlots.byID[c.slotId] = d, b.asSlots.byQN[x] = d);
} else {
if (c.isMethod() || c.isGetter() || c.isSetter()) {
if (c.isGetter() || c.isSetter()) {
h = h.substring(u.KEY_PREFIX_LENGTH);
}
h !== x ? G && G.yellowLn("Binding Trait: " + h + " -> " + x) : G && G.greenLn("Applying Trait " + c.kindName() + ": " + c);
l(b.asBindings, h);
this instanceof y ? (k.enterTimeline("applyNonMemoizedMethodTrait"), g.applyNonMemoizedMethodTrait(h, c, b, d.scope, d.natives)) : (k.enterTimeline("applyMemoizedMethodTrait"), g.applyMemoizedMethodTrait(h, c, b, d.scope, d.natives));
k.leaveTimeline();
}
}
}
};
return a;
}();
g.Bindings = h;
var x = function(a) {
function b(c) {
a.call(this);
n(c.needsActivation());
this.methodInfo = c;
c = c.traits;
for (var h = 0;h < c.length;h++) {
var e = c[h];
n(e.isSlot() || e.isConst(), "Only slot or constant traits are allowed in activation objects.");
var d = f.getQualifiedName(e.name);
this.map[d] = new u(e);
this.assignNextSlot(e);
}
}
__extends(b, a);
return b;
}(h);
g.ActivationBindings = x;
x = function(a) {
function b(c, h) {
a.call(this);
var e = f.getQualifiedName(h.name);
this.map[e] = new u(h);
n(h.isSlot(), "Only slot traits are allowed in catch objects.");
this.assignNextSlot(h);
}
__extends(b, a);
return b;
}(h);
g.CatchBindings = x;
var y = function(a) {
function b(c, h) {
a.call(this);
this.scope = h;
this.scriptInfo = c;
for (var e = c.traits, d = 0;d < e.length;d++) {
var p = e[d], l = f.getQualifiedName(p.name), l = u.getKey(l, p), l = this.map[l] = new u(p);
(p.isSlot() || p.isConst() || p.isClass()) && this.assignNextSlot(p);
p.isClass() && p.metadata && p.metadata.native && (p.classInfo.native = p.metadata.native);
if (p.isMethod() || p.isGetter() || p.isSetter()) {
l.scope = this.scope;
}
}
}
__extends(b, a);
return b;
}(h);
g.ScriptBindings = y;
x = function(a) {
function b(c, h, e) {
a.call(this);
this.scope = h;
this.natives = e;
this.classInfo = c;
c = c.traits;
for (h = 0;h < c.length;h++) {
e = c[h];
var d = f.getQualifiedName(e.name), d = u.getKey(d, e), d = this.map[d] = new u(e);
(e.isSlot() || e.isConst()) && this.assignNextSlot(e);
if (e.isMethod() || e.isGetter() || e.isSetter()) {
d.scope = this.scope, d.natives = this.natives;
}
}
}
__extends(b, a);
return b;
}(h);
g.ClassBindings = x;
h = function(b) {
function h(a, e, p, l) {
b.call(this);
this.scope = p;
this.natives = l;
this.parent = a;
this.instanceInfo = e;
this.implementedInterfaces = a ? d(a.implementedInterfaces) : c();
a && (this.slots = a.slots.slice(), this.nextSlotId = a.nextSlotId);
this.extend(a);
}
__extends(h, b);
h.prototype.extend = function(b) {
var c = this.instanceInfo, h, e = this.map, d, p, l, q;
if (b) {
for (p in b.map) {
d = b.map[p], l = d.trait, e[p] = d, l.isProtected() && (q = f.getQualifiedName(new f([c.protectedNs], l.name.getName())), q = u.getKey(q, l), e[q] = d);
}
}
var r = c.traits;
for (b = 0;b < r.length;b++) {
l = r[b];
d = f.getQualifiedName(l.name);
p = u.getKey(d, l);
d = new u(l);
h = e;
q = d;
var x = q.trait, w = h[p];
w ? (n(!w.trait.isFinal(), "Cannot redefine a final trait: " + x), n(x.isOverride() || "length" === x.name.getName(), "Overriding a trait that is not marked for override: " + x)) : n(!x.isOverride(), "Trait marked override must override another trait: " + x);
h[p] = q;
if (l.isProtected()) {
for (h = this.parent;h && h.instanceInfo.protectedNs;) {
q = f.getQualifiedName(new f([h.instanceInfo.protectedNs], l.name.getName())), q = u.getKey(q, l), q in e && (e[q] = d), h = h.parent;
}
}
(l.isSlot() || l.isConst()) && this.assignNextSlot(l);
if (l.isMethod() || l.isGetter() || l.isSetter()) {
d.scope = this.scope, d.natives = this.natives;
}
}
l = c.abc.applicationDomain;
d = c.interfaces;
for (b = 0;b < d.length;b++) {
r = l.getProperty(d[b], !0, !0), n(r), a(this.implementedInterfaces, r.interfaceBindings.implementedInterfaces), this.implementedInterfaces[f.getQualifiedName(r.classInfo.instanceInfo.name)] = r;
}
for (var g in this.implementedInterfaces) {
r = this.implementedInterfaces[g];
h = r.interfaceBindings;
for (var m in h.map) {
b = h.map[m], c.isInterface() ? e[m] = b : (d = f.getPublicQualifiedName(b.trait.name.getName()), p = u.getKey(d, b.trait), e[m] = e[p]);
}
}
};
h.prototype.toString = function() {
return this.instanceInfo.toString();
};
return h;
}(h);
g.InstanceBindings = h;
var G = null;
})(k.Runtime || (k.Runtime = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Binding = Shumway.AVM2.Runtime.Binding, Bindings = Shumway.AVM2.Runtime.Bindings, ActivationBindings = Shumway.AVM2.Runtime.ActivationBindings, CatchBindings = Shumway.AVM2.Runtime.CatchBindings, ScriptBindings = Shumway.AVM2.Runtime.ScriptBindings, ClassBindings = Shumway.AVM2.Runtime.ClassBindings, InstanceBindings = Shumway.AVM2.Runtime.InstanceBindings;
(function(b) {
(function(b) {
b.XRegExp = function() {
function b(a, c, h) {
var e;
if (h) {
if (a.__proto__) {
a.__proto__ = q.prototype;
} else {
for (e in q.prototype) {
a[e] = q.prototype[e];
}
}
}
a.xregexp = {captureNames:c};
return a;
}
function f(a) {
return u.replace.call(a, /([\s\S])(?=[\s\S]*\1)/g, "");
}
function k(a, c) {
if (!q.isRegExp(a)) {
throw new TypeError("Type RegExp expected");
}
var h = u.exec.call(/\/([a-z]*)$/i, String(a))[1];
c = c || {};
c.add && (h = f(h + c.add));
c.remove && (h = u.replace.call(h, new RegExp("[" + c.remove + "]+", "g"), ""));
return a = b(new RegExp(a.source, h), a.xregexp && a.xregexp.captureNames ? a.xregexp.captureNames.slice(0) : null, c.addProto);
}
function s(a, b) {
if (Array.prototype.indexOf) {
return a.indexOf(b);
}
var c = a.length, h;
for (h = 0;h < c;++h) {
if (a[h] === b) {
return h;
}
}
return-1;
}
function m(a, b) {
return O.call(a) === "[object " + b + "]";
}
function d(a, b, c) {
return u.test.call(-1 < c.indexOf("x") ? /^(?:\s+|#.*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/ : /^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/, a.slice(b));
}
function a(a, b) {
var c;
if (f(b) !== b) {
throw new SyntaxError("Invalid duplicate regex flag " + b);
}
a = u.replace.call(a, /^\(\?([\w$]+)\)/, function(a, c) {
if (u.test.call(/[gy]/, c)) {
throw new SyntaxError("Cannot use flag g or y in mode modifier " + a);
}
b = f(b + c);
return "";
});
for (c = 0;c < b.length;++c) {
if (!E[b.charAt(c)]) {
throw new SyntaxError("Unknown regex flag " + b.charAt(c));
}
}
return{pattern:a, flags:b};
}
function c(a) {
a = a || {};
m(a, "String") && (a = q.forEach(a, /[^\s,]+/, function(a) {
this[a] = !0;
}, {}));
return a;
}
function n(a) {
if (!/^[\w$]$/.test(a)) {
throw Error("Flag must be a single character A-Za-z0-9_$");
}
E[a] = !0;
}
function p(a) {
RegExp.prototype.exec = (a ? w : u).exec;
RegExp.prototype.test = (a ? w : u).test;
String.prototype.match = (a ? w : u).match;
String.prototype.replace = (a ? w : u).replace;
String.prototype.split = (a ? w : u).split;
l.natives = a;
}
function e(a) {
if (null == a) {
throw new TypeError("Cannot convert null or undefined to object");
}
return a;
}
var q, l = {astral:!1, natives:!1}, u = {exec:RegExp.prototype.exec, test:RegExp.prototype.test, match:String.prototype.match, replace:String.prototype.replace, split:String.prototype.split}, w = {}, r = {}, h = {}, x = [], y = {"default":/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, "class":/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|[\s\S]/}, G = /\$(?:{([\w$]+)}|([\d$&`']))/g,
I = void 0 === u.exec.call(/()??/, "")[1], C = void 0 !== RegExp.prototype.sticky, E = {g:!0, i:!0, m:!0, y:C}, O = {}.toString, K;
q = function(c, e) {
var d = {hasNamedCapture:!1, captureNames:[]}, p = "default", l = "", n = 0, r, f;
if (q.isRegExp(c)) {
if (void 0 !== e) {
throw new TypeError("Cannot supply flags when copying a RegExp");
}
return k(c, {addProto:!0});
}
c = void 0 === c ? "" : String(c);
e = void 0 === e ? "" : String(e);
f = c + "***" + e;
if (!h[f]) {
r = a(c, e);
c = r.pattern;
for (e = r.flags;n < c.length;) {
do {
r = c;
for (var w = e, m = n, s = p, G = d, I = x.length, E = null, C = void 0, O = void 0;I--;) {
if (O = x[I], (O.scope === s || "all" === O.scope) && (!O.flag || -1 < w.indexOf(O.flag)) && (C = q.exec(r, O.regex, m, "sticky"))) {
E = {matchLength:C[0].length, output:O.handler.call(G, C, s, w), reparse:O.reparse};
break;
}
}
(r = E) && r.reparse && (c = c.slice(0, n) + r.output + c.slice(n + r.matchLength));
} while (r && r.reparse);
r ? (l += r.output, n += r.matchLength || 1) : (r = q.exec(c, y[p], n, "sticky")[0], l += r, n += r.length, "[" === r && "default" === p ? p = "class" : "]" === r && "class" === p && (p = "default"));
}
h[f] = {pattern:u.replace.call(l, /\(\?:\)(?=\(\?:\))|^\(\?:\)|\(\?:\)$/g, ""), flags:u.replace.call(e, /[^gimy]+/g, ""), captures:d.hasNamedCapture ? d.captureNames : null};
}
f = h[f];
return b(new RegExp(f.pattern, f.flags), f.captures, !0);
};
q.prototype = RegExp();
q.version = "3.0.0-pre";
q.addToken = function(a, b, c) {
c = c || {};
var h = c.optionalFlags, e;
c.flag && n(c.flag);
if (h) {
for (h = u.split.call(h, ""), e = 0;e < h.length;++e) {
n(h[e]);
}
}
x.push({regex:k(a, {add:"g" + (C ? "y" : "")}), handler:b, scope:c.scope || "default", flag:c.flag, reparse:c.reparse});
q.cache.flush("patterns");
};
q.cache = function(a, b) {
var c = a + "***" + (b || "");
return r[c] || (r[c] = q(a, b));
};
q.cache.flush = function(a) {
"patterns" === a ? h = {} : r = {};
};
q.escape = function(a) {
return u.replace.call(e(a), /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
};
q.exec = function(a, b, c, h) {
var e = "g";
C && (h || b.sticky && !1 !== h) && (e += "y");
b.xregexp = b.xregexp || {captureNames:null};
e = b.xregexp[e] || (b.xregexp[e] = k(b, {add:e, remove:!1 === h ? "y" : ""}));
e.lastIndex = c = c || 0;
a = w.exec.call(e, a);
h && a && a.index !== c && (a = null);
b.global && (b.lastIndex = a ? e.lastIndex : 0);
return a;
};
q.forEach = function(a, b, c, h) {
for (var e = 0, d = -1;e = q.exec(a, b, e);) {
c.call(h, e, ++d, a, b), e = e.index + (e[0].length || 1);
}
return h;
};
q.globalize = function(a) {
return k(a, {add:"g", addProto:!0});
};
q.install = function() {
var a = {natives:!0}, a = c(a);
!l.astral && a.astral && (q.cache.flush("patterns"), l.astral = !0);
!l.natives && a.natives && p(!0);
};
q.isInstalled = function(a) {
return!!l[a];
};
q.isRegExp = function(a) {
return "[object RegExp]" === O.call(a);
};
q.match = function(a, b, c) {
var h = b.global && "one" !== c || "all" === c, d = (h ? "g" : "") + (b.sticky ? "y" : "");
b.xregexp = b.xregexp || {captureNames:null};
d = b.xregexp[d || "noGY"] || (b.xregexp[d || "noGY"] = k(b, {add:d, remove:"one" === c ? "g" : ""}));
a = u.match.call(e(a), d);
b.global && (b.lastIndex = "one" === c && a ? a.index + a[0].length : 0);
return h ? a || [] : a && a[0];
};
q.matchChain = function(a, b) {
return function B(a, c) {
function h(a) {
if (e.backref) {
if (!(a.hasOwnProperty(e.backref) || +e.backref < a.length)) {
throw new ReferenceError("Backreference to undefined group: " + e.backref);
}
d.push(a[e.backref] || "");
} else {
d.push(a[0]);
}
}
var e = b[c].regex ? b[c] : {regex:b[c]}, d = [], p;
for (p = 0;p < a.length;++p) {
q.forEach(a[p], e.regex, h);
}
return c !== b.length - 1 && d.length ? B(d, c + 1) : d;
}([a], 0);
};
q.replace = function(a, b, c, h) {
var d = q.isRegExp(b), p = b.global && "one" !== h || "all" === h, l = (p ? "g" : "") + (b.sticky ? "y" : ""), n = b;
d ? (b.xregexp = b.xregexp || {captureNames:null}, n = b.xregexp[l || "noGY"] || (b.xregexp[l || "noGY"] = k(b, {add:l, remove:"one" === h ? "g" : ""}))) : p && (n = new RegExp(q.escape(String(b)), "g"));
a = w.replace.call(e(a), n, c);
d && b.global && (b.lastIndex = 0);
return a;
};
q.replaceEach = function(a, b) {
var c, h;
for (c = 0;c < b.length;++c) {
h = b[c], a = q.replace(a, h[0], h[1], h[2]);
}
return a;
};
q.split = function(a, b, c) {
return w.split.call(e(a), b, c);
};
q.test = function(a, b, c, h) {
return!!q.exec(a, b, c, h);
};
q.uninstall = function(a) {
a = c(a);
l.astral && a.astral && (q.cache.flush("patterns"), l.astral = !1);
l.natives && a.natives && p(!1);
};
q.union = function(a, b) {
function c(a, b, h) {
var e = l[d - p];
if (b) {
if (++d, e) {
return "(?<" + e + ">";
}
} else {
if (h) {
return "\\" + (+h + p);
}
}
return a;
}
var h = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, e = [], d = 0, p, l, n, r;
if (!m(a, "Array") || !a.length) {
throw new TypeError("Must provide a nonempty array of patterns to merge");
}
for (r = 0;r < a.length;++r) {
n = a[r], q.isRegExp(n) ? (p = d, l = n.xregexp && n.xregexp.captureNames || [], e.push(u.replace.call(q(n.source).source, h, c))) : e.push(q.escape(n));
}
return q(e.join("|"), b);
};
w.exec = function(a) {
var b = this.lastIndex, c = u.exec.apply(this, arguments), h, e;
if (c) {
!I && 1 < c.length && -1 < s(c, "") && (h = k(this, {remove:"g"}), u.replace.call(String(a).slice(c.index), h, function() {
var a = arguments.length, b;
for (b = 1;b < a - 2;++b) {
void 0 === arguments[b] && (c[b] = void 0);
}
}));
if (this.xregexp && this.xregexp.captureNames) {
for (e = 1;e < c.length;++e) {
(h = this.xregexp.captureNames[e - 1]) && (c[h] = c[e]);
}
}
this.global && !c[0].length && this.lastIndex > c.index && (this.lastIndex = c.index);
}
this.global || (this.lastIndex = b);
return c;
};
w.test = function(a) {
return!!w.exec.call(this, a);
};
w.match = function(a) {
var b;
if (!q.isRegExp(a)) {
a = new RegExp(a);
} else {
if (a.global) {
return b = u.match.apply(this, arguments), a.lastIndex = 0, b;
}
}
return w.exec.call(a, e(this));
};
w.replace = function(a, b) {
var c = q.isRegExp(a), h, e, d;
c ? (a.xregexp && (e = a.xregexp.captureNames), h = a.lastIndex) : a += "";
d = m(b, "Function") ? u.replace.call(String(this), a, function() {
var h = arguments, d;
if (e) {
for (h[0] = new String(h[0]), d = 0;d < e.length;++d) {
e[d] && (h[0][e[d]] = h[d + 1]);
}
}
c && a.global && (a.lastIndex = h[h.length - 2] + h[0].length);
return b.apply(void 0, h);
}) : u.replace.call(null == this ? this : String(this), a, function() {
var a = arguments;
return u.replace.call(String(b), G, function(b, c, h) {
if (c) {
h = +c;
if (h <= a.length - 3) {
return a[h] || "";
}
h = e ? s(e, c) : -1;
if (0 > h) {
throw new SyntaxError("Backreference to undefined group " + b);
}
return a[h + 1] || "";
}
if ("$" === h) {
return "$";
}
if ("&" === h || 0 === +h) {
return a[0];
}
if ("`" === h) {
return a[a.length - 1].slice(0, a[a.length - 2]);
}
if ("'" === h) {
return a[a.length - 1].slice(a[a.length - 2] + a[0].length);
}
h = +h;
if (!isNaN(h)) {
if (h > a.length - 3) {
throw new SyntaxError("Backreference to undefined group " + b);
}
return a[h] || "";
}
throw new SyntaxError("Invalid token " + b);
});
});
c && (a.lastIndex = a.global ? 0 : h);
return d;
};
w.split = function(a, b) {
if (!q.isRegExp(a)) {
return u.split.apply(this, arguments);
}
var c = String(this), h = [], e = a.lastIndex, d = 0, p;
b = (void 0 === b ? -1 : b) >>> 0;
q.forEach(c, a, function(a) {
a.index + a[0].length > d && (h.push(c.slice(d, a.index)), 1 < a.length && a.index < c.length && Array.prototype.push.apply(h, a.slice(1)), p = a[0].length, d = a.index + p);
});
d === c.length ? u.test.call(a, "") && !p || h.push("") : h.push(c.slice(d));
a.lastIndex = e;
return h.length > b ? h.slice(0, b) : h;
};
K = q.addToken;
K(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/, function(a, b) {
if ("B" === a[1] && "default" === b) {
return a[0];
}
throw new SyntaxError("Invalid escape " + a[0]);
}, {scope:"all"});
K(/\[(\^?)]/, function(a) {
return a[1] ? "[\\s\\S]" : "\\b\\B";
});
K(/\(\?#[^)]*\)/, function(a, b, c) {
return d(a.input, a.index + a[0].length, c) ? "" : "(?:)";
});
K(/\s+|#.*/, function(a, b, c) {
return d(a.input, a.index + a[0].length, c) ? "" : "(?:)";
}, {flag:"x"});
K(/\./, function() {
return "[\\s\\S]";
}, {flag:"s"});
K(/\\k<([\w$]+)>/, function(a) {
var b = isNaN(a[1]) ? s(this.captureNames, a[1]) + 1 : +a[1], c = a.index + a[0].length;
if (!b || b > this.captureNames.length) {
throw new SyntaxError("Backreference to undefined group " + a[0]);
}
return "\\" + b + (c === a.input.length || isNaN(a.input.charAt(c)) ? "" : "(?:)");
});
K(/\\(\d+)/, function(a, b) {
if (!("default" === b && /^[1-9]/.test(a[1]) && +a[1] <= this.captureNames.length) && "0" !== a[1]) {
throw new SyntaxError("Cannot use octal escape or backreference to undefined group " + a[0]);
}
return a[0];
}, {scope:"all"});
K(/\(\?P?<([\w$]+)>/, function(a) {
if (!isNaN(a[1])) {
throw new SyntaxError("Cannot use integer as capture name " + a[0]);
}
if ("length" === a[1] || "__proto__" === a[1]) {
throw new SyntaxError("Cannot use reserved word as capture name " + a[0]);
}
if (-1 < s(this.captureNames, a[1])) {
throw new SyntaxError("Cannot use same name for multiple groups " + a[0]);
}
this.captureNames.push(a[1]);
this.hasNamedCapture = !0;
return "(";
});
K(/\((?!\?)/, function(a, b, c) {
if (-1 < c.indexOf("n")) {
return "(?:";
}
this.captureNames.push(null);
return "(";
}, {optionalFlags:"n"});
return q;
}();
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
Shumway.AVM2.XRegExp.install();
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.assertNotImplemented, t = b.Debug.notImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = function() {
function c(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = !1);
a >>>= 0;
this._fixed = !!b;
this._buffer = new Int32Array(Math.max(c.INITIAL_CAPACITY, a + c.EXTRA_CAPACITY));
this._offset = 0;
this._length = a;
}
c.defaultCompareFunction = function(a, b) {
return String(a).localeCompare(String(b));
};
c.compare = function(a, e, d, l) {
f(!(d & c.CASEINSENSITIVE), "CASEINSENSITIVE");
f(!(d & c.UNIQUESORT), "UNIQUESORT");
f(!(d & c.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY");
var g = 0;
l || (l = c.defaultCompareFunction);
d & c.NUMERIC ? (a = b.toNumber(a), e = b.toNumber(e), g = a < e ? -1 : a > e ? 1 : 0) : g = l(a, e);
d & c.DESCENDING && (g *= -1);
return g;
};
c.callable = function(a) {
if (a instanceof c) {
return a;
}
var e = a.asGetProperty(void 0, "length");
if (void 0 !== e) {
for (var d = new c(e, !1), l = 0;l < e;l++) {
d.asSetNumericProperty(l, a.asGetPublicProperty(l));
}
return d;
}
b.Debug.unexpected();
};
c.prototype.internalToString = function() {
for (var a = "", b = this._offset, c = b + this._length, d = 0;d < this._buffer.length;d++) {
d === b && (a += "["), d === c && (a += "]"), a += this._buffer[d], d < this._buffer.length - 1 && (a += ",");
}
this._offset + this._length === this._buffer.length && (a += "]");
return a + ": offset: " + this._offset + ", length: " + this._length + ", capacity: " + this._buffer.length;
};
c.prototype.toString = function() {
for (var a = "", b = 0;b < this._length;b++) {
a += this._buffer[this._offset + b], b < this._length - 1 && (a += ",");
}
return a;
};
c.prototype._view = function() {
return this._buffer.subarray(this._offset, this._offset + this._length);
};
c.prototype._ensureCapacity = function(a) {
var b = this._offset + a;
b < this._buffer.length || (a <= this._buffer.length ? (b = this._buffer.length - a >> 2, this._buffer.set(this._view(), b), this._offset = b) : (a = (3 * this._buffer.length >> 1) + 1, a < b && (a = b), b = new Int32Array(a), b.set(this._buffer, 0), this._buffer = b));
};
c.prototype.concat = function() {
t("Int32Vector.concat");
};
c.prototype.every = function(a, b) {
for (var c = 0;c < this._length;c++) {
if (!a.call(b, this._buffer[this._offset + c], c, this)) {
return!1;
}
}
return!0;
};
c.prototype.filter = function(a, b) {
for (var d = new c, l = 0;l < this._length;l++) {
a.call(b, this._buffer[this._offset + l], l, this) && d.push(this._buffer[this._offset + l]);
}
return d;
};
c.prototype.some = function(a, c) {
2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = 0;d < this._length;d++) {
if (a.call(c, this._buffer[this._offset + d], d, this)) {
return!0;
}
}
return!1;
};
c.prototype.forEach = function(a, b) {
for (var c = 0;c < this._length;c++) {
a.call(b, this._buffer[this._offset + c], c, this);
}
};
c.prototype.join = function(a) {
t("Int32Vector.join");
};
c.prototype.indexOf = function(a, b) {
t("Int32Vector.indexOf");
};
c.prototype.lastIndexOf = function(a, b) {
t("Int32Vector.lastIndexOf");
};
c.prototype.map = function(a, e) {
b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = new c, l = 0;l < this._length;l++) {
d.push(a.call(e, this._buffer[this._offset + l], l, this));
}
return d;
};
c.prototype.push = function() {
for (var a = 0;a < arguments.length - 0;a++) {
}
this._checkFixed();
this._ensureCapacity(this._length + arguments.length);
for (a = 0;a < arguments.length;a++) {
this._buffer[this._offset + this._length++] = arguments[a];
}
};
c.prototype.pop = function() {
this._checkFixed();
if (0 === this._length) {
return c.DEFAULT_VALUE;
}
this._length--;
return this._buffer[this._offset + this._length];
};
c.prototype.reverse = function() {
for (var a = this._offset, b = this._offset + this._length - 1, c = this._buffer;a < b;) {
var d = c[a];
c[a] = c[b];
c[b] = d;
a++;
b--;
}
};
c._sort = function(a) {
for (var b = [], c = -1, d = 0, n = a.length - 1, f, r, h, x;;) {
if (100 >= n - d) {
for (r = d + 1;r <= n;r++) {
h = a[r];
for (f = r - 1;f >= d && a[f] > h;) {
a[f + 1] = a[f--];
}
a[f + 1] = h;
}
if (-1 == c) {
break;
}
n = b[c--];
d = b[c--];
} else {
x = d + n >> 1;
f = d + 1;
r = n;
h = a[x];
a[x] = a[f];
a[f] = h;
a[d] > a[n] && (h = a[d], a[d] = a[n], a[n] = h);
a[f] > a[n] && (h = a[f], a[f] = a[n], a[n] = h);
a[d] > a[f] && (h = a[d], a[d] = a[f], a[f] = h);
for (x = a[f];;) {
do {
f++;
} while (a[f] < x);
do {
r--;
} while (a[r] > x);
if (r < f) {
break;
}
h = a[f];
a[f] = a[r];
a[r] = h;
}
a[d + 1] = a[r];
a[r] = x;
n - f + 1 >= r - d ? (b[++c] = f, b[++c] = n, n = r - 1) : (b[++c] = d, b[++c] = r - 1, d = f);
}
}
return a;
};
c.prototype._sortNumeric = function(a) {
c._sort(this._view());
a && this.reverse();
};
c.prototype.sort = function() {
if (0 === arguments.length) {
return Array.prototype.sort.call(this._view());
}
var a, e = 0;
arguments[0] instanceof Function ? a = arguments[0] : b.isNumber(arguments[0]) && (e = arguments[0]);
b.isNumber(arguments[1]) && (e = arguments[1]);
if (e & c.NUMERIC) {
return this._sortNumeric(e & c.DESCENDING);
}
Array.prototype.sort.call(this._view(), function(b, d) {
return c.compare(b, d, e, a);
});
};
c.prototype.asGetNumericProperty = function(a) {
d(a, this._length);
return this._buffer[this._offset + a];
};
c.prototype.asSetNumericProperty = function(b, c) {
a(b, this._length, this._fixed);
b === this._length && (this._ensureCapacity(this._length + 1), this._length++);
this._buffer[this._offset + b] = c;
};
c.prototype.shift = function() {
this._checkFixed();
if (0 === this._length) {
return 0;
}
this._length--;
return this._buffer[this._offset++];
};
c.prototype._checkFixed = function() {
this._fixed && s("RangeError", k.Errors.VectorFixedError);
};
c.prototype._slide = function(a) {
this._buffer.set(this._view(), this._offset + a);
this._offset += a;
};
c.prototype.unshift = function() {
this._checkFixed();
if (arguments.length) {
this._ensureCapacity(this._length + arguments.length);
this._slide(arguments.length);
this._offset -= arguments.length;
this._length += arguments.length;
for (var a = 0;a < arguments.length;a++) {
this._buffer[this._offset + a] = arguments[a];
}
}
};
c.prototype.asHasProperty = function(a, e, d) {
if (c.prototype === this || !b.isNumeric(e)) {
return Object.prototype.asHasProperty.call(this, a, e, d);
}
a = b.toNumber(e);
return 0 <= a && a < this._length;
};
Object.defineProperty(c.prototype, "length", {get:function() {
return this._length;
}, set:function(a) {
a >>>= 0;
if (a > this._length) {
this._ensureCapacity(a);
for (var b = this._offset + this._length, d = this._offset + a;b < d;b++) {
this._buffer[b] = c.DEFAULT_VALUE;
}
}
this._length = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "fixed", {get:function() {
return this._fixed;
}, set:function(a) {
this._fixed = !!a;
}, enumerable:!0, configurable:!0});
c.prototype._spliceHelper = function(a, b, c, d, n) {
b = m(b, 0, d.length - n);
c = m(c, 0, this._length - a);
this._ensureCapacity(this._length - c + b);
var f = this._offset + a + c;
this._buffer.set(this._buffer.subarray(f, f + this._length - a - c), this._offset + a + b);
this._length += b - c;
for (c = 0;c < b;c++) {
this._buffer[this._offset + a + c] = d.asGetNumericProperty(n + c);
}
};
c.prototype.asNextName = function(a) {
return a - 1;
};
c.prototype.asNextValue = function(a) {
return this._buffer[this._offset + a - 1];
};
c.prototype.asNextNameIndex = function(a) {
a += 1;
return a <= this._length ? a : 0;
};
c.prototype.asHasNext2 = function(a) {
a.index = this.asNextNameIndex(a.index);
};
c.EXTRA_CAPACITY = 4;
c.INITIAL_CAPACITY = 10;
c.DEFAULT_VALUE = 0;
c.CASEINSENSITIVE = 1;
c.DESCENDING = 2;
c.UNIQUESORT = 4;
c.RETURNINDEXEDARRAY = 8;
c.NUMERIC = 16;
return c;
}();
g.Int32Vector = c;
c.prototype._reverse = c.prototype.reverse;
c.prototype._filter = c.prototype.filter;
c.prototype._map = c.prototype.map;
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.assertNotImplemented, t = b.Debug.notImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = function() {
function c(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = !1);
a >>>= 0;
this._fixed = !!b;
this._buffer = new Uint32Array(Math.max(c.INITIAL_CAPACITY, a + c.EXTRA_CAPACITY));
this._offset = 0;
this._length = a;
}
c.defaultCompareFunction = function(a, b) {
return String(a).localeCompare(String(b));
};
c.compare = function(a, e, d, l) {
f(!(d & c.CASEINSENSITIVE), "CASEINSENSITIVE");
f(!(d & c.UNIQUESORT), "UNIQUESORT");
f(!(d & c.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY");
var g = 0;
l || (l = c.defaultCompareFunction);
d & c.NUMERIC ? (a = b.toNumber(a), e = b.toNumber(e), g = a < e ? -1 : a > e ? 1 : 0) : g = l(a, e);
d & c.DESCENDING && (g *= -1);
return g;
};
c.callable = function(a) {
if (a instanceof c) {
return a;
}
var e = a.asGetProperty(void 0, "length");
if (void 0 !== e) {
for (var d = new c(e, !1), l = 0;l < e;l++) {
d.asSetNumericProperty(l, a.asGetPublicProperty(l));
}
return d;
}
b.Debug.unexpected();
};
c.prototype.internalToString = function() {
for (var a = "", b = this._offset, c = b + this._length, d = 0;d < this._buffer.length;d++) {
d === b && (a += "["), d === c && (a += "]"), a += this._buffer[d], d < this._buffer.length - 1 && (a += ",");
}
this._offset + this._length === this._buffer.length && (a += "]");
return a + ": offset: " + this._offset + ", length: " + this._length + ", capacity: " + this._buffer.length;
};
c.prototype.toString = function() {
for (var a = "", b = 0;b < this._length;b++) {
a += this._buffer[this._offset + b], b < this._length - 1 && (a += ",");
}
return a;
};
c.prototype._view = function() {
return this._buffer.subarray(this._offset, this._offset + this._length);
};
c.prototype._ensureCapacity = function(a) {
var b = this._offset + a;
b < this._buffer.length || (a <= this._buffer.length ? (b = this._buffer.length - a >> 2, this._buffer.set(this._view(), b), this._offset = b) : (a = (3 * this._buffer.length >> 1) + 1, a < b && (a = b), b = new Uint32Array(a), b.set(this._buffer, 0), this._buffer = b));
};
c.prototype.concat = function() {
t("Uint32Vector.concat");
};
c.prototype.every = function(a, b) {
for (var c = 0;c < this._length;c++) {
if (!a.call(b, this._buffer[this._offset + c], c, this)) {
return!1;
}
}
return!0;
};
c.prototype.filter = function(a, b) {
for (var d = new c, l = 0;l < this._length;l++) {
a.call(b, this._buffer[this._offset + l], l, this) && d.push(this._buffer[this._offset + l]);
}
return d;
};
c.prototype.some = function(a, c) {
2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = 0;d < this._length;d++) {
if (a.call(c, this._buffer[this._offset + d], d, this)) {
return!0;
}
}
return!1;
};
c.prototype.forEach = function(a, b) {
for (var c = 0;c < this._length;c++) {
a.call(b, this._buffer[this._offset + c], c, this);
}
};
c.prototype.join = function(a) {
t("Uint32Vector.join");
};
c.prototype.indexOf = function(a, b) {
t("Uint32Vector.indexOf");
};
c.prototype.lastIndexOf = function(a, b) {
t("Uint32Vector.lastIndexOf");
};
c.prototype.map = function(a, e) {
b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = new c, l = 0;l < this._length;l++) {
d.push(a.call(e, this._buffer[this._offset + l], l, this));
}
return d;
};
c.prototype.push = function() {
for (var a = 0;a < arguments.length - 0;a++) {
}
this._checkFixed();
this._ensureCapacity(this._length + arguments.length);
for (a = 0;a < arguments.length;a++) {
this._buffer[this._offset + this._length++] = arguments[a];
}
};
c.prototype.pop = function() {
this._checkFixed();
if (0 === this._length) {
return c.DEFAULT_VALUE;
}
this._length--;
return this._buffer[this._offset + this._length];
};
c.prototype.reverse = function() {
for (var a = this._offset, b = this._offset + this._length - 1, c = this._buffer;a < b;) {
var d = c[a];
c[a] = c[b];
c[b] = d;
a++;
b--;
}
};
c._sort = function(a) {
for (var b = [], c = -1, d = 0, n = a.length - 1, f, r, h, x;;) {
if (100 >= n - d) {
for (r = d + 1;r <= n;r++) {
h = a[r];
for (f = r - 1;f >= d && a[f] > h;) {
a[f + 1] = a[f--];
}
a[f + 1] = h;
}
if (-1 == c) {
break;
}
n = b[c--];
d = b[c--];
} else {
x = d + n >> 1;
f = d + 1;
r = n;
h = a[x];
a[x] = a[f];
a[f] = h;
a[d] > a[n] && (h = a[d], a[d] = a[n], a[n] = h);
a[f] > a[n] && (h = a[f], a[f] = a[n], a[n] = h);
a[d] > a[f] && (h = a[d], a[d] = a[f], a[f] = h);
for (x = a[f];;) {
do {
f++;
} while (a[f] < x);
do {
r--;
} while (a[r] > x);
if (r < f) {
break;
}
h = a[f];
a[f] = a[r];
a[r] = h;
}
a[d + 1] = a[r];
a[r] = x;
n - f + 1 >= r - d ? (b[++c] = f, b[++c] = n, n = r - 1) : (b[++c] = d, b[++c] = r - 1, d = f);
}
}
return a;
};
c.prototype._sortNumeric = function(a) {
c._sort(this._view());
a && this.reverse();
};
c.prototype.sort = function() {
if (0 === arguments.length) {
return Array.prototype.sort.call(this._view());
}
var a, e = 0;
arguments[0] instanceof Function ? a = arguments[0] : b.isNumber(arguments[0]) && (e = arguments[0]);
b.isNumber(arguments[1]) && (e = arguments[1]);
if (e & c.NUMERIC) {
return this._sortNumeric(e & c.DESCENDING);
}
Array.prototype.sort.call(this._view(), function(b, d) {
return c.compare(b, d, e, a);
});
};
c.prototype.asGetNumericProperty = function(a) {
d(a, this._length);
return this._buffer[this._offset + a];
};
c.prototype.asSetNumericProperty = function(b, c) {
a(b, this._length, this._fixed);
b === this._length && (this._ensureCapacity(this._length + 1), this._length++);
this._buffer[this._offset + b] = c;
};
c.prototype.shift = function() {
this._checkFixed();
if (0 === this._length) {
return 0;
}
this._length--;
return this._buffer[this._offset++];
};
c.prototype._checkFixed = function() {
this._fixed && s("RangeError", k.Errors.VectorFixedError);
};
c.prototype._slide = function(a) {
this._buffer.set(this._view(), this._offset + a);
this._offset += a;
};
c.prototype.unshift = function() {
this._checkFixed();
if (arguments.length) {
this._ensureCapacity(this._length + arguments.length);
this._slide(arguments.length);
this._offset -= arguments.length;
this._length += arguments.length;
for (var a = 0;a < arguments.length;a++) {
this._buffer[this._offset + a] = arguments[a];
}
}
};
c.prototype.asHasProperty = function(a, e, d) {
if (c.prototype === this || !b.isNumeric(e)) {
return Object.prototype.asHasProperty.call(this, a, e, d);
}
a = b.toNumber(e);
return 0 <= a && a < this._length;
};
Object.defineProperty(c.prototype, "length", {get:function() {
return this._length;
}, set:function(a) {
a >>>= 0;
if (a > this._length) {
this._ensureCapacity(a);
for (var b = this._offset + this._length, d = this._offset + a;b < d;b++) {
this._buffer[b] = c.DEFAULT_VALUE;
}
}
this._length = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "fixed", {get:function() {
return this._fixed;
}, set:function(a) {
this._fixed = !!a;
}, enumerable:!0, configurable:!0});
c.prototype._spliceHelper = function(a, b, c, d, n) {
b = m(b, 0, d.length - n);
c = m(c, 0, this._length - a);
this._ensureCapacity(this._length - c + b);
var f = this._offset + a + c;
this._buffer.set(this._buffer.subarray(f, f + this._length - a - c), this._offset + a + b);
this._length += b - c;
for (c = 0;c < b;c++) {
this._buffer[this._offset + a + c] = d.asGetNumericProperty(n + c);
}
};
c.prototype.asNextName = function(a) {
return a - 1;
};
c.prototype.asNextValue = function(a) {
return this._buffer[this._offset + a - 1];
};
c.prototype.asNextNameIndex = function(a) {
a += 1;
return a <= this._length ? a : 0;
};
c.prototype.asHasNext2 = function(a) {
a.index = this.asNextNameIndex(a.index);
};
c.EXTRA_CAPACITY = 4;
c.INITIAL_CAPACITY = 10;
c.DEFAULT_VALUE = 0;
c.CASEINSENSITIVE = 1;
c.DESCENDING = 2;
c.UNIQUESORT = 4;
c.RETURNINDEXEDARRAY = 8;
c.NUMERIC = 16;
return c;
}();
g.Uint32Vector = c;
c.prototype._reverse = c.prototype.reverse;
c.prototype._filter = c.prototype.filter;
c.prototype._map = c.prototype.map;
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.assertNotImplemented, t = b.Debug.notImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = function() {
function c(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = !1);
a >>>= 0;
this._fixed = !!b;
this._buffer = new Float64Array(Math.max(c.INITIAL_CAPACITY, a + c.EXTRA_CAPACITY));
this._offset = 0;
this._length = a;
}
c.defaultCompareFunction = function(a, b) {
return String(a).localeCompare(String(b));
};
c.compare = function(a, e, d, l) {
f(!(d & c.CASEINSENSITIVE), "CASEINSENSITIVE");
f(!(d & c.UNIQUESORT), "UNIQUESORT");
f(!(d & c.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY");
var g = 0;
l || (l = c.defaultCompareFunction);
d & c.NUMERIC ? (a = b.toNumber(a), e = b.toNumber(e), g = a < e ? -1 : a > e ? 1 : 0) : g = l(a, e);
d & c.DESCENDING && (g *= -1);
return g;
};
c.callable = function(a) {
if (a instanceof c) {
return a;
}
var e = a.asGetProperty(void 0, "length");
if (void 0 !== e) {
for (var d = new c(e, !1), l = 0;l < e;l++) {
d.asSetNumericProperty(l, a.asGetPublicProperty(l));
}
return d;
}
b.Debug.unexpected();
};
c.prototype.internalToString = function() {
for (var a = "", b = this._offset, c = b + this._length, d = 0;d < this._buffer.length;d++) {
d === b && (a += "["), d === c && (a += "]"), a += this._buffer[d], d < this._buffer.length - 1 && (a += ",");
}
this._offset + this._length === this._buffer.length && (a += "]");
return a + ": offset: " + this._offset + ", length: " + this._length + ", capacity: " + this._buffer.length;
};
c.prototype.toString = function() {
for (var a = "", b = 0;b < this._length;b++) {
a += this._buffer[this._offset + b], b < this._length - 1 && (a += ",");
}
return a;
};
c.prototype._view = function() {
return this._buffer.subarray(this._offset, this._offset + this._length);
};
c.prototype._ensureCapacity = function(a) {
var b = this._offset + a;
b < this._buffer.length || (a <= this._buffer.length ? (b = this._buffer.length - a >> 2, this._buffer.set(this._view(), b), this._offset = b) : (a = (3 * this._buffer.length >> 1) + 1, a < b && (a = b), b = new Float64Array(a), b.set(this._buffer, 0), this._buffer = b));
};
c.prototype.concat = function() {
t("Float64Vector.concat");
};
c.prototype.every = function(a, b) {
for (var c = 0;c < this._length;c++) {
if (!a.call(b, this._buffer[this._offset + c], c, this)) {
return!1;
}
}
return!0;
};
c.prototype.filter = function(a, b) {
for (var d = new c, l = 0;l < this._length;l++) {
a.call(b, this._buffer[this._offset + l], l, this) && d.push(this._buffer[this._offset + l]);
}
return d;
};
c.prototype.some = function(a, c) {
2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = 0;d < this._length;d++) {
if (a.call(c, this._buffer[this._offset + d], d, this)) {
return!0;
}
}
return!1;
};
c.prototype.forEach = function(a, b) {
for (var c = 0;c < this._length;c++) {
a.call(b, this._buffer[this._offset + c], c, this);
}
};
c.prototype.join = function(a) {
t("Float64Vector.join");
};
c.prototype.indexOf = function(a, b) {
t("Float64Vector.indexOf");
};
c.prototype.lastIndexOf = function(a, b) {
t("Float64Vector.lastIndexOf");
};
c.prototype.map = function(a, e) {
b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = new c, l = 0;l < this._length;l++) {
d.push(a.call(e, this._buffer[this._offset + l], l, this));
}
return d;
};
c.prototype.push = function() {
for (var a = 0;a < arguments.length - 0;a++) {
}
this._checkFixed();
this._ensureCapacity(this._length + arguments.length);
for (a = 0;a < arguments.length;a++) {
this._buffer[this._offset + this._length++] = arguments[a];
}
};
c.prototype.pop = function() {
this._checkFixed();
if (0 === this._length) {
return c.DEFAULT_VALUE;
}
this._length--;
return this._buffer[this._offset + this._length];
};
c.prototype.reverse = function() {
for (var a = this._offset, b = this._offset + this._length - 1, c = this._buffer;a < b;) {
var d = c[a];
c[a] = c[b];
c[b] = d;
a++;
b--;
}
};
c._sort = function(a) {
for (var b = [], c = -1, d = 0, n = a.length - 1, f, r, h, x;;) {
if (100 >= n - d) {
for (r = d + 1;r <= n;r++) {
h = a[r];
for (f = r - 1;f >= d && a[f] > h;) {
a[f + 1] = a[f--];
}
a[f + 1] = h;
}
if (-1 == c) {
break;
}
n = b[c--];
d = b[c--];
} else {
x = d + n >> 1;
f = d + 1;
r = n;
h = a[x];
a[x] = a[f];
a[f] = h;
a[d] > a[n] && (h = a[d], a[d] = a[n], a[n] = h);
a[f] > a[n] && (h = a[f], a[f] = a[n], a[n] = h);
a[d] > a[f] && (h = a[d], a[d] = a[f], a[f] = h);
for (x = a[f];;) {
do {
f++;
} while (a[f] < x);
do {
r--;
} while (a[r] > x);
if (r < f) {
break;
}
h = a[f];
a[f] = a[r];
a[r] = h;
}
a[d + 1] = a[r];
a[r] = x;
n - f + 1 >= r - d ? (b[++c] = f, b[++c] = n, n = r - 1) : (b[++c] = d, b[++c] = r - 1, d = f);
}
}
return a;
};
c.prototype._sortNumeric = function(a) {
c._sort(this._view());
a && this.reverse();
};
c.prototype.sort = function() {
if (0 === arguments.length) {
return Array.prototype.sort.call(this._view());
}
var a, e = 0;
arguments[0] instanceof Function ? a = arguments[0] : b.isNumber(arguments[0]) && (e = arguments[0]);
b.isNumber(arguments[1]) && (e = arguments[1]);
if (e & c.NUMERIC) {
return this._sortNumeric(e & c.DESCENDING);
}
Array.prototype.sort.call(this._view(), function(b, d) {
return c.compare(b, d, e, a);
});
};
c.prototype.asGetNumericProperty = function(a) {
d(a, this._length);
return this._buffer[this._offset + a];
};
c.prototype.asSetNumericProperty = function(b, c) {
a(b, this._length, this._fixed);
b === this._length && (this._ensureCapacity(this._length + 1), this._length++);
this._buffer[this._offset + b] = c;
};
c.prototype.shift = function() {
this._checkFixed();
if (0 === this._length) {
return 0;
}
this._length--;
return this._buffer[this._offset++];
};
c.prototype._checkFixed = function() {
this._fixed && s("RangeError", k.Errors.VectorFixedError);
};
c.prototype._slide = function(a) {
this._buffer.set(this._view(), this._offset + a);
this._offset += a;
};
c.prototype.unshift = function() {
this._checkFixed();
if (arguments.length) {
this._ensureCapacity(this._length + arguments.length);
this._slide(arguments.length);
this._offset -= arguments.length;
this._length += arguments.length;
for (var a = 0;a < arguments.length;a++) {
this._buffer[this._offset + a] = arguments[a];
}
}
};
c.prototype.asHasProperty = function(a, e, d) {
if (c.prototype === this || !b.isNumeric(e)) {
return Object.prototype.asHasProperty.call(this, a, e, d);
}
a = b.toNumber(e);
return 0 <= a && a < this._length;
};
Object.defineProperty(c.prototype, "length", {get:function() {
return this._length;
}, set:function(a) {
a >>>= 0;
if (a > this._length) {
this._ensureCapacity(a);
for (var b = this._offset + this._length, d = this._offset + a;b < d;b++) {
this._buffer[b] = c.DEFAULT_VALUE;
}
}
this._length = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "fixed", {get:function() {
return this._fixed;
}, set:function(a) {
this._fixed = !!a;
}, enumerable:!0, configurable:!0});
c.prototype._spliceHelper = function(a, b, c, d, n) {
b = m(b, 0, d.length - n);
c = m(c, 0, this._length - a);
this._ensureCapacity(this._length - c + b);
var f = this._offset + a + c;
this._buffer.set(this._buffer.subarray(f, f + this._length - a - c), this._offset + a + b);
this._length += b - c;
for (c = 0;c < b;c++) {
this._buffer[this._offset + a + c] = d.asGetNumericProperty(n + c);
}
};
c.prototype.asNextName = function(a) {
return a - 1;
};
c.prototype.asNextValue = function(a) {
return this._buffer[this._offset + a - 1];
};
c.prototype.asNextNameIndex = function(a) {
a += 1;
return a <= this._length ? a : 0;
};
c.prototype.asHasNext2 = function(a) {
a.index = this.asNextNameIndex(a.index);
};
c.EXTRA_CAPACITY = 4;
c.INITIAL_CAPACITY = 10;
c.DEFAULT_VALUE = 0;
c.CASEINSENSITIVE = 1;
c.DESCENDING = 2;
c.UNIQUESORT = 4;
c.RETURNINDEXEDARRAY = 8;
c.NUMERIC = 16;
return c;
}();
g.Float64Vector = c;
c.prototype._reverse = c.prototype.reverse;
c.prototype._filter = c.prototype.filter;
c.prototype._map = c.prototype.map;
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(a) {
for (var b = 0;b < arguments.length - 1;b++) {
}
}
function t(a, b) {
if (0 === b.length) {
return a.sort();
}
var c, h = 0;
b[0] instanceof Function ? c = b[0] : q(b[0]) && (h = b[0]);
q(b[1]) && (h = b[1]);
a.sort(function(a, b) {
return B(a, b, h, c);
});
return a;
}
function s(a, b) {
y(!la[a], "Native function: " + a + " is already registered.");
la[a] = b;
}
function m(a) {
switch(a) {
case "prototype":
return "native_prototype";
case "hasOwnProperty":
return "native_hasOwnProperty";
case "isPrototypeOf":
return "native_isPrototypeOf";
case "propertyIsEnumerable":
return "native_propertyIsEnumerable";
default:
return a;
}
}
function d(a) {
f("getNative(" + a + ")");
for (var b = a.split("."), c = wa, h = 0, d = b.length;h < d;h++) {
c = c && c[b[h]];
}
c || (c = la[a]);
y(c, "getNative(" + a + ") not found.");
y(0 > ia.indexOf(c), "Leaking illegal function.");
return c;
}
var a = b.AVM2.ABC.Multiname, c = b.AVM2.Runtime.Scope, n = b.ObjectUtilities.hasOwnProperty, p = b.ObjectUtilities.hasOwnGetter, e = b.ObjectUtilities.defineNonEnumerableProperty, q = b.isNumber, l = b.isNullOrUndefined, u = b.ObjectUtilities.createObject, w = b.ObjectUtilities.isPrototypeWriteable, r = b.ObjectUtilities.getOwnPropertyDescriptor, h = b.Debug.notImplemented, x = b.AVM2.Runtime.asCoerceString, y = b.Debug.assert, G = b.AVM2.Runtime.createFunction, I = b.AVM2.Runtime, C = b.ObjectUtilities.boxValue,
E = b.ObjectUtilities.createEmptyObject, O = b.AVM2.Runtime.ClassBindings, K = b.AVM2.Runtime.InstanceBindings, F = b.AVM2.AS.Int32Vector, J = b.AVM2.AS.Uint32Vector, A = b.AVM2.AS.Float64Vector, B = b.AVM2.Runtime.asCompare;
(function(a) {
a[a.NONE = 0] = "NONE";
a[a.OWN_INITIALIZE = 1] = "OWN_INITIALIZE";
a[a.SUPER_INITIALIZE = 2] = "SUPER_INITIALIZE";
})(g.InitializationFlags || (g.InitializationFlags = {}));
var z = function() {
function c() {
}
c.morphIntoASClass = function(a) {
this.classInfo = a;
this.__proto__ = D.prototype;
};
c.create = function(a, b, c) {
D.create(a, b, this.instanceConstructor);
};
c.initializeFrom = function(a) {
return L.initializeFrom.call(this, a);
};
c.asCall = function(a) {
for (var b = [], c = 0;c < arguments.length - 1;c++) {
b[c] = arguments[c + 1];
}
return this.callableConstructor.apply(a, b);
};
c.asApply = function(a, b) {
return this.callableConstructor.apply(a, b);
};
c.verify = function() {
L.verify.call(this);
};
c.trace = function(a) {
L.trace.call(this, a);
};
c.getQualifiedClassName = function() {
return L.getQualifiedClassName.call(this);
};
c._setPropertyIsEnumerable = function(b, c, h) {
c = a.getPublicQualifiedName(c);
h = r(b, c);
h.enumerable = !1;
Object.defineProperty(b, c, h);
};
c._dontEnumPrototype = function(b) {
for (var c in b) {
if (a.isPublicQualifiedName(c)) {
var h = r(b, c);
h.enumerable = !1;
Object.defineProperty(b, c, h);
}
}
};
c.prototype.native_isPrototypeOf = function(a) {
h("isPrototypeOf");
return!1;
};
c.prototype.native_hasOwnProperty = function(a) {
return this.asHasOwnProperty(null, a, 0);
};
c.prototype.native_propertyIsEnumerable = function(a) {
return this.asPropertyIsEnumerable(null, a, 0);
};
c.prototype.setPropertyIsEnumerable = function(a, b) {
c._setPropertyIsEnumerable(this, a, b);
};
c.prototype.toString = function() {
var a = C(this);
return a instanceof D ? b.StringUtilities.concat3("[class ", a.classInfo.instanceInfo.name.name, "]") : b.StringUtilities.concat3("[object ", a.class.classInfo.instanceInfo.name.name, "]");
};
c.baseClass = null;
c.instanceConstructor = Object;
c.instanceConstructorNoInitialize = null;
c.initializer = null;
c.initializers = null;
c.classInitializer = null;
c.callableConstructor = c.instanceConstructor;
c.defaultValue = null;
c.initializationFlags = 0;
c.call = Function.prototype.call;
c.apply = Function.prototype.apply;
c.coerce = I.asCoerceObject;
c.defineProperty = Object.defineProperty;
return c;
}();
g.ASObject = z;
var P = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b.baseClass = null;
b.classInfo = null;
b.instanceConstructor = null;
b.callableConstructor = null;
b.classBindings = null;
b.instanceBindings = null;
b.staticNatives = null;
b.instanceNatives = null;
b.traitsPrototype = null;
b.dynamicPrototype = null;
b.defaultValue = null;
b.initializationFlags = 0;
return b;
}(z);
g.ASNative = P;
var D = function(c) {
function d(a) {
this.classInfo = a;
this.instanceNatives = this.staticNatives = null;
this.initializationFlags = 0;
this.defaultValue = null;
}
__extends(d, c);
d.configureBuiltinPrototype = function(a, b) {
y(a.instanceConstructor);
a.baseClass = b;
a.dynamicPrototype = a.traitsPrototype = a.instanceConstructor.prototype;
};
d.configurePrototype = function(a, c) {
a.baseClass = c;
a.dynamicPrototype = u(c.dynamicPrototype);
a.traitsPrototype = u(a.dynamicPrototype);
for (var h = a.traitsPrototype, d = [];a;) {
d.push(a), a = a.baseClass;
}
for (var e = 0;e < d.length;e++) {
var l = [d[e].typeScriptPrototype];
d[e].instanceNatives && b.ArrayUtilities.pushMany(l, d[e].instanceNatives);
for (var r = 0;r < l.length;r++) {
var f = l[r], p;
for (p in f) {
if (!(0 < e && "toString" === p) && n(f, p) && !n(h, p)) {
var q = Object.getOwnPropertyDescriptor(f, p);
b.Debug.assert(q);
try {
Object.defineProperty(h, p, q);
} catch (x) {
}
}
}
}
}
};
d.create = function(c, h, l) {
y(!c.instanceConstructorNoInitialize, "This should not be set yet.");
y(!c.dynamicPrototype && !c.traitsPrototype, "These should not be set yet.");
c.typeScriptPrototype = c.prototype;
c.instanceConstructor && !w(c.instanceConstructor) ? d.configureBuiltinPrototype(c, h) : d.configurePrototype(c, h);
c.instanceConstructor || (c.instanceConstructor = l, c !== l && (c.instanceConstructor.__proto__ = c));
c.callableConstructor || (c.callableConstructor = c.coerce.bind(c));
c.instanceConstructorNoInitialize = c.instanceConstructor;
c.instanceConstructor.prototype = c.traitsPrototype;
e(c.instanceConstructor.prototype, "class", c);
e(c.dynamicPrototype, a.getPublicQualifiedName("constructor"), c);
c.protocol && b.ObjectUtilities.copyOwnPropertyDescriptors(c.traitsPrototype, c.protocol);
};
d.prototype.initializeFrom = function(a) {
var b = Object.create(this.traitsPrototype);
d.runInitializers(b, a);
return b;
};
d.runInitializers = function(a, b) {
b = b || a.class.defaultInitializerArgument;
var c = a.class.initializers;
if (c) {
for (var h = 0;h < c.length;h++) {
c[h].call(a, b);
}
}
};
d.configureInitializers = function(a) {
a.baseClass && a.baseClass.initializers && (a.initializers = a.baseClass.initializers.slice(0));
a.initializer && (a.initializers || (a.initializers = []), a.initializers.push(a.initializer));
a.initializers && (y(a.instanceConstructorNoInitialize === a.instanceConstructor), a.instanceConstructor = function() {
for (var b = 0;b < arguments.length - 0;b++) {
}
d.runInitializers(this, void 0);
return a.instanceConstructorNoInitialize.apply(this, arguments);
}, a.instanceConstructor.prototype = a.traitsPrototype, e(a.instanceConstructor.prototype, "class", a), a.instanceConstructor.classInfo = a.classInfo, a.instanceConstructor.__proto__ = a);
};
d.runClassInitializer = function(a) {
a.classInitializer && a.classInitializer();
};
d.linkSymbols = function(b) {
function c(b, d, e) {
for (var l = 0;l < d.length;l++) {
var r = d[l], n;
a: {
n = b;
for (var f = r.name.name, q = 0;q < n.length;q++) {
var x = n[q];
if (0 <= x.indexOf(f) && ("!" === x[x.length - 1] && (x = x.slice(0, x.length - 1)), f === x)) {
n = !0;
break a;
}
}
n = !1;
}
if (n) {
y(!r.name.getNamespace().isPrivate(), "Why are you linking against private members?");
if (r.isConst()) {
h("Don't link against const traits.");
break;
}
n = r.name.name;
f = a.getQualifiedName(r.name);
r.isSlot() ? Object.defineProperty(e, n, {get:new Function("", "return this." + f), set:new Function("v", "this." + f + " = v")}) : r.isMethod() ? (y(!e[n], "Symbol should not already exist."), y(e.asOpenMethods[f], "There should be an open method for this symbol."), e[n] = e.asOpenMethods[f]) : r.isGetter() ? (y(p(e, f), "There should be an getter method for this symbol."), Object.defineProperty(e, n, {get:new Function("", "return this." + f)})) : h(r);
}
}
}
b.classSymbols && c(b.classSymbols, b.classInfo.traits, b);
b.instanceSymbols && c(b.instanceSymbols, b.classInfo.instanceInfo.traits, b.traitsPrototype);
};
d.prototype.morphIntoASClass = function(a) {
y(this.classInfo === a);
y(this instanceof d);
};
Object.defineProperty(d.prototype, "native_prototype", {get:function() {
y(this.dynamicPrototype);
return this.dynamicPrototype;
}, enumerable:!0, configurable:!0});
d.prototype.asCall = function(a) {
for (var b = [], c = 0;c < arguments.length - 1;c++) {
b[c] = arguments[c + 1];
}
return this.coerce(b[0]);
};
d.prototype.asApply = function(a, b) {
return this.coerce(b[0]);
};
d.prototype.applyType = function(a) {
debugger;
return null;
};
d.prototype.isInstanceOf = function(a) {
return this.isInterface() ? !1 : this.isType(a);
};
d.prototype.isType = function(c) {
if (b.isNullOrUndefined(c)) {
return!1;
}
c = C(c);
if (this.isInterface()) {
if (null === c || "object" !== typeof c) {
return!1;
}
y(c.class.implementedInterfaces, "No 'implementedInterfaces' map found on class " + c.class);
var h = a.getQualifiedName(this.classInfo.instanceInfo.name);
return void 0 !== c.class.implementedInterfaces[h];
}
return this.dynamicPrototype.isPrototypeOf(c);
};
d.prototype.isSubtypeOf = function(a) {
for (var b = this;b;) {
if (b.traitsPrototype === a.traitsPrototype) {
return!0;
}
b = b.baseClass;
}
return!1;
};
d.prototype.coerce = function(a) {
f(b.StringUtilities.concat4("Coercing ", a, " to ", this));
return a;
};
d.prototype.isInterface = function() {
return this.classInfo.instanceInfo.isInterface();
};
d.prototype.getQualifiedClassName = function() {
var a = this.classInfo.instanceInfo.name, b = a.namespaces[0].uri;
return b ? b + "::" + a.name : a.name;
};
d.prototype.verify = function() {
function a(b, c, h) {
for (var d = 0;d < b.length;d++) {
if (c(b[d], h)) {
return!0;
}
}
return!1;
}
if (!this.isInterface()) {
var c = [this.classInfo.traits, this.classInfo.instanceInfo.traits], h = [this];
this.staticNatives && b.ArrayUtilities.pushMany(h, this.staticNatives);
var d = [this.prototype];
this.instanceNatives && b.ArrayUtilities.pushMany(d, this.instanceNatives);
this === z ? y(!this.baseClass, "ASObject should have no base class.") : (y(this.baseClass, this.classInfo.instanceInfo.name + " has no base class."), y(this.baseClass !== this));
y(this.traitsPrototype === this.instanceConstructor.prototype, "The traitsPrototype is not set correctly.");
for (var e = 0;e < c.length;e++) {
for (var l = 0 === e, r = 0;r < c[e].length;r++) {
var n = c[e][r], f = m(n.name.name);
if (n.isMethodOrAccessor() && n.methodInfo.isNative()) {
var p = l ? h : d;
n.isMethod() ? a(p, b.ObjectUtilities.hasOwnProperty, f) : n.isGetter() ? a(p, b.ObjectUtilities.hasOwnGetter, f) : n.isSetter() && a(p, b.ObjectUtilities.hasOwnSetter, f);
}
}
}
b.Debug.assert(this.instanceConstructor, "Must have a constructor function.");
}
};
d.labelObject = function(a) {
if (!a) {
return a;
}
n(a, "labelId") || (a.labelId = d.labelCounter++);
return a instanceof Function ? "Function [#" + a.labelId + "]" : "Object [#" + a.labelId + "]";
};
d.prototype.trace = function(a) {
a.enter("Class: " + this.classInfo);
a.writeLn("baseClass: " + (this.baseClass ? this.baseClass.classInfo.instanceInfo.name : null));
a.writeLn("instanceConstructor: " + this.instanceConstructor + " " + d.labelObject(this.instanceConstructor));
a.writeLn("instanceConstructorNoInitialize: " + this.instanceConstructorNoInitialize + " " + d.labelObject(this.instanceConstructorNoInitialize));
a.writeLn("traitsPrototype: " + d.labelObject(this.traitsPrototype));
a.writeLn("traitsPrototype.__proto__: " + d.labelObject(this.traitsPrototype.__proto__));
a.writeLn("dynamicPrototype: " + d.labelObject(this.dynamicPrototype));
a.writeLn("dynamicPrototype.__proto__: " + d.labelObject(this.dynamicPrototype.__proto__));
a.writeLn("instanceConstructor.prototype: " + d.labelObject(this.instanceConstructor.prototype));
a.leave("}");
};
d.instanceConstructor = d;
d.staticNatives = null;
d.instanceNatives = null;
d.labelCounter = 0;
return d;
}(z);
g.ASClass = D;
var L = D.prototype;
L.call = Function.prototype.call;
L.apply = Function.prototype.apply;
var M = function(a) {
function b() {
}
__extends(b, a);
Object.defineProperty(b.prototype, "native_prototype", {get:function() {
return this.prototype;
}, set:function(a) {
this.prototype = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_length", {get:function() {
return this.hasOwnProperty(I.VM_LENGTH) ? this.asLength : this.length;
}, enumerable:!0, configurable:!0});
b.baseClass = null;
b.instanceConstructor = Function;
b.staticNatives = [Function];
b.instanceNatives = [Function.prototype];
return b;
}(z);
g.ASFunction = M;
var V = function(a) {
function b(a) {
}
__extends(b, a);
b.instanceConstructor = Boolean;
b.callableConstructor = b.instanceConstructor;
b.staticNatives = null;
b.instanceNatives = null;
b.coerce = I.asCoerceBoolean;
return b;
}(z);
g.ASBoolean = V;
V.prototype.toString = Boolean.prototype.toString;
V.prototype.valueOf = Boolean.prototype.valueOf;
var Q = function(a) {
function c(a, h) {
var d = b.FunctionUtilities.bindSafely(h, a);
e(this, "call", d.call.bind(d));
e(this, "apply", d.apply.bind(d));
}
__extends(c, a);
c.prototype.toString = function() {
return "function Function() {}";
};
c.staticNatives = null;
c.instanceNatives = null;
return c.instanceConstructor = c;
}(M);
g.ASMethodClosure = Q;
var U = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b._numberToString = function(a, b) {
return Number(a).toString(b | 0);
};
b._minValue = function() {
return Number.MIN_VALUE;
};
b.instanceConstructor = Number;
b.callableConstructor = b.instanceConstructor;
b.staticNatives = [Math];
b.instanceNatives = [Number.prototype];
b.defaultValue = Number(0);
b.coerce = I.asCoerceNumber;
return b;
}(z);
g.ASNumber = U;
var S = function(a) {
function b(a) {
return Object(Number(a | 0));
}
__extends(b, a);
b.asCall = function(a) {
for (var b = [], c = 0;c < arguments.length - 1;c++) {
b[c] = arguments[c + 1];
}
return b[0] | 0;
};
b.asApply = function(a, b) {
return b[0] | 0;
};
b.isInstanceOf = function(a) {
return!1;
};
b.isType = function(a) {
return q(a) || a instanceof Number ? (a = +a, (a | 0) === a) : !1;
};
b.instanceConstructor = b;
b.callableConstructor = b.instanceConstructor;
b.staticNatives = [Math];
b.instanceNatives = [Number.prototype];
b.defaultValue = 0;
b.coerce = I.asCoerceInt;
return b;
}(z);
g.ASInt = S;
var aa = function(a) {
function b(a) {
return Object(Number(a >>> 0));
}
__extends(b, a);
b.asCall = function(a) {
for (var b = [], c = 0;c < arguments.length - 1;c++) {
b[c] = arguments[c + 1];
}
return b[0] >>> 0;
};
b.asApply = function(a, b) {
return b[0] >>> 0;
};
b.isInstanceOf = function(a) {
return!1;
};
b.isType = function(a) {
return q(a) || a instanceof Number ? (a = +a, a >>> 0 === a) : !1;
};
b.instanceConstructor = b;
b.callableConstructor = b.instanceConstructor;
b.staticNatives = [Math];
b.instanceNatives = [Number.prototype];
b.defaultValue = 0;
b.coerce = I.asCoerceUint;
return b;
}(z);
g.ASUint = aa;
var $ = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
Object.defineProperty(b.prototype, "native_length", {get:function() {
return this.length;
}, enumerable:!0, configurable:!0});
b.prototype.match = function(a) {
if (void 0 === a || null === a) {
return null;
}
if (a instanceof RegExp && a.global) {
for (var b = [], c;c = a.exec(this);) {
b.push(c[0]);
}
return b;
}
a instanceof RegExp || "string" === typeof a || (a = String(a));
return this.match(a);
};
b.prototype.search = function(a) {
return void 0 === a ? -1 : this.search(a);
};
b.prototype.toUpperCase = function() {
var a = String.prototype.toUpperCase.apply(this);
return a = a.replace(/\u039C/g, String.fromCharCode(181));
};
b.prototype.toLocaleUpperCase = function() {
var a = String.prototype.toLocaleUpperCase.apply(this);
return a = a.replace(/\u039C/g, String.fromCharCode(181));
};
b.instanceConstructor = String;
b.callableConstructor = b.instanceConstructor;
b.staticNatives = [String];
b.instanceNatives = [String.prototype];
b.coerce = I.asCoerceString;
return b;
}(z);
g.ASString = $;
g.arraySort = t;
var ea = function(c) {
function h() {
c.apply(this, arguments);
}
__extends(h, c);
h._splice = function(a, b) {
return 0 === b.length ? void 0 : a.splice.apply(a, b);
};
h._sort = function(a, b) {
if (0 === b.length) {
return a.sort();
}
var c, h = 0;
b[0] instanceof Function ? c = b[0] : q(b[0]) && (h = b[0]);
q(b[1]) && (h = b[1]);
a.sort(function(a, b) {
return I.asCompare(a, b, h, c);
});
return a;
};
h._sortOn = function(c, d, e) {
b.isString(d) && (d = [d]);
q(e) && (e = [e]);
for (var l = d.length - 1;0 <= l;l--) {
var r = a.getPublicQualifiedName(d[l]);
if (h.CACHE_NUMERIC_COMPARATORS && e[l] & 16) {
var n = "var x = +(a." + r + "), y = +(b." + r + ");", n = e[l] & 2 ? n + "return x < y ? 1 : (x > y ? -1 : 0);" : n + "return x < y ? -1 : (x > y ? 1 : 0);", f = h.numericComparatorCache[n];
f || (f = h.numericComparatorCache[n] = new Function("a", "b", n));
c.sort(f);
} else {
c.sort(function(a, b) {
return I.asCompare(a[r], b[r], e[l] | 0);
});
}
}
return c;
};
h._every = function(a, b, c) {
for (var h = 0;h < a.length && !0 === b.call(c, a[h], h, a);h++) {
}
return!1;
};
h._filter = function(a, b, c) {
for (var h = [], d = 0;d < a.length;d++) {
!0 === b.call(c, a[d], d, a) && h.push(a[d]);
}
return h;
};
Object.defineProperty(h.prototype, "native_length", {get:function() {
return this.length;
}, set:function(a) {
this.length = a >>> 0;
}, enumerable:!0, configurable:!0});
h.instanceConstructor = Array;
h.staticNatives = [Array];
h.instanceNatives = [Array.prototype];
h.CACHE_NUMERIC_COMPARATORS = !0;
h.numericComparatorCache = E();
return h;
}(z);
g.ASArray = ea;
var Z = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b.prototype.newThisType = function() {
return new this.class.instanceConstructor;
};
b.staticNatives = null;
b.instanceNatives = null;
b.instanceConstructor = b;
b.callableConstructor = null;
return b;
}(P);
g.ASVector = Z;
var v = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b._every = function(a, b, c) {
return a.every(b, c);
};
b._forEach = function(a, b, c) {
return a.forEach(b, c);
};
b._some = function(a, b, c) {
return a.some(b, c);
};
b.instanceConstructor = F;
b.staticNatives = [F];
b.instanceNatives = [F.prototype, Z.prototype];
b.callableConstructor = F.callable;
b._sort = t;
return b;
}(Z);
g.ASIntVector = v;
var X = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b._every = function(a, b, c) {
return a.every(b, c);
};
b._forEach = function(a, b, c) {
return a.forEach(b, c);
};
b._some = function(a, b, c) {
return a.some(b, c);
};
b.instanceConstructor = J;
b.staticNatives = [J];
b.instanceNatives = [J.prototype, Z.prototype];
b.callableConstructor = J.callable;
b._sort = t;
return b;
}(Z);
g.ASUIntVector = X;
var ba = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b._every = function(a, b, c) {
return a.every(b, c);
};
b._forEach = function(a, b, c) {
return a.forEach(b, c);
};
b._some = function(a, b, c) {
return a.some(b, c);
};
b.instanceConstructor = A;
b.staticNatives = [A];
b.instanceNatives = [A.prototype, Z.prototype];
b.callableConstructor = A.callable;
b._sort = t;
return b;
}(Z);
g.ASDoubleVector = ba;
var R = function(c) {
function h() {
c.apply(this, arguments);
}
__extends(h, c);
h.transformJSValueToAS = function(a) {
if ("object" !== typeof a) {
return a;
}
for (var b = Object.keys(a), c = a instanceof Array ? [] : {}, d = 0;d < b.length;d++) {
c.asSetPublicProperty(b[d], h.transformJSValueToAS(a[b[d]]));
}
return c;
};
h.transformASValueToJS = function(c) {
if ("object" !== typeof c || l(c)) {
return c;
}
for (var d = Object.keys(c), e = c instanceof Array ? [] : {}, r = 0;r < d.length;r++) {
var n = d[r], f = n;
b.isNumeric(n) || (f = a.getNameFromPublicQualifiedName(n));
e[f] = h.transformASValueToJS(c[n]);
}
return e;
};
h.parseCore = function(a) {
a = x(a);
return h.transformJSValueToAS(JSON.parse(a));
};
h.stringifySpecializedToString = function(a, b, c, d) {
return JSON.stringify(h.transformASValueToJS(a), c, d);
};
h.instanceConstructor = h;
h.staticNatives = null;
h.instanceNatives = null;
return h;
}(z);
g.ASJSON = R;
var H = function(a) {
function c(a, b) {
h("ASError");
}
__extends(c, a);
c.prototype.getStackTrace = function() {
return b.AVM2.Runtime.AVM2.getStackTrace();
};
c.instanceConstructor = null;
c.staticNatives = null;
c.instanceNatives = null;
c.getErrorMessage = b.AVM2.getErrorMessage;
return c;
}(P);
g.ASError = H;
var Y = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASDefinitionError = Y;
var ga = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASEvalError = ga;
var ca = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASRangeError = ca;
var ka = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASReferenceError = ka;
var W = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASSecurityError = W;
var ha = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASSyntaxError = ha;
var da = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASTypeError = da;
var ja = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASURIError = ja;
var N = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASVerifyError = N;
var ma = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASUninitializedError = ma;
var T = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(H);
g.ASArgumentError = T;
var oa = function(a) {
function c() {
a.apply(this, arguments);
}
__extends(c, a);
Object.defineProperty(c.prototype, "native_source", {get:function() {
return this.source;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "native_global", {get:function() {
return this.global;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "native_ignoreCase", {get:function() {
return this.ignoreCase;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "native_multiline", {get:function() {
return this.multiline;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "native_lastIndex", {get:function() {
return this.lastIndex;
}, set:function(a) {
this.lastIndex = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "native_dotall", {get:function() {
return this.dotall;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "native_extended", {get:function() {
return this.extended;
}, enumerable:!0, configurable:!0});
c.prototype.exec = function(a) {
"undefined" === typeof a && (a = "");
var c = RegExp.prototype.exec.apply(this, arguments);
if (!c) {
return c;
}
for (var h = Object.keys(c), d = 0;d < h.length;d++) {
var e = h[d];
b.isNumeric(e) || void 0 === c[e] && (c[e] = "");
}
b.AVM2.Runtime.publicizeProperties(c);
return c;
};
c.instanceConstructor = k.XRegExp;
c.staticNatives = [k.XRegExp];
c.instanceNatives = [k.XRegExp.prototype];
return c;
}(z);
g.ASRegExp = oa;
var pa = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b.staticNatives = [Math];
return b;
}(P);
g.ASMath = pa;
var na = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b.staticNatives = [Date];
b.instanceNatives = [Date.prototype];
b.instanceConstructor = Date;
return b;
}(P);
g.ASDate = na;
var fa = b.ObjectUtilities.createMap(), sa = !1;
g.initialize = function(a) {
sa || (fa.ObjectClass = z, fa.Class = D, fa.FunctionClass = M, fa.BooleanClass = V, fa.MethodClosureClass = Q, fa.NamespaceClass = g.ASNamespace, fa.NumberClass = U, fa.IntClass = S, fa.UIntClass = aa, fa.StringClass = $, fa.ArrayClass = ea, fa.VectorClass = Z, fa.ObjectVectorClass = g.GenericVector, fa.IntVectorClass = v, fa.UIntVectorClass = X, fa.DoubleVectorClass = ba, fa.JSONClass = R, fa.XMLClass = g.ASXML, fa.XMLListClass = g.ASXMLList, fa.QNameClass = g.ASQName, fa.ErrorClass = H,
fa.DefinitionErrorClass = Y, fa.EvalErrorClass = ga, fa.RangeErrorClass = ca, fa.ReferenceErrorClass = ka, fa.SecurityErrorClass = W, fa.SyntaxErrorClass = ha, fa.TypeErrorClass = da, fa.URIErrorClass = ja, fa.VerifyErrorClass = N, fa.UninitializedErrorClass = ma, fa.ArgumentErrorClass = T, fa.DateClass = na, fa.MathClass = pa, fa.RegExpClass = oa, fa.ProxyClass = g.flash.utils.OriginalProxy, fa.DictionaryClass = g.flash.utils.OriginalDictionary, fa.ByteArrayClass = g.flash.utils.OriginalByteArray,
fa.SystemClass = g.flash.system.OriginalSystem, sa = !0);
};
var xa = b.ObjectUtilities.createMap(), la = b.ObjectUtilities.createMap();
g.registerNativeClass = function(a, b) {
y(!xa[a], "Native class: " + a + " is already registered.");
xa[a] = b;
};
g.registerNativeFunction = s;
g.createInterface = function(a) {
var b = a.instanceInfo;
y(b.isInterface());
a = new D(a);
a.interfaceBindings = new K(null, b, null, null);
a.verify();
return a;
};
var qa = [];
g.createClass = function(a, h, d) {
var e = a.instanceInfo, l = a.abc.applicationDomain, r = a.native, n;
r ? ((n = fa[a.native.cls]) || (n = xa[a.native.cls]), n || b.Debug.unexpected("No native class for " + a.native.cls), n.morphIntoASClass(a), qa && qa.push(n)) : n = new D(a);
d = new c(d, null);
d.object = n;
var f = null;
e.init.isNative() ? (y(r), f = n) : f = G(e.init, d, !1, !1);
var p = null, q = null;
r && (p = [n], n.staticNatives && b.ArrayUtilities.pushMany(p, n.staticNatives), q = [n.prototype], n.instanceNatives && b.ArrayUtilities.pushMany(q, n.instanceNatives));
D.create(n, h, f);
n.verify();
if ("Class" === a.instanceInfo.name.name) {
for (r = 0;r < qa.length;r++) {
qa[r].__proto__ = D.prototype;
}
qa = null;
}
k.enterTimeline("ClassBindings");
n.classBindings = new O(a, d, p);
k.enterTimeline("applyTo");
n.classBindings.applyTo(l, n);
k.leaveTimeline();
k.leaveTimeline();
k.enterTimeline("InstanceBindings");
n.instanceBindings = new K(h ? h.instanceBindings : null, e, d, q);
n.instanceConstructor && (k.enterTimeline("applyTo"), n.instanceBindings.applyTo(l, n.traitsPrototype), k.leaveTimeline());
k.leaveTimeline();
n.implementedInterfaces = n.instanceBindings.implementedInterfaces;
n === D ? n.instanceBindings.applyTo(l, z, !0) : D.instanceBindings && D.instanceBindings.applyTo(l, n, !0);
k.enterTimeline("Configure");
D.configureInitializers(n);
D.linkSymbols(n);
D.runClassInitializer(n);
k.leaveTimeline();
return n;
};
var ia = [I.forwardValueOf, I.forwardToString];
g.getMethodOrAccessorNative = function(b, c) {
var h = m(a.getName(b.name));
f("getMethodOrAccessorNative(" + h + ")");
for (var d = 0;d < c.length;d++) {
var e = c[d], l = h;
n(e, "original_" + h) && (l = "original_" + h);
!n(e, h) && n(e, "native_" + h) && (l = "native_" + h);
if (n(e, l)) {
return b.isAccessor() ? (h = r(e, l), h = b.isGetter() ? h.get : h.set) : (y(b.isMethod()), h = e[l]), y(h, "Method or Accessor property exists but it's undefined: " + b), y(0 > ia.indexOf(h), "Leaking illegal function."), h;
}
}
f("Cannot find " + b + " in natives.");
return null;
};
g.escapeNativeName = m;
(function(a) {
function c(a) {
for (var b = {prototype:E()}, h = Object.getOwnPropertyNames(a.prototype), d = 0;d < h.length;d++) {
b.prototype[h[d]] = a.prototype[h[d]];
}
return b;
}
a.String = jsGlobal.String;
a.Function = jsGlobal.Function;
a.Boolean = jsGlobal.Boolean;
a.Number = jsGlobal.Number;
a.Date = jsGlobal.Date;
a.ASObject = b.AVM2.AS.ASObject;
a.Original = {Date:c(a.Date), Array:c(Array), String:c(a.String), Number:c(a.Number), Boolean:c(a.Boolean)};
a.print = function() {
for (var a = [], b = 0;b < arguments.length - 0;b++) {
a[b] = arguments[b + 0];
}
jsGlobal.print.apply(null, a);
};
a.notImplemented = function(a) {
h(a);
};
a.debugBreak = function(a) {
debugger;
};
a.bugzilla = function(a) {
switch(a) {
case 574600:
return!0;
}
return!1;
};
a.decodeURI = jsGlobal.decodeURI;
a.decodeURIComponent = jsGlobal.decodeURIComponent;
a.encodeURI = jsGlobal.encodeURI;
a.encodeURIComponent = jsGlobal.encodeURIComponent;
a.isNaN = jsGlobal.isNaN;
a.isFinite = jsGlobal.isFinite;
a.parseInt = jsGlobal.parseInt;
a.parseFloat = jsGlobal.parseFloat;
a.escape = jsGlobal.escape;
a.unescape = jsGlobal.unescape;
a.isXMLName = "undefined" !== typeof a.isXMLName ? jsGlobal.isXMLName : function() {
h("Chrome doesn't support isXMLName.");
};
a.getQualifiedClassName = function(a) {
if (null === a) {
return "null";
}
if (void 0 === a) {
return "void";
}
if (S.isType(a)) {
return "int";
}
a = C(a);
return D.isType(a) ? a.getQualifiedClassName() : a.class.getQualifiedClassName();
};
a.getQualifiedSuperclassName = function(a) {
if (l(a)) {
return "null";
}
a = C(a);
a = D.isType(a) ? a : a.class;
return a.baseClass ? a.baseClass.getQualifiedClassName() : "null";
};
a.getDefinitionByName = function(c) {
c = a.String(c).replace("::", ".");
return b.AVM2.Runtime.AVM2.currentDomain().getClass(c, !1) || null;
};
a.describeTypeJSON = function(a, c) {
return b.AVM2.AS.describeTypeJSON(a, c);
};
})(g.Natives || (g.Natives = {}));
var wa = g.Natives;
g.getNative = d;
s("unsafeJSNative", d);
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.assert, t = b.Debug.assertNotImplemented, s = b.AVM2.Runtime.throwError, m = b.NumberUtilities.clamp, d = b.AVM2.Runtime.asCheckVectorGetNumericProperty, a = b.AVM2.Runtime.asCheckVectorSetNumericProperty, c = b.AVM2.AS.arraySort, n = function(n) {
function e(a, b, c) {
a >>>= 0;
this._fixed = !!b;
this._buffer = Array(a);
this._defaultValue = (this._type = c) ? c.defaultValue : null;
this._fill(a, this._defaultValue);
}
__extends(e, n);
e.defaultCompareFunction = function(a, b) {
return String(a).localeCompare(String(b));
};
e.compare = function(a, c, d, n) {
t(!(d & e.CASEINSENSITIVE), "CASEINSENSITIVE");
t(!(d & e.UNIQUESORT), "UNIQUESORT");
t(!(d & e.RETURNINDEXEDARRAY), "RETURNINDEXEDARRAY");
var r = 0;
n || (n = e.defaultCompareFunction);
d & e.NUMERIC ? (a = b.toNumber(a), c = b.toNumber(c), r = a < c ? -1 : a > c ? 1 : 0) : r = n(a, c);
d & e.DESCENDING && (r *= -1);
return r;
};
e._every = function(a, b, c) {
return a.every(b, c);
};
e._forEach = function(a, b, c) {
return a.forEach(b, c);
};
e._some = function(a, b, c) {
return a.some(b, c);
};
e.applyType = function(a) {
function c(b, d) {
Function.prototype.call.call(e.instanceConstructor, this, b, d, a);
}
c.prototype = e.prototype;
c.instanceConstructor = c;
c.callableConstructor = function(a) {
if (a instanceof g.Int32Vector) {
return a;
}
var d = a.asGetProperty(void 0, "length");
if (void 0 !== d) {
for (var e = new c(d, !1), h = 0;h < d;h++) {
e.asSetNumericProperty(h, a.asGetPublicProperty(h));
}
return e;
}
b.Debug.unexpected();
};
c.__proto__ = e;
return c;
};
e.prototype._fill = function(a, b) {
for (var c = 0;c < a;c++) {
this._buffer[0 + c] = b;
}
};
e.prototype.toString = function() {
for (var a = "", b = 0;b < this._buffer.length;b++) {
a += this._buffer[b], b < this._buffer.length - 1 && (a += ",");
}
return a;
};
e.prototype.every = function(a, b) {
for (var c = 0;c < this._buffer.length;c++) {
if (!a.call(b, this.asGetNumericProperty(c), c, this)) {
return!1;
}
}
return!0;
};
e.prototype.filter = function(a, b) {
for (var c = new e(0, !1, this._type), d = 0;d < this._buffer.length;d++) {
a.call(b, this.asGetNumericProperty(d), d, this) && c.push(this.asGetNumericProperty(d));
}
return c;
};
e.prototype.some = function(a, c) {
2 !== arguments.length ? s("ArgumentError", k.Errors.WrongArgumentCountError) : b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = 0;d < this._buffer.length;d++) {
if (a.call(c, this.asGetNumericProperty(d), d, this)) {
return!0;
}
}
return!1;
};
e.prototype.forEach = function(a, c) {
b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = 0;d < this._buffer.length;d++) {
a.call(c, this.asGetNumericProperty(d), d, this);
}
};
e.prototype.map = function(a, c) {
b.isFunction(a) || s("ArgumentError", k.Errors.CheckTypeFailedError);
for (var d = new e(0, !1, this._type), n = 0;n < this._buffer.length;n++) {
d.push(a.call(c, this.asGetNumericProperty(n), n, this));
}
return d;
};
e.prototype.push = function() {
for (var a = 0;a < arguments.length - 0;a++) {
}
this._checkFixed();
for (a = 0;a < arguments.length;a++) {
this._buffer.push(this._coerce(arguments[a]));
}
};
e.prototype.pop = function() {
this._checkFixed();
return 0 === this._buffer.length ? void 0 : this._buffer.pop();
};
e.prototype.reverse = function() {
this._buffer.reverse();
};
e.prototype.sort = function(a) {
return this._buffer.sort(a);
};
e.prototype.asGetNumericProperty = function(a) {
d(a, this._buffer.length);
return this._buffer[a];
};
e.prototype._coerce = function(a) {
return this._type ? this._type.coerce(a) : void 0 === a ? null : a;
};
e.prototype.asSetNumericProperty = function(b, c) {
a(b, this._buffer.length, this._fixed);
this._buffer[b] = this._coerce(c);
};
e.prototype.shift = function() {
this._checkFixed();
return 0 === this._buffer.length ? void 0 : this._buffer.shift();
};
e.prototype._checkFixed = function() {
this._fixed && s("RangeError", k.Errors.VectorFixedError);
};
e.prototype.unshift = function() {
if (arguments.length) {
this._checkFixed();
for (var a = [], b = 0;b < arguments.length;b++) {
a.push(this._coerce(arguments[b]));
}
this._buffer.unshift.apply(this._buffer, a);
}
};
Object.defineProperty(e.prototype, "length", {get:function() {
return this._buffer.length;
}, set:function(a) {
a >>>= 0;
if (a > this._buffer.length) {
for (var b = this._buffer.length;b < a;b++) {
this._buffer[b] = this._defaultValue;
}
} else {
this._buffer.length = a;
}
f(this._buffer.length === a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "fixed", {get:function() {
return this._fixed;
}, set:function(a) {
this._fixed = !!a;
}, enumerable:!0, configurable:!0});
e.prototype._spliceHelper = function(a, b, c, d, e) {
b = m(b, 0, d.length - e);
c = m(c, 0, this._buffer.length - a);
for (var h = [], n = 0;n < b;n++) {
h.push(this._coerce(d.asGetNumericProperty(e + n)));
}
this._buffer.splice.apply(this._buffer, [a, c].concat(h));
};
e.prototype.asNextName = function(a) {
return a - 1;
};
e.prototype.asNextValue = function(a) {
return this._buffer[a - 1];
};
e.prototype.asNextNameIndex = function(a) {
a += 1;
return a <= this._buffer.length ? a : 0;
};
e.prototype.asHasProperty = function(a, c, d) {
if (e.prototype === this || !b.isNumeric(c)) {
return Object.prototype.asHasProperty.call(this, a, c, d);
}
a = b.toNumber(c);
return 0 <= a && a < this._buffer.length;
};
e.prototype.asHasNext2 = function(a) {
a.index = this.asNextNameIndex(a.index);
};
e.CASEINSENSITIVE = 1;
e.DESCENDING = 2;
e.UNIQUESORT = 4;
e.RETURNINDEXEDARRAY = 8;
e.NUMERIC = 16;
e.instanceConstructor = e;
e.staticNatives = [e];
e.instanceNatives = [e.prototype, g.ASVector.prototype];
e._sort = c;
return e;
}(g.ASVector);
g.GenericVector = n;
n.prototype._reverse = n.prototype.reverse;
n.prototype._filter = n.prototype.filter;
n.prototype._map = n.prototype.map;
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(a) {
return a instanceof Q || a instanceof U;
}
function t(a) {
if ("object" === typeof a && null !== a) {
if (a instanceof U) {
return a._children.map(t).join("");
}
switch(a._kind) {
case 3:
;
case 2:
return a._value;
default:
return a.hasSimpleContent() ? a._children.map(t).join("") : p(a);
}
} else {
return String(a);
}
}
function s(a) {
for (var b = 0, c;b < a.length && "&" !== (c = a[b]) && "<" !== c && ">" !== c;) {
b++;
}
if (b >= a.length) {
return a;
}
for (var h = a.substring(0, b);b < a.length;) {
switch(c = a[b++], c) {
case "&":
h += "&amp;";
break;
case "<":
h += "&lt;";
break;
case ">":
h += "&gt;";
break;
default:
h += c;
}
}
return h;
}
function m(a) {
for (var b = 0, c;b < a.length && "&" !== (c = a[b]) && "<" !== c && '"' !== c && "\n" !== c && "\r" !== c && "\t" !== c;) {
b++;
}
if (b >= a.length) {
return a;
}
for (var h = a.substring(0, b);b < a.length;) {
switch(c = a[b++], c) {
case "&":
h += "&amp;";
break;
case "<":
h += "&lt;";
break;
case '"':
h += "&quot;";
break;
case "\n":
h += "&#xA;";
break;
case "\r":
h += "&#xD;";
break;
case "\t":
h += "&#x9;";
break;
default:
h += c;
}
}
return h;
}
function d(a, b) {
var c = a[b];
return " " === c || "\n" === c || "\r" === c || "\t" === c;
}
function a(a) {
for (var b = 0;b < a.length && d(a, b);) {
b++;
}
if (b >= a.length) {
return "";
}
for (var c = a.length - 1;d(a, c);) {
c--;
}
return 0 === b && c === a.length - 1 ? a : a.substring(b, c + 1);
}
function c(a) {
if (0 < a) {
if (void 0 !== A[a]) {
return A[a];
}
for (var b = "", c = 0;c < a;c++) {
b += " ";
}
return A[a] = b;
}
return "";
}
function n(a) {
for (var b = 1, c;;) {
c = "_ns" + b;
if (!a.some(function(a) {
return a.prefix == c;
})) {
break;
}
b++;
}
return c;
}
function p(b, h, d) {
if (null === b || void 0 === b) {
throw new TypeError;
}
if (!(b instanceof Q)) {
return b instanceof U ? b._children.map(function(a) {
return p(a, h);
}).join(Q.prettyPrinting ? "\n" : "") : s(String(b));
}
var e = Q.prettyPrinting;
d |= 0;
var l = e ? c(d) : "", r = b._kind;
switch(r) {
case 3:
return e ? l + s(a(b._value)) : s(b._value);
case 2:
return l + m(b._value);
case 4:
return l + "\x3c!--" + b._value + "--\x3e";
case 5:
return l + "<?" + b._name.localName + " " + b._value + "?>";
default:
y(1 === r);
}
h = h || [];
for (var f = [], q = 0;q < b._inScopeNamespaces.length;q++) {
var x = b._inScopeNamespaces[q].prefix, g = b._inScopeNamespaces[q].uri;
h.every(function(a) {
return a.uri != g || a.prefix != x;
}) && (r = new z(x, g), f.push(r));
}
var w = h.concat(f), r = b._name.getNamespace(w);
void 0 === r.prefix && (q = n(w), q = new z(q, r.uri), f.push(q), w.push(q));
var u = (r.prefix ? r.prefix + ":" : "") + b._name.localName, l = l + ("<" + u);
b._attributes.forEach(function(a) {
a = a._name.getNamespace(w);
if (void 0 === a.prefix) {
var b = n(w);
a = new z(b, a.uri);
f.push(a);
w.push(a);
}
});
for (q = 0;q < f.length;q++) {
r = f[q], l += " " + (r.prefix ? "xmlns:" + r.prefix : "xmlns") + '="' + m(r.uri) + '"';
}
b._attributes.forEach(function(a) {
var b = a._name, c = b.getNamespace(h);
l += " " + (c.prefix ? c.prefix + ":" + b.localName : b.localName) + '="' + m(a._value) + '"';
});
if (0 === b._children.length) {
return l += "/>";
}
var l = l + ">", k = 1 < b._children.length || 1 === b._children.length && 3 !== b._children[0]._kind, G = e && k ? d + Q.prettyIndent : 0;
b._children.forEach(function(a, b) {
e && k && (l += "\n");
var c = p(a, w, G);
l += c;
});
e && k && (l += "\n" + c(d));
return l += "</" + u + ">";
}
function e(a) {
if (null === a) {
throw new TypeError(k.formatErrorMessage(k.Errors.ConvertNullToObjectError));
}
if (void 0 === a) {
throw new TypeError(k.formatErrorMessage(k.Errors.ConvertUndefinedToObjectError));
}
if (a instanceof Q) {
return a;
}
if (a instanceof U) {
if (1 === a.length()) {
return a._children[0];
}
throw new TypeError(k.formatErrorMessage(k.Errors.XMLMarkupMustBeWellFormed));
}
a = B.parseFromString(String(a));
if (0 === a.length()) {
return a = new h(3);
}
if (1 === a.length()) {
return a._children[0]._parent = null, a._children[0];
}
throw "SyntaxError in ToXML";
}
function q(a) {
if (null === a) {
throw new TypeError(k.formatErrorMessage(k.Errors.ConvertNullToObjectError));
}
if (void 0 === a) {
throw new TypeError(k.formatErrorMessage(k.Errors.ConvertUndefinedToObjectError));
}
if (a instanceof h) {
var b = new x(a.parent, a.name);
b.appendChild(a);
return b;
}
if (a instanceof x) {
return a;
}
a = e("<parent xmlns='" + Q.defaultNamespace + "'>" + a + "</parent>");
for (var b = new x, c = 0;c < a.length();c++) {
var d = a._children[c];
d._parent = null;
b.appendChild(d);
}
return b;
}
function l(a) {
if (void 0 === a || null === a || "boolean" === typeof a || "number" === typeof a) {
throw "TypeError: invalid operand to ToAttributeName()";
}
if (f(a)) {
a = t(a);
} else {
if ("object" === typeof a && null !== a) {
if (a instanceof D) {
return new D(a.uri, a.localName, !0);
}
if (G.isQName(a)) {
return D.fromMultiname(a);
}
a = t(a);
}
}
if ("string" === typeof a) {
var b = Namespace.createNamespace("", ""), b = new D(b, a, !0)
}
return b;
}
function u(a) {
if (void 0 === a) {
return new D("*");
}
if ("object" === typeof a && null !== a) {
if (a instanceof D) {
return a;
}
if (G.isQName(a)) {
return D.fromMultiname(a);
}
a = a instanceof Q || a instanceof U ? t(a) : a instanceof G ? a.name : a.toString();
} else {
if ("string" !== typeof a) {
throw new TypeError;
}
}
return "@" === a[0] ? l(a.substring(1)) : new D(a);
}
function w(a) {
return "object" === typeof a && a instanceof D ? !!(a._flags & 1) : !1;
}
function r(a, b, c) {
return a && 1 === a.length && a[0] instanceof z && ("string" === typeof b || void 0 === b) ? new D(a[0], b || "*", c) : b;
}
function h(a, b, c, h) {
var d = Object.create(Q.prototype);
void 0 === a && (a = 3);
void 0 === b && (b = "");
void 0 === c && (c = "");
d.init(a, b, c, h);
return d;
}
function x(a, b) {
var c = Object.create(U.prototype);
c._targetObject = a ? a : null;
c._targetProperty = b ? b : null;
c._children = [];
return c;
}
var y = b.Debug.assert, G = b.AVM2.ABC.Multiname, I = b.Debug.notImplemented, C = Object.prototype.asGetProperty, E = Object.prototype.asSetProperty, O = Object.prototype.asCallProperty, K = Object.prototype.asHasProperty, F = Object.prototype.asHasOwnProperty, J = Object.prototype.asGetEnumerableKeys, A = [], B = new function() {
function b(c, h) {
function e(a) {
return a.replace(/&([^;]+);/g, function(a, b) {
if ("#x" === b.substring(0, 2)) {
return String.fromCharCode(parseInt(b.substring(2), 16));
}
if ("#" === b.substring(0, 1)) {
return String.fromCharCode(parseInt(b.substring(1), 10));
}
switch(b) {
case "lt":
return "<";
case "gt":
return ">";
case "amp":
return "&";
case "quot":
return'"';
}
return a;
});
}
function l() {
for (var a = g.length - 1;0 <= a;--a) {
if ("preserve" === g[a].space) {
return!0;
}
}
return!1;
}
function n() {
for (var a = g.length - 1;0 <= a;--a) {
if ("xmlns" in g[a]) {
return g[a].xmlns;
}
}
return "";
}
function r(a) {
for (var b = g.length - 1;0 <= b;--b) {
if (a in g[b].lookup) {
return g[b].lookup[a];
}
}
}
function f(a, b) {
var c = a.indexOf(":");
if (0 <= c) {
var h = a.substring(0, c), d = r(h);
if (void 0 === d) {
throw "Unknown namespace: " + h;
}
c = a.substring(c + 1);
return{name:d + "::" + c, localName:c, prefix:h, namespace:d};
}
return b ? {name:a, localName:a, prefix:"", namespace:n()} : {name:a, localName:a, prefix:"", namespace:""};
}
function p(a, b) {
function c() {
for (;h < a.length && d(a, h);) {
++h;
}
}
for (var h = b, l, n = [];h < a.length && !d(a, h) && ">" !== a[h] && "/" !== a[h];) {
++h;
}
l = a.substring(b, h);
for (c();h < a.length && ">" !== a[h] && "/" !== a[h] && "?" !== a[h];) {
c();
for (var r = "", f = "";h < a.length && !d(a, h) && "=" !== a[h];) {
r += a[h], ++h;
}
c();
if ("=" !== a[h]) {
throw "'=' expected";
}
++h;
c();
f = a[h];
if ('"' !== f && "'" !== f) {
throw "Quote expected";
}
var x = a.indexOf(f, ++h);
if (0 > x) {
throw "Unexpected EOF[6]";
}
f = a.substring(h, x);
n.push({name:r, value:e(f)});
h = x + 1;
c();
}
return{name:l, attributes:n, parsed:h - b};
}
function q(a, b) {
for (var c = b, h;c < a.length && !d(a, c) && ">" !== a[c] && "/" !== a[c];) {
++c;
}
for (h = a.substring(b, c);c < a.length && d(a, c);) {
++c;
}
for (var e = c;c < a.length && ("?" !== a[c] || ">" != a[c + 1]);) {
++c;
}
return{name:h, value:a.substring(e, c), parsed:c - b};
}
for (var x = 0, g = [{namespaces:[], lookup:{xmlns:"http://www.w3.org/2000/xmlns/", xml:"http://www.w3.org/XML/1998/namespace"}, inScopes:Q.defaultNamespace ? [{uri:Q.defaultNamespace, prefix:""}] : [], space:"default", xmlns:Q.defaultNamespace || ""}];x < c.length;) {
var m = x;
if ("<" === c[x]) {
switch(++m, c[m]) {
case "/":
++m;
x = c.indexOf(">", m);
if (0 > x) {
throw "Unexpected EOF[1]";
}
m = f(c.substring(m, x), !0);
h.endElement(m);
g.pop();
m = x + 1;
break;
case "?":
++m;
x = q(c, m);
if ("?>" != c.substring(m + x.parsed, m + x.parsed + 2)) {
throw "Unexpected EOF[2]";
}
h.pi(x.name, x.value);
m += x.parsed + 2;
break;
case "!":
if ("--" === c.substring(m + 1, m + 3)) {
x = c.indexOf("--\x3e", m + 3);
if (0 > x) {
throw "Unexpected EOF[3]";
}
h.comment(c.substring(m + 3, x));
m = x + 3;
} else {
if ("[CDATA[" === c.substring(m + 1, m + 8)) {
x = c.indexOf("]]\x3e", m + 8);
if (0 > x) {
throw "Unexpected EOF[4]";
}
h.cdata(c.substring(m + 8, x));
m = x + 3;
} else {
if ("DOCTYPE" === c.substring(m + 1, m + 8)) {
var w = c.indexOf("[", m + 8), u = !1, x = c.indexOf(">", m + 8);
if (0 > x) {
throw "Unexpected EOF[5]";
}
if (0 < w && x > w) {
x = c.indexOf("]>", m + 8);
if (0 > x) {
throw "Unexpected EOF[7]";
}
u = !0;
}
h.doctype(c.substring(m + 8, x + (u ? 1 : 0)));
m = x + (u ? 2 : 1);
} else {
throw "Unknown !tag";
}
}
}
break;
default:
w = p(c, m);
u = !1;
if ("/>" === c.substring(m + w.parsed, m + w.parsed + 2)) {
u = !0;
} else {
if (">" !== c.substring(m + w.parsed, m + w.parsed + 1)) {
throw "Unexpected EOF[2]";
}
}
for (var k = {namespaces:[], lookup:Object.create(null)}, y = w.attributes, x = 0;x < y.length;++x) {
var s = y[x], G = s.name;
if ("xmlns:" === G.substring(0, 6)) {
G = G.substring(6), s = s.value, r(G) !== s && (k.lookup[G] = a(s), k.namespaces.push({uri:s, prefix:G})), delete y[x];
} else {
if ("xmlns" === G) {
s = s.value, n() !== s && (k.xmlns = a(s), k.namespaces.push({uri:s, prefix:""})), delete y[x];
} else {
if ("xml:" === G.substring(0, 4)) {
var I = G.substring(4);
if ("space" !== I && "lang" !== I && "base" !== I) {
throw "Invalid xml attribute: " + G;
}
k[I] = a(s.value);
} else {
if ("xml" === G.substring(0, 3)) {
throw "Invalid xml attribute";
}
}
}
}
}
var t = [];
k.namespaces.forEach(function(a) {
a.prefix && k.lookup[a.prefix] !== a.uri || t.push(a);
});
g[g.length - 1].inScopes.forEach(function(a) {
(!a.prefix || a.prefix in k.lookup) && (a.prefix || "xmlns" in k) || t.push(a);
});
k.inScopes = t;
g.push(k);
G = [];
for (x = 0;x < y.length;++x) {
(s = y[x]) && G.push({name:f(s.name, !1), value:s.value});
}
h.beginElement(f(w.name, !0), G, t, u);
m += w.parsed + (u ? 2 : 1);
u && g.pop();
}
} else {
w = !0;
do {
if (w = w && d(c, m), ++m >= c.length) {
break;
}
} while ("<" !== c[m]);
h.text(e(c.substring(x, m)), w || l());
}
x = m;
}
}
this.parseFromString = function(a, c) {
var d = new h(1, "", "", ""), e = [];
b(a, {beginElement:function(a, b, c, l) {
var n = d;
e.push(n);
d = new h(1, a.namespace, a.localName, a.prefix);
for (a = 0;a < b.length;++a) {
var r = b[a], f = new h(2, r.name.namespace, r.name.localName, r.name.prefix);
f._value = r.value;
d._attributes.push(f);
}
for (a = 0;a < c.length;++a) {
b = c[a], b = Namespace.createNamespace(b.uri, b.prefix), d._inScopeNamespaces.push(b);
}
n.insert(n.length(), d);
l && (d = e.pop());
}, endElement:function(a) {
d = e.pop();
}, text:function(a, b) {
if (!b || !Q.ignoreWhitespace) {
var c = new h(3, "", "", void 0);
c._value = a;
d.insert(d.length(), c);
}
}, cdata:function(a) {
var b = new h(3, "", "", void 0);
b._value = a;
d.insert(d.length(), b);
}, comment:function(a) {
if (!Q.ignoreComments) {
var b = new h(4, "", "", void 0);
b._value = a;
d.insert(d.length(), b);
}
}, pi:function(a, b) {
if (!Q.ignoreProcessingInstructions) {
var c = new h(5, "", a, void 0);
c._value = b;
d.insert(d.length(), c);
}
}, doctype:function(a) {
}});
return d;
};
}, z = function(a) {
function c(a, h) {
var d = "", e = "";
if (0 !== arguments.length) {
if (1 === arguments.length) {
d = a, b.isObject(d) && d instanceof c ? (e = d.prefix, d = d.uri) : b.isObject(d) && d instanceof D && null !== d.uri ? d = d.uri : (d = t(d), e = "" === d ? "" : void 0);
} else {
if (d = h, d = b.isObject(d) && d instanceof D && null !== d.uri ? d.uri : t(d), "" === d) {
if (void 0 === a || "" === t(a)) {
e = "";
} else {
throw new TypeError;
}
} else {
if (void 0 === a) {
e = void 0;
} else {
a: {
try {
new D(a);
} catch (l) {
e = !1;
break a;
}
e = !0;
}
e = !1 === e ? void 0 : t(a);
}
}
}
}
this._ns = Namespace.createNamespace(d, e);
}
__extends(c, a);
c.fromNamespace = function(a) {
return new c._namespaceConstructor(a);
};
Object.defineProperty(c.prototype, "prefix", {get:function() {
return this._ns.prefix;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "uri", {get:function() {
return this._ns.uri;
}, enumerable:!0, configurable:!0});
c.staticNatives = null;
c.instanceNatives = null;
c.instanceConstructor = c;
c._namespaceConstructor = function(a) {
this._ns = a;
};
c._namespaceConstructor.prototype = c.prototype;
c._ = void 0;
c.callableConstructor = function(a, h) {
if (1 === arguments.length && b.isObject(a) && a instanceof c) {
return a;
}
switch(arguments.length) {
case 0:
return new c;
case 1:
return new c(a);
default:
return new c(a, h);
}
};
return c;
}(g.ASObject);
g.ASNamespace = z;
var P;
(function(a) {
a[a.ATTR_NAME = 1] = "ATTR_NAME";
a[a.ELEM_NAME = 2] = "ELEM_NAME";
a[a.ANY_NAME = 4] = "ANY_NAME";
a[a.ANY_NAMESPACE = 8] = "ANY_NAMESPACE";
})(P || (P = {}));
var D = function(a) {
function c(a, h, d) {
var e, l;
0 === arguments.length ? e = "" : 1 === arguments.length ? e = a : (l = a, e = h);
if (b.isObject(e) && e instanceof c) {
if (2 > arguments.length) {
return e;
}
e = e.localName;
}
e = void 0 === e || 0 === arguments.length ? "" : t(e);
if (void 0 === l || 2 > arguments.length) {
l = "*" === e ? null : new z("", Q.defaultNamespace);
}
var n = e;
null !== l && (l = l instanceof z ? l : new z(l));
var r = d ? 1 : 2;
"*" === e && (r |= 4);
null === l && (r |= 8);
this._mn = new G([l ? l._ns : null], n);
this._flags = r;
}
__extends(c, a);
c.fromMultiname = function(a) {
var b = Object.create(c.prototype);
b._mn = a;
var h = 0, h = a.isAttribute() ? h | 1 : h | 2;
a.isAnyName() && (h |= 4);
a.isAnyNamespace() && (h |= 8);
b._flags = h;
return b;
};
Object.defineProperty(c.prototype, "localName", {get:function() {
return this._mn.name;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "uri", {get:function() {
return this._mn.namespaces[0] ? this._mn.namespaces[0].uri : null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "prefix", {get:function() {
return this._mn.namespaces[0].prefix;
}, enumerable:!0, configurable:!0});
c.prototype.getNamespace = function(a) {
if (null === this.uri) {
throw "TypeError in QName.prototype.getNamespace()";
}
a || (a = []);
for (var b, c = 0;c < a.length;c++) {
this.uri === a[c].uri && (b = a[c]);
}
b || (b = new z(this.prefix, this.uri));
return b;
};
c.instanceConstructor = c;
c.callableConstructor = function(a, h) {
if (1 === arguments.length && b.isObject(a) && a instanceof c) {
return a;
}
switch(arguments.length) {
case 0:
return new c;
case 1:
return new c(a);
default:
return new c(a, h);
}
};
return c;
}(g.ASNative);
g.ASQName = D;
var L;
(function(a) {
a[a.FLAG_IGNORE_COMMENTS = 1] = "FLAG_IGNORE_COMMENTS";
a[a.FLAG_IGNORE_PROCESSING_INSTRUCTIONS = 2] = "FLAG_IGNORE_PROCESSING_INSTRUCTIONS";
a[a.FLAG_IGNORE_WHITESPACE = 4] = "FLAG_IGNORE_WHITESPACE";
a[a.FLAG_PRETTY_PRINTING = 8] = "FLAG_PRETTY_PRINTING";
a[a.ALL = a.FLAG_IGNORE_COMMENTS | a.FLAG_IGNORE_PROCESSING_INSTRUCTIONS | a.FLAG_IGNORE_WHITESPACE | a.FLAG_PRETTY_PRINTING] = "ALL";
})(L || (L = {}));
var M;
(function(a) {
a[a.Unknown = 0] = "Unknown";
a[a.Element = 1] = "Element";
a[a.Attribute = 2] = "Attribute";
a[a.Text = 3] = "Text";
a[a.Comment = 4] = "Comment";
a[a.ProcessingInstruction = 5] = "ProcessingInstruction";
})(M || (M = {}));
var V = [null, "element", "attribute", "text", "comment", "processing-instruction"], Q = function(a) {
function c(a) {
"undefined" === typeof a && (a = void 0);
if (!(this instanceof c)) {
return a instanceof c ? a : new c(a);
}
if (null === a || void 0 === a) {
a = "";
}
var b = e(a);
f(a) && (b = b._deepCopy());
return b;
}
__extends(c, a);
c.prototype.init = function(a, b, c, h) {
b = b || h ? new z(h, b) : void 0;
this._name = new D(b, c, 2 === a);
this._kind = a;
this._parent = null;
switch(a) {
case 1:
this._inScopeNamespaces = [];
this._attributes = [];
this._children = [];
break;
case 4:
;
case 5:
;
case 2:
;
case 3:
this._value = "";
}
return this;
};
c.prototype.length = function() {
return this._children ? this._children.length : 0;
};
c.prototype._deepCopy = function() {
var a = this._kind, b = new c;
b._kind = a;
b._name = this._name;
switch(a) {
case 1:
b._inScopeNamespaces = [];
0 < this._inScopeNamespaces.length && this._inScopeNamespaces.forEach(function(a) {
b._inScopeNamespaces.push(new z(a.prefix, a.uri));
});
b._attributes = this._attributes.map(function(a) {
a = a._deepCopy();
a._parent = b;
return a;
});
b._children = this._children.map(function(a) {
a = a._deepCopy();
a._parent = b;
return a;
});
break;
case 4:
;
case 5:
;
case 2:
;
case 3:
b._value = this._value;
}
return b;
};
c.prototype.resolveValue = function() {
return this;
};
c.prototype._addInScopeNamespaces = function(a) {
this._inScopeNamespaces.some(function(b) {
return b.uri === a.uri && b.prefix === a.prefix;
}) || this._inScopeNamespaces.push(a);
};
Object.defineProperty(c, "ignoreComments", {get:function() {
return!!(c._flags & 1);
}, set:function(a) {
c._flags = a ? c._flags | 1 : c._flags & -2;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "ignoreProcessingInstructions", {get:function() {
return!!(c._flags & 2);
}, set:function(a) {
c._flags = a ? c._flags | 2 : c._flags & -3;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "ignoreWhitespace", {get:function() {
return!!(c._flags & 4);
}, set:function(a) {
c._flags = a ? c._flags | 4 : c._flags & -5;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "prettyPrinting", {get:function() {
return!!(c._flags & 8);
}, set:function(a) {
c._flags = a ? c._flags | 8 : c._flags & -9;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "prettyIndent", {get:function() {
return c._prettyIndent;
}, set:function(a) {
c._prettyIndent = a | 0;
}, enumerable:!0, configurable:!0});
c.prototype.toString = function() {
return t(this);
};
c.prototype.native_hasOwnProperty = function(a) {
"undefined" === typeof a && (a = void 0);
return this.hasProperty(a, w(a), !1) ? !0 : F.call(this, String(a));
};
c.prototype.native_propertyIsEnumerable = function(a) {
"undefined" === typeof a && (a = void 0);
return "0" === String(a);
};
c.prototype.addNamespace = function(a) {
this._addInScopeNamespaces(new z(a));
return this;
};
c.prototype.appendChild = function(a) {
if (a._parent) {
var b = a._parent._children.indexOf(a);
y(0 <= b);
a._parent._children.splice(b, 1);
}
this._children.push(a);
a._parent = this;
return this;
};
c.prototype.attribute = function(a) {
return this.getProperty(a, !0, !1);
};
c.prototype.attributes = function() {
var a = new x;
Array.prototype.push.apply(a._children, this._attributes);
return a;
};
c.prototype.child = function(a) {
return this.getProperty(a, w(a), !1);
};
c.prototype.childIndex = function() {
return this._parent && 2 !== this._kind ? this._parent._children.indexOf(this) : -1;
};
c.prototype.children = function() {
var a = new x(this);
Array.prototype.push.apply(a._children, this._children);
return a;
};
c.prototype.contains = function(a) {
return this === a;
};
c.prototype.copy = function() {
return this._deepCopy();
};
c.prototype.elements = function(a) {
"undefined" === typeof a && (a = "*");
return this.getProperty(a, !1, !1);
};
c.prototype.hasComplexContent = function() {
return 2 === this._kind || 4 === this._kind || 5 === this._kind || 3 === this._kind ? !1 : this._children.some(function(a) {
return 1 === a._kind;
});
};
c.prototype.hasSimpleContent = function() {
return 4 === this._kind || 5 === this._kind ? !1 : this._children || 0 !== this._children.length ? this._children.every(function(a) {
return 1 !== a._kind;
}) : !0;
};
c.prototype.inScopeNamespaces = function() {
I("public.XML::inScopeNamespaces");
};
c.prototype.insertChildAfter = function(a, b) {
I("public.XML::insertChildAfter");
};
c.prototype.insertChildBefore = function(a, b) {
I("public.XML::insertChildBefore");
};
c.prototype.localName = function() {
return this._name.localName;
};
c.prototype.name = function() {
return this._name;
};
c.prototype._namespace = function(a, b) {
I("public.XML::private _namespace");
};
c.prototype.namespaceDeclarations = function() {
I("public.XML::namespaceDeclarations");
};
c.prototype.nodeKind = function() {
return V[this._kind];
};
c.prototype.normalize = function() {
I("public.XML::normalize");
};
c.prototype.parent = function() {
return this._parent;
};
c.prototype.processingInstructions = function(a) {
I("public.XML::processingInstructions");
};
c.prototype.prependChild = function(a) {
I("public.XML::prependChild");
};
c.prototype.removeNamespace = function(a) {
I("public.XML::removeNamespace");
};
c.prototype.setChildren = function(a) {
I("public.XML::setChildren");
};
c.prototype.setLocalName = function(a) {
I("public.XML::setLocalName");
};
c.prototype.setName = function(a) {
I("public.XML::setName");
};
c.prototype.setNamespace = function(a) {
I("public.XML::setNamespace");
};
c.prototype.toXMLString = function() {
return p(this);
};
c.prototype.notification = function() {
I("public.XML::notification");
};
c.prototype.setNotification = function(a) {
I("public.XML::setNotification");
};
c.isTraitsOrDynamicPrototype = function(a) {
return a === c.traitsPrototype || a === c.dynamicPrototype;
};
c.prototype.asGetEnumerableKeys = function() {
if (c.isTraitsOrDynamicPrototype(this)) {
return J.call(this);
}
var a = [];
this._children.forEach(function(b, c) {
a.push(b.name);
});
return a;
};
c.prototype.setProperty = function(a, b, c) {
var d, e;
if (a === a >>> 0) {
throw "TypeError in XML.prototype.setProperty(): invalid property name " + a;
}
if (3 !== this._kind && 4 !== this._kind && 5 !== this._kind && 2 !== this._kind) {
if (d = c && f(c) && 3 !== c._kind && 2 !== c._kind ? c._deepCopy() : t(c), e = u(a), b) {
this._attributes && (this._attributes.forEach(function(a, b, c) {
a.name === e.localName && delete c[b];
}), d = new h(2, e.uri, e.localName), d._value = c, d._parent = this, this._attributes.push(d));
} else {
c = void 0;
a = !f(d) && "*" !== e.localName;
b = e._flags & 4;
for (var l = e._flags & 8, n = this.length() - 1;0 <= n;n--) {
(b || 1 === this._children[n]._kind && this._children[n]._name.localName === e.localName) && (l || 1 === this._children[n]._kind && this._children[n]._name.uri === e.uri) && (void 0 !== c && this.deleteByIndex(String(c)), c = n);
}
void 0 === c && (c = this.length(), a && (l = null === e.uri ? new D(new z("", Q.defaultNamespace), e) : new D(e), b = new h(1, l.uri, l.localName, l.prefix), b._parent = this, l = l.getNamespace(), this.replace(String(c), b), b.addInScopeNamespace(l)));
a ? (this._children[c]._children = [], d = t(d), "" !== d && this._children[c].replace("0", d)) : this.replace(String(c), d);
}
}
};
c.prototype.asSetProperty = function(a, b, h, d) {
if (c.isTraitsOrDynamicPrototype(this)) {
return E.call(this, a, b, h, d);
}
h &= G.ATTRIBUTE;
this.setProperty(r(a, b, h), h, d);
};
c.prototype.getProperty = function(a, c, h) {
if (h) {
return c = G.isQName(a) ? a : this.resolveMultinameProperty(a.namespaces, a.name, a.flags), this[G.getQualifiedName(c)];
}
if (!G.isQName(a) && b.isNumeric(a)) {
return 0 === Number(a) ? this : null;
}
var d = u(a), e = new x(this, d);
a = d._flags;
var l = a & 4, n = a & 8;
c ? this._attributes && this._attributes.forEach(function(a, b) {
!l && a._name.localName !== d.localName || !n && a._name.uri !== d.uri || e.appendChild(a);
}) : this._children.forEach(function(a, b) {
(l || 1 === a._kind && a._name.localName === d.localName) && (n || 1 === a._kind && a._name.uri === d.uri) && e.appendChild(a);
});
return e;
};
c.prototype.asGetNumericProperty = function(a) {
return this.asGetProperty(null, a, 0);
};
c.prototype.asSetNumericProperty = function(a, b) {
this.asSetProperty(null, a, 0, b);
};
c.prototype.asGetProperty = function(a, b, h) {
if (c.isTraitsOrDynamicPrototype(this)) {
return C.call(this, a, b, h);
}
h &= G.ATTRIBUTE;
return this.getProperty(r(a, b, h), h, !1);
};
c.prototype.hasProperty = function(a, c, h) {
if (h) {
return c = G.isQName(a) ? a : this.resolveMultinameProperty(a.namespaces, a.name, a.flags), !!this[G.getQualifiedName(c)];
}
new x;
if (b.isIndex(a)) {
return 0 === Number(a) ? !0 : !1;
}
var d = u(a);
a = d._flags;
var e = a & 4, l = a & 8;
if (c) {
if (this._attributes) {
return this._attributes.some(function(a, b) {
return(e || a._name.localName === d.localName) && (l || a._name.uri === d.uri);
});
}
} else {
if (this._children.some(function(a, b) {
return(e || 1 === a._kind && a._name.localName === d.localName) && (l || 1 === a._kind && a._name.uri === d.uri);
})) {
return!0;
}
}
};
c.prototype.asHasProperty = function(a, b, h) {
if (c.isTraitsOrDynamicPrototype(this)) {
return K.call(this, a, b, h);
}
var d = h & G.ATTRIBUTE;
b = r(a, b, d);
if (this.hasProperty(b, d, !1)) {
return!0;
}
a = G.isQName(b) ? b : this.resolveMultinameProperty(a, b, h);
return!!this[G.getQualifiedName(a)];
};
c.prototype.asHasPropertyInternal = function(a, b, c) {
return this.asHasProperty(a, b, c);
};
c.prototype.asCallProperty = function(a, b, h, d, e) {
if (c.isTraitsOrDynamicPrototype(this) || d) {
return O.call(this, a, b, h, d, e);
}
var l;
l = this.resolveMultinameProperty(a, b, h);
if (this.asGetNumericProperty && G.isNumeric(l)) {
l = this.asGetNumericProperty(l);
} else {
var n = this.asOpenMethods;
l = n && n[l] || this[l];
}
if (l) {
return O.call(this, a, b, h, d, e);
}
if (this.hasSimpleContent()) {
return Object(t(this)).asCallProperty(a, b, h, d, e);
}
throw new TypeError;
};
c.prototype._delete = function(a, b) {
I("XML.[[Delete]]");
};
c.prototype.deleteByIndex = function(a) {
var b = a >>> 0;
if (String(b) !== String(a)) {
throw "TypeError in XML.prototype.deleteByIndex(): invalid index " + a;
}
if (a < this.length() && this.children[a]) {
this.children[a]._parent = null;
delete this.children[a];
for (a = b + 1;a < this.length();a++) {
this.children[a - 1] = this.children[a];
}
this.children.length -= 1;
}
};
c.prototype.insert = function(a, b) {
var c, h;
if (3 !== this._kind && 4 !== this._kind && 5 !== this._kind && 2 !== this._kind) {
c = a >>> 0;
if (String(a) !== String(c)) {
throw "TypeError in XML.prototype.insert(): invalid property name " + a;
}
if (1 === this._kind) {
for (h = this;h;) {
if (h === b) {
throw "Error in XML.prototype.insert()";
}
h = h._parent;
}
}
if (this instanceof U) {
if (h = this.length(), 0 === h) {
return;
}
} else {
h = 1;
}
for (var d = this.length() - 1;d >= c;d--) {
this._children[d + h] = this._children[d];
}
if (this instanceof U) {
for (h = b.length(), d = 0;d < h;d++) {
b._children[d]._parent = this, this[c + d] = b[d];
}
} else {
b._parent = this, this._children[c] = b;
}
}
};
c.prototype.replace = function(a, b) {
var c, d = this;
if (3 === d._kind || 4 === d._kind || 5 === d._kind || 2 === d._kind) {
return d;
}
if (1 === b._kind) {
for (c = d;c;) {
if (c === b) {
throw "Error in XML.prototype.replace()";
}
c = c._parent;
}
}
c = a >>> 0;
if (String(a) === String(c)) {
c >= d.length() && (a = String(d.length())), d._children[a] && (d._children[a]._parent = null);
} else {
c = this.getProperty(a, !1, !1);
if (0 === c.length()) {
return d;
}
c._children.forEach(function(b, c) {
var h = d._children.indexOf(b);
b._parent = null;
0 === c ? (a = String(h), d._children.splice(h, 1, void 0)) : d._children.splice(h, 1);
});
}
if (1 === b._kind || 3 === b._kind || 4 === b._kind || 5 === b._kind) {
b._parent = d, d._children[a] = b;
} else {
c = t(b);
var e = new h;
e._parent = d;
e._value = c;
d._children[a] = e;
}
return d;
};
c.prototype.addInScopeNamespace = function(a) {
var b = this;
if (3 !== b._kind && 4 !== b._kind && 5 !== b._kind && 2 !== b._kind && void 0 !== a.prefix && ("" !== a.prefix || "" !== b._name.uri)) {
var c = null;
b._inScopeNamespaces.forEach(function(b, h) {
b.prefix === a.prefix && (c = b);
});
null !== c && c.uri !== a.uri && b._inScopeNamespaces.forEach(function(h, d) {
h.prefix === c.prefix && (b._inScopeNamespaces[d] = a);
});
b._name.prefix === a.prefix && (b._name.prefix = void 0);
b._attributes.forEach(function(b, c) {
b._name.prefix === a.prefix && (b._name.prefix = void 0);
});
}
};
c.prototype.descendants = function(a) {
"undefined" === typeof a && (a = "*");
a = u(a);
var b = a._flags, c = new x;
if (1 !== this._kind) {
return c;
}
var h = b & 4;
b & 1 ? this._attributes.forEach(function(b, d) {
(h || a.localName === b._name.localName) && c.appendChild(b);
}) : this._children.forEach(function(b, d) {
(h || a.localName === b._name.localName) && c.appendChild(b);
});
this._children.forEach(function(b, h) {
c.appendChild(b.descendants(a));
});
return c;
};
c.prototype.comments = function() {
var a = new x(this, null);
this._children.forEach(function(b, c) {
4 === b._kind && a.appendChild(b);
});
return a;
};
c.prototype.text = function() {
var a = new x(this, null);
this._children.forEach(function(b, c) {
3 === b._kind && a.appendChild(b);
});
return a;
};
c.instanceConstructor = c;
c.callableConstructor = function(a) {
"undefined" === typeof a && (a = void 0);
if (null === a || void 0 === a) {
a = "";
}
return e(a);
};
c.defaultNamespace = "";
c._flags = L.ALL;
c._prettyIndent = 2;
return c;
}(g.ASNative);
g.ASXML = Q;
var U = function(a) {
function c(a) {
"undefined" === typeof a && (a = void 0);
if (null === a || void 0 === a) {
a = "";
}
var b = q(a);
f(a) && (b = b._deepCopy());
return b;
}
__extends(c, a);
c.prototype.toString = function() {
return t(this);
};
c.prototype._deepCopy = function() {
for (var a = new x, b = 0;b < this.length();b++) {
a.appendChild(this._children[b]._deepCopy());
}
return a;
};
c.prototype.hasOwnProperty = function(a) {
I("public.XMLList::hasOwnProperty");
};
c.prototype.propertyIsEnumerable = function(a) {
I("public.XMLList::propertyIsEnumerable");
};
c.prototype.attribute = function(a) {
return this.getProperty(a, !0, !1);
};
c.prototype.attributes = function() {
return this.getProperty("*", !0, !1);
};
c.prototype.child = function(a) {
return this.getProperty(a, !1, !1);
};
c.prototype.children = function() {
return this.getProperty("*", !1, !1);
};
c.prototype.comments = function() {
var a = new x(this);
this._children.forEach(function(b) {
1 === b._kind && (b = b.comments(), Array.prototype.push.apply(a._children, b._children));
});
return a;
};
c.prototype.contains = function(a) {
return 0 <= this._children.indexOf(a);
};
c.prototype.copy = function() {
return this._deepCopy();
};
c.prototype.elements = function(a) {
"undefined" === typeof a && (a = "*");
var b = new x(this, new D(a));
this._children.forEach(function(c) {
1 === c._kind && (c = c.elements(a), Array.prototype.push.apply(b._children, c._children));
});
return b;
};
c.prototype.hasComplexContent = function() {
switch(this.length()) {
case 0:
return!1;
case 1:
return this._children[0].hasComplexContent();
default:
return this._children.some(function(a) {
return 1 === a._kind;
});
}
};
c.prototype.hasSimpleContent = function() {
switch(this.length()) {
case 0:
return!0;
case 1:
return this._children[0].hasSimpleContent();
default:
return this._children.every(function(a) {
return 1 !== a._kind;
});
}
};
c.prototype.length = function() {
return this._children.length;
};
c.prototype.name = function() {
return this._children[0].name();
};
c.prototype.normalize = function() {
I("public.XMLList::normalize");
};
c.prototype.parent = function() {
if (0 !== this.length()) {
for (var a = this._children[0]._parent, b = 1;b < this.length();b++) {
if (a !== this._children[b]._parent) {
return;
}
}
return a;
}
};
c.prototype.processingInstructions = function(a) {
I("public.XMLList::processingInstructions");
};
c.prototype.text = function() {
var a = new x(this);
this._children.forEach(function(b, c) {
if (1 === b._kind) {
var h = b.text();
0 < h.length() && a.appendChild(h);
}
});
return a;
};
c.prototype.toXMLString = function() {
return p(this);
};
c.prototype.addNamespace = function(a) {
I("public.XMLList::addNamespace");
};
c.prototype.appendChild = function(a) {
if (a instanceof c) {
return this._children.push.apply(this._children, a._children), a;
}
this._children.push(a);
return a;
};
c.prototype.childIndex = function() {
I("public.XMLList::childIndex");
};
c.prototype.inScopeNamespaces = function() {
I("public.XMLList::inScopeNamespaces");
};
c.prototype.insertChildAfter = function(a, b) {
I("public.XMLList::insertChildAfter");
};
c.prototype.insertChildBefore = function(a, b) {
I("public.XMLList::insertChildBefore");
};
c.prototype.nodeKind = function() {
I("public.XMLList::nodeKind");
};
c.prototype._namespace = function(a, b) {
I("public.XMLList::private _namespace");
};
c.prototype.localName = function() {
I("public.XMLList::localName");
};
c.prototype.namespaceDeclarations = function() {
I("public.XMLList::namespaceDeclarations");
};
c.prototype.prependChild = function(a) {
I("public.XMLList::prependChild");
};
c.prototype.removeNamespace = function(a) {
I("public.XMLList::removeNamespace");
};
c.prototype.replace = function(a, b) {
I("public.XMLList::replace");
};
c.prototype.setChildren = function(a) {
I("public.XMLList::setChildren");
};
c.prototype.setLocalName = function(a) {
I("public.XMLList::setLocalName");
};
c.prototype.setName = function(a) {
I("public.XMLList::setName");
};
c.prototype.setNamespace = function(a) {
I("public.XMLList::setNamespace");
};
c.isTraitsOrDynamicPrototype = function(a) {
return a === c.traitsPrototype || a === c.dynamicPrototype;
};
c.prototype.asGetEnumerableKeys = function() {
return c.isTraitsOrDynamicPrototype(this) ? J.call(this) : this._children.asGetEnumerableKeys();
};
c.prototype.getProperty = function(a, c, h) {
if (h) {
return a = G.isQName(a) ? a : this.resolveMultinameProperty(a.namespaces, a.name, a.flags), this[G.getQualifiedName(a)];
}
if (b.isIndex(a)) {
return this._children[a];
}
var d = u(a), e = new x(this, d);
this._children.forEach(function(a, b) {
if (1 === a._kind) {
var l = a.getProperty(d, c, h);
0 < l.length() && e.appendChild(l);
}
});
return e;
};
c.prototype.asGetNumericProperty = function(a) {
return this.asGetProperty(null, a, 0);
};
c.prototype.asSetNumericProperty = function(a, b) {
this.asSetProperty(null, a, 0, b);
};
c.prototype.asGetProperty = function(a, b, h) {
if (c.isTraitsOrDynamicPrototype(this)) {
return C.call(this, a, b, h);
}
h &= G.ATTRIBUTE;
return this.getProperty(r(a, b, h), h, !1);
};
c.prototype.hasProperty = function(a, c) {
return b.isIndex(a) ? Number(a) < this._children.length : !0;
};
c.prototype.asHasProperty = function(a, b, h) {
if (c.isTraitsOrDynamicPrototype(this)) {
return C.call(this, a, b, h);
}
h &= G.ATTRIBUTE;
return this.hasProperty(r(a, b, h), h);
};
c.prototype.asHasPropertyInternal = function(a, b, c) {
c &= G.ATTRIBUTE;
return this.hasProperty(r(a, b, c), c);
};
c.prototype.setProperty = function(a, c, h) {
b.isIndex(a) ? this.appendChild(h) : (a = this.getProperty(a, c, !1), e(a).replace(0, e(h)));
};
c.prototype.asSetProperty = function(a, b, h, d) {
if (c.isTraitsOrDynamicPrototype(this)) {
return E.call(this, a, b, h, d);
}
h &= G.ATTRIBUTE;
b = r(a, b, h);
return this.setProperty(b, h, d);
};
c.prototype.asCallProperty = function(a, b, h, d, e) {
if (c.isTraitsOrDynamicPrototype(this) || d) {
return O.call(this, a, b, h, d, e);
}
var l;
l = this.resolveMultinameProperty(a, b, h);
if (this.asGetNumericProperty && G.isNumeric(l)) {
l = this.asGetNumericProperty(l);
} else {
var n = this.asOpenMethods;
l = n && n[l] || this[l];
}
if (l) {
return O.call(this, a, b, h, d, e);
}
if (1 === this.length()) {
return this._children[0].asCallProperty(a, b, h, d, e);
}
throw new TypeError;
};
c.instanceConstructor = c;
c.callableConstructor = function(a) {
"undefined" === typeof a && (a = void 0);
if (null === a || void 0 === a) {
a = "";
}
return q(a);
};
return c;
}(g.ASNative);
g.ASXMLList = U;
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(a) {
return c.getPublicQualifiedName(a);
}
function k(a) {
var b = a.name;
return(a = a.namespaces[0]) && a.uri ? a.uri + "::" + b : b;
}
function s(a) {
if (!a) {
return null;
}
var b = [], c;
for (c in a) {
b.push(m(a[c]));
}
return b;
}
function m(a) {
var b = {};
b[u] = a.name;
b[h] = a.value.map(function(a) {
var b = {};
b[h] = a.value;
b[x] = a.key;
return b;
});
return b;
}
function d(b, c, h, d) {
function n(c) {
a(c, "No traits array found on class" + b.classInfo.instanceInfo.name);
for (var f = c.length;f--;) {
var x = c[f];
if (x.name.getNamespace().isPublic() || x.name.uri) {
var g = k(x.name);
if (V[g] !== Q[g]) {
var C = M[g];
C[q] = "readwrite";
2 === x.kind && (C[w] = k(x.methodInfo.returnType));
} else {
if (!M[g]) {
switch(C = {}, M[g] = C, x.kind) {
case 6:
;
case 0:
if (!(d & 8)) {
continue;
}
C[u] = g;
C[l] = void 0 === x.name.uri ? null : x.name.uri;
C[w] = x.typeName ? k(x.typeName) : "*";
C[q] = "readwrite";
C[e] = d & 64 ? s(x.metadata) : null;
B.push(C);
break;
case 1:
if (!m) {
continue;
}
C[r] = x.methodInfo.returnType ? k(x.methodInfo.returnType) : "*";
C[e] = d & 64 ? s(x.metadata) : null;
C[u] = g;
C[l] = void 0 === x.name.uri ? null : x.name.uri;
for (var g = C[y] = [], x = x.methodInfo.parameters, K = 0;K < x.length;K++) {
var F = x[K], A = {};
A[w] = F.type ? k(F.type) : "*";
A[G] = "value" in F;
g.push(A);
}
C[p] = U;
L.push(C);
break;
case 2:
;
case 3:
if (!(d & 16) || h) {
continue;
}
C[u] = g;
2 === x.kind ? (C[w] = x.methodInfo.returnType ? k(x.methodInfo.returnType) : "*", V[g] = C) : (K = x.methodInfo.parameters[0].type, C[w] = K ? k(K) : "*", Q[g] = C);
C[q] = 2 === x.kind ? "readonly" : "writeonly";
C[e] = d & 64 ? s(x.metadata) : null;
C[l] = void 0 === x.name.uri ? null : x.name.uri;
C[p] = U;
z.push(C);
break;
default:
a(!1, "Unknown trait type: " + x.kind);
}
}
}
}
}
}
var x = d & 2, m = d & 32 && !h, A = {}, B = A[f("variables")] = d & 8 ? [] : null, z = A[f("accessors")] = d & 16 ? [] : null, P = null;
d & 64 && (P = h ? [] : s(c.metadata) || []);
A[e] = P;
A[f("constructor")] = null;
if (d & 4) {
if (c = A[f("interfaces")] = [], d & 512 || !h) {
for (var D in b.implementedInterfaces) {
P = b.implementedInterfaces[D].getQualifiedClassName(), c.push(P);
}
}
} else {
A[f("interfaces")] = null;
}
var L = A[f("methods")] = m ? [] : null;
D = A[f("bases")] = x ? [] : null;
var M = {}, V = {}, Q = {};
for (c = !1;b;) {
var U = k(b.classInfo.instanceInfo.name);
x && c && !h ? D.push(U) : c = !0;
if (d & 1024 && b === g.ASObject) {
break;
}
d & 512 || !h ? n(b.classInfo.instanceInfo.traits) : n(b.classInfo.traits);
b = b.baseClass;
}
h && (d & 16 && (c = {}, c[u] = "prototype", c[w] = "*", c[q] = "readonly", c[e] = null, c[l] = null, c[p] = "Class", z.push(c)), x && (D.pop(), D.push("Class", "Object"), b = g.ASClass));
return A;
}
var a = b.Debug.assert, c = b.AVM2.ABC.Multiname, n;
(function(a) {
a[a.HIDE_NSURI_METHODS = 1] = "HIDE_NSURI_METHODS";
a[a.INCLUDE_BASES = 2] = "INCLUDE_BASES";
a[a.INCLUDE_INTERFACES = 4] = "INCLUDE_INTERFACES";
a[a.INCLUDE_VARIABLES = 8] = "INCLUDE_VARIABLES";
a[a.INCLUDE_ACCESSORS = 16] = "INCLUDE_ACCESSORS";
a[a.INCLUDE_METHODS = 32] = "INCLUDE_METHODS";
a[a.INCLUDE_METADATA = 64] = "INCLUDE_METADATA";
a[a.INCLUDE_CONSTRUCTOR = 128] = "INCLUDE_CONSTRUCTOR";
a[a.INCLUDE_TRAITS = 256] = "INCLUDE_TRAITS";
a[a.USE_ITRAITS = 512] = "USE_ITRAITS";
a[a.HIDE_OBJECT = 1024] = "HIDE_OBJECT";
})(n || (n = {}));
var p = f("declaredBy"), e = f("metadata"), q = f("access"), l = f("uri"), u = f("name"), w = f("type"), r = f("returnType"), h = f("value"), x = f("key"), y = f("parameters"), G = f("optional");
g.describeTypeJSON = function(b, c) {
if (!b || "object" !== typeof b) {
return null;
}
var h = b.classInfo ? b : Object.getPrototypeOf(b).class;
a(h, "No class found for object " + b);
var e = h === b, l = h.classInfo, n = {};
n[u] = k(l.instanceInfo.name);
n[f("isDynamic")] = e || !(l.instanceInfo.flags & 1);
n[f("isFinal")] = e || !!(l.instanceInfo.flags & 2);
n[f("isStatic")] = e;
c & 256 && (n[f("traits")] = d(h, l, e, c));
return n;
};
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.assert, k = b.ObjectUtilities.createEmptyObject;
(function(b) {
(function(b) {
var d = Object.prototype.asGetProperty, a = Object.prototype.asSetProperty, c = Object.prototype.asHasProperty, n = Object.prototype.asDeleteProperty, p = Object.prototype.asGetEnumerableKeys, e = function(b) {
function e(a) {
}
__extends(e, b);
e.isTraitsOrDynamicPrototype = function(a) {
return a === e.traitsPrototype || a === e.dynamicPrototype;
};
e.makePrimitiveKey = function(a) {
if ("string" === typeof a || "number" === typeof a) {
return a;
}
f("object" === typeof a || "function" === typeof a, typeof a);
};
e.prototype.init = function(a) {
this.weakKeys = !!a;
this.map = new WeakMap;
a || (this.keys = []);
this.primitiveMap = k();
};
e.prototype.asGetNumericProperty = function(a) {
return this.asGetProperty(null, a, 0);
};
e.prototype.asSetNumericProperty = function(a, b) {
this.asSetProperty(null, a, 0, b);
};
e.prototype.asGetProperty = function(a, b, c) {
if (e.isTraitsOrDynamicPrototype(this)) {
return d.call(this, a, b, c);
}
a = e.makePrimitiveKey(b);
return void 0 !== a ? this.primitiveMap[a] : this.map.get(Object(b));
};
e.prototype.asSetProperty = function(b, c, d, h) {
if (e.isTraitsOrDynamicPrototype(this)) {
return a.call(this, b, c, d, h);
}
b = e.makePrimitiveKey(c);
void 0 !== b ? this.primitiveMap[b] = h : (this.map.set(Object(c), h), !this.weakKeys && 0 > this.keys.indexOf(c) && this.keys.push(c));
};
e.prototype.asHasProperty = function(a, b, d) {
if (e.isTraitsOrDynamicPrototype(this)) {
return c.call(this, a, b, d);
}
a = e.makePrimitiveKey(b);
return void 0 !== a ? a in this.primitiveMap : this.map.has(Object(b));
};
e.prototype.asDeleteProperty = function(a, b, c) {
if (e.isTraitsOrDynamicPrototype(this)) {
return n.call(this, a, b, c);
}
a = e.makePrimitiveKey(b);
void 0 !== a && delete this.primitiveMap[a];
this.map.delete(Object(b));
var h;
!this.weakKeys && 0 <= (h = this.keys.indexOf(b)) && this.keys.splice(h, 1);
return!0;
};
e.prototype.asGetEnumerableKeys = function() {
if (e.isTraitsOrDynamicPrototype(this)) {
return p.call(this);
}
var a = [], b;
for (b in this.primitiveMap) {
a.push(b);
}
return this.weakKeys ? a : a.concat(this.keys);
};
e.protocol = e.prototype;
return e;
}(g.ASNative);
b.Dictionary = e;
b.OriginalDictionary = e;
})(b.utils || (b.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.notImplemented, k = b.AVM2.ABC.Namespace;
(function(b) {
(function(b) {
var d = Object.prototype.asGetProperty, a = Object.prototype.asSetProperty, c = Object.prototype.asCallProperty, n = Object.prototype.asHasProperty, p = Object.prototype.asHasOwnProperty, e = Object.prototype.asHasTraitProperty, q = Object.prototype.asDeleteProperty, l = function(b) {
function l() {
b.apply(this, arguments);
}
__extends(l, b);
l.prototype.asGetProperty = function(a, b, l) {
return e.call(this, a, b, l) ? d.call(this, a, b, l) : c.call(this, [k.PROXY], "getProperty", 0, !1, [b]);
};
l.prototype.asGetNumericProperty = function(a) {
return this.asGetProperty(null, a, 0);
};
l.prototype.asSetNumericProperty = function(a, b) {
this.asSetProperty(null, a, 0, b);
};
l.prototype.asSetProperty = function(b, h, d, l) {
e.call(this, b, h, d) ? a.call(this, b, h, d, l) : c.call(this, [k.PROXY], "setProperty", 0, !1, [h, l]);
};
l.prototype.asCallProperty = function(a, b, d, l, n) {
return e.call(this, a, b, d) ? c.call(this, a, b, d, !1, n) : c.call(this, [k.PROXY], "callProperty", 0, !1, [b].concat(n));
};
l.prototype.asHasProperty = function(a, b, d) {
return e.call(this, a, b, d) ? n.call(this, a, b, d) : c.call(this, [k.PROXY], "hasProperty", 0, !1, [b]);
};
l.prototype.asHasOwnProperty = function(a, b, d) {
return e.call(this, a, b, d) ? p.call(this, a, b, d) : c.call(this, [k.PROXY], "hasProperty", 0, !1, [b]);
};
l.prototype.asDeleteProperty = function(a, b, d) {
return e.call(this, a, b, d) ? q.call(this, a, b, d) : c.call(this, [k.PROXY], "deleteProperty", 0, !1, [b]);
};
l.prototype.asNextName = function(a) {
f("Proxy asNextName");
};
l.prototype.asNextValue = function(a) {
f("Proxy asNextValue");
};
l.prototype.asNextNameIndex = function(a) {
f("Proxy asNextNameIndex");
};
l.protocol = l.prototype;
return l;
}(g.ASNative);
b.Proxy = l;
b.OriginalProxy = l;
})(b.utils || (b.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.unexpected, t = b.ArrayUtilities.DataBuffer, s = b.Debug.assert;
(function(b) {
(function(b) {
var a = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b.AMF0 = 0;
b.AMF3 = 3;
b.DEFAULT = b.AMF3;
return b;
}(g.ASNative);
b.ObjectEncoding = a;
})(b.net || (b.net = {}));
})(g.flash || (g.flash = {}));
(function(m) {
(function(d) {
var a = function(a) {
function d() {
}
__extends(d, a);
Object.defineProperty(d, "defaultObjectEncoding", {get:function() {
return this._defaultObjectEncoding;
}, set:function(a) {
this._defaultObjectEncoding = a >>> 0;
}, enumerable:!0, configurable:!0});
d.prototype.readObject = function() {
switch(this._objectEncoding) {
case m.net.ObjectEncoding.AMF0:
return k.AMF0.read(this);
case m.net.ObjectEncoding.AMF3:
return k.AMF3.read(this);
default:
f("Object Encoding");
}
};
d.prototype.writeObject = function(a) {
switch(this._objectEncoding) {
case m.net.ObjectEncoding.AMF0:
return k.AMF0.write(this, a);
case m.net.ObjectEncoding.AMF3:
return k.AMF3.write(this, a);
default:
f("Object Encoding");
}
};
d.instanceConstructor = t;
d.staticNatives = [t];
d.instanceNatives = [t.prototype];
d.callableConstructor = null;
d.initializer = function(a) {
var c = b.Timeline.BinarySymbol;
s(c);
var f, l = 0;
a ? (a instanceof ArrayBuffer ? f = a.slice() : Array.isArray(a) ? f = (new Uint8Array(f)).buffer : a instanceof c ? f = (new Uint8Array(a.buffer)).buffer.slice() : "buffer" in a ? (s(a.buffer instanceof ArrayBuffer), f = a.buffer.slice()) : b.Debug.unexpected("Source type."), l = f.byteLength) : f = new ArrayBuffer(d.INITIAL_SIZE);
this._buffer = f;
this._length = l;
this._position = 0;
this._updateViews();
this._objectEncoding = d.defaultObjectEncoding;
this._littleEndian = !1;
this._bitLength = this._bitBuffer = 0;
};
d.protocol = d.prototype;
d.INITIAL_SIZE = 128;
d._defaultObjectEncoding = m.net.ObjectEncoding.DEFAULT;
return d;
}(g.ASNative);
d.ByteArray = a;
a.prototype.asGetNumericProperty = t.prototype.getValue;
a.prototype.asSetNumericProperty = t.prototype.setValue;
d.OriginalByteArray = a;
})(m.utils || (m.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.Debug.notImplemented, k = b.AVM2.Runtime.asCoerceString;
(function(s) {
(function(m) {
var d = function(a) {
function b() {
}
__extends(b, a);
Object.defineProperty(b.prototype, "enabled", {get:function() {
f("public flash.system.IME::get enabled");
}, set:function(a) {
f("public flash.system.IME::set enabled");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "conversionMode", {get:function() {
f("public flash.system.IME::get conversionMode");
}, set:function(a) {
k(a);
f("public flash.system.IME::set conversionMode");
}, enumerable:!0, configurable:!0});
b.setCompositionString = function(a) {
k(a);
f("public flash.system.IME::static setCompositionString");
};
b.doConversion = function() {
f("public flash.system.IME::static doConversion");
};
b.compositionSelectionChanged = function(a, b) {
f("public flash.system.IME::static compositionSelectionChanged");
};
b.compositionAbandoned = function() {
f("public flash.system.IME::static compositionAbandoned");
};
b._checkSupported = function() {
f("public flash.system.IME::static _checkSupported");
};
return b;
}(g.ASNative);
m.IME = d;
d = function(a) {
function c() {
a.apply(this, arguments);
}
__extends(c, a);
Object.defineProperty(c, "ime", {get:function() {
f("public flash.system.System::get ime");
}, enumerable:!0, configurable:!0});
c.setClipboard = function(a) {
a = k(a);
null === b.ClipboardService.instance ? f("public flash.system.System::setClipboard") : b.ClipboardService.instance.setClipboard(a);
};
Object.defineProperty(c, "totalMemoryNumber", {get:function() {
return 2097152;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "freeMemory", {get:function() {
return 1048576;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "privateMemory", {get:function() {
f("public flash.system.System::get privateMemory");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "processCPUUsage", {get:function() {
f("public flash.system.System::get processCPUUsage");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "useCodePage", {get:function() {
f("public flash.system.System::get useCodePage");
}, set:function(a) {
f("public flash.system.System::set useCodePage");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "vmVersion", {get:function() {
return "1.0 Shumway - Mozilla Research";
}, enumerable:!0, configurable:!0});
c.pause = function() {
f("public flash.system.System::static pause");
};
c.resume = function() {
f("public flash.system.System::static resume");
};
c.exit = function(a) {
f("public flash.system.System::static exit");
};
c.gc = function() {
f("public flash.system.System::static gc");
};
c.pauseForGCIfCollectionImminent = function(a) {
f("public flash.system.System::static pauseForGCIfCollectionImminent");
};
c.disposeXML = function(a) {
f("public flash.system.System::static disposeXML");
};
Object.defineProperty(c, "swfVersion", {get:function() {
return 19;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "apiVersion", {get:function() {
return 26;
}, enumerable:!0, configurable:!0});
c.getArgv = function() {
return[];
};
c.getRunmode = function() {
return "mixed";
};
return c;
}(g.ASNative);
m.System = d;
m.OriginalSystem = d;
})(s.system || (s.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.AVM2.ABC.Multiname, t = b.AVM2.ABC.ClassInfo, s = b.AVM2.ABC.ScriptInfo, m = b.AVM2.ABC.InstanceInfo, d = b.AVM2.ABC.Info, a = b.AVM2.ABC.MethodInfo, c = b.Debug.assert, n = b.Debug.notImplemented, p = b.ArrayUtilities.popManyIntoVoid, e = function() {
return function(a) {
"undefined" === typeof a && (a = "");
this.message = a;
this.name = "VerifierError";
};
}();
g.VerifierError = e;
var q = function() {
return function() {
};
}();
g.TypeInformation = q;
var l = function() {
function a() {
}
a.from = function(b, h) {
c(b.hash);
var d = a._cache[b.hash];
d || (d = a._cache[b.hash] = new w(b, h));
return d;
};
a.fromSimpleName = function(b, c) {
return a.fromName(f.fromSimpleName(b), c);
};
a.fromName = function(b, h) {
if (void 0 === b) {
return a.Undefined;
}
var d = f.isQName(b) ? f.getFullQualifiedName(b) : void 0;
if (d) {
var e = a._cache.byQN[d];
if (e) {
return e;
}
}
if (d === f.getPublicQualifiedName("void")) {
return a.Void;
}
c(h, "An ApplicationDomain is needed.");
e = (e = h.findClassInfo(b)) ? a.from(e, h) : a.Any;
b.hasTypeParameter() && (e = new x(e, a.fromName(b.typeParameter, h)));
return a._cache.byQN[d] = e;
};
a.initializeTypes = function(b) {
a._typesInitialized || (a.Any = new u("any", "?"), a.Null = new u("Null", "X"), a.Void = new u("Void", "V"), a.Undefined = new u("Undefined", "_"), a.Int = a.fromSimpleName("int", b).instanceType(), a.Uint = a.fromSimpleName("uint", b).instanceType(), a.Class = a.fromSimpleName("Class", b).instanceType(), a.Array = a.fromSimpleName("Array", b).instanceType(), a.Object = a.fromSimpleName("Object", b).instanceType(), a.String = a.fromSimpleName("String", b).instanceType(), a.Number = a.fromSimpleName("Number",
b).instanceType(), a.Boolean = a.fromSimpleName("Boolean", b).instanceType(), a.Function = a.fromSimpleName("Function", b).instanceType(), a.XML = a.fromSimpleName("XML", b).instanceType(), a.XMLList = a.fromSimpleName("XMLList", b).instanceType(), a.Dictionary = a.fromSimpleName("flash.utils.Dictionary", b).instanceType(), a._typesInitialized = !0);
};
a.prototype.equals = function(a) {
return this === a;
};
a.prototype.merge = function(b) {
return a.Any;
};
a.prototype.instanceType = function() {
return a.Any;
};
a.prototype.classType = function() {
return a.Any;
};
a.prototype.super = function() {
b.Debug.abstractMethod("super");
return null;
};
a.prototype.applyType = function(a) {
return null;
};
a.prototype.getTrait = function(a, b, c) {
return null;
};
a.prototype.isNumeric = function() {
return this === a.Int || this === a.Uint || this === a.Number;
};
a.prototype.isString = function() {
return this === a.String;
};
a.prototype.isScriptInfo = function() {
return!1;
};
a.prototype.isClassInfo = function() {
return!1;
};
a.prototype.isInstanceInfo = function() {
return!1;
};
a.prototype.isMethodInfo = function() {
return!1;
};
a.prototype.isTraitsType = function() {
return this instanceof w;
};
a.prototype.isParameterizedType = function() {
return this instanceof x;
};
a.prototype.isMethodType = function() {
return this instanceof r;
};
a.prototype.isMultinameType = function() {
return this instanceof h;
};
a.prototype.isConstantType = function() {
return this instanceof y;
};
a.prototype.isSubtypeOf = function(a) {
return this === a || this.equals(a) ? !0 : this.merge(a) === this;
};
a.prototype.asTraitsType = function() {
c(this.isTraitsType());
return this;
};
a.prototype.asMethodType = function() {
c(this.isMethodType());
return this;
};
a.prototype.asMultinameType = function() {
c(this.isMultinameType());
return this;
};
a.prototype.asConstantType = function() {
c(this.isConstantType());
return this;
};
a.prototype.getConstantValue = function() {
c(this.isConstantType());
return this.value;
};
a.prototype.asParameterizedType = function() {
c(this.isParameterizedType());
return this;
};
a._cache = {byQN:b.ObjectUtilities.createEmptyObject(), byHash:b.ObjectUtilities.createEmptyObject()};
a._typesInitialized = !1;
return a;
}();
g.Type = l;
var u = function(a) {
function b(c, h) {
a.call(this);
this.name = c;
this.symbol = h;
}
__extends(b, a);
b.prototype.toString = function() {
return this.symbol;
};
b.prototype.instanceType = function() {
return l.Any;
};
return b;
}(l);
g.AtomType = u;
var w = function(h) {
function d(a, b) {
h.call(this);
this.info = a;
this.domain = b;
}
__extends(d, h);
d.prototype.instanceType = function() {
c(this.info instanceof t);
var a = this.info;
return this._cachedType || (this._cachedType = l.from(a.instanceInfo, this.domain));
};
d.prototype.classType = function() {
c(this.info instanceof m);
var a = this.info;
return this._cachedType || (this._cachedType = l.from(a.classInfo, this.domain));
};
d.prototype.super = function() {
if (this.info instanceof t) {
return l.Class;
}
c(this.info instanceof m);
var a = this.info;
return a.superName ? (a = l.fromName(a.superName, this.domain).instanceType(), c(a instanceof d && a.info instanceof m), a) : null;
};
d.prototype.findTraitByName = function(a, b, h) {
var d = !h, e;
if (f.isQName(b)) {
for (b = f.getQualifiedName(b), n = 0;n < a.length;n++) {
if (e = a[n], f.getQualifiedName(e.name) === b && !(h && e.isGetter() || d && e.isSetter())) {
return e;
}
}
} else {
c(b instanceof f);
for (var l, n = 0;n < b.namespaces.length;n++) {
if (d = b.getQName(n), b.namespaces[n].isDynamic()) {
l = d;
} else {
if (e = this.findTraitByName(a, d, h)) {
return e;
}
}
}
if (l) {
return this.findTraitByName(a, l, h);
}
}
};
d.prototype.getTrait = function(a, b, c) {
if (a.isMultinameType()) {
return null;
}
var h = a.getConstantValue();
if (h.isAttribute()) {
return null;
}
if (c && (this.isInstanceInfo() || this.isClassInfo())) {
c = this;
do {
(h = c.getTrait(a, b, !1)) || (c = c.super());
} while (!h && c);
return h;
}
return this.findTraitByName(this.info.traits, h, b);
};
d.prototype.getTraitAt = function(a) {
for (var c = this.info.traits, h = c.length - 1;0 <= h;h--) {
if (c[h].slotId === a) {
return c[h];
}
}
b.Debug.unexpected("Cannot find trait with slotId: " + a + " in " + c);
};
d.prototype.equals = function(a) {
return a.isTraitsType() ? this.info.traits === a.info.traits : !1;
};
d.prototype.merge = function(a) {
if (a.isTraitsType()) {
if (this.equals(a)) {
return this;
}
if (this.isNumeric() && a.isNumeric()) {
return l.Number;
}
if (this.isInstanceInfo() && a.isInstanceInfo()) {
for (var b = [], c = this;c;c = c.super()) {
b.push(c);
}
for (c = a;c;c = c.super()) {
for (a = 0;a < b.length;a++) {
if (b[a].equals(c)) {
return c;
}
}
}
return l.Object;
}
}
return l.Any;
};
d.prototype.isScriptInfo = function() {
return this.info instanceof s;
};
d.prototype.isClassInfo = function() {
return this.info instanceof t;
};
d.prototype.isMethodInfo = function() {
return this.info instanceof a;
};
d.prototype.isInstanceInfo = function() {
return this.info instanceof m;
};
d.prototype.isInstanceOrClassInfo = function() {
return this.isInstanceInfo() || this.isClassInfo();
};
d.prototype.applyType = function(a) {
return new x(this, a);
};
d.prototype._getInfoName = function() {
if (this.info instanceof s) {
return "SI";
}
if (this.info instanceof t) {
return "CI:" + this.info.instanceInfo.name.name;
}
if (this.info instanceof m) {
return "II:" + this.info.name.name;
}
if (this.info instanceof a) {
return "MI";
}
c(!1);
};
d.prototype.toString = function() {
switch(this) {
case l.Int:
return "I";
case l.Uint:
return "U";
case l.Array:
return "A";
case l.Object:
return "O";
case l.String:
return "S";
case l.Number:
return "N";
case l.Boolean:
return "B";
case l.Function:
return "F";
}
return this._getInfoName();
};
return d;
}(l);
g.TraitsType = w;
var r = function(a) {
function b(c, h) {
a.call(this, l.Function.info, h);
this.methodInfo = c;
}
__extends(b, a);
b.prototype.toString = function() {
return "MT " + this.methodInfo;
};
b.prototype.returnType = function() {
return this._cachedType || (this._cachedType = l.fromName(this.methodInfo.returnType, this.domain));
};
return b;
}(w);
g.MethodType = r;
var h = function(a) {
function b(c, h, d) {
a.call(this);
this.namespaces = c;
this.name = h;
this.flags = d;
}
__extends(b, a);
b.prototype.toString = function() {
return "MN";
};
return b;
}(l);
g.MultinameType = h;
var x = function(a) {
function b(c, h) {
a.call(this, c.info, c.domain);
this.type = c;
this.parameter = h;
}
__extends(b, a);
return b;
}(w);
g.ParameterizedType = x;
var y = function(a) {
function b(c) {
a.call(this);
this.value = c;
}
__extends(b, a);
b.prototype.toString = function() {
return String(this.value);
};
b.from = function(a) {
return new b(a);
};
b.fromArray = function(a) {
return a.map(function(a) {
return new b(a);
});
};
return b;
}(l);
g.ConstantType = y;
var G = function() {
function a() {
this.id = a.id += 1;
this.stack = [];
this.scope = [];
this.local = [];
}
a.prototype.clone = function() {
var b = new a;
b.originalId = this.id;
b.stack = this.stack.slice(0);
b.scope = this.scope.slice(0);
b.local = this.local.slice(0);
return b;
};
a.prototype.trace = function(a) {
a.writeLn(this.toString());
};
a.prototype.toString = function() {
return "<" + this.id + (this.originalId ? ":" + this.originalId : "") + ", L[" + this.local.join(", ") + "], S[" + this.stack.join(", ") + "], $[" + this.scope.join(", ") + "]>";
};
a.prototype.equals = function(b) {
return a._arrayEquals(this.stack, b.stack) && a._arrayEquals(this.scope, b.scope) && a._arrayEquals(this.local, b.local);
};
a._arrayEquals = function(a, b) {
if (a.length != b.length) {
return!1;
}
for (var c = a.length - 1;0 <= c;c--) {
if (!a[c].equals(b[c])) {
return!1;
}
}
return!0;
};
a.prototype.isSubset = function(b) {
return a._arraySubset(this.stack, b.stack) && a._arraySubset(this.scope, b.scope) && a._arraySubset(this.local, b.local);
};
a._arraySubset = function(a, b) {
if (a.length != b.length) {
return!1;
}
for (var c = a.length - 1;0 <= c;c--) {
if (a[c] !== b[c] && !a[c].equals(b[c]) && a[c].merge(b[c]) !== a[c]) {
return!1;
}
}
return!0;
};
a.prototype.merge = function(b) {
a._mergeArrays(this.local, b.local);
a._mergeArrays(this.stack, b.stack);
a._mergeArrays(this.scope, b.scope);
};
a._mergeArrays = function(a, b) {
c(a.length === b.length, "a: " + a + " b: " + b);
for (var h = a.length - 1;0 <= h;h--) {
c(void 0 !== a[h] && void 0 !== b[h]), a[h] !== b[h] && (a[h] = a[h].merge(b[h]));
}
};
a.id = 0;
return a;
}();
g.State = G;
var I = function() {
function a(c, h, d) {
this.methodInfo = c;
this.domain = h;
this.savedScope = d;
this.writer = new b.IndentingWriter;
this.pushAnyCount = this.pushCount = 0;
l.initializeTypes(h);
this.writer = b.AVM2.Verifier.traceLevel.value ? new b.IndentingWriter : null;
this.multinames = c.abc.constantPool.multinames;
this.returnType = l.Undefined;
}
a.prototype.verify = function() {
var a = this.methodInfo;
this.writer && this.methodInfo.trace(this.writer);
c(a.localCount >= a.parameters.length + 1);
this._verifyBlocks(this._prepareEntryState());
};
a.prototype._prepareEntryState = function() {
var a = new G, b = this.methodInfo;
this.thisType = b.holder ? l.from(b.holder, this.domain) : l.Any;
a.local.push(this.thisType);
for (var h = b.parameters, d = 0;d < h.length;d++) {
a.local.push(l.fromName(h[d].type, this.domain).instanceType());
}
h = b.localCount - b.parameters.length - 1;
if (b.needsRest() || b.needsArguments()) {
a.local.push(l.Array), h -= 1;
}
for (d = 0;d < h;d++) {
a.local.push(l.Undefined);
}
c(a.local.length === b.localCount);
return a;
};
a.prototype._verifyBlocks = function(a) {
var c = this.writer, h = this.methodInfo.analysis.blocks;
h.forEach(function(a) {
a.verifierEntryState = a.verifierExitState = null;
});
for (var d = 0;d < h.length;d++) {
h[d].bdo = d;
}
var e = new b.SortedList(function(a, b) {
return a.bdo - b.bdo;
});
h[0].verifierEntryState = a;
for (e.push(h[0]);!e.isEmpty();) {
var l = e.pop(), n = l.verifierExitState = l.verifierEntryState.clone();
this._verifyBlock(l, n);
l.succs.forEach(function(a) {
e.contains(a) ? (c && c.writeLn("Forward Merged Block: " + a.bid + " " + n.toString() + " with " + a.verifierEntryState.toString()), a.verifierEntryState.merge(n), c && c.writeLn("Merged State: " + a.verifierEntryState)) : a.verifierEntryState ? a.verifierEntryState.isSubset(n) || (c && c.writeLn("Backward Merged Block: " + l.bid + " with " + a.bid + " " + n.toString() + " with " + a.verifierEntryState.toString()), a.verifierEntryState.merge(n), e.push(a), c && c.writeLn("Merged State: " +
a.verifierEntryState)) : (a.verifierEntryState = n.clone(), e.push(a), c && c.writeLn("Added Block: " + a.bid + " to worklist: " + a.verifierEntryState.toString()));
});
}
c && (c.writeLn("Inferred return type: " + this.returnType), c.writeLn("Quality pushCount: " + this.pushCount + ", pushAnyCount: " + this.pushAnyCount));
this.methodInfo.inferredReturnType = this.returnType;
};
a.prototype._verifyBlock = function(a, d) {
function x() {
return X.ti || (X.ti = new q);
}
function g(a) {
c(a);
x().type = a;
Z.push(a);
U.pushCount++;
a === l.Any && U.pushAnyCount++;
}
function m(a) {
return Z.pop();
}
function u() {
n(String(X));
}
function s() {
var a = U.multinames[X.index];
if (a.isRuntime()) {
var b;
b = a.isRuntimeName() ? m() : y.from(a.name);
var c;
c = a.isRuntimeNamespace() ? [m()] : y.fromArray(a.namespaces);
return new h(c, b, a.flags);
}
return y.from(a);
}
function G(a) {
return a.isMultinameType() && a.asMultinameType().name.isNumeric() || a.isConstantType() && f.isNumeric(a.getConstantValue()) ? !0 : !1;
}
function t(a, b) {
if (a.isTraitsType() || a.isParameterizedType()) {
var c = a.getTrait(b, !1, !0);
if (c) {
S && S.debugLn("getProperty(" + b + ") -> " + c);
x().trait = c;
if (c.isSlot() || c.isConst()) {
return l.fromName(c.typeName, U.domain).instanceType();
}
if (c.isGetter()) {
return l.fromName(c.methodInfo.returnType, U.domain).instanceType();
}
if (c.isClass()) {
return l.from(c.classInfo, U.domain);
}
if (c.isMethod()) {
return new r(c.methodInfo, U.domain);
}
} else {
if (G(b) && a.isParameterizedType()) {
return c = a.asParameterizedType().parameter, S && S.debugLn("getProperty(" + b + ") -> " + c), c;
}
a !== l.Array && S && S.warnLn("getProperty(" + b + ")");
}
}
return l.Any;
}
function I(a, b, c) {
if (a.isTraitsType() || a.isParameterizedType()) {
(c = a.getTrait(b, !0, !0)) ? (S && S.debugLn("setProperty(" + b + ") -> " + c), x().trait = c) : G(b) && a.isParameterizedType() || a !== l.Array && S && S.warnLn("setProperty(" + b + ")");
}
}
function C(a, b) {
if (a.isMultinameType()) {
return l.Any;
}
for (var c = U.savedScope, h = v.length - 1;h >= -c.length;h--) {
var d = 0 <= h ? v[h] : c[c.length + h];
if (d.isTraitsType()) {
if (d.getTrait(a, !1, !0)) {
x().scopeDepth = v.length - h - 1;
if (d.isClassInfo() || d.isScriptInfo()) {
x().object = k.Runtime.LazyInitializer.create(d.info);
}
S && S.debugLn("findProperty(" + a + ") -> " + d);
return d;
}
} else {
return S && S.warnLn("findProperty(" + a + ")"), l.Any;
}
}
if (c = U.domain.findDefiningScript(a.getConstantValue(), !1)) {
return x().object = k.Runtime.LazyInitializer.create(c.script), d = l.from(c.script, U.domain), S && S.debugLn("findProperty(" + a + ") -> " + d), d;
}
if (a.isConstantType() && "unsafeJSNative" === a.getConstantValue().name) {
return l.Any;
}
S && S.warnLn("findProperty(" + a + ")");
return l.Any;
}
function E(a) {
if (a instanceof w && (a = a.getTraitAt(X.index), S && S.debugLn("accessSlot() -> " + a), a)) {
x().trait = a;
if (a.isSlot()) {
return l.fromName(a.typeName, U.domain).instanceType();
}
if (a.isClass()) {
return l.from(a.classInfo, U.domain);
}
}
return l.Any;
}
function Q(a) {
if (a.isTraitsType() || a.isParameterizedType()) {
return a === l.Function || a === l.Class || a === l.Object ? l.Object : a.instanceType();
}
S && S.warnLn("construct(" + a + ")");
return l.Any;
}
for (var U = this, S = this.writer, aa = this.methodInfo, $ = aa.analysis.bytecodes, ea = d.local, Z = d.stack, v = d.scope, X, ba = this.savedScope[0], R, H, Y, ga = a.position, ca = a.end.position;ga <= ca;ga++) {
if (X = $[ga], R = X.op, 240 !== R && 241 !== R) {
switch(S && 1 < b.AVM2.Verifier.traceLevel.value && S.writeLn(("stateBefore: " + d.toString() + " $$[" + this.savedScope.join(", ") + "]").padRight(" ", 100) + " : " + ga + ", " + X.toString(aa.abc)), R) {
case 1:
break;
case 3:
m();
break;
case 4:
Y = s();
H = m();
c(H.super());
x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info);
g(t(H.super(), Y));
break;
case 5:
R = m();
Y = s();
H = m();
c(H.super());
x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info);
I(H.super(), Y, R);
break;
case 6:
u();
break;
case 7:
u();
break;
case 8:
d.local[X.index] = l.Undefined;
break;
case 10:
u();
break;
case 11:
u();
break;
case 12:
;
case 24:
;
case 13:
;
case 23:
;
case 14:
;
case 22:
;
case 15:
;
case 21:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
m();
m();
break;
case 16:
break;
case 17:
;
case 18:
m();
break;
case 27:
m(l.Int);
break;
case 29:
v.pop();
break;
case 30:
;
case 35:
m(l.Int);
m();
g(l.Any);
break;
case 31:
g(l.Boolean);
break;
case 50:
g(l.Boolean);
break;
case 32:
g(l.Null);
break;
case 33:
g(l.Undefined);
break;
case 34:
u();
break;
case 36:
g(l.Int);
break;
case 37:
g(l.Int);
break;
case 44:
g(l.String);
break;
case 45:
g(l.Int);
break;
case 46:
g(l.Uint);
break;
case 47:
g(l.Number);
break;
case 38:
g(l.Boolean);
break;
case 39:
g(l.Boolean);
break;
case 40:
g(l.Number);
break;
case 41:
m();
break;
case 42:
R = m();
g(R);
g(R);
break;
case 43:
H = m();
Y = m();
g(H);
g(Y);
break;
case 28:
m();
v.push(l.Any);
break;
case 48:
v.push(m());
break;
case 49:
u();
break;
case 53:
;
case 54:
;
case 55:
g(l.Int);
break;
case 56:
;
case 57:
g(l.Number);
break;
case 58:
;
case 59:
;
case 60:
m(l.Int);
break;
case 61:
;
case 62:
m(l.Number);
break;
case 64:
g(l.Function);
break;
case 65:
p(Z, X.argCount);
H = m();
m();
g(l.Any);
break;
case 67:
throw new e("callmethod");;
case 68:
u();
break;
case 69:
;
case 78:
;
case 79:
;
case 70:
;
case 76:
p(Z, X.argCount);
Y = s();
H = m();
if (69 === R || 78 === R) {
H = this.thisType.super(), x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info);
}
H = t(H, Y);
if (79 === R || 78 === R) {
break;
}
H = H.isMethodType() ? H.asMethodType().returnType().instanceType() : H.isTraitsType() && H.isClassInfo() ? H.instanceType() : l.Any;
g(H);
break;
case 71:
this.returnType.merge(l.Undefined);
break;
case 72:
H = m();
aa.returnType && (Y = l.fromName(aa.returnType, this.domain).instanceType(), Y.isSubtypeOf(H) && (x().noCoercionNeeded = !0));
break;
case 73:
p(Z, X.argCount);
Z.pop();
this.thisType.isInstanceInfo() && this.thisType.super() === l.Object ? x().noCallSuperNeeded = !0 : x().baseClass = k.Runtime.LazyInitializer.create(this.thisType.asTraitsType().super().classType().info);
break;
case 66:
p(Z, X.argCount);
g(Q(m()));
break;
case 74:
p(Z, X.argCount);
Y = s();
g(Q(t(Z.pop(), Y)));
break;
case 75:
u();
break;
case 77:
u();
break;
case 80:
;
case 81:
;
case 82:
break;
case 83:
c(1 === X.argCount);
R = m();
H = m();
H === l.Any ? g(l.Any) : g(H.applyType(R));
break;
case 84:
u();
break;
case 85:
p(Z, 2 * X.argCount);
g(l.Object);
break;
case 86:
p(Z, X.argCount);
g(l.Array);
break;
case 87:
g(l.from(this.methodInfo, this.domain));
break;
case 88:
g(l.Any);
break;
case 89:
s();
m();
g(l.XMLList);
break;
case 90:
g(l.Any);
break;
case 93:
g(C(s(), !0));
break;
case 94:
g(C(s(), !1));
break;
case 95:
u();
break;
case 96:
Y = s();
g(t(C(Y, !0), Y));
break;
case 104:
;
case 97:
R = m();
Y = s();
H = m();
I(H, Y, R);
break;
case 98:
g(ea[X.index]);
break;
case 99:
ea[X.index] = m();
break;
case 100:
g(ba);
x().object = k.Runtime.LazyInitializer.create(ba.asTraitsType().info);
break;
case 101:
g(v[X.index]);
break;
case 102:
Y = s();
H = m();
g(t(H, Y));
break;
case 103:
u();
break;
case 105:
u();
break;
case 106:
s();
m();
g(l.Boolean);
break;
case 107:
u();
break;
case 108:
g(E(m()));
break;
case 109:
R = m();
H = m();
E(H);
break;
case 110:
u();
break;
case 111:
u();
break;
case 112:
m();
g(l.String);
break;
case 113:
m();
g(l.String);
break;
case 114:
m();
g(l.String);
break;
case 131:
;
case 115:
m();
g(l.Int);
break;
case 136:
;
case 116:
m();
g(l.Uint);
break;
case 132:
;
case 117:
m();
g(l.Number);
break;
case 129:
;
case 118:
m();
g(l.Boolean);
break;
case 119:
u();
break;
case 120:
break;
case 121:
m();
g(l.Number);
break;
case 122:
u();
break;
case 123:
u();
break;
case 128:
H = m();
Y = l.fromName(this.multinames[X.index], this.domain).instanceType();
Y.isSubtypeOf(H) && (x().noCoercionNeeded = !0);
g(Y);
break;
case 130:
break;
case 133:
m();
g(l.String);
break;
case 134:
H = m();
Y = l.fromName(this.multinames[X.index], this.domain).instanceType();
Y.isSubtypeOf(H) && (x().noCoercionNeeded = !0);
g(Y);
break;
case 135:
H = m();
m();
H.isTraitsType() ? g(H.instanceType()) : g(l.Any);
break;
case 137:
u();
break;
case 144:
;
case 145:
;
case 147:
m();
g(l.Number);
break;
case 146:
;
case 148:
ea[X.index] = l.Number;
break;
case 149:
m();
g(l.String);
break;
case 150:
m();
g(l.Boolean);
break;
case 160:
Y = m();
H = m();
H.isNumeric() && Y.isNumeric() ? g(l.Number) : H === l.String || Y === l.String ? g(l.String) : g(l.Any);
break;
case 161:
;
case 162:
;
case 163:
;
case 164:
m();
m();
g(l.Number);
break;
case 168:
;
case 169:
;
case 170:
;
case 165:
;
case 166:
;
case 167:
m();
m();
g(l.Int);
break;
case 151:
m();
g(l.Int);
break;
case 171:
;
case 172:
;
case 173:
;
case 174:
;
case 175:
;
case 176:
;
case 177:
;
case 180:
m();
m();
g(l.Boolean);
break;
case 178:
m();
g(l.Boolean);
break;
case 179:
m();
m();
g(l.Boolean);
break;
case 194:
;
case 195:
ea[X.index] = l.Int;
break;
case 193:
;
case 192:
;
case 196:
m();
g(l.Int);
break;
case 197:
;
case 198:
;
case 199:
m();
m();
g(l.Int);
break;
case 208:
;
case 209:
;
case 210:
;
case 211:
g(ea[R - 208]);
break;
case 212:
;
case 213:
;
case 214:
;
case 215:
ea[R - 212] = m();
break;
case 239:
break;
case 242:
break;
case 243:
break;
default:
console.info("Not Implemented: " + X);
}
}
}
};
return a;
}(), C = function() {
function a() {
}
a.prototype._prepareScopeObjects = function(a, h) {
var e = a.abc.applicationDomain;
return h.getScopeObjects().map(function(a) {
if (a instanceof d) {
return l.from(a, e);
}
if (a instanceof b.AVM2.Runtime.Global) {
return l.from(a.scriptInfo, e);
}
if (a instanceof b.AVM2.AS.ASClass) {
return l.from(a.classInfo, e);
}
if (a instanceof b.AVM2.Runtime.ActivationInfo) {
return l.from(a.methodInfo, e);
}
if (a.class) {
return l.from(a.class.classInfo.instanceInfo, e);
}
c(!1, a.toString());
return l.Any;
});
};
a.prototype.verifyMethod = function(a, b) {
var c = this._prepareScopeObjects(a, b);
(new I(a, a.abc.applicationDomain, c)).verify();
};
return a;
}();
g.Verifier = C;
})(k.Verifier || (k.Verifier = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
function g(a, b) {
for (var c = 0;c < a.length;c++) {
b(a[c]);
}
}
function k(c) {
var e, f = b.StringUtilities;
if (c instanceof h) {
return c.value instanceof d ? c.value.name : c.value;
}
if (c instanceof w) {
return c.name;
}
if (c instanceof u) {
return e = f.concat3("|", c.id, "|"), e;
}
if (c instanceof p) {
return e = f.concat3("{", c.id, "}"), e;
}
if (c instanceof r) {
return 3 === c.type ? (e = f.concat5("[", c.id, "->", c.argument.id, "]"), e) : (e = f.concat3("(", c.id, ")"), e);
}
if (c instanceof l) {
return e = f.concat3("(", c.id, ")"), e;
}
if (c instanceof n) {
return c.id;
}
a(c + " " + typeof c);
}
var m = b.Debug.assert, d = b.AVM2.ABC.Multiname, a = b.Debug.unexpected, c = b.ObjectUtilities.createEmptyObject;
(function(a) {
a[a.NumericProperty = 1] = "NumericProperty";
a[a.RESOLVED = 2] = "RESOLVED";
a[a.PRISTINE = 4] = "PRISTINE";
a[a.IS_METHOD = 8] = "IS_METHOD";
a[a.AS_CALL = 16] = "AS_CALL";
})(f.Flags || (f.Flags = {}));
var n = function() {
function a() {
this.id = a.getNextID();
}
a.getNextID = function() {
return a._nextID[a._nextID.length - 1] += 1;
};
a.prototype.visitInputs = function(a) {
};
a.startNumbering = function() {
a._nextID.push(0);
};
a.stopNumbering = function() {
a._nextID.pop();
};
a.prototype.toString = function(a) {
if (a) {
return k(this);
}
var b = [];
this.visitInputs(function(a) {
b.push(k(a));
});
a = k(this) + " = " + this.nodeName.toUpperCase();
b.length && (a += " " + b.join(", "));
return a;
};
a.prototype.visitInputsNoConstants = function(a) {
this.visitInputs(function(b) {
f.isConstant(b) || a(b);
});
};
a.prototype.replaceInput = function(b, c) {
var h = 0, d;
for (d in this) {
var e = this[d];
e instanceof a && e === b && (this[d] = c, h++);
e instanceof Array && (h += e.replace(b, c));
}
return h;
};
a._nextID = [];
return a;
}();
f.Node = n;
n.prototype.nodeName = "Node";
var p = function(a) {
function b() {
a.call(this);
}
__extends(b, a);
return b;
}(n);
f.Control = p;
p.prototype.nodeName = "Control";
var e = function(a) {
function b(c) {
a.call(this);
this.predecessors = c ? [c] : [];
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
g(this.predecessors, a);
};
return b;
}(p);
f.Region = e;
e.prototype.nodeName = "Region";
e = function(a) {
function b() {
a.call(this, null);
this.control = this;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
g(this.predecessors, a);
a(this.scope);
};
return b;
}(e);
f.Start = e;
e.prototype.nodeName = "Start";
e = function(a) {
function b(c) {
a.call(this);
this.control = c;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
};
return b;
}(p);
f.End = e;
e.prototype.nodeName = "End";
var q = function(a) {
function b(c, h, d) {
a.call(this, c);
this.store = h;
this.argument = d;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
a(this.store);
a(this.argument);
};
return b;
}(e);
f.Stop = q;
q.prototype.nodeName = "Stop";
q = function(a) {
function b(c, h) {
a.call(this, c);
this.predicate = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
a(this.predicate);
};
return b;
}(e);
f.If = q;
q.prototype.nodeName = "If";
q = function(a) {
function b(c, h) {
a.call(this, c);
this.determinant = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
a(this.determinant);
};
return b;
}(e);
f.Switch = q;
q.prototype.nodeName = "Switch";
e = function(a) {
function b(c) {
a.call(this, c);
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
};
return b;
}(e);
f.Jump = e;
e.prototype.nodeName = "Jump";
var l = function(a) {
function b() {
a.call(this);
}
__extends(b, a);
return b;
}(n);
f.Value = l;
l.prototype.nodeName = "Value";
e = function(a) {
function b() {
a.call(this);
}
__extends(b, a);
return b;
}(l);
f.Store = e;
e.prototype.nodeName = "Store";
e = function(a) {
function b(c, h) {
a.call(this);
this.control = c;
this.store = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
};
return b;
}(l);
f.StoreDependent = e;
e.prototype.nodeName = "StoreDependent";
q = function(a) {
function b(c, h, d, e, l, n) {
a.call(this, c, h);
this.callee = d;
this.object = e;
this.args = l;
this.flags = n;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
a(this.callee);
this.object && a(this.object);
g(this.args, a);
};
return b;
}(e);
f.Call = q;
q.prototype.nodeName = "Call";
q = function(a) {
function b(c, h, d, e) {
a.call(this, c, h);
this.callee = d;
this.args = e;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
a(this.callee);
g(this.args, a);
};
return b;
}(e);
f.New = q;
q.prototype.nodeName = "New";
q = function(a) {
function b(c, h, d, e) {
a.call(this, c, h);
this.object = d;
this.name = e;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
a(this.object);
a(this.name);
};
return b;
}(e);
f.GetProperty = q;
q.prototype.nodeName = "GetProperty";
q = function(a) {
function b(c, h, d, e, l) {
a.call(this, c, h);
this.object = d;
this.name = e;
this.value = l;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
a(this.object);
a(this.name);
a(this.value);
};
return b;
}(e);
f.SetProperty = q;
q.prototype.nodeName = "SetProperty";
q = function(a) {
function b(c, h, d, e) {
a.call(this, c, h);
this.object = d;
this.name = e;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
a(this.object);
a(this.name);
};
return b;
}(e);
f.DeleteProperty = q;
q.prototype.nodeName = "DeleteProperty";
e = function(a) {
function b(c, h, d, e, l, n) {
a.call(this, c, h);
this.object = d;
this.name = e;
this.args = l;
this.flags = n;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
this.store && a(this.store);
this.loads && g(this.loads, a);
a(this.object);
a(this.name);
g(this.args, a);
};
return b;
}(e);
f.CallProperty = e;
e.prototype.nodeName = "CallProperty";
var u = function(a) {
function b(c, h) {
a.call(this);
this.control = this.control = c;
this.args = h ? [h] : [];
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
g(this.args, a);
};
b.prototype.seal = function() {
this.sealed = !0;
};
b.prototype.pushValue = function(a) {
m(!this.sealed);
this.args.push(a);
};
return b;
}(l);
f.Phi = u;
u.prototype.nodeName = "Phi";
var w = function(a) {
function b(c) {
a.call(this);
this.name = c;
}
__extends(b, a);
return b;
}(l);
f.Variable = w;
w.prototype.nodeName = "Variable";
e = function(a) {
function b(c) {
a.call(this);
this.argument = c;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.argument);
};
return b;
}(l);
f.Copy = e;
e.prototype.nodeName = "Copy";
e = function(a) {
function b(c, h) {
a.call(this);
this.to = c;
this.from = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.to);
a(this.from);
};
return b;
}(l);
f.Move = e;
e.prototype.nodeName = "Move";
(function(a) {
a[a.CASE = 0] = "CASE";
a[a.TRUE = 1] = "TRUE";
a[a.FALSE = 2] = "FALSE";
a[a.STORE = 3] = "STORE";
a[a.SCOPE = 4] = "SCOPE";
})(f.ProjectionType || (f.ProjectionType = {}));
var r = function(a) {
function b(c, h, d) {
a.call(this);
this.argument = c;
this.type = h;
this.selector = d;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.argument);
};
b.prototype.project = function() {
return this.argument;
};
return b;
}(l);
f.Projection = r;
r.prototype.nodeName = "Projection";
e = function(a) {
function b(c, h, d, e) {
a.call(this);
this.control = c;
this.condition = h;
this.left = d;
this.right = e;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
this.control && a(this.control);
a(this.condition);
a(this.left);
a(this.right);
};
return b;
}(l);
f.Latch = e;
e.prototype.nodeName = "Latch";
e = function() {
function a(b, c, h) {
this.name = b;
this.evaluate = c;
this.isBinary = h;
a.byName[b] = this;
}
a.linkOpposites = function(a, b) {
a.not = b;
b.not = a;
};
a.fromName = function(b) {
return a.byName[b];
};
a.byName = c();
a.ADD = new a("+", function(a, b) {
return a + b;
}, !0);
a.SUB = new a("-", function(a, b) {
return a - b;
}, !0);
a.MUL = new a("*", function(a, b) {
return a * b;
}, !0);
a.DIV = new a("/", function(a, b) {
return a / b;
}, !0);
a.MOD = new a("%", function(a, b) {
return a % b;
}, !0);
a.AND = new a("&", function(a, b) {
return a & b;
}, !0);
a.OR = new a("|", function(a, b) {
return a | b;
}, !0);
a.XOR = new a("^", function(a, b) {
return a ^ b;
}, !0);
a.LSH = new a("<<", function(a, b) {
return a << b;
}, !0);
a.RSH = new a(">>", function(a, b) {
return a >> b;
}, !0);
a.URSH = new a(">>>", function(a, b) {
return a >>> b;
}, !0);
a.SEQ = new a("===", function(a, b) {
return a === b;
}, !0);
a.SNE = new a("!==", function(a, b) {
return a !== b;
}, !0);
a.EQ = new a("==", function(a, b) {
return a == b;
}, !0);
a.NE = new a("!=", function(a, b) {
return a != b;
}, !0);
a.LE = new a("<=", function(a, b) {
return a <= b;
}, !0);
a.GT = new a(">", function(a, b) {
return a > b;
}, !0);
a.LT = new a("<", function(a, b) {
return a < b;
}, !0);
a.GE = new a(">=", function(a, b) {
return a >= b;
}, !0);
a.PLUS = new a("+", function(a) {
return+a;
}, !1);
a.NEG = new a("-", function(a) {
return-a;
}, !1);
a.TRUE = new a("!!", function(a) {
return!!a;
}, !1);
a.FALSE = new a("!", function(a) {
return!a;
}, !1);
a.TYPE_OF = new a("typeof", function(a) {
return typeof a;
}, !1);
a.BITWISE_NOT = new a("~", function(a) {
return~a;
}, !1);
a.AS_ADD = new a("+", function(a, b) {
return "string" === typeof a || "string" === typeof b ? String(a) + String(b) : a + b;
}, !0);
return a;
}();
f.Operator = e;
e.linkOpposites(e.SEQ, e.SNE);
e.linkOpposites(e.EQ, e.NE);
e.linkOpposites(e.TRUE, e.FALSE);
e = function(a) {
function b(c, h, d) {
a.call(this);
this.operator = c;
this.left = h;
this.right = d;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.left);
a(this.right);
};
return b;
}(l);
f.Binary = e;
e.prototype.nodeName = "Binary";
e = function(a) {
function b(c, h) {
a.call(this);
this.operator = c;
this.argument = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.argument);
};
return b;
}(l);
f.Unary = e;
e.prototype.nodeName = "Unary";
var h = function(a) {
function b(c) {
a.call(this);
this.value = c;
}
__extends(b, a);
return b;
}(l);
f.Constant = h;
h.prototype.nodeName = "Constant";
e = function(a) {
function b(c) {
a.call(this);
this.name = c;
}
__extends(b, a);
return b;
}(l);
f.GlobalProperty = e;
e.prototype.nodeName = "GlobalProperty";
e = function(a) {
function b(c) {
a.call(this);
this.control = c;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
};
return b;
}(l);
f.This = e;
e.prototype.nodeName = "This";
e = function(a) {
function b(c, h) {
a.call(this);
this.control = c;
this.argument = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
a(this.argument);
};
return b;
}(l);
f.Throw = e;
e.prototype.nodeName = "Throw";
e = function(a) {
function b(c) {
a.call(this);
this.control = c;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
};
return b;
}(l);
f.Arguments = e;
e.prototype.nodeName = "Arguments";
e = function(a) {
function b(c, h, d) {
a.call(this);
this.control = c;
this.index = h;
this.name = d;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
};
return b;
}(l);
f.Parameter = e;
e.prototype.nodeName = "Parameter";
e = function(a) {
function b(c, h) {
a.call(this);
this.control = c;
this.elements = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
g(this.elements, a);
};
return b;
}(l);
f.NewArray = e;
e.prototype.nodeName = "NewArray";
e = function(a) {
function b(c, h) {
a.call(this);
this.control = c;
this.properties = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.control);
g(this.properties, a);
};
return b;
}(l);
f.NewObject = e;
e.prototype.nodeName = "NewObject";
e = function(a) {
function b(c, h) {
a.call(this);
this.key = c;
this.value = h;
}
__extends(b, a);
b.prototype.visitInputs = function(a) {
a(this.key);
a(this.value);
};
return b;
}(l);
f.KeyValuePair = e;
e.prototype.mustFloat = !0;
e.prototype.nodeName = "KeyValuePair";
f.nameOf = k;
})(g.IR || (g.IR = {}));
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
function g(a) {
return a.id;
}
function s(a) {
return a instanceof f.Phi;
}
function m(a) {
return a instanceof f.Constant && a.value instanceof u;
}
function d(a) {
return s(a) || a instanceof f.Store || p(a, 3);
}
function a(a) {
return a instanceof f.Constant;
}
function c(a) {
return a instanceof f.Control;
}
function n(a) {
return a instanceof f.Value;
}
function p(a, b) {
return a instanceof f.Projection && (!b || a.type === b);
}
function e(a) {
return a instanceof f.Projection ? a.project() : a;
}
var q = b.Debug.assert, l = b.Debug.unexpected, u = b.AVM2.ABC.Multiname, w = b.ArrayUtilities.top, r = b.IntegerUtilities.bitCount, h = b.ArrayUtilities.pushUnique, x = b.ArrayUtilities.unique;
f.isNotPhi = function(a) {
return!s(a);
};
f.isPhi = s;
f.isScope = function(a) {
return s(a) || a instanceof f.ASScope || p(a, 4);
};
f.isMultinameConstant = m;
f.isMultiname = function(a) {
return m(a) || a instanceof f.ASMultiname;
};
f.isStore = d;
f.isConstant = a;
f.isControlOrNull = function(a) {
return c(a) || null === a;
};
f.isStoreOrNull = function(a) {
return d(a) || null === a;
};
f.isControl = c;
f.isValueOrNull = function(a) {
return n(a) || null === a;
};
f.isValue = n;
f.isProjection = p;
f.Null = new f.Constant(null);
f.Undefined = new f.Constant(void 0);
f.True = new f.Constant(!0);
f.False = new f.Constant(!1);
var y = function() {
function a(b, c, h) {
this.id = b;
this.nodes = [c, h];
this.region = c;
this.successors = [];
this.predecessors = [];
}
a.prototype.pushSuccessorAt = function(a, b) {
q(a);
q(!this.successors[b]);
this.successors[b] = a;
a.pushPredecessor(this);
};
a.prototype.pushSuccessor = function(a, b) {
q(a);
this.successors.push(a);
b && a.pushPredecessor(this);
};
a.prototype.pushPredecessor = function(a) {
q(a);
this.predecessors.push(a);
};
a.prototype.visitNodes = function(a) {
for (var b = this.nodes, c = 0, h = b.length;c < h;c++) {
a(b[c]);
}
};
a.prototype.visitSuccessors = function(a) {
for (var b = this.successors, c = 0, h = b.length;c < h;c++) {
a(b[c]);
}
};
a.prototype.visitPredecessors = function(a) {
for (var b = this.predecessors, c = 0, h = b.length;c < h;c++) {
a(b[c]);
}
};
a.prototype.append = function(a) {
q(2 <= this.nodes.length);
q(n(a), a);
q(!s(a));
q(0 > this.nodes.indexOf(a));
a.mustFloat || this.nodes.splice(this.nodes.length - 1, 0, a);
};
a.prototype.toString = function() {
return "B" + this.id + (this.name ? " (" + this.name + ")" : "");
};
a.prototype.trace = function(a) {
a.writeLn(this.toString());
};
return a;
}();
f.Block = y;
var G = function() {
function c(a) {
this.exit = this.exit = a;
}
c.prototype.buildCFG = function() {
return C.fromDFG(this);
};
c.preOrderDepthFirstSearch = function(a, b, c) {
var h = [];
a = [a];
for (var d = a.push.bind(a), e;e = a.pop();) {
1 !== h[e.id] && (h[e.id] = 1, c(e), a.push(e), b(e, d));
}
};
c.postOrderDepthFirstSearch = function(a, b, c) {
function h(a) {
d[a.id] || e.push(a);
}
for (var d = [], e = [a];a = w(e);) {
d[a.id] ? (1 === d[a.id] && (d[a.id] = 2, c(a)), e.pop()) : (d[a.id] = 1, b(a, h));
}
};
c.prototype.forEachInPreOrderDepthFirstSearch = function(b) {
function c(b) {
a(b) || (q(b instanceof f.Node), d.push(b));
}
for (var h = Array(1024), d = [this.exit], e;e = d.pop();) {
h[e.id] || (h[e.id] = 1, b && b(e), d.push(e), e.visitInputs(c));
}
};
c.prototype.forEach = function(a, b) {
(b ? c.postOrderDepthFirstSearch : c.preOrderDepthFirstSearch)(this.exit, function(a, b) {
a.visitInputsNoConstants(b);
}, a);
};
c.prototype.traceMetrics = function(a) {
var h = new b.Metrics.Counter(!0);
c.preOrderDepthFirstSearch(this.exit, function(a, b) {
a.visitInputsNoConstants(b);
}, function(a) {
k.countTimeline(a.nodeName);
});
h.trace(a);
};
c.prototype.trace = function(a) {
function b(a) {
return a instanceof f.Control ? "yellow" : a instanceof f.Phi ? "purple" : a instanceof f.Value ? "green" : "white";
}
function c(a) {
return a instanceof f.Projection ? a.project() : a;
}
function h(a) {
a = c(a);
e[a.id] || (e[a.id] = !0, a.block && l.push(a.block), d.push(a), a.visitInputsNoConstants(h));
}
var d = [], e = {}, l = [];
h(this.exit);
a.writeLn("");
a.enter("digraph DFG {");
a.writeLn("graph [bgcolor = gray10];");
a.writeLn("edge [color = white];");
a.writeLn("node [shape = box, fontname = Consolas, fontsize = 11, color = white, fontcolor = white];");
a.writeLn("rankdir = BT;");
l.forEach(function(b) {
a.enter("subgraph cluster" + b.nodes[0].id + " { bgcolor = gray20;");
b.visitNodes(function(b) {
b = c(b);
a.writeLn("N" + b.id + ";");
});
a.leave("}");
});
d.forEach(function(c) {
a.writeLn("N" + c.id + ' [label = "' + c.toString() + '", color = "' + b(c) + '"];');
});
d.forEach(function(h) {
h.visitInputsNoConstants(function(d) {
d = c(d);
a.writeLn("N" + h.id + " -> N" + d.id + " [color=" + b(d) + "];");
});
});
a.leave("}");
a.writeLn("");
};
return c;
}();
f.DFG = G;
var I = function() {
function a() {
this.entries = [];
}
a.prototype.addUse = function(a, b) {
var c = this.entries[a.id];
c || (c = this.entries[a.id] = {def:a, uses:[]});
h(c.uses, b);
};
a.prototype.trace = function(a) {
a.enter("> Uses");
this.entries.forEach(function(b) {
a.writeLn(b.def.id + " -> [" + b.uses.map(g).join(", ") + "] " + b.def);
});
a.leave("<");
};
a.prototype.replace = function(a, b) {
var c = this.entries[a.id];
if (0 === c.uses.length) {
return!1;
}
var h = 0;
c.uses.forEach(function(c) {
h += c.replaceInput(a, b);
});
q(h >= c.uses.length);
c.uses = [];
return!0;
};
a.prototype.updateUses = function(a, b, c, h) {
c = c[a.id];
if (0 === c.uses.length) {
return!1;
}
var d = 0;
c.uses.forEach(function(c) {
d += c.replaceInput(a, b);
});
q(d >= c.uses.length);
c.uses = [];
return!0;
};
return a;
}();
f.Uses = I;
var C = function() {
function c() {
this.nextBlockID = 0;
this.blocks = [];
}
c.fromDFG = function(a) {
function b(a) {
a instanceof f.Projection && (a = a.project());
q(a instanceof f.End || a instanceof f.Start, a);
if (!d[a.id]) {
d[a.id] = !0;
var c = a.control;
c instanceof f.Region || (c = a.control = new f.Region(c));
a = c.block = h.buildBlock(c, a);
c instanceof f.Start && (h.root = a);
for (var e = 0;e < c.predecessors.length;e++) {
var l = c.predecessors[e], n, r = !1;
l instanceof f.Projection ? (n = l.project(), r = 1 === l.type) : n = l;
n instanceof f.Region && (n = new f.Jump(l), n = new f.Projection(n, 1), c.predecessors[e] = n, n = n.project(), r = !0);
b(n);
var g = n.control.block;
n instanceof f.Switch ? (q(p(l, 0)), g.pushSuccessorAt(a, l.selector.value)) : r && 0 < g.successors.length ? (g.pushSuccessor(a, !0), g.hasFlippedSuccessors = !0) : g.pushSuccessor(a, !0);
}
}
}
var h = new c;
q(a && a instanceof G);
h.dfg = a;
var d = [];
b(a.exit);
h.splitCriticalEdges();
h.exit = a.exit.control.block;
h.computeDominators();
return h;
};
c.prototype.buildRootAndExit = function() {
q(!this.root && !this.exit);
0 < this.blocks[0].predecessors.length ? (this.root = new y(this.nextBlockID++), this.blocks.push(this.root), this.root.pushSuccessor(this.blocks[0], !0)) : this.root = this.blocks[0];
for (var a = [], b = 0;b < this.blocks.length;b++) {
var c = this.blocks[b];
0 === c.successors.length && a.push(c);
}
if (0 === a.length) {
l("Must have an exit block.");
} else {
if (1 === a.length && a[0] !== this.root) {
this.exit = a[0];
} else {
for (this.exit = new y(this.nextBlockID++), this.blocks.push(this.exit), b = 0;b < a.length;b++) {
a[b].pushSuccessor(this.exit, !0);
}
}
}
q(this.root && this.exit);
q(this.root !== this.exit);
};
c.prototype.fromString = function(a, b) {
function c(a) {
var b = d[a];
if (b) {
return b;
}
d[a] = b = new y(h.nextBlockID++);
b.name = a;
e.push(b);
return b;
}
var h = this, d = h.blockNames || (h.blockNames = {}), e = h.blocks;
a.replace(/\ /g, "").split(",").forEach(function(a) {
a = a.split("->");
for (var b = null, h = 0;h < a.length;h++) {
var d = a[h];
if (b) {
var e = d;
c(b).pushSuccessor(c(e), !0);
} else {
c(d);
}
b = d;
}
});
q(b && d[b]);
this.root = d[b];
};
c.prototype.buildBlock = function(a, b) {
var c = new y(this.nextBlockID++, a, b);
this.blocks.push(c);
return c;
};
c.prototype.createBlockSet = function() {
this.setConstructor || (this.setConstructor = b.BitSets.BitSetFunctor(this.blocks.length));
return new this.setConstructor;
};
c.prototype.computeReversePostOrder = function() {
if (this.order) {
return this.order;
}
var a = this.order = [];
this.depthFirstSearch(null, a.push.bind(a));
a.reverse();
for (var b = 0;b < a.length;b++) {
a[b].rpo = b;
}
return a;
};
c.prototype.depthFirstSearch = function(a, b) {
function c(d) {
h.set(d.id);
a && a(d);
for (var e = d.successors, l = 0, n = e.length;l < n;l++) {
var r = e[l];
h.get(r.id) || c(r);
}
b && b(d);
}
var h = this.createBlockSet();
c(this.root);
};
c.prototype.computeDominators = function() {
function a(b) {
var c;
if (void 0 !== b.dominatorDepth) {
return b.dominatorDepth;
}
c = b.dominator ? a(b.dominator) + 1 : 0;
return b.dominatorDepth = c;
}
q(0 === this.root.predecessors.length, "Root node " + this.root + " must not have predecessors.");
for (var b = new Int32Array(this.blocks.length), c = 0;c < b.length;c++) {
b[c] = -1;
}
var h = this.createBlockSet();
this.depthFirstSearch(function(a) {
for (var c = a.successors, d = 0, e = c.length;d < e;d++) {
var l = c[d].id, n = a.id, r = l;
if (!(0 > b[l])) {
l = b[l];
for (h.clearAll();0 <= l;) {
h.set(l), l = b[l];
}
for (;0 <= n && !h.get(n);) {
n = b[n];
}
}
b[r] = n;
}
});
for (var c = 0, d = this.blocks.length;c < d;c++) {
this.blocks[c].dominator = this.blocks[b[c]];
}
c = 0;
for (d = this.blocks.length;c < d;c++) {
a(this.blocks[c]);
}
};
c.prototype.computeLoops = function() {
function a(d) {
if (c.get(d.id)) {
return b.get(d.id) && (d.isLoopHeader || (q(32 > h, "Can't handle too many loops, fall back on BitMaps if it's a problem."), d.isLoopHeader = !0, d.loops = 1 << h, h += 1), q(1 === r(d.loops))), d.loops;
}
c.set(d.id);
b.set(d.id);
for (var e = 0, l = 0, n = d.successors.length;l < n;l++) {
e |= a(d.successors[l]);
}
d.isLoopHeader && (q(1 === r(d.loops)), e &= ~d.loops);
d.loops = e;
b.clear(d.id);
return e;
}
var b = this.createBlockSet(), c = this.createBlockSet(), h = 0, d = a(this.root);
q(0 === d);
};
c.prototype.computeUses = function() {
k.enterTimeline("computeUses");
var a = this.dfg, b = new I;
a.forEachInPreOrderDepthFirstSearch(function(a) {
a.visitInputs(function(c) {
b.addUse(c, a);
});
});
k.leaveTimeline();
return b;
};
c.prototype.verify = function() {
this.computeReversePostOrder().forEach(function(a) {
a.phis && a.phis.forEach(function(b) {
q(b.control === a.region);
q(b.args.length === a.predecessors.length);
});
});
};
c.prototype.optimizePhis = function() {
function a(b, c) {
c = x(c);
if (1 === c.length) {
return c[0];
}
if (2 === c.length) {
if (c[0] === b) {
return c[1];
}
if (c[1] === b) {
return c[0];
}
}
return b;
}
var b = [], c = this.computeUses().entries;
c.forEach(function(a) {
s(a.def) && b.push(a.def);
});
for (var h = 0, d = 0, e = !0;e;) {
d++, e = !1, b.forEach(function(b) {
var d = a(b, b.args);
if (d !== b) {
var l = c[b.id];
if (0 === l.uses.length) {
b = !1;
} else {
for (var n = 0, r = l.uses, f = 0, p = r.length;f < p;f++) {
n += r[f].replaceInput(b, d);
}
q(n >= l.uses.length);
l.uses = [];
b = !0;
}
b && (e = !0, h++);
}
});
}
};
c.prototype.splitCriticalEdges = function() {
for (var a = this.blocks, b = [], c = 0;c < a.length;c++) {
var h = a[c].successors;
if (1 < h.length) {
for (var d = 0;d < h.length;d++) {
1 < h[d].predecessors.length && b.push({from:a[c], to:h[d]});
}
}
}
for (var a = b.length, e;e = b.pop();) {
c = e.from.successors.indexOf(e.to);
h = e.to.predecessors.indexOf(e.from);
q(0 <= c && 0 <= h);
var d = e.to, l = d.region, n = new f.Region(l.predecessors[h]), r = new f.Jump(n), n = this.buildBlock(n, r);
l.predecessors[h] = new f.Projection(r, 1);
e = e.from;
e.successors[c] = n;
n.pushPredecessor(e);
n.pushSuccessor(d);
d.predecessors[h] = n;
}
a && q(0 === this.splitCriticalEdges());
return a;
};
c.prototype.allocateVariables = function() {
function a(b) {
!(p(b, 3) || b instanceof f.SetProperty) && b instanceof f.Value && (b.variable = new f.Variable("v" + b.id));
}
var b = this.computeReversePostOrder();
b.forEach(function(b) {
b.nodes.forEach(a);
b.phis && b.phis.forEach(a);
});
for (var c = [], h = 0;h < b.length;h++) {
var d = b[h], e = d.phis, d = d.predecessors;
if (e) {
for (var l = 0;l < e.length;l++) {
var n = e[l];
arguments = n.args;
q(d.length === arguments.length);
for (var r = 0;r < d.length;r++) {
var g = d[r], m = arguments[r];
m.abstract || p(m, 3) || (g = c[g.id] || (c[g.id] = []), m = m.variable || m, n.variable !== m && g.push(new f.Move(n.variable, m)));
}
}
}
}
var x = this.blocks;
c.forEach(function(a, b) {
for (var c = x[b], h = 0;a.length;) {
for (var d = 0;d < a.length;d++) {
for (var e = a[d], l = 0;l < a.length;l++) {
if (d !== l && a[l].from === e.to) {
e = null;
break;
}
}
e && (a.splice(d--, 1), c.append(e));
}
if (a.length) {
for (e = a[0], l = new f.Variable("t" + h++), x[b].append(new f.Move(l, e.to)), d = 1;d < a.length;d++) {
a[d].from === e.to && (a[d].from = l);
}
}
}
});
};
c.prototype.scheduleEarly = function() {
function b(a) {
return a.mustNotFloat || a.shouldNotFloat ? !1 : a.mustFloat || a.shouldFloat || a instanceof f.Parameter || a instanceof f.This || a instanceof f.Arguments ? !0 : a instanceof f.Binary || a instanceof f.Unary || a instanceof f.Parameter;
}
function c(a) {
q(!p[a.id], "Already scheduled " + a);
p[a.id] = !0;
q(a.control, a);
b(a) || a.control.block.append(a);
}
function h(a, b) {
q(!a.control, a);
q(!p[a.id]);
q(b);
a.control = b;
c(a);
}
function d(b) {
var r = [];
b.visitInputs(function(b) {
a(b) || n(b) && r.push(e(b));
});
for (var g = 0;g < r.length;g++) {
var q = r[g];
s(q) || p[q.id] || d(q);
}
if (b.control) {
b instanceof f.End || b instanceof f.Phi || b instanceof f.Start || p[b.id] || c(b);
} else {
if (r.length) {
q = r[0].control;
for (g = 1;g < r.length;g++) {
var m = r[g].control;
q.block.dominatorDepth < m.block.dominatorDepth && (q = m);
}
h(b, q);
} else {
h(b, l.root.region);
}
}
}
var l = this, r = this.dfg, p = [], g = [];
r.forEachInPreOrderDepthFirstSearch(function(a) {
a instanceof f.Region || a instanceof f.Jump || (a.control && g.push(a), s(a) && a.args.forEach(function(a) {
b(a) && (a.mustNotFloat = !0);
}));
});
for (var m = 0;m < g.length;m++) {
var x = g[m];
if (x instanceof f.Phi) {
var w = x.control.block;
(w.phis || (w.phis = [])).push(x);
}
x.control && d(x);
}
g.forEach(function(a) {
a = e(a);
a === r.start || a instanceof f.Region || q(a.control, "Node is not scheduled: " + a);
});
};
c.prototype.trace = function(a) {
function b(a) {
h[a.id] || (h[a.id] = !0, d.push(a), a.visitSuccessors(b));
}
function c(a) {
q(a);
return a === e ? "house" : a === l ? "invhouse" : "box";
}
var h = [], d = [], e = this.root, l = this.exit;
b(e);
a.writeLn("");
a.enter("digraph CFG {");
a.writeLn("graph [bgcolor = gray10];");
a.writeLn("edge [fontname = Consolas, fontsize = 11, color = white, fontcolor = white];");
a.writeLn("node [shape = box, fontname = Consolas, fontsize = 11, color = white, fontcolor = white, style = filled];");
a.writeLn("rankdir = TB;");
d.forEach(function(b) {
var h = "";
void 0 !== b.name && (h += " " + b.name);
void 0 !== b.rpo && (h += " O: " + b.rpo);
a.writeLn("B" + b.id + ' [label = "B' + b.id + h + '", fillcolor = "black", shape=' + c(b) + ", style=filled];");
});
d.forEach(function(b) {
b.visitSuccessors(function(c) {
a.writeLn("B" + b.id + " -> B" + c.id);
});
b.dominator && a.writeLn("B" + b.id + " -> B" + b.dominator.id + " [color = orange];");
b.follow && a.writeLn("B" + b.id + " -> B" + b.follow.id + " [color = purple];");
});
a.leave("}");
a.writeLn("");
};
return c;
}();
f.CFG = C;
var E = function() {
function b() {
}
b.prototype.foldUnary = function(b, c) {
q(b instanceof f.Unary);
if (a(b.argument)) {
return new f.Constant(b.operator.evaluate(b.argument.value));
}
if (c) {
var h = this.fold(b.argument, !0);
if (b.operator === f.Operator.TRUE) {
return h;
}
if (h instanceof f.Unary) {
if (b.operator === f.Operator.FALSE && h.operator === f.Operator.FALSE) {
return h.argument;
}
} else {
return new f.Unary(b.operator, h);
}
}
return b;
};
b.prototype.foldBinary = function(b, c) {
q(b instanceof f.Binary);
return a(b.left) && a(b.right) ? new f.Constant(b.operator.evaluate(b.left.value, b.right.value)) : b;
};
b.prototype.fold = function(a, b) {
return a instanceof f.Unary ? this.foldUnary(a, b) : a instanceof f.Binary ? this.foldBinary(a, b) : a;
};
return b;
}();
f.PeepholeOptimizer = E;
})(g.IR || (g.IR = {}));
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(a) {
F(a instanceof v);
return a;
}
function t(a) {
return a instanceof v && b.isString(a.value);
}
function s(a) {
return a instanceof v && b.isNumeric(a.value) ? !0 : a.ty && a.ty.isNumeric();
}
function m(a, b) {
return s(a) && s(b) || d(a) && d(b) ? !0 : !1;
}
function d(a) {
return t(a) ? !0 : a.ty && a.ty.isString();
}
function a(a) {
return new v(a);
}
function c(a) {
switch(a) {
case 161:
return H.SUB;
case 162:
return H.MUL;
case 163:
return H.DIV;
case 164:
return H.MOD;
case 165:
return H.LSH;
case 166:
return H.RSH;
case 167:
return H.URSH;
case 168:
return H.AND;
case 169:
return H.OR;
case 170:
return H.XOR;
case 20:
return H.NE;
case 26:
return H.SNE;
case 19:
;
case 171:
return H.EQ;
case 25:
;
case 172:
return H.SEQ;
case 21:
;
case 173:
return H.LT;
case 22:
;
case 174:
return H.LE;
case 23:
;
case 175:
return H.GT;
case 24:
;
case 176:
return H.GE;
case 144:
return H.NEG;
case 196:
return H.NEG;
case 197:
return H.ADD;
case 198:
return H.SUB;
case 199:
return H.MUL;
case 17:
return H.TRUE;
case 18:
return H.FALSE;
case 150:
return H.FALSE;
case 151:
return H.BITWISE_NOT;
default:
K(String(a));
}
}
function n(c, h, d) {
F(b.isString(d));
d = d.split(".");
for (var e = 0;e < d.length;e++) {
h = new g.IR.GetProperty(null, c.store, h, a(d[e])), h.shouldFloat = !0, c.loads.push(h);
}
return h;
}
function p(a) {
a = new g.IR.GlobalProperty(a);
a.mustFloat = !0;
return a;
}
function e(a, b) {
var c = new Z(a, b);
da && (c = da.fold(c));
return c;
}
function q(a, c, h) {
var d = new ea(a, c, h);
c.ty && c.ty !== b.AVM2.Verifier.Type.Any && c.ty === h.ty && (a === H.EQ ? d.operator = H.SEQ : a === H.NE && (d.operator = H.SNE));
da && (d = da.fold(d));
return d;
}
function l(b) {
return q(H.OR, b, a(0));
}
function u(b) {
return q(H.URSH, b, a(0));
}
function w(a) {
return s(a) ? a : e(H.PLUS, a);
}
function r(a) {
return e(H.FALSE, e(H.FALSE, a));
}
function h(a) {
a.shouldNotFloat = !0;
return a;
}
function x(a, b) {
return new X(null, null, a, null, b, 4);
}
function y(a, b) {
return x(p(a), [b]);
}
function G(a) {
return t(a) ? a : x(p("String"), [a]);
}
function I(a) {
return t(a) ? a : W(a) ? new v(z.asCoerceString(f(a).value)) : x(p("asCoerceString"), [a]);
}
function C(a) {
F(a instanceof E);
return ma[E.getQualifiedName(a)];
}
var E = b.AVM2.ABC.Multiname, O = b.AVM2.ABC.InstanceInfo, K = b.Debug.notImplemented, F = b.Debug.assert, J = b.ArrayUtilities.top, A = b.ArrayUtilities.unique, B = b.ObjectUtilities.createEmptyObject, z = b.AVM2.Runtime, P = b.AVM2.Runtime.GlobalMultinameResolver, D = g.IR.Node, L = g.IR.Start, M = g.IR.Region, V = g.IR.Null, Q = g.IR.Undefined, U = g.IR.True, S = g.IR.False, aa = g.IR.This, $ = g.IR.Projection, ea = g.IR.Binary, Z = g.IR.Unary, v = g.IR.Constant, X = g.IR.Call, ba = g.IR.Phi,
R = g.IR.Stop, H = g.IR.Operator, Y = g.IR.Parameter, ga = g.IR.NewArray, ca = g.IR.NewObject, ka = g.IR.KeyValuePair, W = g.IR.isConstant, ha = new b.IndentingWriter, da = new g.IR.PeepholeOptimizer, ja = function() {
function a(b) {
"undefined" === typeof b && (b = 0);
this.id = a._nextID += 1;
this.index = b;
this.local = [];
this.stack = [];
this.scope = [];
this.store = Q;
this.loads = [];
this.saved = Q;
}
a.prototype.clone = function(b) {
var c = new a;
c.index = void 0 !== b ? b : this.index;
c.local = this.local.slice(0);
c.stack = this.stack.slice(0);
c.scope = this.scope.slice(0);
c.loads = this.loads.slice(0);
c.saved = this.saved;
c.store = this.store;
return c;
};
a.prototype.matches = function(a) {
return this.stack.length === a.stack.length && this.scope.length === a.scope.length && this.local.length === a.local.length;
};
a.prototype.makeLoopPhis = function(b, c) {
function h(a) {
a = new ba(b, a);
a.isLoop = !0;
return a;
}
var d = new a;
F(b);
d.index = this.index;
d.local = this.local.map(function(a, b) {
return c[b] ? h(a) : a;
});
d.stack = this.stack.map(h);
d.scope = this.scope.map(h);
d.loads = this.loads.slice(0);
d.saved = this.saved;
d.store = h(this.store);
return d;
};
a.tryOptimizePhi = function(a) {
if (a instanceof ba) {
if (a.isLoop) {
return a;
}
var b = A(a.args);
if (1 === b.length) {
return a.seal(), k.countTimeline("Builder: OptimizedPhi"), b[0];
}
}
return a;
};
a.prototype.optimize = function() {
this.local = this.local.map(a.tryOptimizePhi);
this.stack = this.stack.map(a.tryOptimizePhi);
this.scope = this.scope.map(a.tryOptimizePhi);
this.saved = a.tryOptimizePhi(this.saved);
this.store = a.tryOptimizePhi(this.store);
};
a.mergeValue = function(a, b, c) {
a = b instanceof ba && b.control === a ? b : new ba(a, b);
a.pushValue(c);
return a;
};
a.mergeValues = function(b, c, h) {
for (var d = 0;d < c.length;d++) {
c[d] = a.mergeValue(b, c[d], h[d]);
}
};
a.prototype.merge = function(b, c) {
F(b);
F(this.matches(c), this + " !== " + c);
a.mergeValues(b, this.local, c.local);
a.mergeValues(b, this.stack, c.stack);
a.mergeValues(b, this.scope, c.scope);
this.store = a.mergeValue(b, this.store, c.store);
this.store.abstract = !0;
};
a.prototype.trace = function(a) {
a.writeLn(this.toString());
};
a.toBriefString = function(a) {
return a instanceof D ? a.toString(!0) : a;
};
a.prototype.toString = function() {
return "<" + String(this.id + " @ " + this.index).padRight(" ", 10) + (" M: " + a.toBriefString(this.store)).padRight(" ", 14) + (" X: " + a.toBriefString(this.saved)).padRight(" ", 14) + (" $: " + this.scope.map(a.toBriefString).join(", ")).padRight(" ", 20) + (" L: " + this.local.map(a.toBriefString).join(", ")).padRight(" ", 40) + (" S: " + this.stack.map(a.toBriefString).join(", ")).padRight(" ", 60);
};
a._nextID = 0;
return a;
}(), N = y.bind(null, "asCoerceObject"), ma = B();
ma[E.Int] = l;
ma[E.Uint] = u;
ma[E.Number] = w;
ma[E.String] = I;
ma[E.Object] = N;
ma[E.Boolean] = r;
var T = B();
T[E.Int] = l;
T[E.Uint] = u;
T[E.Number] = y.bind(null, "Number");
T[E.String] = y.bind(null, "String");
T[E.Object] = y.bind(null, "Object");
T[E.Boolean] = y.bind(null, "Boolean");
var oa = y.bind(null, "Object"), pa = function() {
function d(a, b, c, h) {
this.builder = a;
this.region = b;
this.block = c;
this.state = h;
this.abc = a.abc;
this.methodInfoConstant = a.methodInfoConstant;
this.bytecodes = a.methodInfo.analysis.bytecodes;
this.constantPool = a.abc.constantPool;
this.traceBuilder = a.traceBuilder;
this.methodInfo = a.methodInfo;
}
d.prototype.popMultiname = function() {
var b = this.constantPool.multinames[this.bc.index], c, h = b.flags;
c = b.isRuntimeName() ? this.state.stack.pop() : a(b.name);
b.isRuntimeNamespace() ? (b = new ga(this.region, [this.state.stack.pop()]), F(!(b instanceof g.IR.GetProperty), "Cannot float node : " + b), b.shouldFloat = !0) : b = a(b.namespaces);
return new g.IR.ASMultiname(b, c, h);
};
d.prototype.setIfStops = function(a) {
F(!this.stops);
a = new g.IR.If(this.region, a);
this.stops = [{control:new $(a, 2), target:this.bytecodes[this.bc.position + 1], state:this.state}, {control:new $(a, 1), target:this.bc.target, state:this.state}];
};
d.prototype.setJumpStop = function() {
F(!this.stops);
this.stops = [{control:this.region, target:this.bc.target, state:this.state}];
};
d.prototype.setThrowStop = function() {
F(!this.stops);
this.stops = [];
};
d.prototype.setReturnStop = function() {
F(!this.stops);
this.stops = [];
};
d.prototype.setSwitchStops = function(b) {
F(!this.stops);
if (2 < this.bc.targets.length) {
this.stops = [];
b = new g.IR.Switch(this.region, b);
for (var c = 0;c < this.bc.targets.length;c++) {
this.stops.push({control:new $(b, 0, a(c)), target:this.bc.targets[c], state:this.state});
}
} else {
F(2 === this.bc.targets.length), b = q(H.SEQ, b, a(0)), b = new g.IR.If(this.region, b), this.stops = [{control:new $(b, 2), target:this.bc.targets[1], state:this.state}, {control:new $(b, 1), target:this.bc.targets[0], state:this.state}];
}
};
d.prototype.savedScope = function() {
return this.state.saved;
};
d.prototype.topScope = function(a) {
var b = this.state.scope;
if (void 0 !== a) {
if (a < b.length) {
return b[b.length - 1 - a];
}
if (a === b.length) {
return this.savedScope();
}
var c = this.savedScope();
a -= b.length;
for (b = 0;b < a;b++) {
c = n(this.state, c, "parent");
}
return c;
}
return 0 < b.length ? J(b) : this.savedScope();
};
d.prototype.getGlobalScope = function() {
var b = this.bc.ti;
return b && b.object ? a(b.object) : new g.IR.ASGlobal(null, this.savedScope());
};
d.prototype.getScopeObject = function(a) {
return a instanceof g.IR.ASScope ? a.object : n(this.state, a, "object");
};
d.prototype.findProperty = function(c, h) {
var d = this.bc.ti, e = new g.IR.ASFindProperty(this.region, this.state.store, this.topScope(), c, this.methodInfoConstant, h);
if (d) {
if (d.object) {
return d.object instanceof b.AVM2.Runtime.Global && !d.object.scriptInfo.executing ? e : a(d.object);
}
if (void 0 !== d.scopeDepth) {
return this.getScopeObject(this.topScope(d.scopeDepth));
}
}
return e;
};
d.prototype.coerce = function(a, b) {
var c = C(a);
return c ? c(b) : b;
};
d.prototype.store = function(a) {
var b = this.state;
b.store = new $(a, 3);
a.loads = b.loads.slice(0);
b.loads.length = 0;
return a;
};
d.prototype.load = function(a) {
this.state.loads.push(a);
return a;
};
d.prototype.call = function(a, b, c) {
return this.store(new X(this.region, this.state.store, a, b, c, 4));
};
d.prototype.callCall = function(a, b, c) {
return this.store(new X(this.region, this.state.store, a, b, c, 16));
};
d.prototype.callProperty = function(b, c, h, d) {
var e = this.bc.ti, l = this.region, n = this.state;
if (e && e.trait) {
if (e.trait.isMethod()) {
return e = e.trait.holder instanceof O && e.trait.holder.isInterface() ? E.getPublicQualifiedName(E.getName(e.trait.name)) : E.getQualifiedName(e.trait.name), e = z.VM_OPEN_METHOD_PREFIX + e, this.store(new g.IR.CallProperty(l, n.store, b, a(e), h, 4));
}
if (e.trait.isClass()) {
c = e.trait.name;
F(c instanceof E);
if (c = T[E.getQualifiedName(c)]) {
return c(h[0]);
}
e = E.getQualifiedName(e.trait.name);
return this.store(new g.IR.CallProperty(l, n.store, b, a(e), h, 16));
}
}
return(e = this.resolveMultinameGlobally(c)) ? this.store(new g.IR.ASCallProperty(l, n.store, b, a(E.getQualifiedName(e)), h, 6, d)) : this.store(new g.IR.ASCallProperty(l, n.store, b, c, h, 4, d));
};
d.prototype.getProperty = function(b, c, h) {
var d = this.bc.ti, e = this.region, l = this.state;
F(c instanceof g.IR.ASMultiname);
h = !!h;
if (d && d.trait) {
if (d.trait.isConst() && d.trait.hasDefaultValue) {
return a(d.trait.value);
}
b = new g.IR.GetProperty(e, l.store, b, a(E.getQualifiedName(d.trait.name)));
return d.trait.isGetter() ? this.store(b) : this.load(b);
}
if (s(c.name)) {
return this.store(new g.IR.ASGetProperty(e, l.store, b, c, 1));
}
if (d = this.resolveMultinameGlobally(c)) {
return this.store(new g.IR.ASGetProperty(e, l.store, b, a(E.getQualifiedName(d)), 2 | (h ? 8 : 0)));
}
k.countTimeline("Compiler: Slow ASGetProperty");
return this.store(new g.IR.ASGetProperty(e, l.store, b, c, h ? 8 : 0));
};
d.prototype.setProperty = function(b, c, h) {
var d = this.bc.ti, e = this.region, l = this.state;
F(c instanceof g.IR.ASMultiname);
if (d && d.trait) {
(c = d.trait.typeName ? C(d.trait.typeName) : null) && (h = c(h)), this.store(new g.IR.SetProperty(e, l.store, b, a(E.getQualifiedName(d.trait.name)), h));
} else {
if (s(c.name)) {
return this.store(new g.IR.ASSetProperty(e, l.store, b, c, h, 1));
}
this.resolveMultinameGlobally(c);
return this.store(new g.IR.ASSetProperty(e, l.store, b, c, h, 0));
}
};
d.prototype.callSuper = function(b, c, h, d) {
var e = this.bc.ti, l = this.region, n = this.state;
return e && e.trait && e.trait.isMethod() && e.baseClass ? (b = z.VM_OPEN_METHOD_PREFIX + E.getQualifiedName(e.trait.name), e = this.getJSProperty(a(e.baseClass), "traitsPrototype." + b), this.call(e, c, d)) : this.store(new g.IR.ASCallSuper(l, n.store, c, h, d, 4, b));
};
d.prototype.getSuper = function(b, c, h) {
var d = this.bc.ti, e = this.region, l = this.state;
return d && d.trait && d.trait.isGetter() && d.baseClass ? (b = z.VM_OPEN_GET_METHOD_PREFIX + E.getQualifiedName(d.trait.name), d = this.getJSProperty(a(d.baseClass), "traitsPrototype." + b), this.call(d, c, [])) : this.store(new g.IR.ASGetSuper(e, l.store, c, h, b));
};
d.prototype.setSuper = function(b, c, h, d) {
var e = this.bc.ti, l = this.region, n = this.state;
e && e.trait && e.trait.isSetter() && e.baseClass ? (b = z.VM_OPEN_SET_METHOD_PREFIX + E.getQualifiedName(e.trait.name), e = this.getJSProperty(a(e.baseClass), "traitsPrototype." + b), this.call(e, c, [d])) : this.store(new g.IR.ASSetSuper(l, n.store, c, h, d, b));
};
d.prototype.constructSuper = function(b, c, h) {
var d = this.bc.ti;
if (d) {
if (d.noCallSuperNeeded) {
return;
}
if (d.baseClass) {
b = this.getJSProperty(a(d.baseClass), "instanceConstructorNoInitialize");
this.call(b, c, h);
return;
}
}
b = this.getJSProperty(b, "object.baseClass.instanceConstructorNoInitialize");
this.call(b, c, h);
};
d.prototype.getSlot = function(b, c) {
var h = this.bc.ti, d = this.region, e = this.state;
if (h) {
var l = h.trait;
if (l) {
if (l.isConst() && h.trait.hasDefaultValue) {
return a(l.value);
}
h = E.getQualifiedName(l.name);
return this.store(new g.IR.GetProperty(d, e.store, b, a(h)));
}
}
return this.store(new g.IR.ASGetSlot(null, e.store, b, c));
};
d.prototype.setSlot = function(b, c, h) {
var d = this.bc.ti, e = this.region, l = this.state;
if (d && (d = d.trait)) {
c = E.getQualifiedName(d.name);
this.store(new g.IR.SetProperty(e, l.store, b, a(c), h));
return;
}
this.store(new g.IR.ASSetSlot(e, l.store, b, c, h));
};
d.prototype.resolveMultinameGlobally = function(a) {
var c = a.namespaces, h = a.name;
if (b.AVM2.Runtime.globalMultinameAnalysis.value) {
if (W(c) && W(h) && !a.isAttribute()) {
if (!b.isNumeric(h.value) && b.isString(h.value) && h.value) {
return P.resolveMultiname(new E(c.value, h.value, a.flags));
}
k.countTimeline("GlobalMultinameResolver: Cannot resolve numeric or any names.");
} else {
k.countTimeline("GlobalMultinameResolver: Cannot resolve runtime multiname or attribute.");
}
}
};
d.prototype.getJSProperty = function(a, b) {
return n(this.state, a, b);
};
d.prototype.setJSProperty = function(b, c, h) {
this.store(new g.IR.SetProperty(null, this.state.store, b, a(c), h));
};
d.prototype.simplifyName = function(b) {
return b instanceof v && b.value instanceof E && E.isQName(b.value) ? a(E.getQualifiedName(b.value)) : b;
};
d.prototype.getDescendants = function(a, b) {
var c = this.region, h = this.state;
b = this.simplifyName(b);
return new g.IR.ASGetDescendants(c, h.store, a, b);
};
d.prototype.truthyCondition = function(a) {
var b = this.state.stack, c;
a.isBinary && (c = b.pop());
b = b.pop();
a = c ? q(a, b, c) : e(a, b);
da && (a = da.fold(a, !0));
return a;
};
d.prototype.negatedTruthyCondition = function(a) {
a = e(H.FALSE, this.truthyCondition(a));
da && (a = da.fold(a, !0));
return a;
};
d.prototype.pushExpression = function(a, b) {
var c = this.state.stack, h;
a.isBinary ? (h = c.pop(), c = c.pop(), b && (h = l(h), c = l(c)), this.push(q(a, c, h))) : (c = c.pop(), b && (c = l(c)), this.push(e(a, c)));
};
d.prototype.push = function(a) {
var b = this.bc;
F(a instanceof g.IR.Node);
b.ti && !a.ty && (a.ty = b.ti.type);
this.state.stack.push(a);
};
d.prototype.pushLocal = function(a) {
this.push(this.state.local[a]);
};
d.prototype.popLocal = function(a) {
var b = this.state;
b.local[a] = h(b.stack.pop());
};
d.prototype.build = function() {
function d() {
return y.pop();
}
function e(a) {
return b.ArrayUtilities.popMany(y, a);
}
var n = this.block, f = this.state, s = this.state.local, y = this.state.stack, t = this.state.scope, C = this.region, O = this.bytecodes, z, B, v, N = this.push.bind(this);
this.stops = null;
this.traceBuilder && (ha.writeLn("Processing Region: " + C + ", Block: " + n.bid), ha.enter(("> state: " + C.entryState.toString()).padRight(" ", 100)));
for (var J = n.position, P = n.end.position;J <= P;J++) {
this.bc = n = O[J];
var A = n.op;
f.index = J;
switch(A) {
case 3:
this.store(new g.IR.Throw(C, d()));
this.builder.stopPoints.push({region:C, store:f.store, value:Q});
this.setThrowStop();
break;
case 98:
this.pushLocal(n.index);
break;
case 208:
;
case 209:
;
case 210:
;
case 211:
this.pushLocal(A - 208);
break;
case 99:
this.popLocal(n.index);
break;
case 212:
;
case 213:
;
case 214:
;
case 215:
this.popLocal(A - 212);
break;
case 28:
;
case 48:
t.push(new g.IR.ASScope(this.topScope(), d(), 28 === A));
break;
case 29:
t.pop();
break;
case 100:
N(this.getGlobalScope());
break;
case 101:
N(this.getScopeObject(f.scope[n.index]));
break;
case 94:
;
case 93:
N(this.findProperty(this.popMultiname(), 93 === A));
break;
case 102:
v = this.popMultiname();
B = d();
N(this.getProperty(B, v, !1));
break;
case 89:
v = this.popMultiname();
B = d();
N(this.getDescendants(B, v));
break;
case 96:
v = this.popMultiname();
N(this.getProperty(this.findProperty(v, !0), v, !1));
break;
case 104:
;
case 97:
z = d();
v = this.popMultiname();
B = d();
this.setProperty(B, v, z);
break;
case 106:
v = this.popMultiname();
B = d();
N(this.store(new g.IR.ASDeleteProperty(C, f.store, B, v)));
break;
case 108:
B = d();
N(this.getSlot(B, a(n.index)));
break;
case 109:
z = d();
B = d();
this.setSlot(B, a(n.index), z);
break;
case 4:
v = this.popMultiname();
B = d();
N(this.getSuper(this.savedScope(), B, v));
break;
case 5:
z = d();
v = this.popMultiname();
B = d();
this.setSuper(this.savedScope(), B, v, z);
break;
case 241:
;
case 240:
break;
case 64:
N(x(this.builder.createFunctionCallee, [a(this.abc.methods[n.index]), this.topScope(), a(!0)]));
break;
case 65:
z = e(n.argCount);
B = d();
v = d();
N(this.callCall(v, B, z));
break;
case 70:
;
case 79:
;
case 76:
z = e(n.argCount);
v = this.popMultiname();
B = d();
z = this.callProperty(B, v, z, 76 === A);
79 !== A && N(z);
break;
case 69:
;
case 78:
v = this.popMultiname();
z = e(n.argCount);
B = d();
z = this.callSuper(this.savedScope(), B, v, z);
78 !== A && N(z);
break;
case 66:
z = e(n.argCount);
B = d();
N(this.store(new g.IR.ASNew(C, f.store, B, z)));
break;
case 73:
z = e(n.argCount);
B = d();
this.constructSuper(this.savedScope(), B, z);
break;
case 74:
z = e(n.argCount);
v = this.popMultiname();
B = d();
v = this.getProperty(B, v, !1);
N(this.store(new g.IR.ASNew(C, f.store, v, z)));
break;
case 128:
if (n.ti && n.ti.noCoercionNeeded) {
k.countTimeline("Compiler: NoCoercionNeeded");
break;
} else {
k.countTimeline("Compiler: CoercionNeeded");
}
z = d();
N(this.coerce(this.constantPool.multinames[n.index], z));
break;
case 131:
;
case 115:
N(l(d()));
break;
case 136:
;
case 116:
N(u(d()));
break;
case 132:
;
case 117:
N(w(d()));
break;
case 129:
;
case 118:
N(r(d()));
break;
case 120:
N(this.call(p("checkFilter"), null, [d()]));
break;
case 130:
break;
case 133:
N(I(d()));
break;
case 112:
N(G(d()));
break;
case 134:
if (n.ti && n.ti.noCoercionNeeded) {
k.countTimeline("Compiler: NoCoercionNeeded");
break;
} else {
k.countTimeline("Compiler: CoercionNeeded");
}
z = d();
B = this.constantPool.multinames[n.index];
v = new g.IR.ASMultiname(a(B.namespaces), a(B.name), B.flags);
B = this.getProperty(this.findProperty(v, !1), v);
N(this.call(p("asAsType"), null, [B, z]));
break;
case 135:
B = d();
z = d();
N(this.call(p("asAsType"), null, [B, z]));
break;
case 72:
;
case 71:
z = Q;
72 === A && (z = d(), this.methodInfo.returnType && (n.ti && n.ti.noCoercionNeeded || (z = this.coerce(this.methodInfo.returnType, z))));
this.builder.stopPoints.push({region:C, store:f.store, value:z});
this.setReturnStop();
break;
case 30:
;
case 35:
z = d();
B = d();
N(new g.IR.CallProperty(C, f.store, B, a(30 === A ? "asNextName" : "asNextValue"), [z], 4));
break;
case 50:
z = new g.IR.ASNewHasNext2;
this.setJSProperty(z, "object", s[n.object]);
this.setJSProperty(z, "index", s[n.index]);
this.store(new g.IR.CallProperty(C, f.store, oa(s[n.object]), a("asHasNext2"), [z], 4));
s[n.object] = this.getJSProperty(z, "object");
N(s[n.index] = this.getJSProperty(z, "index"));
break;
case 32:
N(V);
break;
case 33:
N(Q);
break;
case 38:
N(U);
break;
case 39:
N(S);
break;
case 40:
N(a(NaN));
break;
case 34:
K(String(n));
break;
case 36:
;
case 37:
N(a(n.value));
break;
case 44:
N(a(this.constantPool.strings[n.index]));
break;
case 45:
N(a(this.constantPool.ints[n.index]));
break;
case 46:
N(a(this.constantPool.uints[n.index]));
break;
case 47:
N(a(this.constantPool.doubles[n.index]));
break;
case 41:
d();
break;
case 42:
z = h(d());
N(z);
N(z);
break;
case 43:
f.stack.push(d(), d());
break;
case 239:
;
case 240:
;
case 241:
break;
case 16:
this.setJumpStop();
break;
case 12:
this.setIfStops(this.negatedTruthyCondition(H.LT));
break;
case 15:
this.setIfStops(this.negatedTruthyCondition(H.GE));
break;
case 14:
this.setIfStops(this.negatedTruthyCondition(H.GT));
break;
case 13:
this.setIfStops(this.negatedTruthyCondition(H.LE));
break;
case 24:
;
case 23:
;
case 22:
;
case 21:
;
case 17:
;
case 18:
;
case 19:
;
case 20:
;
case 25:
;
case 26:
this.setIfStops(this.truthyCondition(c(A)));
break;
case 27:
this.setSwitchStops(d());
break;
case 160:
B = d();
z = d();
v = m(z, B) ? H.ADD : b.AVM2.Runtime.useAsAdd ? H.AS_ADD : H.ADD;
N(q(v, z, B));
break;
case 161:
;
case 162:
;
case 163:
;
case 164:
;
case 165:
;
case 166:
;
case 167:
;
case 168:
;
case 169:
;
case 170:
;
case 171:
;
case 172:
;
case 173:
;
case 174:
;
case 175:
;
case 176:
;
case 144:
;
case 150:
;
case 151:
this.pushExpression(c(A));
break;
case 196:
;
case 197:
;
case 198:
;
case 199:
this.pushExpression(c(A), !0);
break;
case 145:
;
case 192:
;
case 147:
;
case 193:
N(a(1));
145 === A || 147 === A ? N(w(d())) : N(l(d()));
145 === A || 192 === A ? this.pushExpression(H.ADD) : this.pushExpression(H.SUB);
break;
case 146:
;
case 194:
;
case 148:
;
case 195:
N(a(1));
146 === A || 148 === A ? N(w(s[n.index])) : N(l(s[n.index]));
146 === A || 194 === A ? this.pushExpression(H.ADD) : this.pushExpression(H.SUB);
this.popLocal(n.index);
break;
case 177:
B = d();
z = d();
N(this.call(this.getJSProperty(B, "isInstanceOf"), null, [z]));
break;
case 178:
z = d();
v = this.popMultiname();
B = this.getProperty(this.findProperty(v, !1), v);
N(this.call(p("asIsType"), null, [B, z]));
break;
case 179:
B = d();
z = d();
N(this.call(p("asIsType"), null, [B, z]));
break;
case 180:
B = d();
z = d();
v = new g.IR.ASMultiname(Q, z, 0);
N(this.store(new g.IR.ASHasProperty(C, f.store, B, v)));
break;
case 149:
N(this.call(p("asTypeOf"), null, [d()]));
break;
case 8:
N(Q);
this.popLocal(n.index);
break;
case 83:
z = e(n.argCount);
B = d();
v = p("applyType");
N(this.call(v, null, [this.methodInfoConstant, B, new ga(C, z)]));
break;
case 86:
z = e(n.argCount);
N(new ga(C, z));
break;
case 85:
B = [];
for (v = 0;v < n.argCount;v++) {
z = d();
var D = d();
F(W(D) && b.isString(D.value));
D = a(E.getPublicQualifiedName(D.value));
B.push(new ka(D, z));
}
N(new ca(C, B));
break;
case 87:
N(new g.IR.ASNewActivation(a(this.methodInfo)));
break;
case 88:
v = p("createClass");
N(this.call(v, null, [a(this.abc.classes[n.index]), d(), this.topScope()]));
break;
default:
K(String(n));
}
239 !== A && 241 !== A && 240 !== A && this.traceBuilder && ha.writeLn(("state: " + f.toString()).padRight(" ", 100) + " : " + J + ", " + n.toString(this.abc));
}
this.traceBuilder && ha.leave(("< state: " + f.toString()).padRight(" ", 100));
};
return d;
}(), na = function() {
function c(a, h, d) {
F(a && a.abc && h);
this.abc = a.abc;
this.methodInfoConstant = new v(a);
this.scope = h;
this.methodInfo = a;
this.hasDynamicScope = d;
this.traceBuilder = 3 < b.AVM2.Compiler.traceLevel.value;
this.createFunctionCallee = p("createFunction");
this.stopPoints = [];
this.bytecodes = this.methodInfo.analysis.bytecodes;
}
c.prototype.buildStart = function(b) {
var c = this.methodInfo, h = b.entryState = new ja(0);
h.local.push(new aa(b));
for (var d = this.hasDynamicScope ? 1 : 0, e = c.parameters.length, l = 0;l < e;l++) {
h.local.push(new Y(b, d + l, c.parameters[l].name));
}
for (l = e;l < c.localCount;l++) {
h.local.push(Q);
}
h.store = new $(b, 3);
b.scope = this.hasDynamicScope ? new Y(b, 0, z.SAVED_SCOPE_NAME) : new v(this.scope);
h.saved = new $(b, 4);
l = new g.IR.Arguments(b);
if (c.needsRest() || c.needsArguments()) {
var r = a(d + (c.needsRest() ? e : 0));
h.local[e + 1] = new X(b, h.store, p("sliceArguments"), null, [l, r], 4);
}
b = n(h, l, "length");
for (l = 0;l < e;l++) {
var f = c.parameters[l], r = l + 1, q = h.local[r];
if (void 0 !== f.value) {
var m;
m = new g.IR.Binary(H.LT, b, a(d + l + 1));
q = new g.IR.Latch(null, m, a(f.value), q);
}
f.type && !f.type.isAnyName() && (f = C(f.type)) && (q = f(q));
h.local[r] = q;
}
};
c.prototype.buildGraph = function() {
for (var a = this.methodInfo.analysis.blocks, c = this.traceBuilder, h = 0;h < a.length;h++) {
a[h].bdo = h, a[h].region = null;
}
var d = new b.SortedList(function(a, b) {
return a.block.bdo - b.block.bdo;
}), h = new L;
this.buildStart(h);
for (d.push({region:h, block:a[0]});a = d.pop();) {
this.buildBlock(a.region, a.block, a.region.entryState.clone()).forEach(function(a) {
var b = a.target, h = b.region;
if (h) {
c && ha.enter("Merging into region: " + h + " @ " + b.position + ", block " + b.bid + " {"), c && ha.writeLn(" R " + h.entryState), c && ha.writeLn("+ I " + a.state), h.entryState.merge(h, a.state), h.predecessors.push(a.control), c && ha.writeLn(" = " + h.entryState), c && ha.leave("}");
} else {
var h = b.region = new M(a.control), e = null;
b.loop && (e = g.enableDirtyLocals.value && b.loop.getDirtyLocals(), c && ha.writeLn("Adding PHIs to loop region. " + e));
h.entryState = b.loop ? a.state.makeLoopPhis(h, e) : a.state.clone(b.position);
c && ha.writeLn("Adding new region: " + h + " @ " + b.position + " to worklist.");
d.push({region:h, block:b});
}
}), c && ha.enter("Worklist: {"), d.forEach(function(a) {
c && ha.writeLn(a.region + " " + a.block.bdo + " " + a.region.entryState);
}), c && ha.leave("}");
}
c && ha.writeLn("Done");
if (1 < this.stopPoints.length) {
var e = new M(null), l = new ba(e, null), n = new ba(e, null);
this.stopPoints.forEach(function(a) {
e.predecessors.push(a.region);
l.pushValue(a.value);
n.pushValue(a.store);
});
a = new R(e, n, l);
} else {
a = new R(this.stopPoints[0].region, this.stopPoints[0].store, this.stopPoints[0].value);
}
return new g.IR.DFG(a);
};
c.prototype.buildBlock = function(a, b, c) {
F(a && b && c);
c.optimize();
var h = b.verifierEntryState;
if (h) {
this.traceBuilder && ha.writeLn("Type State: " + h);
for (var d = 0;d < h.local.length;d++) {
var e = h.local[d], l = c.local[d];
l.ty || (l.ty = e);
}
}
b = new pa(this, a, b, c);
b.build();
h = b.stops;
h || (h = [], b.bc.position + 1 <= this.bytecodes.length && h.push({control:a, target:this.bytecodes[b.bc.position + 1], state:c}));
return h;
};
c.buildMethod = function(a, h, d, e) {
F(d);
F(h.analysis);
F(!h.hasExceptions());
k.countTimeline("Compiler: Compiled Methods");
k.enterTimeline("Compiler");
k.enterTimeline("Mark Loops");
h.analysis.markLoops();
k.leaveTimeline();
b.AVM2.Verifier.enabled.value && (k.enterTimeline("Verify"), a.verifyMethod(h, d), k.leaveTimeline());
a = 0 < b.AVM2.Compiler.traceLevel.value;
var l = 1 < b.AVM2.Compiler.traceLevel.value, n = 2 < b.AVM2.Compiler.traceLevel.value;
if (a) {
var r = window.performance.now()
}
k.enterTimeline("Build IR");
D.startNumbering();
d = (new c(h, d, e)).buildGraph();
k.leaveTimeline();
n && d.trace(ha);
k.enterTimeline("Build CFG");
d = d.buildCFG();
k.leaveTimeline();
k.enterTimeline("Optimize Phis");
d.optimizePhis();
k.leaveTimeline();
k.enterTimeline("Schedule Nodes");
d.scheduleEarly();
k.leaveTimeline();
n && d.trace(ha);
k.enterTimeline("Verify IR");
d.verify();
k.leaveTimeline();
k.enterTimeline("Allocate Variables");
d.allocateVariables();
k.leaveTimeline();
k.enterTimeline("Generate Source");
n = b.AVM2.Compiler.Backend.generate(d);
k.leaveTimeline();
l && ha.writeLn(n.body);
D.stopNumbering();
k.leaveTimeline();
a && ha.writeLn("Compiled " + (h.name ? "function " + h.name : "anonymous function") + " in " + (window.performance.now() - r).toPrecision(2) + "ms");
return n;
};
return c;
}(), fa = new b.AVM2.Verifier.Verifier;
g.compileMethod = function(a, b, c) {
return na.buildMethod(fa, a, b, c);
};
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(b, d) {
var e = new c(null, b), h = b.abc.applicationDomain, l = [];
k(b.init, d, e, l, !1);
b.traits.forEach(function(b) {
if (b.isClass()) {
for (var n = [], f = b.classInfo;f;) {
if (n.unshift(f), f.instanceInfo.superName) {
f = h.findClassInfo(f.instanceInfo.superName);
} else {
break;
}
}
var p = e;
n.forEach(function(a) {
p = new c(p, a);
});
a(b.classInfo, d, p, l);
} else {
(b.isMethod() || b.isGetter() || b.isSetter()) && m(b, d, e, l);
}
});
l.forEach(function(a) {
k(a.methodInfo, d, a.scope, null, !0);
});
}
function k(a, b, c, h, d) {
if (n(a)) {
p(a);
try {
l = !1;
var f = e(a, c, d, !1, !1);
b.enter(a.index + ": ");
l ? b.writeLn("undefined") : b.writeLns(f.toSource());
b.leave(",");
h && s(a, b, c, h);
} catch (g) {
b.writeLn("// " + g);
}
} else {
b.writeLn("// Can't compile method: " + a.index);
}
}
function s(a, b, d, h) {
for (var e = a.analysis.bytecodes, l = a.abc.methods, n = 0;n < e.length;n++) {
var f = e[n];
if (64 === f.op) {
f = l[f.index];
p(f);
var g = new c(d, a);
h.push({scope:g, methodInfo:f});
s(f, b, g, h);
}
}
}
function m(a, b, c, h) {
(a.isMethod() || a.isGetter() || a.isSetter()) && a.methodInfo.hasBody && (b.writeLn("// " + a), k(a.methodInfo, b, c, h, !1));
}
function d(a, b, c, h) {
a.forEach(function(a) {
m(a, b, c, h);
});
}
function a(a, b, c, h) {
k(a.init, b, c, h, !1);
d(a.traits, b, c, h);
k(a.instanceInfo.init, b, c, h, !1);
d(a.instanceInfo.traits, b, c, h);
}
var c = b.AVM2.Runtime.Scope, n = b.AVM2.Runtime.canCompile, p = b.AVM2.Runtime.ensureFunctionIsInitialized, e = b.AVM2.Runtime.createCompiledFunction, q = b.AVM2.Runtime.LazyInitializer, l = !1;
jsGlobal.objectConstantName = function(a) {
if (a.hash) {
return "$(" + a.hash + ")";
}
if (a instanceof q) {
return a.getName();
}
l = !0;
};
g.compileAbc = function(a, b) {
b.enter("{");
b.enter("methods: {");
for (var c = 0;c < a.scripts.length;c++) {
f(a.scripts[c], b);
}
b.leave("}");
b.leave("}");
};
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
function g(a) {
var b = a.length, c = [], h;
for (h = 0;h < b;++h) {
c[h] = a.charAt(h);
}
return c;
}
function k(b) {
if (null === b) {
return "null";
}
if ("string" === typeof b) {
var h, e, l, r, f = 0, q = 0, m = b;
h = c[m];
if (!h) {
1024 === a && (c = Object.create(null), a = 0);
h = "";
"undefined" === typeof b[0] && (b = g(b));
e = 0;
for (l = b.length;e < l;++e) {
r = b[e];
if ("'" === r) {
++f;
} else {
if ('"' === r) {
++q;
} else {
if (0 <= "\\\n\r\u2028\u2029".indexOf(r)) {
var x = "\\";
switch(r) {
case "\\":
x += "\\";
break;
case "\n":
x += "n";
break;
case "\r":
x += "r";
break;
case "\u2028":
x += "u2028";
break;
case "\u2029":
x += "u2029";
break;
default:
throw Error("Incorrectly classified character");;
}
h += x;
continue;
} else {
if (!(" " <= r && "~" >= r)) {
var x = b[e + 1], w = r.charCodeAt(0), u = w.toString(16), s = "\\";
switch(r) {
case "\b":
s += "b";
break;
case "\f":
s += "f";
break;
case "\t":
s += "t";
break;
default:
s = 255 < w ? s + ("u" + "0000".slice(u.length) + u) : "\x00" === r && 0 > "0123456789".indexOf(x) ? s + "0" : "\x0B" === r ? s + "x0B" : s + ("x" + "00".slice(u.length) + u);
}
h += s;
continue;
}
}
}
}
h += r;
}
b = h;
h = '"';
"undefined" === typeof b[0] && (b = g(b));
e = 0;
for (l = b.length;e < l;++e) {
r = b[e], '"' === r && (h += "\\"), h += r;
}
h += '"';
c[m] = h;
a++;
}
return h;
}
if ("number" === typeof b) {
if (b !== b) {
throw Error("Numeric literal whose value is NaN");
}
if (0 > b || 0 === b && 0 > 1 / b) {
throw Error("Numeric literal whose value is negative");
}
b === 1 / 0 ? b = "1e+400" : (e = p[b], e || (1024 === n && (p = Object.create(null), n = 0), e = "" + b, p[b] = e, n++), b = e);
return b;
}
if ("boolean" === typeof b) {
return b ? "true" : "false";
}
d(b);
}
function m(a, b, c) {
for (var h = "", d = 0;d < a.length;d++) {
h += a[d].toSource(b), c && d < a.length - 1 && (h += c);
}
return h;
}
var d = b.Debug.notImplemented, a = 0, c = Object.create(null), n = 0, p = Object.create(null), e = {"||":3, "&&":4, "|":5, "^":6, "&":7, "==":8, "!=":8, "===":8, "!==":8, is:8, isnt:8, "<":9, ">":9, "<=":9, ">=":9, "in":9, "instanceof":9, "<<":10, ">>":10, ">>>":10, "+":11, "-":11, "*":12, "%":12, "/":12}, q = function() {
function a() {
}
a.prototype.toSource = function(a) {
d(this.type);
return "";
};
return a;
}();
f.Node = q;
var l = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(q);
f.Statement = l;
var u = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(q);
f.Expression = u;
var w = function(a) {
function b(c) {
a.call(this);
this.body = c;
}
__extends(b, a);
return b;
}(q);
f.Program = w;
var r = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(l);
f.EmptyStatement = r;
var h = function(a) {
function b(c) {
a.call(this);
this.body = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "{\n" + m(this.body, a) + "}";
};
return b;
}(l);
f.BlockStatement = h;
var x = function(a) {
function b(c) {
a.call(this);
this.expression = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return this.expression.toSource(0) + ";\n";
};
return b;
}(l);
f.ExpressionStatement = x;
var y = function(a) {
function b(c, h, d) {
a.call(this);
this.test = c;
this.consequent = h;
this.alternate = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
a = "if(" + this.test.toSource(0) + "){" + this.consequent.toSource(0) + "}";
this.alternate && (a += "else{" + this.alternate.toSource(0) + "}");
return a;
};
return b;
}(l);
f.IfStatement = y;
var G = function(a) {
function b(c, h) {
a.call(this);
this.label = c;
this.body = h;
}
__extends(b, a);
return b;
}(l);
f.LabeledStatement = G;
var I = function(a) {
function b(c) {
a.call(this);
this.label = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
a = "break";
this.label && (a += " " + this.label.toSource(0));
return a + ";";
};
return b;
}(l);
f.BreakStatement = I;
var C = function(a) {
function b(c) {
a.call(this);
this.label = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
a = "continue";
this.label && (a += " " + this.label.toSource(0));
return a + ";";
};
return b;
}(l);
f.ContinueStatement = C;
var E = function(a) {
function b(c, h) {
a.call(this);
this.object = c;
this.body = h;
}
__extends(b, a);
return b;
}(l);
f.WithStatement = E;
var O = function(a) {
function b(c, h, d) {
a.call(this);
this.discriminant = c;
this.cases = h;
this.lexical = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "switch(" + this.discriminant.toSource(0) + "){" + m(this.cases, 0, ";") + "};";
};
return b;
}(l);
f.SwitchStatement = O;
var K = function(a) {
function b(c) {
a.call(this);
this.argument = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
a = "return ";
this.argument && (a += this.argument.toSource(0));
return a + ";\n";
};
return b;
}(l);
f.ReturnStatement = K;
var F = function(a) {
function b(c) {
a.call(this);
this.argument = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "throw " + this.argument.toSource(0) + ";\n";
};
return b;
}(l);
f.ThrowStatement = F;
var J = function(a) {
function b(c, h, d, e) {
a.call(this);
this.block = c;
this.handlers = h;
this.guardedHandlers = d;
this.finalizer = e;
}
__extends(b, a);
return b;
}(l);
f.TryStatement = J;
var A = function(a) {
function b(c, h) {
a.call(this);
this.test = c;
this.body = h;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "while(" + this.test.toSource(0) + "){" + this.body.toSource(0) + "}";
};
return b;
}(l);
f.WhileStatement = A;
var B = function(a) {
function b(c, h) {
a.call(this);
this.body = c;
this.test = h;
}
__extends(b, a);
return b;
}(l);
f.DoWhileStatement = B;
var z = function(a) {
function b(c, h, d, e) {
a.call(this);
this.init = c;
this.test = h;
this.update = d;
this.body = e;
}
__extends(b, a);
return b;
}(l);
f.ForStatement = z;
var P = function(a) {
function b(c, h, d, e) {
a.call(this);
this.left = c;
this.right = h;
this.body = d;
this.each = e;
}
__extends(b, a);
return b;
}(l);
f.ForInStatement = P;
var D = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(l);
f.DebuggerStatement = D;
var L = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(l);
f.Declaration = L;
var M = function(a) {
function b(c, h, d, e, l, n, r) {
a.call(this);
this.id = c;
this.params = h;
this.defaults = d;
this.rest = e;
this.body = l;
this.generator = n;
this.expression = r;
}
__extends(b, a);
return b;
}(L);
f.FunctionDeclaration = M;
var V = function(a) {
function b(c, h) {
a.call(this);
this.declarations = c;
this.kind = h;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return this.kind + " " + m(this.declarations, a, ",") + ";\n";
};
return b;
}(L);
f.VariableDeclaration = V;
var Q = function(a) {
function b(c, h) {
a.call(this);
this.id = c;
this.init = h;
}
__extends(b, a);
b.prototype.toSource = function(a) {
a = this.id.toSource(1);
this.init && (a += "=" + this.init.toSource(1));
return a;
};
return b;
}(q);
f.VariableDeclarator = Q;
var U = function(a) {
function b(c) {
a.call(this);
this.name = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return this.name;
};
return b;
}(u);
f.Identifier = U;
var S = function(a) {
function b(c) {
a.call(this);
this.value = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return k(this.value);
};
return b;
}(u);
f.Literal = S;
var aa = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "this";
};
return b;
}(u);
f.ThisExpression = aa;
var $ = function(a) {
function b(c) {
a.call(this);
this.elements = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "[" + m(this.elements, 1, ",") + "]";
};
return b;
}(u);
f.ArrayExpression = $;
var ea = function(a) {
function b(c) {
a.call(this);
this.properties = c;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "{" + m(this.properties, 0, ",") + "}";
};
return b;
}(u);
f.ObjectExpression = ea;
var Z = function(a) {
function b(c, h, d, e, l, n, r) {
a.call(this);
this.id = c;
this.params = h;
this.defaults = d;
this.rest = e;
this.body = l;
this.generator = n;
this.expression = r;
}
__extends(b, a);
return b;
}(u);
f.FunctionExpression = Z;
var v = function(a) {
function b(c) {
a.call(this);
this.expressions = c;
}
__extends(b, a);
return b;
}(u);
f.SequenceExpression = v;
var X = function(a) {
function b(c, h, d) {
a.call(this);
this.operator = c;
this.prefix = h;
this.argument = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
var b = this.argument.toSource(13), b = this.prefix ? this.operator + b : b + this.operator, b = " " + b;
return 13 < a ? "(" + b + ")" : b;
};
return b;
}(u);
f.UnaryExpression = X;
var ba = function(a) {
function b(c, h, d) {
a.call(this);
this.operator = c;
this.left = h;
this.right = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
var b = e[this.operator], c = this.left.toSource(b) + this.operator + this.right.toSource(b + 1);
return b < a ? "(" + c + ")" : c;
};
return b;
}(u);
f.BinaryExpression = ba;
var R = function(a) {
function b(c, h, d) {
a.call(this);
this.operator = c;
this.left = h;
this.right = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
var b = this.left.toSource(1) + this.operator + this.right.toSource(1);
return 1 < a ? "(" + b + ")" : b;
};
return b;
}(u);
f.AssignmentExpression = R;
var H = function(a) {
function b(c, h, d) {
a.call(this);
this.operator = c;
this.argument = h;
this.prefix = d;
}
__extends(b, a);
return b;
}(u);
f.UpdateExpression = H;
var Y = function(a) {
function b(c, h, d) {
a.call(this, c, h, d);
}
__extends(b, a);
return b;
}(ba);
f.LogicalExpression = Y;
var ga = function(a) {
function b(c, h, d) {
a.call(this);
this.test = c;
this.consequent = h;
this.alternate = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return this.test.toSource(3) + "?" + this.consequent.toSource(1) + ":" + this.alternate.toSource(1);
};
return b;
}(u);
f.ConditionalExpression = ga;
var ca = function(a) {
function b(c, h) {
a.call(this);
this.callee = c;
this.arguments = h;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return "new " + this.callee.toSource(a) + "(" + m(this.arguments, a, ",") + ")";
};
return b;
}(u);
f.NewExpression = ca;
var ka = function(a) {
function b(c, h) {
a.call(this);
this.callee = c;
this.arguments = h;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return this.callee.toSource(a) + "(" + m(this.arguments, a, ",") + ")";
};
return b;
}(u);
f.CallExpression = ka;
var W = function(a) {
function b(c, h, d) {
a.call(this);
this.object = c;
this.property = h;
this.computed = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
var b = this.object.toSource(15);
this.object instanceof S && (b = "(" + b + ")");
var c = this.property.toSource(0), b = this.computed ? b + ("[" + c + "]") : b + ("." + c);
return 17 < a ? "(" + b + ")" : b;
};
return b;
}(u);
f.MemberExpression = W;
var ha = function(a) {
function b(c, h, d) {
a.call(this);
this.key = c;
this.value = h;
this.kind = d;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return this.key.toSource(a) + ":" + this.value.toSource(a);
};
return b;
}(q);
f.Property = ha;
var da = function(a) {
function b(c, h) {
a.call(this);
this.test = c;
this.consequent = h;
}
__extends(b, a);
b.prototype.toSource = function(a) {
return(this.test ? "case " + this.test.toSource(a) : "default") + ": " + m(this.consequent, a, ";");
};
return b;
}(q);
f.SwitchCase = da;
var ja = function(a) {
function b(c, h, d) {
a.call(this);
this.param = c;
this.guard = h;
this.body = d;
}
__extends(b, a);
return b;
}(q);
f.CatchClause = ja;
q.prototype.type = "Node";
w.prototype.type = "Program";
l.prototype.type = "Statement";
r.prototype.type = "EmptyStatement";
h.prototype.type = "BlockStatement";
x.prototype.type = "ExpressionStatement";
y.prototype.type = "IfStatement";
G.prototype.type = "LabeledStatement";
I.prototype.type = "BreakStatement";
C.prototype.type = "ContinueStatement";
E.prototype.type = "WithStatement";
O.prototype.type = "SwitchStatement";
K.prototype.type = "ReturnStatement";
F.prototype.type = "ThrowStatement";
J.prototype.type = "TryStatement";
A.prototype.type = "WhileStatement";
B.prototype.type = "DoWhileStatement";
z.prototype.type = "ForStatement";
P.prototype.type = "ForInStatement";
D.prototype.type = "DebuggerStatement";
L.prototype.type = "Declaration";
M.prototype.type = "FunctionDeclaration";
V.prototype.type = "VariableDeclaration";
Q.prototype.type = "VariableDeclarator";
u.prototype.type = "Expression";
U.prototype.type = "Identifier";
S.prototype.type = "Literal";
aa.prototype.type = "ThisExpression";
$.prototype.type = "ArrayExpression";
ea.prototype.type = "ObjectExpression";
Z.prototype.type = "FunctionExpression";
v.prototype.type = "SequenceExpression";
X.prototype.type = "UnaryExpression";
ba.prototype.type = "BinaryExpression";
R.prototype.type = "AssignmentExpression";
H.prototype.type = "UpdateExpression";
Y.prototype.type = "LogicalExpression";
ga.prototype.type = "ConditionalExpression";
ca.prototype.type = "NewExpression";
ka.prototype.type = "CallExpression";
W.prototype.type = "MemberExpression";
ha.prototype.type = "Property";
da.prototype.type = "SwitchCase";
ja.prototype.type = "CatchClause";
})(g.AST || (g.AST = {}));
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
var g = function(b) {
function d(a, c, d) {
b.call(this);
this.parent = a;
this.object = c;
this.isWith = d;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
a(this.parent);
a(this.object);
};
return d;
}(b.Value);
b.ASScope = g;
g.prototype.nodeName = "ASScope";
g = function(b) {
function d(a, c, d) {
b.call(this);
this.namespaces = a;
this.name = c;
this.flags = d;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
a(this.namespaces);
a(this.name);
};
return d;
}(b.Value);
b.ASMultiname = g;
g.prototype.mustFloat = !0;
g.prototype.nodeName = "ASMultiname";
g = function(b) {
function d(a, c, d, f, e, g, l) {
b.call(this, a, c, d, f, e, g);
this.isLex = l;
}
__extends(d, b);
return d;
}(b.CallProperty);
b.ASCallProperty = g;
g.prototype.nodeName = "ASCallProperty";
g = function(b) {
function d(a, c, d, f, e, g, l) {
b.call(this, a, c, d, f, e, g);
this.scope = l;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
b.prototype.visitInputs.call(this, a);
a(this.scope);
};
return d;
}(b.CallProperty);
b.ASCallSuper = g;
g.prototype.nodeName = "ASCallSuper";
g = function(b) {
function d(a, c, d, f) {
b.call(this, a, c, d, f);
}
__extends(d, b);
return d;
}(b.New);
b.ASNew = g;
g.prototype.nodeName = "ASNew";
g = function(b) {
function d(a, c, d, f, e) {
b.call(this, a, c, d, f);
this.flags = e;
}
__extends(d, b);
return d;
}(b.GetProperty);
b.ASGetProperty = g;
g.prototype.nodeName = "ASGetProperty";
g = function(b) {
function d(a, c, d, f) {
b.call(this, a, c, d, f);
}
__extends(d, b);
return d;
}(b.GetProperty);
b.ASGetDescendants = g;
g.prototype.nodeName = "ASGetDescendants";
g = function(b) {
function d(a, c, d, f) {
b.call(this, a, c, d, f);
}
__extends(d, b);
return d;
}(b.GetProperty);
b.ASHasProperty = g;
g.prototype.nodeName = "ASHasProperty";
g = function(b) {
function d(a, c, d, f) {
b.call(this, a, c, d, f);
}
__extends(d, b);
return d;
}(b.GetProperty);
b.ASGetSlot = g;
g.prototype.nodeName = "ASGetSlot";
g = function(b) {
function d(a, c, d, f, e) {
b.call(this, a, c, d, f);
this.scope = e;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
b.prototype.visitInputs.call(this, a);
a(this.scope);
};
return d;
}(b.GetProperty);
b.ASGetSuper = g;
g.prototype.nodeName = "ASGetSuper";
g = function(b) {
function d(a, c, d, f, e, g) {
b.call(this, a, c, d, f, e);
this.flags = g;
}
__extends(d, b);
return d;
}(b.SetProperty);
b.ASSetProperty = g;
g.prototype.nodeName = "ASSetProperty";
g = function(b) {
function d(a, c, d, f, e) {
b.call(this, a, c, d, f, e);
}
__extends(d, b);
return d;
}(b.SetProperty);
b.ASSetSlot = g;
g.prototype.nodeName = "ASSetSlot";
g = function(b) {
function d(a, c, d, f, e, g) {
b.call(this, a, c, d, f, e);
this.scope = g;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
b.prototype.visitInputs.call(this, a);
a(this.scope);
};
return d;
}(b.SetProperty);
b.ASSetSuper = g;
g.prototype.nodeName = "ASSetSuper";
g = function(b) {
function d(a, c, d, f) {
b.call(this, a, c, d, f);
}
__extends(d, b);
return d;
}(b.DeleteProperty);
b.ASDeleteProperty = g;
g.prototype.nodeName = "ASDeleteProperty";
g = function(b) {
function d(a, c, d, f, e, g) {
b.call(this, a, c);
this.scope = d;
this.name = f;
this.methodInfo = e;
this.strict = g;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
b.prototype.visitInputs.call(this, a);
a(this.scope);
a(this.name);
};
return d;
}(b.StoreDependent);
b.ASFindProperty = g;
g.prototype.nodeName = "ASFindProperty";
g = function(b) {
function d(a, c) {
b.call(this);
this.control = a;
this.scope = c;
}
__extends(d, b);
d.prototype.visitInputs = function(a) {
this.control && a(this.control);
a(this.scope);
};
return d;
}(b.Value);
b.ASGlobal = g;
g.prototype.nodeName = "ASGlobal";
g = function(b) {
function d(a) {
b.call(this);
this.methodInfo = a;
}
__extends(d, b);
return d;
}(b.Value);
b.ASNewActivation = g;
g.prototype.nodeName = "ASNewActivation";
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
return d;
}(b.Value);
b.ASNewHasNext2 = k;
g.prototype.nodeName = "ASNewHasNext2";
})(b.IR || (b.IR = {}));
})(b.Compiler || (b.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var g = b.ArrayUtilities.top, s = b.ArrayUtilities.peek, m = b.Debug.assert;
(function(a) {
(function(a) {
a[a.SEQ = 1] = "SEQ";
a[a.LOOP = 2] = "LOOP";
a[a.IF = 3] = "IF";
a[a.CASE = 4] = "CASE";
a[a.SWITCH = 5] = "SWITCH";
a[a.LABEL_CASE = 6] = "LABEL_CASE";
a[a.LABEL_SWITCH = 7] = "LABEL_SWITCH";
a[a.EXIT = 8] = "EXIT";
a[a.BREAK = 9] = "BREAK";
a[a.CONTINUE = 10] = "CONTINUE";
a[a.TRY = 11] = "TRY";
a[a.CATCH = 12] = "CATCH";
})(a.Kind || (a.Kind = {}));
var b = function() {
return function(a) {
this.kind = a;
};
}();
a.ControlNode = b;
var c = function(a) {
function b(c) {
a.call(this, 1);
this.body = c;
}
__extends(b, a);
b.prototype.trace = function(a) {
for (var b = this.body, c = 0, d = b.length;c < d;c++) {
b[c].trace(a);
}
};
b.prototype.first = function() {
return this.body[0];
};
b.prototype.slice = function(a, c) {
return new b(this.body.slice(a, c));
};
return b;
}(b);
a.Seq = c;
c = function(a) {
function b(c) {
a.call(this, 2);
this.body = c;
}
__extends(b, a);
b.prototype.trace = function(a) {
a.enter("loop {");
this.body.trace(a);
a.leave("}");
};
return b;
}(b);
a.Loop = c;
c = function(a) {
function b(c, d, e, l) {
a.call(this, 3);
this.cond = c;
this.then = d;
this.nothingThrownLabel = l;
this.negated = !1;
this.else = e;
}
__extends(b, a);
b.prototype.trace = function(a) {
this.cond.trace(a);
this.nothingThrownLabel && a.enter("if (label is " + this.nothingThrownLabel + ") {");
a.enter("if" + (this.negated ? " not" : "") + " {");
this.then && this.then.trace(a);
this.else && (a.outdent(), a.enter("} else {"), this.else.trace(a));
a.leave("}");
this.nothingThrownLabel && a.leave("}");
};
return b;
}(b);
a.If = c;
c = function(a) {
function b(c, d) {
a.call(this, 4);
this.index = c;
this.body = d;
}
__extends(b, a);
b.prototype.trace = function(a) {
0 <= this.index ? a.writeLn("case " + this.index + ":") : a.writeLn("default:");
a.indent();
this.body && this.body.trace(a);
a.outdent();
};
return b;
}(b);
a.Case = c;
c = function(a) {
function b(c, d, e) {
a.call(this, 5);
this.determinant = c;
this.cases = d;
this.nothingThrownLabel = e;
}
__extends(b, a);
b.prototype.trace = function(a) {
this.nothingThrownLabel && a.enter("if (label is " + this.nothingThrownLabel + ") {");
this.determinant.trace(a);
a.writeLn("switch {");
for (var b = 0, c = this.cases.length;b < c;b++) {
this.cases[b].trace(a);
}
a.writeLn("}");
this.nothingThrownLabel && a.leave("}");
};
return b;
}(b);
a.Switch = c;
c = function(a) {
function b(c, d) {
a.call(this, 6);
this.labels = c;
this.body = d;
}
__extends(b, a);
b.prototype.trace = function(a) {
a.enter("if (label is " + this.labels.join(" or ") + ") {");
this.body && this.body.trace(a);
a.leave("}");
};
return b;
}(b);
a.LabelCase = c;
c = function(a) {
function b(c) {
a.call(this, 7);
this.cases = c;
for (var d = {}, e = 0, l = c.length;e < l;e++) {
for (var n = c[e], r = 0, f = n.labels.length;r < f;r++) {
d[n.labels[r]] = n;
}
}
this.labelMap = d;
}
__extends(b, a);
b.prototype.trace = function(a) {
for (var b = 0, c = this.cases.length;b < c;b++) {
this.cases[b].trace(a);
}
};
return b;
}(b);
a.LabelSwitch = c;
c = function(a) {
function b(c) {
a.call(this, 8);
this.label = c;
}
__extends(b, a);
b.prototype.trace = function(a) {
a.writeLn("label = " + this.label);
};
return b;
}(b);
a.Exit = c;
c = function(a) {
function b(c, d) {
a.call(this, 9);
this.label = c;
this.head = d;
}
__extends(b, a);
b.prototype.trace = function(a) {
this.label && a.writeLn("label = " + this.label);
a.writeLn("break");
};
return b;
}(b);
a.Break = c;
c = function(a) {
function b(c, d) {
a.call(this, 10);
this.label = c;
this.head = d;
this.necessary = !0;
}
__extends(b, a);
b.prototype.trace = function(a) {
this.label && a.writeLn("label = " + this.label);
this.necessary && a.writeLn("continue");
};
return b;
}(b);
a.Continue = c;
c = function(a) {
function b(c, d) {
a.call(this, 11);
this.body = c;
this.catches = d;
}
__extends(b, a);
b.prototype.trace = function(a) {
a.enter("try {");
this.body.trace(a);
a.writeLn("label = " + this.nothingThrownLabel);
for (var b = 0, c = this.catches.length;b < c;b++) {
this.catches[b].trace(a);
}
a.leave("}");
};
return b;
}(b);
a.Try = c;
b = function(a) {
function b(c, d, e) {
a.call(this, 12);
this.varName = c;
this.typeName = d;
this.body = e;
}
__extends(b, a);
b.prototype.trace = function(a) {
a.outdent();
a.enter("} catch (" + (this.varName || "e") + (this.typeName ? " : " + this.typeName : "") + ") {");
this.body.trace(a);
};
return b;
}(b);
a.Catch = b;
})(f.Control || (f.Control = {}));
var d = f.Control, a = b.BitSets.BITS_PER_WORD, c = b.BitSets.ADDRESS_BITS_PER_WORD, n = b.BitSets.BIT_INDEX_MASK, p = function(b) {
function d(a, c) {
b.call(this, a);
this.blockById = c;
}
__extends(d, b);
d.prototype.forEachBlock = function(b) {
m(b);
for (var c = this.blockById, d = this.bits, h = 0, e = d.length;h < e;h++) {
var l = d[h];
if (l) {
for (var n = 0;n < a;n++) {
l & 1 << n && b(c[h * a + n]);
}
}
}
};
d.prototype.choose = function() {
for (var b = this.blockById, c = this.bits, d = 0, h = c.length;d < h;d++) {
var e = c[d];
if (e) {
for (var l = 0;l < a;l++) {
if (e & 1 << l) {
return b[d * a + l];
}
}
}
}
};
d.prototype.members = function() {
for (var b = this.blockById, c = [], d = this.bits, h = 0, e = d.length;h < e;h++) {
var l = d[h];
if (l) {
for (var n = 0;n < a;n++) {
l & 1 << n && c.push(b[h * a + n]);
}
}
}
return c;
};
d.prototype.setBlocks = function(a) {
for (var b = this.bits, d = 0, h = a.length;d < h;d++) {
var e = a[d].id;
b[e >> c] |= 1 << (e & n);
}
};
return d;
}(b.BitSets.Uint32ArrayBitSet);
f.BlockSet = p;
var e = function() {
function a(b) {
this.makeBlockSetFactory(b.blocks.length, b.blocks);
this.hasExceptions = !1;
this.normalizeReachableBlocks(b.root);
}
a.prototype.makeBlockSetFactory = function(a, b) {
m(!this.boundBlockSet);
this.boundBlockSet = function() {
return new p(a, b);
};
};
a.prototype.normalizeReachableBlocks = function(a) {
m(0 === a.predecessors.length);
var b = this.boundBlockSet, c = [], d = {}, h = {}, e = [a];
for (h[a.id] = !0;a = g(e);) {
if (d[a.id]) {
1 === d[a.id] && (d[a.id] = 2, c.push(a)), h[a.id] = !1, e.pop();
} else {
d[a.id] = 1;
h[a.id] = !0;
for (var n = a.successors, f = 0, p = n.length;f < p;f++) {
var q = n[f];
h[q.id] && (a.spbacks || (a.spbacks = new b), a.spbacks.set(q.id));
!d[q.id] && e.push(q);
}
}
}
this.blocks = c.reverse();
};
a.prototype.computeDominance = function() {
var a = this.blocks, b = a.length, c = Array(b);
c[0] = 0;
for (var d = [], h = 0;h < b;h++) {
d[a[h].id] = h, a[h].dominatees = [];
}
for (var e = !0;e;) {
for (e = !1, h = 1;h < b;h++) {
var n = a[h].predecessors, f = n.length, g = d[n[0].id];
if (!(g in c)) {
for (var p = 1;p < f && !(g = d[n[p].id], g in c);p++) {
}
}
m(g in c);
for (p = 0;p < f;p++) {
var q = d[n[p].id];
if (q !== g && q in c) {
for (;q !== g;) {
for (;q > g;) {
q = c[q];
}
for (;g > q;) {
g = c[g];
}
}
g = q;
}
}
c[h] !== g && (c[h] = g, e = !0);
}
}
a[0].dominator = a[0];
for (h = 1;h < b;h++) {
d = a[h], p = a[c[h]], d.dominator = p, p.dominatees.push(d), d.npredecessors = d.predecessors.length;
}
b = [a[0]];
for (a[0].level || (a[0].level = 0);d = b.shift();) {
a = d.dominatees;
for (p = 0;p < a.length;p++) {
a[p].level = d.level + 1;
}
b.push.apply(b, a);
}
};
a.prototype.computeFrontiers = function() {
for (var a = this.boundBlockSet, b = this.blocks, c = 0, d = b.length;c < d;c++) {
b[c].frontier = new a;
}
c = 1;
for (d = b.length;c < d;c++) {
var a = b[c], h = a.predecessors;
if (2 <= h.length) {
for (var e = a.dominator, n = 0, f = h.length;n < f;n++) {
for (var g = h[n];g !== e;) {
g.frontier.set(a.id), g = g.dominator;
}
}
}
}
};
a.prototype.analyzeControlFlow = function() {
this.computeDominance();
return this.analyzedControlFlow = !0;
};
a.prototype.markLoops = function() {
function a(b) {
var c = 1, h = {}, d = {}, e = [], l = [], n = [], f = b.level + 1;
b = [b];
for (var r, p;r = g(b);) {
if (h[r.id]) {
if (s(l) === r) {
l.pop();
var q = [];
do {
p = e.pop(), d[p.id] = !0, q.push(p);
} while (p !== r);
(1 < q.length || p.spbacks && p.spbacks.get(p.id)) && n.push(q);
}
b.pop();
} else {
h[r.id] = c++;
e.push(r);
l.push(r);
p = r.successors;
for (var q = 0, m = p.length;q < m;q++) {
if (r = p[q], !(r.level < f)) {
var x = r.id;
if (!h[x]) {
b.push(r);
} else {
if (!d[x]) {
for (;h[s(l).id] > h[x];) {
l.pop();
}
}
}
}
}
}
}
return n;
}
function b(a, h) {
var d = new c;
d.setBlocks(a);
d.recount();
this.id = h;
this.body = d;
this.exit = new c;
this.save = {};
this.head = new c;
this.npredecessors = 0;
}
if (!this.analyzedControlFlow && !this.analyzeControlFlow()) {
return!1;
}
var c = this.boundBlockSet, d = function(a) {
for (var b = new c, h = 0, d = a.length;h < d;h++) {
var e = a[h], l = e.spbacks;
if (l) {
for (var e = e.successors, n = 0, f = e.length;n < f;n++) {
var r = e[n];
l.get(r.id) && b.set(r.dominator.id);
}
}
}
return b.members();
}(this.blocks);
if (0 >= d.length) {
return this.markedLoops = !0;
}
for (var d = d.sort(function(a, b) {
return a.level - b.level;
}), h = 0, e = d.length - 1;0 <= e;e--) {
var n = d[e], f = a(n);
if (0 !== f.length) {
for (var p = 0, q = f.length;p < q;p++) {
for (var m = f[p], k = new b(m, h++), K = 0, F = m.length;K < F;K++) {
var J = m[K];
if (J.level === n.level + 1 && !J.loop) {
J.loop = k;
k.head.set(J.id);
for (var A = J.predecessors, B = 0, z = A.length;B < z;B++) {
k.body.get(A[B].id) && J.npredecessors--;
}
k.npredecessors += J.npredecessors;
}
}
K = 0;
for (F = m.length;K < F;K++) {
J = m[K], J.level === n.level + 1 && (J.npredecessors = k.npredecessors);
}
k.head.recount();
}
}
}
return this.markedLoops = !0;
};
a.prototype.induceControlTree = function() {
function a(b, c) {
b.recount();
if (0 === b.count) {
return null;
}
b.save = c;
return b;
}
function b(n, f, p, q, m, k, s) {
for (var K = [];n;) {
if (1 < n.count) {
for (var F = new e, J = {}, A = [], B = n.members(), z = 0, P = B.length;z < P;z++) {
var D = B[z], L = D.id, M;
if (D.loop && n.contains(D.loop.head)) {
var V = D.loop;
if (!V.induced) {
for (var Q = V.head.members(), U = 0, S = 0, aa = Q.length;S < aa;S++) {
U += n.save[Q[S].id];
}
if (0 < D.npredecessors - U) {
D.npredecessors -= n.save[L], D.save = n.save[L], M = b(D, F, J, q), A.push(new d.LabelCase([L], M));
} else {
S = 0;
for (aa = Q.length;S < aa;S++) {
M = Q[S], M.npredecessors -= U, M.save = U;
}
M = b(D, F, J, q);
A.push(new d.LabelCase(V.head.toArray(), M));
V.induced = !0;
}
}
} else {
D.npredecessors -= n.save[L], D.save = n.save[L], M = b(D, F, J, q), A.push(new d.LabelCase([L], M));
}
}
for (var D = [], S = 0, z = 0;z < A.length;z++) {
M = A[z];
P = M.labels;
Q = aa = 0;
for (V = P.length;Q < V;Q++) {
L = P[Q], F.get(L) && 0 < B[z].npredecessors - n.save[L] ? D.push(L) : P[aa++] = L;
}
P.length = aa;
0 < P.length && (A[S++] = M);
}
A.length = S;
if (0 === A.length) {
for (z = 0;z < D.length;z++) {
L = D[z], p[L] = (p[L] || 0) + n.save[L], f.set(L);
}
break;
}
K.push(new d.LabelSwitch(A));
n = a(F, J);
} else {
1 === n.count ? (D = n.choose(), L = D.id, D.npredecessors -= n.save[L], D.save = n.save[L]) : (D = n, L = D.id);
if (m) {
m = !1;
} else {
if (q && !q.body.get(L)) {
D.npredecessors += D.save;
q.exit.set(L);
q.save[L] = (q.save[L] || 0) + D.save;
K.push(new d.Break(L, q));
break;
}
if (q && D.loop === q) {
D.npredecessors += D.save;
K.push(new d.Continue(L, q));
break;
}
if (D === s) {
break;
}
if (0 < D.npredecessors) {
D.npredecessors += D.save;
p[L] = (p[L] || 0) + D.save;
f.set(L);
K.push(k ? new d.Break(L, k) : new d.Exit(L));
break;
}
if (D.loop) {
var aa = D.loop;
if (1 === aa.head.count) {
F = b(aa.head.choose(), null, null, aa, !0);
} else {
F = [];
Q = aa.head.members();
z = 0;
for (P = Q.length;z < P;z++) {
M = Q[z], J = M.id, M = b(M, null, null, aa, !0), F.push(new d.LabelCase([J], M));
}
F = new d.LabelSwitch(F);
}
K.push(new d.Loop(F));
n = a(aa.exit, aa.save);
continue;
}
}
F = new e;
J = {};
if (c && D.hasCatches) {
M = D.successors;
A = [];
n = [];
z = 0;
for (P = M.length;z < P;z++) {
B = M[z], (B.exception ? A : n).push(B);
}
P = [];
for (z = 0;z < A.length;z++) {
B = A[z], B.npredecessors -= 1, B.save = 1, M = b(B, F, J, q), B = B.exception, P.push(new d.Catch(B.varName, B.typeName, M));
}
P = new d.Try(D, P);
} else {
n = D.successors, P = D;
}
if (2 < n.length) {
A = [];
for (z = n.length - 1;0 <= z;z--) {
B = n[z], B.npredecessors -= 1, B.save = 1, M = b(B, F, J, q, null, D, n[z + 1]), A.unshift(new d.Case(z, M));
}
g(A).index = void 0;
c && D.hasCatches ? (P.nothingThrownLabel = h, P = new d.Switch(P, A, h++)) : P = new d.Switch(P, A);
n = a(F, J);
} else {
2 === n.length ? (z = D.hasFlippedSuccessors ? n[1] : n[0], M = D.hasFlippedSuccessors ? n[0] : n[1], z.npredecessors -= 1, z.save = 1, z = b(z, F, J, q), M.npredecessors -= 1, M.save = 1, M = b(M, F, J, q), c && D.hasCatches ? (P.nothingThrownLabel = h, P = new d.If(P, z, M, h++)) : P = new d.If(P, z, M), n = a(F, J)) : (M = n[0]) ? c && D.hasCatches ? (P.nothingThrownLabel = M.id, J[M.id] = (J[M.id] || 0) + 1, F.set(M.id), n = a(F, J)) : (M.npredecessors -= 1, M.save = 1, n =
M) : c && D.hasCatches ? (P.nothingThrownLabel = -1, n = a(F, J)) : n = M;
}
K.push(P);
}
}
return 1 < K.length ? new d.Seq(K) : K[0];
}
var c = this.hasExceptions, e = this.boundBlockSet, h = this.blocks.length;
this.controlTree = b(this.blocks[0], new e, {});
};
a.prototype.restructureControlFlow = function() {
k.enterTimeline("Restructure Control Flow");
if (this.markedLoops || this.markLoops()) {
this.induceControlTree(), this.restructuredControlFlow = !0;
}
k.leaveTimeline();
};
return a;
}();
f.Analysis = e;
f.analyze = function(a) {
a = new e(a);
a.restructureControlFlow();
return a.controlTree;
};
})(g.Looper || (g.Looper = {}));
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
function t(c, h) {
if ("string" === typeof c || null === c || !0 === c || !1 === c) {
return new y(c);
}
if (void 0 === c) {
return new G("undefined");
}
if ("object" === typeof c || "function" === typeof c) {
return c instanceof b.AVM2.Runtime.LazyInitializer ? a(d(ka, "C"), [new y(h.useConstant(c))]) : new E(W, new y(h.useConstant(c)), !0);
}
if ("number" === typeof c && isNaN(c)) {
return new G("NaN");
}
if (Infinity === c) {
return new G("Infinity");
}
if (-Infinity === c) {
return new D("-", !0, new G("Infinity"));
}
if ("number" === typeof c && 0 > 1 / c) {
return new D("-", !0, new y(Math.abs(c)));
}
if ("number" === typeof c) {
return new y(c);
}
r("Cannot emit constant for value: " + c);
}
function s(a) {
w("string" === typeof a);
return new G(a);
}
function m(a) {
var b = a[0];
if (!("$" === b || "_" === b || "\\" === b || "a" <= b && "z" >= b || "A" <= b && "Z" >= b)) {
return!1;
}
for (b = 1;b < a.length;b++) {
var c = a[b];
if (!("$" === c || "_" === c || "\\" === c || "a" <= c && "z" >= c || "A" <= c && "Z" >= c || "0" <= c && "9" >= c)) {
return!1;
}
}
return!0;
}
function d(a) {
for (var b = [], c = 0;c < arguments.length - 1;c++) {
b[c] = arguments[c + 1];
}
for (c = 0;c < b.length;c++) {
var h = b[c];
a = "string" === typeof h ? m(h) ? new E(a, new G(h), !1) : new E(a, new y(h), !0) : h instanceof y && m(h.value) ? new E(a, new G(h.value), !1) : new E(a, h, !0);
}
return a;
}
function a(a, b) {
w(b instanceof Array);
b.forEach(function(a) {
w(!(a instanceof Array));
w(void 0 !== a);
});
return new K(a, b);
}
function c(b, c, h) {
return a(d(b, "asCall"), [c].concat(h));
}
function n(b, c, h) {
return a(d(b, "call"), [c].concat(h));
}
function p(a, b) {
w(a && b);
return new F("=", a, b);
}
function e(a) {
return new I(a, "var");
}
function q(a, b, c) {
w(a);
w(a.compile, "Implement |compile| for " + a + " (" + a.nodeName + ")");
w(b instanceof ha);
w(!(a instanceof Array));
if (c || !a.variable) {
return a.compile(b);
}
w(a.variable, "Value has no variable: " + a);
return s(a.variable.name);
}
function l(a, b) {
return[q(a.namespaces, b), q(a.name, b), t(a.flags)];
}
function u(a, b) {
w(a instanceof Array);
return a.map(function(a) {
return q(a, b);
});
}
var w = b.Debug.assert, r = b.Debug.unexpected, h = b.Debug.notImplemented, x = b.ArrayUtilities.pushUnique, y = g.AST.Literal, G = g.AST.Identifier, I = g.AST.VariableDeclaration, C = g.AST.VariableDeclarator, E = g.AST.MemberExpression, O = g.AST.BinaryExpression, K = g.AST.CallExpression, F = g.AST.AssignmentExpression, J = g.AST.ExpressionStatement, A = g.AST.ReturnStatement, B = g.AST.ConditionalExpression, z = g.AST.ObjectExpression, P = g.AST.ArrayExpression, D = g.AST.UnaryExpression,
L = g.AST.NewExpression, M = g.AST.Property, V = g.AST.BlockStatement, Q = g.AST.ThisExpression, U = g.AST.ThrowStatement, S = g.AST.IfStatement, aa = g.AST.WhileStatement, $ = g.AST.BreakStatement, ea = g.AST.ContinueStatement, Z = g.AST.SwitchStatement, v = g.AST.SwitchCase, X = g.IR.Start, ba = g.IR.Variable, R = g.IR.Constant, H = g.IR.Operator, Y = b.AVM2.Compiler.Looper, ga = Y.Control, ca = b.ArrayUtilities.last;
ga.Break.prototype.compile = function(a) {
return a.compileBreak(this);
};
ga.Continue.prototype.compile = function(a) {
return a.compileContinue(this);
};
ga.Exit.prototype.compile = function(a) {
return a.compileExit(this);
};
ga.LabelSwitch.prototype.compile = function(a) {
return a.compileLabelSwitch(this);
};
ga.Seq.prototype.compile = function(a) {
return a.compileSequence(this);
};
ga.Loop.prototype.compile = function(a) {
return a.compileLoop(this);
};
ga.Switch.prototype.compile = function(a) {
return a.compileSwitch(this);
};
ga.If.prototype.compile = function(a) {
return a.compileIf(this);
};
ga.Try.prototype.compile = function(a) {
h("try");
return null;
};
var ka = new G("$F"), W = new G("$C"), ha = function() {
function a() {
this.label = new ba("$L");
this.variables = [];
this.constants = [];
this.parameters = [];
}
a.prototype.useConstant = function(a) {
return x(this.constants, a);
};
a.prototype.useVariable = function(a) {
w(a);
x(this.variables, a);
};
a.prototype.useParameter = function(a) {
this.parameters[a.index] = a;
};
a.prototype.compileLabelBody = function(a) {
var b = [];
void 0 !== a.label && (this.useVariable(this.label), b.push(new J(p(s(this.label.name), new y(a.label)))));
return b;
};
a.prototype.compileBreak = function(a) {
a = this.compileLabelBody(a);
a.push(new $(null));
return new V(a);
};
a.prototype.compileContinue = function(a) {
a = this.compileLabelBody(a);
a.push(new ea(null));
return new V(a);
};
a.prototype.compileExit = function(a) {
return new V(this.compileLabelBody(a));
};
a.prototype.compileIf = function(a) {
var b = a.cond.compile(this), c = null, h = null;
a.then && (c = a.then.compile(this));
a.else && (h = a.else.compile(this));
var d = q(b.end.predicate, this);
if (a.negated) {
a: {
a = d;
if (a instanceof R) {
if (!0 === a.value || !1 === a.value) {
a = t(!a.value);
break a;
}
} else {
if (a instanceof G) {
a = new D(H.FALSE.name, !0, a);
break a;
}
}
w(a instanceof O || a instanceof D, a);
var d = a instanceof O ? a.left : a.argument, e = a.right, l = H.fromName(a.operator);
a = l === H.EQ && e instanceof y && !1 === e.value || l === H.FALSE ? d : l.not ? a instanceof O ? new O(l.not.name, d, e) : new D(l.not.name, !0, d) : new D(H.FALSE.name, !0, a);
}
} else {
a = d;
}
b.body.push(new S(a, c || new V([]), h || null));
return b;
};
a.prototype.compileSwitch = function(a) {
var b = a.determinant.compile(this), c = [];
a.cases.forEach(function(a) {
var b;
a.body && (b = a.body.compile(this));
a = "number" === typeof a.index ? new y(a.index) : void 0;
c.push(new v(a, b ? [b] : []));
}, this);
a = q(b.end.determinant, this);
b.body.push(new Z(a, c, !1));
return b;
};
a.prototype.compileLabelSwitch = function(a) {
function b(a) {
w("number" === typeof a);
return new O("===", h, new y(a));
}
for (var c = null, h = s(this.label.name), d = a.cases.length - 1;0 <= d;d--) {
for (var e = a.cases[d], l = e.labels, n = b(l[0]), f = 1;f < l.length;f++) {
n = new O("||", n, b(l[f]));
}
c = new S(n, e.body ? e.body.compile(this) : new V([]), c);
}
return c;
};
a.prototype.compileLoop = function(a) {
a = a.body.compile(this);
return new aa(t(!0), a);
};
a.prototype.compileSequence = function(a) {
var b = this, c = [];
a.body.forEach(function(a) {
a = a.compile(b);
a instanceof V ? c = c.concat(a.body) : c.push(a);
});
return new V(c);
};
a.prototype.compileBlock = function(a) {
for (var b = [], c = 1;c < a.nodes.length - 1;c++) {
var h = a.nodes[c], d;
h instanceof g.IR.Throw ? d = q(h, this, !0) : (h instanceof g.IR.Move ? (d = s(h.to.name), this.useVariable(h.to), h = q(h.from, this)) : (h.variable ? (d = s(h.variable.name), this.useVariable(h.variable)) : d = null, h = q(h, this, !0)), d = d ? new J(p(d, h)) : new J(h));
b.push(d);
}
c = ca(a.nodes);
c instanceof g.IR.Stop && b.push(new A(q(c.argument, this)));
b = new V(b);
b.end = ca(a.nodes);
w(b.end instanceof g.IR.End);
return b;
};
return a;
}();
f.Context = ha;
g.IR.Parameter.prototype.compile = function(a) {
a.useParameter(this);
return s(this.name);
};
g.IR.Constant.prototype.compile = function(a) {
return t(this.value, a);
};
g.IR.Variable.prototype.compile = function(a) {
return s(this.name);
};
g.IR.Phi.prototype.compile = function(a) {
w(this.variable);
return q(this.variable, a);
};
g.IR.ASScope.prototype.compile = function(a) {
var b = q(this.parent, a);
a = q(this.object, a);
var c = new y(this.isWith);
return new L(s("Scope"), [b, a, c]);
};
g.IR.ASFindProperty.prototype.compile = function(b) {
var c = q(this.scope, b), h = l(this.name, b);
b = q(this.methodInfo, b);
var e = new y(this.strict);
return a(d(c, "findScopeProperty"), h.concat([b, e]));
};
g.IR.ASGetProperty.prototype.compile = function(b) {
var c = q(this.object, b);
if (this.flags & 1) {
return w(!(this.flags & 8)), a(d(c, "asGetNumericProperty"), [q(this.name.name, b)]);
}
if (this.flags & 2) {
return a(d(c, "asGetResolvedStringProperty"), [q(this.name, b)]);
}
b = l(this.name, b);
var h = new y(this.flags & 8);
return a(d(c, "asGetProperty"), b.concat(h));
};
g.IR.ASGetSuper.prototype.compile = function(b) {
var c = q(this.scope, b), h = q(this.object, b);
b = l(this.name, b);
return a(d(h, "asGetSuper"), [c].concat(b));
};
g.IR.Latch.prototype.compile = function(a) {
return new B(q(this.condition, a), q(this.left, a), q(this.right, a));
};
g.IR.Unary.prototype.compile = function(a) {
return new D(this.operator.name, !0, q(this.argument, a));
};
g.IR.Copy.prototype.compile = function(a) {
return q(this.argument, a);
};
g.IR.Binary.prototype.compile = function(b) {
var c = q(this.left, b);
b = q(this.right, b);
return this.operator === g.IR.Operator.AS_ADD ? a(s("asAdd"), [c, b]) : new O(this.operator.name, c, b);
};
g.IR.CallProperty.prototype.compile = function(b) {
var h = q(this.object, b), e = q(this.name, b), e = d(h, e), l = this.args.map(function(a) {
return q(a, b);
});
return this.flags & 16 ? c(e, h, l) : this.flags & 4 ? a(e, l) : n(e, h, l);
};
g.IR.ASCallProperty.prototype.compile = function(b) {
var c = q(this.object, b), h = this.args.map(function(a) {
return q(a, b);
});
if (this.flags & 2) {
return a(d(c, "asCallResolvedStringProperty"), [q(this.name, b), new y(this.isLex), new P(h)]);
}
var e = l(this.name, b);
return a(d(c, "asCallProperty"), e.concat([new y(this.isLex), new P(h)]));
};
g.IR.ASCallSuper.prototype.compile = function(b) {
var c = q(this.scope, b), h = q(this.object, b), e = this.args.map(function(a) {
return q(a, b);
}), n = l(this.name, b);
return a(d(h, "asCallSuper"), [c].concat(n).concat(new P(e)));
};
g.IR.Call.prototype.compile = function(b) {
var h = this.args.map(function(a) {
return q(a, b);
}), d = q(this.callee, b), e;
e = this.object ? q(this.object, b) : new y(null);
return this.flags & 16 ? c(d, e, h) : null === this.object ? a(d, h) : n(d, e, h);
};
g.IR.ASNew.prototype.compile = function(a) {
var b = this.args.map(function(b) {
return q(b, a);
}), c = q(this.callee, a), c = d(c, "instanceConstructor");
return new L(c, b);
};
g.IR.This.prototype.compile = function(a) {
return new Q;
};
g.IR.Throw.prototype.compile = function(a) {
a = q(this.argument, a);
return new U(a);
};
g.IR.Arguments.prototype.compile = function(a) {
return s("arguments");
};
g.IR.ASGlobal.prototype.compile = function(a) {
a = q(this.scope, a);
return d(a, "global", "object");
};
g.IR.ASSetProperty.prototype.compile = function(b) {
var c = q(this.object, b), h = q(this.value, b);
if (this.flags & 1) {
return a(d(c, "asSetNumericProperty"), [q(this.name.name, b), h]);
}
b = l(this.name, b);
return a(d(c, "asSetProperty"), b.concat(h));
};
g.IR.ASSetSuper.prototype.compile = function(b) {
var c = q(this.scope, b), h = q(this.object, b), e = l(this.name, b);
b = q(this.value, b);
return a(d(h, "asSetSuper"), [c].concat(e).concat([b]));
};
g.IR.ASDeleteProperty.prototype.compile = function(b) {
var c = q(this.object, b);
b = l(this.name, b);
return a(d(c, "asDeleteProperty"), b);
};
g.IR.ASHasProperty.prototype.compile = function(b) {
var c = q(this.object, b);
b = l(this.name, b);
return a(d(c, "asHasProperty"), b);
};
g.IR.GlobalProperty.prototype.compile = function(a) {
return s(this.name);
};
g.IR.GetProperty.prototype.compile = function(a) {
var b = q(this.object, a);
a = q(this.name, a);
return d(b, a);
};
g.IR.SetProperty.prototype.compile = function(a) {
var b = q(this.object, a), c = q(this.name, a);
a = q(this.value, a);
return p(d(b, c), a);
};
g.IR.ASGetDescendants.prototype.compile = function(b) {
var c = q(this.object, b);
b = q(this.name, b);
return a(s("getDescendants"), [c, b]);
};
g.IR.ASSetSlot.prototype.compile = function(b) {
var c = q(this.object, b), h = q(this.name, b);
b = q(this.value, b);
return a(s("asSetSlot"), [c, h, b]);
};
g.IR.ASGetSlot.prototype.compile = function(b) {
var c = q(this.object, b);
b = q(this.name, b);
return a(s("asGetSlot"), [c, b]);
};
g.IR.Projection.prototype.compile = function(a) {
w(4 === this.type);
w(this.argument instanceof X);
return q(this.argument.scope, a);
};
g.IR.NewArray.prototype.compile = function(a) {
return new P(u(this.elements, a));
};
g.IR.NewObject.prototype.compile = function(a) {
var b = this.properties.map(function(b) {
var c = q(b.key, a);
b = q(b.value, a);
return new M(c, b, "init");
});
return new z(b);
};
g.IR.ASNewActivation.prototype.compile = function(b) {
b = q(this.methodInfo, b);
return a(s("asCreateActivation"), [b]);
};
g.IR.ASNewHasNext2.prototype.compile = function(a) {
return new L(s("HasNext2Info"), []);
};
g.IR.ASMultiname.prototype.compile = function(b) {
var c = q(this.namespaces, b);
b = q(this.name, b);
return a(s("createName"), [c, b]);
};
g.IR.Block.prototype.compile = function(a) {
return a.compileBlock(this);
};
var da = function() {
function a(b, c, h) {
this.parameters = b;
this.body = c;
this.constants = h;
}
a.prototype.C = function(a) {
var b = this.constants[a];
b._isLazyInitializer && (this.constants[a] = b.resolve());
return this.constants[a];
};
a.id = 0;
return a;
}();
f.Compilation = da;
f.generate = function(a) {
k.enterTimeline("Looper");
var c = Y.analyze(a);
k.leaveTimeline();
new b.IndentingWriter;
a = new ha;
k.enterTimeline("Construct AST");
var h = c.compile(a);
k.leaveTimeline();
for (var c = [], d = 0;d < a.parameters.length;d++) {
c.push(s(a.parameters[d] ? a.parameters[d].name : "_" + d));
}
d = "$$F" + da.id++;
if (a.constants.length) {
var l = new G(d), n = new E(l, new G("constants"), !1);
h.body.unshift(e([new C(s("$F"), l), new C(s("$C"), n)]));
}
a.variables.length && (k.countTimeline("Backend: Locals", a.variables.length), l = e(a.variables.map(function(a) {
return new C(s(a.name));
})), h.body.unshift(l));
k.enterTimeline("Serialize AST");
h = h.toSource();
k.leaveTimeline();
return jsGlobal[d] = new da(c.map(function(a) {
return a.name;
}), h, a.constants);
};
})(g.Backend || (g.Backend = {}));
})(k.Compiler || (k.Compiler = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(c) {
k.enterTimeline("executeScript", {name:c.name});
var d = c.abc;
p(!c.executing && !c.executed);
var h = new g.Global(c);
d.applicationDomain.allowNatives && (h[a.getPublicQualifiedName("unsafeJSNative")] = b.AVM2.AS.getNative);
c.executing = !0;
d = new g.Scope(null, c.global);
g.createFunction(c.init, d, !1, !1).call(c.global, !1);
c.executed = !0;
k.leaveTimeline();
}
function t(a, c) {
"undefined" === typeof c && (c = "");
a.executed || a.executing || (2 <= b.AVM2.Runtime.traceExecution.value && log("Executing Script For: " + c), f(a));
}
function s(a) {
if (!g.playerglobal) {
return null;
}
for (var b = 0;b < a.namespaces.length;b++) {
var c = g.playerglobal.map[a.namespaces[b].uri + ":" + a.name];
if (c) {
break;
}
}
return c ? (a = c, a = (b = g.playerglobal.scripts[a]) ? new d(new Uint8Array(g.playerglobal.abcs, b.offset, b.length), a) : null, a) : null;
}
function m(a, b) {
return new Promise(function(c, d) {
var e = new XMLHttpRequest;
e.open("GET", a);
e.responseType = b;
e.onload = function() {
var l = e.response;
l ? ("json" === b && "json" !== e.responseType && (l = JSON.parse(l)), c(l)) : d("Unable to load " + a + ": " + e.statusText);
};
e.send();
});
}
var d = b.AVM2.ABC.AbcFile, a = b.AVM2.ABC.Multiname, c = b.Callback, n = b.ObjectUtilities.createEmptyObject, p = b.Debug.assert, e = b.IndentingWriter;
g.executeScript = f;
g.ensureScriptIsExecuted = t;
(function(a) {
a[a.PUBLIC_PROPERTIES = 1] = "PUBLIC_PROPERTIES";
a[a.PUBLIC_METHODS = 2] = "PUBLIC_METHODS";
a[a.ALL = 3] = "ALL";
})(g.Glue || (g.Glue = {}));
g.playerglobalLoadedPromise;
g.playerglobal;
var q = function() {
function a(b, c, d) {
this.systemDomain = new l(this, null, b, !0);
this.applicationDomain = new l(this, this.systemDomain, c, !1);
this.findDefiningAbc = s;
this._loadAVM1 = d;
this._loadAVM1Promise = null;
this.exception = {value:void 0};
this.exceptions = [];
this.globals = n();
}
a.initialize = function(b, c, d) {
"undefined" === typeof d && (d = null);
p(!a.instance);
a.instance = new a(b, c, d);
};
a.currentAbc = function() {
for (var a = arguments.callee, b = null, c = 0;20 > c && a;c++) {
var d = a.methodInfo;
if (d) {
b = d.abc;
break;
}
a = a.caller;
}
return b;
};
a.currentDomain = function() {
var b = a.currentAbc();
if (null === b) {
return a.instance.systemDomain;
}
p(b && b.applicationDomain, "No domain environment was found on the stack, increase STACK_DEPTH or make sure that a compiled / interpreted function is on the call stack.");
return b.applicationDomain;
};
a.isPlayerglobalLoaded = function() {
return!!g.playerglobal;
};
a.prototype.loadAVM1 = function() {
var a = this._loadAVM1;
p(a);
this._loadAVM1Promise || (this._loadAVM1Promise = new Promise(function(b) {
a(b);
}));
return this._loadAVM1Promise;
};
a.loadPlayerglobal = function(a, b) {
if (g.playerglobalLoadedPromise) {
return Promise.reject("Playerglobal is already loaded");
}
g.playerglobalLoadedPromise = Promise.all([m(a, "arraybuffer"), m(b, "json")]).then(function(a) {
g.playerglobal = {abcs:a[0], map:Object.create(null), scripts:Object.create(null)};
a = a[1];
for (var b = 0;b < a.length;b++) {
var c = a[b];
g.playerglobal.scripts[c.name] = c;
if ("string" === typeof c.defs) {
g.playerglobal.map[c.defs] = c.name;
} else {
for (var h = 0;h < c.defs.length;h++) {
g.playerglobal.map[c.defs[h]] = c.name;
}
}
}
}, function(a) {
console.error(a);
});
return g.playerglobalLoadedPromise;
};
a.prototype.notifyConstruct = function(a, b) {
};
a.getStackTrace = function() {
b.Debug.somewhatImplemented("getStackTrace");
return b.Debug.backtrace();
};
return a;
}();
g.AVM2 = q;
var l = function() {
function d(a, h, e, l) {
p(a instanceof q);
p(b.isNullOrUndefined(h) || h instanceof d);
this.vm = a;
this.abcs = [];
this.loadedAbcs = {};
this.loadedClasses = [];
this.classCache = n();
this.scriptCache = n();
this.classInfoCache = n();
this.base = h;
this.allowNatives = l;
this.mode = e;
this.onMessage = new c;
this.system = h ? h.system : this;
}
d.passthroughCallable = function(a) {
return{call:function(b) {
Array.prototype.shift.call(arguments);
return a.asApply(b, arguments);
}, apply:function(b, c) {
return a.asApply(b, c);
}};
};
d.coerceCallable = function(a) {
return{call:function(b, c) {
return g.asCoerce(a, c);
}, apply:function(b, c) {
return g.asCoerce(a, c[0]);
}};
};
d.prototype.getType = function(a) {
return this.getProperty(a, !0, !0);
};
d.prototype.getProperty = function(c, h, d) {
if (d = this.findDefiningScript(c, d)) {
return d.script.executing ? d.script.global[a.getQualifiedName(d.trait.name)] : void 0;
}
if (h) {
return b.Debug.unexpected("Cannot find property " + c);
}
};
d.prototype.getClass = function(c, h) {
"undefined" === typeof h && (h = !0);
var d = this.classCache, e = d[c];
e || (e = d[c] = this.getProperty(a.fromSimpleName(c), h, !0));
e && p(e instanceof b.AVM2.AS.ASClass);
return e;
};
d.prototype.findDomainProperty = function(a, c, d) {
b.AVM2.Runtime.traceDomain.value && log("ApplicationDomain.findDomainProperty: " + a);
if (d = this.findDefiningScript(a, d)) {
return d.script.global;
}
if (c) {
return b.Debug.unexpected("Cannot find property " + a);
}
};
d.prototype.findClassInfo = function(b) {
var c;
if (a.isQName(b)) {
c = a.getQualifiedName(b);
var d = this.classInfoCache[c];
} else {
d = this.classInfoCache[b.runtimeId];
}
if (d || this.base && (d = this.base.findClassInfo(b))) {
return d;
}
for (var d = this.abcs, e = 0;e < d.length;e++) {
for (var l = d[e], l = l.scripts, n = 0;n < l.length;n++) {
for (var f = l[n].traits, p = 0;p < f.length;p++) {
var g = f[p];
if (g.isClass()) {
var q = a.getQualifiedName(g.name);
if (c) {
if (q === c) {
return this.classInfoCache[c] = g.classInfo;
}
} else {
for (var m = 0, k = b.namespaces.length;m < k;m++) {
var u = b.getQName(m);
if (q === a.getQualifiedName(u)) {
return this.classInfoCache[u] = g.classInfo;
}
}
}
}
}
}
}
if (!this.base && this.vm.findDefiningAbc && (l = this.vm.findDefiningAbc(b), null !== l && !this.loadedAbcs[l.name])) {
return this.loadedAbcs[l.name] = !0, this.loadAbc(l), this.findClassInfo(b);
}
};
d.prototype.findDefiningScript = function(c, h) {
var d = this.scriptCache[c.runtimeId];
if (d && (d.script.executed || !h) || this.base && (d = this.base.findDefiningScript(c, h))) {
return d;
}
k.countTimeline("ApplicationDomain: findDefiningScript");
for (var d = this.abcs, e = 0;e < d.length;e++) {
for (var l = d[e], l = l.scripts, n = 0;n < l.length;n++) {
var f = l[n], p = f.traits;
if (c instanceof a) {
for (var g = 0;g < p.length;g++) {
var q = p[g];
if (c.hasQName(q.name)) {
return h && t(f, String(q.name)), this.scriptCache[c.runtimeId] = {script:f, trait:q};
}
}
} else {
b.Debug.unexpected();
}
}
}
if (!this.base && this.vm.findDefiningAbc && (l = this.vm.findDefiningAbc(c), null !== l && !this.loadedAbcs[l.name])) {
return this.loadedAbcs[l.name] = !0, this.loadAbc(l), this.findDefiningScript(c, h);
}
};
d.prototype.compileAbc = function(a, c) {
b.AVM2.Compiler.compileAbc(a, c);
};
d.prototype.executeAbc = function(a) {
this.loadAbc(a);
f(a.lastScript);
};
d.prototype.loadAbc = function(a) {
b.AVM2.Runtime.traceExecution.value && log("Loading: " + a.name);
a.applicationDomain = this;
g.GlobalMultinameResolver.loadAbc(a);
this.abcs.push(a);
this.base || (k.AS.initialize(this), b.AVM2.Verifier.Type.initializeTypes(this));
};
d.prototype.broadcastMessage = function(a, b, c) {
try {
this.onMessage.notify1(a, {data:b, origin:c, source:this});
} catch (d) {
throw q.instance.exceptions.push({source:a, message:d.message, stack:d.stack}), d;
}
};
d.prototype.traceLoadedClasses = function() {
var a = new e;
[b.ArrayUtilities.last(this.loadedClasses)].forEach(function(c) {
c !== b.AVM2.AS.ASClass && c.trace(a);
});
};
return d;
}();
g.ApplicationDomain = l;
var u = function() {
function a(b) {
this.compartment = newGlobal("new-compartment");
this.compartment.homePath = homePath;
this.compartment.release = !1;
this.compartment.eval(snarf(b));
}
a.prototype.initializeShell = function(a, b) {
var c = this.compartment;
c.AVM2.initialize(a, b);
c.AVM2.instance.systemDomain.executeAbc(c.grabAbc(homePath + "src/avm2/generated/builtin/builtin.abc"));
c.AVM2.instance.systemDomain.executeAbc(c.grabAbc(homePath + "src/avm2/generated/shell/shell.abc"));
this.systemDomain = c.AVM2.instance.systemDomain;
this.applicationDomain = c.AVM2.instance.applicationDomain;
};
return a;
}();
g.SecurityDomain = u;
})(k.Runtime || (k.Runtime = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Glue = Shumway.AVM2.Runtime.Glue, ApplicationDomain = Shumway.AVM2.Runtime.ApplicationDomain, AVM2 = Shumway.AVM2.Runtime.AVM2, EXECUTION_MODE = Shumway.AVM2.Runtime.ExecutionMode;
(function(b) {
(function(k) {
(function(g) {
function f(a) {
return a.holder instanceof m ? "static " + a.holder.instanceInfo.name.getOriginalName() + "::" + a.name.getOriginalName() : a.holder instanceof d ? a.holder.name.getOriginalName() + "::" + a.name.getOriginalName() : a.name.getOriginalName();
}
function t(b) {
a(b && "function" === typeof b);
return b.isTrampoline;
}
var s = b.AVM2.ABC.Multiname, m = b.AVM2.ABC.ClassInfo, d = b.AVM2.ABC.InstanceInfo, a = b.Debug.assert, c = b.ObjectUtilities.defineReadOnlyProperty, n = b.FunctionUtilities.bindSafely, p = 1, e = 1;
g.getMethodOverrideKey = f;
g.checkMethodOverrides = function(a) {
if (a.name && (a = f(a), a in g.VM_METHOD_OVERRIDES)) {
return b.Debug.warning("Overriding Method: " + a), g.VM_METHOD_OVERRIDES[a];
}
};
g.makeTrampoline = function(d, e, n, f, r, h) {
return function() {
function m() {
k.countTimeline("Executing Trampoline");
1 <= b.AVM2.Runtime.traceExecution.value && (callWriter.writeLn("Trampoline: " + h), 3 <= b.AVM2.Runtime.traceExecution.value && log("Trampolining"));
s || (s = g.getTraitFunction(d, e, n), g.patch(f, s), d = e = n = f = null, a(s));
return s.asApply(this, arguments);
}
var s = null;
m.trigger = function() {
k.countTimeline("Triggering Trampoline");
s || (s = g.getTraitFunction(d, e, n), g.patch(f, s), d = e = n = f = null, a(s));
};
m.isTrampoline = !0;
m.debugName = "Trampoline #" + p++;
c(m, g.VM_LENGTH, r);
return m;
}();
};
g.makeMemoizer = function(d, l) {
function f() {
k.countTimeline("Runtime: Memoizing");
3 <= b.AVM2.Runtime.traceExecution.value && log("Memoizing: " + d);
1 < b.AVM2.Runtime.traceCallExecution.value && callWriter.writeLn("Memoizing: " + d);
if (g.isNativePrototype(this)) {
return k.countTimeline("Runtime: Method Closures"), n(l.value, this);
}
t(l.value) && l.value.trigger();
a(!t(l.value), "We should avoid binding trampolines.");
var e = null;
if (this instanceof b.AVM2.AS.ASClass) {
return k.countTimeline("Runtime: Static Method Closures"), e = n(l.value, this), c(this, d, e), e;
}
if (Object.prototype.hasOwnProperty.call(this, d)) {
if (Object.getOwnPropertyDescriptor(this, d).get) {
return k.countTimeline("Runtime: Method Closures"), n(l.value, this);
}
k.countTimeline("Runtime: Unpatched Memoizer");
return this[d];
}
e = n(l.value, this);
e.methodInfo = l.value.methodInfo;
c(e, s.getPublicQualifiedName("prototype"), null);
c(this, d, e);
return e;
}
k.countTimeline("Runtime: Memoizers");
f.isMemoizer = !0;
f.debugName = "Memoizer #" + e++;
return f;
};
g.isMemoizer = function(b) {
a(b && "function" === typeof b);
return b.isMemoizer;
};
})(k.Runtime || (k.Runtime = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
function g(a, b, c) {
c.flags = b.flags;
c.name = b.isRuntimeName() ? a.pop() : b.name;
c.namespaces = b.isRuntimeNamespace() ? [a.pop()] : b.namespaces;
}
var f = b.AVM2.Runtime.Scope, t = b.AVM2.Runtime.asCoerceByMultiname, s = b.AVM2.Runtime.asGetSlot, m = b.AVM2.Runtime.asSetSlot, d = b.AVM2.Runtime.asCoerce, a = b.AVM2.Runtime.asCoerceString, c = b.AVM2.Runtime.asAsType, n = b.AVM2.Runtime.asTypeOf, p = b.AVM2.Runtime.asIsInstanceOf, e = b.AVM2.Runtime.asIsType, q = b.AVM2.Runtime.applyType, l = b.AVM2.Runtime.createFunction, u = b.AVM2.Runtime.createClass, w = b.AVM2.Runtime.getDescendants, r = b.AVM2.Runtime.checkFilter, h = b.AVM2.Runtime.asAdd,
x = b.AVM2.Runtime.translateError, y = b.AVM2.Runtime.asCreateActivation, G = b.AVM2.Runtime.sliceArguments, I = b.ObjectUtilities.boxValue, C = b.ArrayUtilities.popManyInto, E = b.AVM2.Runtime.construct, O = b.AVM2.ABC.Multiname, K = b.Debug.assert, F = b.AVM2.Runtime.HasNext2Info, J = function() {
function a(b) {
this.parent = b;
this.stack = [];
this.isWith = [];
}
a.prototype.push = function(a, b) {
this.stack.push(a);
this.isWith.push(!!b);
};
a.prototype.get = function(a) {
return this.stack[a];
};
a.prototype.clear = function() {
this.stack.length = 0;
this.isWith.length = 0;
};
a.prototype.pop = function() {
this.isWith.pop();
this.stack.pop();
};
a.prototype.topScope = function() {
this.scopes || (this.scopes = []);
for (var a = this.parent, b = 0;b < this.stack.length;b++) {
var c = this.stack[b], h = this.isWith[b], d = this.scopes[b];
d && d.parent === a && d.object === c && d.isWith === h || (d = this.scopes[b] = new f(a, c, h));
a = d;
}
return a;
};
return a;
}(), A = function() {
function f() {
}
f.interpretMethod = function(f, B, A, L) {
K(B.analysis);
k.countTimeline("Interpret Method");
var M = B.abc, V = M.constantPool.ints, Q = M.constantPool.uints, U = M.constantPool.doubles, S = M.constantPool.strings, aa = M.methods, $ = M.constantPool.multinames, ea = M.applicationDomain, Z = B.exceptions;
f = [f];
for (var v = [], X = new J(A), ba = B.parameters.length, R = L.length, H, Y = 0;Y < ba;Y++) {
var ga = B.parameters[Y];
H = Y < R ? L[Y] : ga.value;
ga.type && !ga.type.isAnyName() && (H = t(B, ga.type, H));
f.push(H);
}
B.needsRest() ? f.push(G(L, ba)) : B.needsArguments() && f.push(G(L, 0));
L = B.analysis.bytecodes;
var ca, ka, W, ha, da, ja, ba = [], R = O.TEMPORARY, ga = [], N = 0, ma = L.length;
a: for (;N < ma;) {
try {
var T = L[N], oa = T.op;
switch(oa | 0) {
case 3:
throw v.pop();;
case 4:
g(v, $[T.index], R);
v.push(v.pop().asGetSuper(A, R.namespaces, R.name, R.flags));
break;
case 5:
H = v.pop();
g(v, $[T.index], R);
v.pop().asSetSuper(A, R.namespaces, R.name, R.flags, H);
break;
case 8:
f[T.index] = void 0;
break;
case 12:
ja = v.pop();
da = v.pop();
N = da < ja ? N + 1 : T.offset;
continue;
case 24:
ja = v.pop();
da = v.pop();
N = da >= ja ? T.offset : N + 1;
continue;
case 13:
ja = v.pop();
da = v.pop();
N = da <= ja ? N + 1 : T.offset;
continue;
case 23:
ja = v.pop();
da = v.pop();
N = da > ja ? T.offset : N + 1;
continue;
case 14:
ja = v.pop();
da = v.pop();
N = da > ja ? N + 1 : T.offset;
continue;
case 22:
ja = v.pop();
da = v.pop();
N = da <= ja ? T.offset : N + 1;
continue;
case 15:
ja = v.pop();
da = v.pop();
N = da >= ja ? N + 1 : T.offset;
continue;
case 21:
ja = v.pop();
da = v.pop();
N = da < ja ? T.offset : N + 1;
continue;
case 16:
N = T.offset;
continue;
case 17:
N = v.pop() ? T.offset : N + 1;
continue;
case 18:
N = v.pop() ? N + 1 : T.offset;
continue;
case 19:
ja = v.pop();
da = v.pop();
N = da == ja ? T.offset : N + 1;
continue;
case 20:
ja = v.pop();
da = v.pop();
N = da != ja ? T.offset : N + 1;
continue;
case 25:
ja = v.pop();
da = v.pop();
N = da === ja ? T.offset : N + 1;
continue;
case 26:
ja = v.pop();
da = v.pop();
N = da !== ja ? T.offset : N + 1;
continue;
case 27:
ka = v.pop();
if (0 > ka || ka >= T.offsets.length) {
ka = T.offsets.length - 1;
}
N = T.offsets[ka];
continue;
case 28:
X.push(I(v.pop()), !0);
break;
case 29:
X.pop();
break;
case 30:
ka = v.pop();
v[v.length - 1] = I(v[v.length - 1]).asNextName(ka);
break;
case 35:
ka = v.pop();
v[v.length - 1] = I(v[v.length - 1]).asNextValue(ka);
break;
case 50:
var pa = ga[N] || (ga[N] = new F(null, 0));
ca = f[T.object];
ka = f[T.index];
pa.object = ca;
pa.index = ka;
Object(ca).asHasNext2(pa);
f[T.object] = pa.object;
f[T.index] = pa.index;
v.push(!!pa.index);
break;
case 32:
v.push(null);
break;
case 33:
v.push(void 0);
break;
case 36:
;
case 37:
v.push(T.value);
break;
case 44:
v.push(S[T.index]);
break;
case 45:
v.push(V[T.index]);
break;
case 46:
v.push(Q[T.index]);
break;
case 47:
v.push(U[T.index]);
break;
case 38:
v.push(!0);
break;
case 39:
v.push(!1);
break;
case 40:
v.push(NaN);
break;
case 41:
v.pop();
break;
case 42:
v.push(v[v.length - 1]);
break;
case 43:
ca = v[v.length - 1];
v[v.length - 1] = v[v.length - 2];
v[v.length - 2] = ca;
break;
case 48:
X.push(I(v.pop()), !1);
break;
case 64:
v.push(l(aa[T.index], X.topScope(), !0, !1));
break;
case 65:
C(v, T.argCount, ba);
ca = v.pop();
v[v.length - 1] = v[v.length - 1].asApply(ca, ba);
break;
case 66:
C(v, T.argCount, ba);
v[v.length - 1] = E(v[v.length - 1], ba);
break;
case 71:
return;
case 72:
return B.returnType ? t(B, B.returnType, v.pop()) : v.pop();
case 73:
C(v, T.argCount, ba);
ca = v.pop();
A.object.baseClass.instanceConstructorNoInitialize.apply(ca, ba);
break;
case 74:
C(v, T.argCount, ba);
g(v, $[T.index], R);
ca = I(v[v.length - 1]);
ca = ca.asConstructProperty(R.namespaces, R.name, R.flags, ba);
v[v.length - 1] = ca;
break;
case 75:
b.Debug.notImplemented("OP.callsuperid");
break;
case 76:
;
case 70:
;
case 79:
C(v, T.argCount, ba);
g(v, $[T.index], R);
ha = I(v.pop()).asCallProperty(R.namespaces, R.name, R.flags, 76 === oa, ba);
79 !== oa && v.push(ha);
break;
case 69:
;
case 78:
C(v, T.argCount, ba);
g(v, $[T.index], R);
ha = v.pop().asCallSuper(A, R.namespaces, R.name, R.flags, ba);
78 !== oa && v.push(ha);
break;
case 83:
C(v, T.argCount, ba);
v[v.length - 1] = q(B, v[v.length - 1], ba);
break;
case 85:
ca = {};
for (Y = 0;Y < T.argCount;Y++) {
H = v.pop(), ca[O.getPublicQualifiedName(v.pop())] = H;
}
v.push(ca);
break;
case 86:
ca = [];
C(v, T.argCount, ba);
ca.push.apply(ca, ba);
v.push(ca);
break;
case 87:
K(B.needsActivation());
v.push(y(B));
break;
case 88:
v[v.length - 1] = u(M.classes[T.index], v[v.length - 1], X.topScope());
break;
case 89:
g(v, $[T.index], R);
v.push(w(v.pop(), R));
break;
case 90:
K(Z[T.index].scopeObject);
v.push(Z[T.index].scopeObject);
break;
case 94:
;
case 93:
g(v, $[T.index], R);
v.push(X.topScope().findScopeProperty(R.namespaces, R.name, R.flags, B, 93 === oa, !1));
break;
case 96:
W = $[T.index];
ca = X.topScope().findScopeProperty(W.namespaces, W.name, W.flags, B, !0, !1);
v.push(ca.asGetProperty(W.namespaces, W.name, W.flags));
break;
case 104:
;
case 97:
H = v.pop();
g(v, $[T.index], R);
I(v.pop()).asSetProperty(R.namespaces, R.name, R.flags, H);
break;
case 98:
v.push(f[T.index]);
break;
case 99:
f[T.index] = v.pop();
break;
case 100:
v.push(A.global.object);
break;
case 101:
v.push(X.get(T.index));
break;
case 102:
g(v, $[T.index], R);
v[v.length - 1] = I(v[v.length - 1]).asGetProperty(R.namespaces, R.name, R.flags);
break;
case 106:
g(v, $[T.index], R);
v[v.length - 1] = I(v[v.length - 1]).asDeleteProperty(R.namespaces, R.name, R.flags);
break;
case 108:
v[v.length - 1] = s(v[v.length - 1], T.index);
break;
case 109:
H = v.pop();
ca = v.pop();
m(ca, T.index, H);
break;
case 112:
v[v.length - 1] += "";
break;
case 131:
;
case 115:
v[v.length - 1] |= 0;
break;
case 136:
;
case 116:
v[v.length - 1] >>>= 0;
break;
case 132:
;
case 117:
v[v.length - 1] = +v[v.length - 1];
break;
case 129:
;
case 118:
v[v.length - 1] = !!v[v.length - 1];
break;
case 120:
v[v.length - 1] = r(v[v.length - 1]);
break;
case 128:
v[v.length - 1] = d(ea.getType($[T.index]), v[v.length - 1]);
break;
case 130:
break;
case 133:
v[v.length - 1] = a(v[v.length - 1]);
break;
case 134:
v[v.length - 2] = c(ea.getType($[T.index]), v[v.length - 1]);
break;
case 135:
v[v.length - 2] = c(v.pop(), v[v.length - 1]);
break;
case 137:
ca = v[v.length - 1];
v[v.length - 1] = void 0 == ca ? null : ca;
break;
case 144:
v[v.length - 1] = -v[v.length - 1];
break;
case 145:
++v[v.length - 1];
break;
case 146:
++f[T.index];
break;
case 147:
--v[v.length - 1];
break;
case 148:
--f[T.index];
break;
case 149:
v[v.length - 1] = n(v[v.length - 1]);
break;
case 150:
v[v.length - 1] = !v[v.length - 1];
break;
case 151:
v[v.length - 1] = ~v[v.length - 1];
break;
case 160:
v[v.length - 2] = h(v[v.length - 2], v.pop());
break;
case 161:
v[v.length - 2] -= v.pop();
break;
case 162:
v[v.length - 2] *= v.pop();
break;
case 163:
v[v.length - 2] /= v.pop();
break;
case 164:
v[v.length - 2] %= v.pop();
break;
case 165:
v[v.length - 2] <<= v.pop();
break;
case 166:
v[v.length - 2] >>= v.pop();
break;
case 167:
v[v.length - 2] >>>= v.pop();
break;
case 168:
v[v.length - 2] &= v.pop();
break;
case 169:
v[v.length - 2] |= v.pop();
break;
case 170:
v[v.length - 2] ^= v.pop();
break;
case 171:
v[v.length - 2] = v[v.length - 2] == v.pop();
break;
case 172:
v[v.length - 2] = v[v.length - 2] === v.pop();
break;
case 173:
v[v.length - 2] = v[v.length - 2] < v.pop();
break;
case 174:
v[v.length - 2] = v[v.length - 2] <= v.pop();
break;
case 175:
v[v.length - 2] = v[v.length - 2] > v.pop();
break;
case 176:
v[v.length - 2] = v[v.length - 2] >= v.pop();
break;
case 177:
v[v.length - 2] = p(v.pop(), v[v.length - 1]);
break;
case 178:
v[v.length - 1] = e(ea.getType($[T.index]), v[v.length - 1]);
break;
case 179:
v[v.length - 2] = e(v.pop(), v[v.length - 1]);
break;
case 180:
v[v.length - 2] = I(v.pop()).asHasProperty(null, v[v.length - 1]);
break;
case 192:
v[v.length - 1] = (v[v.length - 1] | 0) + 1;
break;
case 193:
v[v.length - 1] = (v[v.length - 1] | 0) - 1;
break;
case 194:
f[T.index] = (f[T.index] | 0) + 1;
break;
case 195:
f[T.index] = (f[T.index] | 0) - 1;
break;
case 196:
v[v.length - 1] = ~v[v.length - 1];
break;
case 197:
v[v.length - 2] = v[v.length - 2] + v.pop() | 0;
break;
case 198:
v[v.length - 2] = v[v.length - 2] - v.pop() | 0;
break;
case 199:
v[v.length - 2] = v[v.length - 2] * v.pop() | 0;
break;
case 208:
;
case 209:
;
case 210:
;
case 211:
v.push(f[oa - 208]);
break;
case 212:
;
case 213:
;
case 214:
;
case 215:
f[oa - 212] = v.pop();
break;
case 6:
b.AVM2.AS.ASXML.defaultNamespace = S[T.index];
break;
case 7:
b.AVM2.AS.ASXML.defaultNamespace = v.pop();
break;
case 239:
;
case 240:
;
case 241:
break;
default:
b.Debug.notImplemented(b.AVM2.opcodeName(oa));
}
N++;
} catch (na) {
if (1 > Z.length) {
throw na;
}
for (var na = x(ea, na), Y = 0, fa = Z.length;Y < fa;Y++) {
var sa = Z[Y];
if (N >= sa.start && N <= sa.end && (!sa.typeName || ea.getType(sa.typeName).isType(na))) {
v.length = 0;
v.push(na);
X.clear();
N = sa.offset;
continue a;
}
}
throw na;
}
}
};
return f;
}();
k.Interpreter = A;
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
b.VM_METHOD_OVERRIDES["static mochi.as3.MochiServices::connect"] = function() {
};
b.VM_METHOD_OVERRIDES["static MochiBot::track"] = function() {
};
b.VM_METHOD_OVERRIDES["com.midasplayer.debug.DebugLog::trace"] = function(b) {
log(b);
};
b.VM_METHOD_OVERRIDES["com.midasplayer.engine.comm.DebugGameComm::getGameData"] = function() {
return'<gamedata randomseed="554884453" version="1">\n<musicOn>true</musicOn>\n<soundOn>true</soundOn>\n<isShortGame>false</isShortGame>\n<booster_1>0</booster_1>\n<booster_2>0</booster_2>\n<booster_3>0</booster_3>\n<booster_4>0</booster_4>\n<booster_5>0</booster_5>\n<bestScore>0</bestScore>\n<bestChain>0</bestChain>\n<bestLevel>0</bestLevel>\n<bestCrushed>0</bestCrushed>\n<bestMixed>0</bestMixed>\n<text id="outro.crushed">Candy crushed</text>\n<text id="outro.bestever">best ever</text>\n<text id="outro.trophy.two">scored {0} in one game</text>\n<text id="outro.combo_color_color">All Clear Created</text>\n<text id="outro.trophy.one">crushed {0} candy in one game</text>\n<text id="outro.score">Score</text>\n<text id="outro.opengame">Please register to play the full game</text>\n<text id="outro.chain">Longest chain</text>\n<text id="outro.time">Game ends in {0} seconds</text>\n<text id="outro.combo_color_line">Super Stripes Created</text>\n<text id="game.nomoves">No more moves!</text>\n<text id="outro.combo_wrapper_line">Mega-Candy Created</text>\n<text id="intro.time">Game starts in {0} seconds</text>\n<text id="outro.now">now</text>\n<text id="outro.level">Level reached</text>\n<text id="outro.title">Game Over</text>\n<text id="intro.info1">Match 3 Candy of the same colour to crush them. Matching 4 or 5 in different formations generates special sweets that are extra tasty.</text>\n<text id="intro.info2">You can also combine the special sweets for additional effects by switching them with each other. Try these combinations for a taste you will not forget: </text>\n<text id="outro.combo_color_wrapper">Double Colour Bombs Created</text>\n<text id="outro.trophy.three">made {0} combined candy in one game</text>\n<text id="intro.title">Play like this:</text>\n</gamedata>';
};
b.VM_METHOD_OVERRIDES["com.antkarlov.Preloader::com.antkarlov:Preloader.isUrl"] = function() {
return!0;
};
b.VM_METHOD_OVERRIDES["static com.demonsters.debugger.MonsterDebugger::initialize"] = function() {
};
b.VM_METHOD_OVERRIDES["com.spilgames.api.core.tracking.TrackConfig::getTrackers"] = function() {
return[];
};
b.VM_METHOD_OVERRIDES["com.spilgames.api.components.TextFields.AutoFitTextFieldEx::com.spilgames.api.components.TextFields:AutoFitTextFieldEx.updateProperties"] = b.VM_METHOD_OVERRIDES["com.spilgames.api.components.TextFields.AutoFitTextFieldEx::com.spilgames.api.components.TextFields:AutoFitTextFieldEx.updateTextSize"] = function() {
};
})(b.Runtime || (b.Runtime = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
function g(a, c) {
if (65535 < c.length) {
throw "AMF short string exceeded";
}
if (c.length) {
var d = b.StringUtilities.utf8decode(c);
a.writeByte(d.length >> 8 & 255);
a.writeByte(d.length & 255);
for (var e = 0;e < d.length;e++) {
a.writeByte(d[e]);
}
} else {
a.writeByte(0), a.writeByte(0);
}
}
function f(a) {
var c = a.readByte() << 8 | a.readByte();
if (!c) {
return "";
}
for (var d = new Uint8Array(c), e = 0;e < c;e++) {
d[e] = a.readByte();
}
return b.StringUtilities.utf8encode(d);
}
function t(a, b) {
var c = new ArrayBuffer(8), d = new DataView(c);
d.setFloat64(0, b, !1);
for (var e = 0;e < c.byteLength;e++) {
a.writeByte(d.getUint8(e));
}
}
function s(a) {
for (var b = new ArrayBuffer(8), c = new DataView(b), d = 0;d < b.byteLength;d++) {
c.setUint8(d, a.readByte());
}
return c.getFloat64(0, !1);
}
function m(a) {
var b = a.readByte();
if (0 === (b & 128)) {
return b;
}
var c = a.readByte();
if (0 === (c & 128)) {
return(b & 127) << 7 | c;
}
var d = a.readByte();
if (0 === (d & 128)) {
return(b & 127) << 14 | (c & 127) << 7 | d;
}
a = a.readByte();
return(b & 127) << 22 | (c & 127) << 15 | (d & 127) << 8 | a;
}
function d(a, b) {
if (0 === (b & 4294967168)) {
a.writeByte(b & 127);
} else {
if (0 === (b & 4294950912)) {
a.writeByte(128 | b >> 7 & 127), a.writeByte(b & 127);
} else {
if (0 === (b & 4292870144)) {
a.writeByte(128 | b >> 14 & 127), a.writeByte(128 | b >> 7 & 127), a.writeByte(b & 127);
} else {
if (0 === (b & 3221225472)) {
a.writeByte(128 | b >> 22 & 127), a.writeByte(128 | b >> 15 & 127), a.writeByte(128 | b >> 8 & 127), a.writeByte(b & 255);
} else {
throw "AMF3 U29 range";
}
}
}
}
}
function a(a, c) {
var d = m(a);
if (1 === d) {
return "";
}
var e = c.stringsCache || (c.stringsCache = []);
if (0 === (d & 1)) {
return e[d >> 1];
}
for (var d = d >> 1, l = new Uint8Array(d), n = 0;n < d;n++) {
l[n] = a.readByte();
}
d = b.StringUtilities.utf8encode(l);
e.push(d);
return d;
}
function c(a, c, e) {
if ("" === c) {
a.writeByte(1);
} else {
e = e.stringsCache || (e.stringsCache = []);
var l = e.indexOf(c);
if (0 <= l) {
d(a, l << 1);
} else {
for (e.push(c), c = b.StringUtilities.utf8decode(c), d(a, 1 | c.length << 1), e = 0;e < c.length;e++) {
a.writeByte(c[e]);
}
}
}
}
function n(b, c) {
var d = b.readByte();
switch(d) {
case 1:
return null;
case 0:
break;
case 2:
return!1;
case 3:
return!0;
case 4:
return m(b);
case 5:
return s(b);
case 6:
return a(b, c);
case 8:
return new Date(s(b));
case 10:
var e = m(b);
if (0 === (e & 1)) {
return c.objectsCache[e >> 1];
}
if (0 !== (e & 4)) {
throw "AMF3 Traits-Ext is not supported";
}
var l, f;
if (0 === (e & 2)) {
l = c.traitsCache[e >> 2], f = l.class;
} else {
l = {};
d = a(b, c);
f = (l.className = d) && k.aliasesCache.names[d];
l.class = f;
l.isDynamic = 0 !== (e & 8);
l.members = [];
for (var p = f && f.instanceBindings.slots, d = 0, e = e >> 4;d < e;d++) {
for (var g = a(b, c), w = null, e = 1;p && e < p.length;e++) {
if (p[e].name.name === g) {
w = p[e];
break;
}
}
l.members.push(w ? q.getQualifiedName(w.name) : q.getPublicQualifiedName(g));
}
(c.traitsCache || (c.traitsCache = [])).push(l);
}
p = f ? u(f, []) : {};
(c.objectsCache || (c.objectsCache = [])).push(p);
for (d = 0;d < l.members.length;d++) {
f = n(b, c), p[l.members[d]] = f;
}
if (l.isDynamic) {
for (;;) {
d = a(b, c);
if (!d.length) {
break;
}
f = n(b, c);
p.asSetPublicProperty(d, f);
}
}
return p;
case 9:
e = m(b);
if (0 === (e & 1)) {
return c.objectsCache[e >> 1];
}
l = [];
(c.objectsCache || (c.objectsCache = [])).push(l);
for (p = e >> 1;;) {
d = a(b, c);
if (!d.length) {
break;
}
f = n(b, c);
l.asSetPublicProperty(d, f);
}
for (d = 0;d < p;d++) {
f = n(b, c), l.asSetPublicProperty(d, f);
}
return l;
default:
throw "AMF3 Unknown marker " + d;;
}
}
function p(a, b, c) {
c = c.objectsCache || (c.objectsCache = []);
var e = c.indexOf(b);
if (0 > e) {
return c.push(b), !1;
}
d(a, e << 1);
return!0;
}
function e(a, h, n) {
switch(typeof h) {
case "boolean":
a.writeByte(h ? 3 : 2);
break;
case "number":
h === (h | 0) ? (a.writeByte(4), d(a, h)) : (a.writeByte(5), t(a, h));
break;
case "undefined":
a.writeByte(0);
break;
case "string":
a.writeByte(6);
c(a, h, n);
break;
case "object":
if (null === h) {
a.writeByte(1);
} else {
if (Array.isArray(h)) {
a.writeByte(9);
if (p(a, h, n)) {
break;
}
for (var f = 0;f in h;) {
++f;
}
d(a, f << 1 | 1);
l(h, function(d, h) {
b.isNumeric(d) && 0 <= d && d < f || (c(a, d, n), e(a, h, n));
});
c(a, "", n);
for (var g = 0;g < f;g++) {
e(a, h[g], n);
}
} else {
if (h instanceof Date) {
a.writeByte(8);
if (p(a, h, n)) {
break;
}
d(a, 1);
t(a, h.valueOf());
} else {
a.writeByte(10);
if (p(a, h, n)) {
break;
}
var g = !0, m = h.class;
if (m) {
var g = !m.classInfo.instanceInfo.isSealed(), u = k.aliasesCache.classes.get(m) || "", w, s = n.traitsCache || (n.traitsCache = []), K = n.traitsInfos || (n.traitsInfos = []), F = s.indexOf(m);
if (0 > F) {
var J = m.instanceBindings.slots;
w = [];
for (var F = [], A = 1;A < J.length;A++) {
var B = J[A];
B.name.getNamespace().isPublic() && (w.push(q.getQualifiedName(B.name)), F.push(B.name.name));
}
s.push(m);
K.push(w);
m = F.length;
d(a, (g ? 11 : 3) + (m << 4));
c(a, u, n);
for (A = 0;A < m;A++) {
c(a, F[A], n);
}
} else {
w = K[F], m = w.length, d(a, 1 + (F << 2));
}
for (A = 0;A < m;A++) {
e(a, h[w[A]], n);
}
} else {
d(a, 11), c(a, "", n);
}
g && (l(h, function(b, d) {
c(a, b, n);
e(a, d, n);
}), c(a, "", n));
}
}
}
;
}
}
var q = b.AVM2.ABC.Multiname, l = b.AVM2.Runtime.forEachPublicProperty, u = b.AVM2.Runtime.construct;
(function(a) {
a[a.NUMBER = 0] = "NUMBER";
a[a.BOOLEAN = 1] = "BOOLEAN";
a[a.STRING = 2] = "STRING";
a[a.OBJECT = 3] = "OBJECT";
a[a.NULL = 5] = "NULL";
a[a.UNDEFINED = 6] = "UNDEFINED";
a[a.REFERENCE = 7] = "REFERENCE";
a[a.ECMA_ARRAY = 8] = "ECMA_ARRAY";
a[a.OBJECT_END = 9] = "OBJECT_END";
a[a.STRICT_ARRAY = 10] = "STRICT_ARRAY";
a[a.DATE = 11] = "DATE";
a[a.LONG_STRING = 12] = "LONG_STRING";
a[a.XML = 15] = "XML";
a[a.TYPED_OBJECT = 16] = "TYPED_OBJECT";
a[a.AVMPLUS = 17] = "AVMPLUS";
})(k.AMF0Marker || (k.AMF0Marker = {}));
var w = function() {
function a() {
}
a.write = function(a, b) {
switch(typeof b) {
case "boolean":
a.writeByte(1);
a.writeByte(b ? 1 : 0);
break;
case "number":
a.writeByte(0);
t(a, b);
break;
case "undefined":
a.writeByte(6);
break;
case "string":
a.writeByte(2);
g(a, b);
break;
case "object":
null === b ? a.writeByte(5) : (Array.isArray(b) ? (a.writeByte(8), a.writeByte(b.length >>> 24 & 255), a.writeByte(b.length >> 16 & 255), a.writeByte(b.length >> 8 & 255), a.writeByte(b.length & 255), l(b, function(b, c) {
g(a, b);
this.write(a, c);
}, this)) : (a.writeByte(3), l(b, function(b, c) {
g(a, b);
this.write(a, c);
}, this)), a.writeByte(0), a.writeByte(0), a.writeByte(9));
}
};
a.read = function(a) {
var b = a.readByte();
switch(b) {
case 0:
return s(a);
case 1:
return!!a.readByte();
case 2:
return f(a);
case 3:
for (var c = {};;) {
b = f(a);
if (!b.length) {
break;
}
var d = this.read(a);
c.asSetPublicProperty(b, d);
}
if (9 !== a.readByte()) {
throw "AMF0 End marker is not found";
}
return c;
case 5:
return null;
case 6:
break;
case 8:
c = [];
for (c.length = a.readByte() << 24 | a.readByte() << 16 | a.readByte() << 8 | a.readByte();;) {
b = f(a);
if (!b.length) {
break;
}
d = this.read(a);
c.asSetPublicProperty(b, d);
}
if (9 !== a.readByte()) {
throw "AMF0 End marker is not found";
}
return c;
case 10:
c = [];
c.length = a.readByte() << 24 | a.readByte() << 16 | a.readByte() << 8 | a.readByte();
for (b = 0;b < c.length;b++) {
c[b] = this.read(a);
}
return c;
case 17:
return n(a, {});
default:
throw "AMF0 Unknown marker " + b;;
}
};
return a;
}();
k.AMF0 = w;
(function(a) {
a[a.UNDEFINED = 0] = "UNDEFINED";
a[a.NULL = 1] = "NULL";
a[a.FALSE = 2] = "FALSE";
a[a.TRUE = 3] = "TRUE";
a[a.INTEGER = 4] = "INTEGER";
a[a.DOUBLE = 5] = "DOUBLE";
a[a.STRING = 6] = "STRING";
a[a.XML_DOC = 7] = "XML_DOC";
a[a.DATE = 8] = "DATE";
a[a.ARRAY = 9] = "ARRAY";
a[a.OBJECT = 10] = "OBJECT";
a[a.XML = 11] = "XML";
a[a.BYTEARRAY = 12] = "BYTEARRAY";
a[a.VECTOR_INT = 13] = "VECTOR_INT";
a[a.VECTOR_UINT = 14] = "VECTOR_UINT";
a[a.VECTOR_DOUBLE = 15] = "VECTOR_DOUBLE";
a[a.VECTOR_OBJECT = 16] = "VECTOR_OBJECT";
a[a.DICTIONARY = 17] = "DICTIONARY";
})(k.AMF3Marker || (k.AMF3Marker = {}));
k.aliasesCache = {classes:new WeakMap, names:Object.create(null)};
w = function() {
function a() {
}
a.write = function(a, b) {
e(a, b, {});
};
a.read = function(a) {
return n(a, {});
};
return a;
}();
k.AMF3 = w;
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
console.timeEnd("Load AVM2 Dependencies");
console.time("Load Compiled Code Cache");
console.timeEnd("Load Compiled Code Cache");
console.time("Load Flash TS Dependencies");
(function(b) {
function k(a) {
var b = {};
a = a.split(",");
for (var c = 0;c < a.length;c++) {
b[a[c]] = !0;
}
return b;
}
var g = /^<([-A-Za-z0-9_]+)((?:\s+[-A-Za-z0-9_]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/, f = /^<\/([-A-Za-z0-9_]+)[^>]*>/, t = /([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g, s = k("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"), m = k("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"),
d = k("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"), a = k("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"), c = k("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"), n = k("script,style");
b.HTMLParser = function(b, e) {
function q() {
return this[this.length - 1];
}
function l(b, l, n, f) {
l = l.toLowerCase();
if (m[l]) {
for (;q() && d[q()];) {
k("", q());
}
}
a[l] && q() == l && k("", l);
(f = s[l] || !!f) || h.push(l);
if (e.start) {
var g = Object.create(null);
n.replace(t, function(a, b, d, h, e) {
b = b.toLowerCase();
g[b] = d ? d : h ? h : e ? e : c[b] ? b : "";
return a;
});
e.start && e.start(l, g, !!f);
}
}
function k(a, b) {
if (b) {
for (c = h.length - 1;0 <= c && h[c] != b;c--) {
}
} else {
var c = 0
}
if (0 <= c) {
for (var d = h.length - 1;d >= c;d--) {
e.end && e.end(h[d]);
}
h.length = c;
}
}
for (var w, r, h = [], x = b;b;) {
r = !0;
if (q() && n[q()]) {
b = b.replace(new RegExp("(.*)</" + q() + "[^>]*>"), function(a, b) {
b = b.replace(/\x3c!--(.*?)--\x3e/g, "$1").replace(/<!\[CDATA\[(.*?)]]\x3e/g, "$1");
e.chars && e.chars(b);
return "";
}), k("", q());
} else {
if (0 == b.indexOf("\x3c!--")) {
w = b.indexOf("--\x3e"), 0 <= w && (e.comment && e.comment(b.substring(4, w)), b = b.substring(w + 3), r = !1);
} else {
if (0 == b.indexOf("</")) {
if (w = b.match(f)) {
b = b.substring(w[0].length), w[0].replace(f, k), r = !1;
}
} else {
0 == b.indexOf("<") && (w = b.match(g)) && (b = b.substring(w[0].length), w[0].replace(g, l), r = !1);
}
}
r && (w = b.indexOf("<"), r = 0 > w ? b : b.substring(0, w), b = 0 > w ? "" : b.substring(w), e.chars && e.chars(r));
}
if (b == x) {
throw "Parse Error: " + b;
}
x = b;
}
k();
};
})(Shumway || (Shumway = {}));
(function(b) {
var k = b.Debug.notImplemented, g = b.Debug.somewhatImplemented, f = b.Bounds, t = b.ArrayUtilities.DataBuffer, s = b.ColorUtilities, m = b.AVM2.AS.flash;
(function(a) {
a[a.None = 0] = "None";
a[a.DirtyBounds = 1] = "DirtyBounds";
a[a.DirtyContent = 2] = "DirtyContent";
a[a.DirtyStyle = 4] = "DirtyStyle";
a[a.DirtyFlow = 8] = "DirtyFlow";
a[a.Dirty = a.DirtyBounds | a.DirtyContent | a.DirtyStyle | a.DirtyFlow] = "Dirty";
})(b.TextContentFlags || (b.TextContentFlags = {}));
var d = {lt:"<", gt:">", amp:"&", quot:'"', apos:"'"}, a = function() {
function a(b) {
this._id = m.display.DisplayObject.getNextSyncID();
this._bounds = new f(0, 0, 0, 0);
this._plainText = "";
this._autoSize = this._borderColor = this._backgroundColor = 0;
this._wordWrap = !1;
this.flags = 0;
this.defaultTextFormat = b || new m.text.TextFormat;
this.textRuns = [];
this.textRunData = new t;
this.coords = this.matrix = null;
}
a.prototype.parseHtml = function(a, c) {
"undefined" === typeof c && (c = !1);
var e = "", f = this.textRuns, l = f.length = 0, u = 0, w = this.defaultTextFormat.clone(), r = null, h = [], x;
b.HTMLParser(a, x = {chars:function(a) {
for (var c = "", h = 0;h < a.length;h++) {
var n = a.charAt(h);
if ("&" !== n) {
c += n;
} else {
if (n = b.StringUtilities.indexOfAny(a, ["&", ";"], h + 1), 0 < n) {
h = a.substring(h + 1, n);
if (1 < h.length && "#" === h.charAt(0)) {
var g = 0, g = 2 < h.length && "x" === h.charAt(1) ? parseInt(h.substring(1)) : parseInt(h.substring(2), 16), c = c + String.fromCharCode(g)
} else {
void 0 !== d[h] ? c += d[h] : b.Debug.unexpected(h);
}
h = n;
} else {
for (var p in d) {
if (a.indexOf(p, h + 1) === h + 1) {
c += d[p];
h += p.length;
break;
}
}
}
}
}
a = c;
e += a;
u += a.length;
u - l && (r && r.textFormat.equals(w) ? r.endIndex = u : (r = new m.text.TextRun(l, u, w), f.push(r)), l = u);
}, start:function(a, b) {
switch(a) {
case "a":
h.push(w);
g("<a/>");
var d = b.target || w.target, l = b.url || w.url;
if (d !== w.target || l !== w.url) {
w = w.clone(), w.target = d, w.url = l;
}
break;
case "b":
h.push(w);
w.bold || (w = w.clone(), w.bold = !0);
break;
case "font":
h.push(w);
var d = s.isValidHexColor(b.color) ? s.hexToRGB(b.color) : w.color, l = b.face || w.font, n = isNaN(b.size) ? w.size : +b.size;
if (d !== w.color || l !== w.font || n !== w.size) {
w = w.clone(), w.color = d, w.font = l, w.size = n;
}
break;
case "img":
k("<img/>");
break;
case "i":
h.push(w);
r || (w = w.clone(), w.italic = !0);
break;
case "li":
if (h.push(w), w.bullet || (w = w.clone(), w.bullet = !0), "\r" === e[e.length - 1]) {
break;
}
;
case "br":
c && x.chars("\r");
break;
case "p":
h.push(w);
d = b.align;
-1 < m.text.TextFormatAlign.toNumber(d) && d !== w.align && (w = w.clone(), w.align = d);
break;
case "textformat":
h.push(w);
var d = isNaN(b.blockindent) ? w.blockIndent : +b.blockindent, l = isNaN(b.indent) ? w.indent : +b.indent, n = isNaN(b.leading) ? w.leading : +b.leading, f = isNaN(b.leftmargin) ? w.leftMargin : +b.leftmargin, q = isNaN(b.rightmargin) ? w.rightMargin : +b.rightmargin;
if (d !== w.blockIndent || l !== w.indent || n !== w.leading || f !== w.leftMargin || q !== w.rightMargin) {
w = w.clone(), w.blockIndent = d, w.indent = l, w.leading = n, w.leftMargin = f, w.rightMargin = q;
}
break;
case "u":
h.push(w), w.underline || (w = w.clone(), w.underline = !0);
}
}, end:function(a) {
switch(a) {
case "li":
;
case "p":
c && x.chars("\r");
case "a":
;
case "b":
;
case "font":
;
case "i":
;
case "textformat":
;
case "u":
w = h.pop();
}
}});
this._plainText = e;
this.textRunData.clear();
for (var y = 0;y < f.length;y++) {
this._writeTextRun(f[y]);
}
this.flags |= 2;
};
Object.defineProperty(a.prototype, "plainText", {get:function() {
return this._plainText;
}, set:function(a) {
this._plainText = a;
this.textRuns.length = 0;
a = new m.text.TextRun(0, a.length, this.defaultTextFormat);
this.textRuns[0] = a;
this.textRunData.clear();
this._writeTextRun(a);
this.flags |= 2;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "bounds", {get:function() {
return this._bounds;
}, set:function(a) {
this._bounds.copyFrom(a);
this.flags |= 1;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "autoSize", {get:function() {
return this._autoSize;
}, set:function(a) {
a !== this._autoSize && (this._autoSize = a, this._plainText && (this.flags |= 8));
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "wordWrap", {get:function() {
return this._wordWrap;
}, set:function(a) {
a !== this._wordWrap && (this._wordWrap = a, this._plainText && (this.flags |= 8));
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "backgroundColor", {get:function() {
return this._backgroundColor;
}, set:function(a) {
a !== this._backgroundColor && (this._backgroundColor = a, this.flags |= 4);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "borderColor", {get:function() {
return this._borderColor;
}, set:function(a) {
a !== this._borderColor && (this._borderColor = a, this.flags |= 4);
}, enumerable:!0, configurable:!0});
a.prototype._writeTextRun = function(a) {
var b = this.textRunData;
b.writeInt(a.beginIndex);
b.writeInt(a.endIndex);
a = a.textFormat;
var c = +a.size;
b.writeInt(c);
var d = m.text.Font.getByName(a.font) || m.text.Font.getDefaultFont();
d.fontType === m.text.FontType.EMBEDDED ? b.writeInt(d._id) : (b.writeInt(0), b.writeUTF(m.text.Font.resolveFontName(d.fontName)));
b.writeInt(d.ascent * c);
b.writeInt(d.descent * c);
b.writeInt(null === a.leading ? d.leading * c : +a.leading);
c = null === a.bold ? d.fontStyle === m.text.FontStyle.BOLD || d.fontType === m.text.FontStyle.BOLD_ITALIC : !!a.bold;
d = null === a.italic ? d.fontStyle === m.text.FontStyle.ITALIC || d.fontType === m.text.FontStyle.BOLD_ITALIC : !!a.italic;
b.writeBoolean(c);
b.writeBoolean(d);
b.writeInt(+a.color);
b.writeInt(m.text.TextFormatAlign.toNumber(a.align));
b.writeBoolean(!!a.bullet);
b.writeInt(+a.indent);
b.writeInt(+a.kerning);
b.writeInt(+a.leftMargin);
b.writeInt(+a.letterSpacing);
b.writeInt(+a.rightMargin);
b.writeBoolean(!!a.underline);
};
return a;
}();
b.TextContent = a;
})(Shumway || (Shumway = {}));
var Shumway$$inline_423 = Shumway || (Shumway = {}), AVM2$$inline_424 = Shumway$$inline_423.AVM2 || (Shumway$$inline_423.AVM2 = {}), AS$$inline_425 = AVM2$$inline_424.AS || (AVM2$$inline_424.AS = {});
AS$$inline_425.flashOptions = Shumway$$inline_423.Settings.shumwayOptions.register(new Shumway$$inline_423.Options.OptionSet("Flash Options"));
AS$$inline_425.traceLoaderOption = AS$$inline_425.flashOptions.register(new Shumway$$inline_423.Options.Option("tp", "Trace Loader", "boolean", !1, "Trace loader execution."));
AS$$inline_425.disableAudioOption = AS$$inline_425.flashOptions.register(new Shumway$$inline_423.Options.Option("da", "Disable Audio", "boolean", !1, "Disables audio."));
var AS$$inline_426 = AVM2$$inline_424.AS, AVM2$$inline_427 = Shumway$$inline_423.AVM2, __extends = this.__extends || function(b, k) {
function g() {
this.constructor = b;
}
for (var f in k) {
k.hasOwnProperty(f) && (b[f] = k[f]);
}
g.prototype = k.prototype;
b.prototype = new g;
};
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(k) {
var s = function(b) {
function d(a, b, d, f, e, g) {
"undefined" === typeof a && (a = 1);
"undefined" === typeof b && (b = 0);
"undefined" === typeof d && (d = 0);
"undefined" === typeof f && (f = 1);
"undefined" === typeof e && (e = 0);
"undefined" === typeof g && (g = 0);
var l = this._data = new Float64Array(6);
l[0] = a;
l[1] = b;
l[2] = d;
l[3] = f;
l[4] = e;
l[5] = g;
}
__extends(d, b);
d.FromUntyped = function(a) {
return new f.geom.Matrix(a.a, a.b, a.c, a.d, a.tx, a.ty);
};
d.FromDataBuffer = function(a) {
return new f.geom.Matrix(a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat());
};
Object.defineProperty(d.prototype, "a", {get:function() {
return this._data[0];
}, set:function(a) {
this._data[0] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "b", {get:function() {
return this._data[1];
}, set:function(a) {
this._data[1] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "c", {get:function() {
return this._data[2];
}, set:function(a) {
this._data[2] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "d", {get:function() {
return this._data[3];
}, set:function(a) {
this._data[3] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "tx", {get:function() {
return this._data[4];
}, set:function(a) {
this._data[4] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "ty", {get:function() {
return this._data[5];
}, set:function(a) {
this._data[5] = a;
}, enumerable:!0, configurable:!0});
d.prototype.concat = function(a) {
var b = this._data;
a = a._data;
var d = b[0] * a[0], f = 0, e = 0, g = b[3] * a[3], l = b[4] * a[0] + a[4], m = b[5] * a[3] + a[5];
if (0 !== b[1] || 0 !== b[2] || 0 !== a[1] || 0 !== a[2]) {
d += b[1] * a[2], g += b[2] * a[1], f += b[0] * a[1] + b[1] * a[3], e += b[2] * a[0] + b[3] * a[2], l += b[5] * a[2], m += b[4] * a[1];
}
b[0] = d;
b[1] = f;
b[2] = e;
b[3] = g;
b[4] = l;
b[5] = m;
};
d.prototype.preMultiply = function(a) {
this.preMultiplyInto(a, this);
};
d.prototype.preMultiplyInto = function(a, b) {
var d = this._data, f = a._data, e = b._data, g = f[0] * d[0], l = 0, m = 0, k = f[3] * d[3], r = f[4] * d[0] + d[4], h = f[5] * d[3] + d[5];
if (0 !== f[1] || 0 !== f[2] || 0 !== d[1] || 0 !== d[2]) {
g += f[1] * d[2], k += f[2] * d[1], l += f[0] * d[1] + f[1] * d[3], m += f[2] * d[0] + f[3] * d[2], r += f[5] * d[2], h += f[4] * d[1];
}
e[0] = g;
e[1] = l;
e[2] = m;
e[3] = k;
e[4] = r;
e[5] = h;
};
d.prototype.invert = function() {
this.invertInto(this);
};
d.prototype.invertInto = function(a) {
var b = this._data, d = a._data, f = b[1], e = b[2], g = b[4], l = b[5];
if (0 === f && 0 === e) {
var m = d[0] = 1 / b[0], b = d[3] = 1 / b[3];
d[1] = d[2] = 0;
d[4] = -m * g;
d[5] = -b * l;
} else {
var m = b[0], b = b[3], k = m * b - f * e;
0 === k ? a.identity() : (k = 1 / k, a = 0, a = d[0] = b * k, f = d[1] = -f * k, e = d[2] = -e * k, b = d[3] = m * k, d[4] = -(a * g + e * l), d[5] = -(f * g + b * l));
}
};
d.prototype.identity = function() {
var a = this._data;
a[0] = a[3] = 1;
a[1] = a[2] = a[4] = a[5] = 0;
};
d.prototype.createBox = function(a, b, d, f, e) {
"undefined" === typeof d && (d = 0);
"undefined" === typeof f && (f = 0);
"undefined" === typeof e && (e = 0);
var g = this._data;
if (0 !== d) {
var l = Math.cos(d);
d = Math.sin(d);
g[0] = l * a;
g[1] = d * b;
g[2] = -d * a;
g[3] = l * b;
} else {
g[0] = a, g[1] = 0, g[2] = 0, g[3] = b;
}
g[4] = f;
g[5] = e;
};
d.prototype.createGradientBox = function(a, b, d, f, e) {
"undefined" === typeof d && (d = 0);
"undefined" === typeof f && (f = 0);
"undefined" === typeof e && (e = 0);
this.createBox(a / 1638.4, b / 1638.4, d, f + a / 2, e + b / 2);
};
d.prototype.rotate = function(a) {
a = +a;
if (0 !== a) {
var b = this._data, d = Math.cos(a);
a = Math.sin(a);
var f = b[0], e = b[1], g = b[2], l = b[3], m = b[4], k = b[5];
b[0] = f * d - e * a;
b[1] = f * a + e * d;
b[2] = g * d - l * a;
b[3] = g * a + l * d;
b[4] = m * d - k * a;
b[5] = m * a + k * d;
}
};
d.prototype.translate = function(a, b) {
var d = this._data;
d[4] += a;
d[5] += b;
};
d.prototype.scale = function(a, b) {
var d = this._data;
1 !== a && (d[0] *= a, d[2] *= a, d[4] *= a);
1 !== b && (d[1] *= b, d[3] *= b, d[5] *= b);
};
d.prototype.deltaTransformPoint = function(a) {
return new k.Point(this._data[0] * a.x + this._data[2] * a.y, this._data[1] * a.x + this._data[3] * a.y);
};
d.prototype.transformX = function(a, b) {
var d = this._data;
return d[0] * a + d[2] * b + d[4];
};
d.prototype.transformY = function(a, b) {
var d = this._data;
return d[1] * a + d[3] * b + d[5];
};
d.prototype.transformPoint = function(a) {
var b = this._data;
return new k.Point(b[0] * a.x + b[2] * a.y + b[4], b[1] * a.x + b[3] * a.y + b[5]);
};
d.prototype.transformPointInPlace = function(a) {
var b = this._data;
a.setTo(b[0] * a.x + b[2] * a.y + b[4], b[1] * a.x + b[3] * a.y + b[5]);
return a;
};
d.prototype.transformBounds = function(a) {
var b = this._data, d = b[0], f = b[1], e = b[2], g = b[3], l = b[4], m = b[5], k = a.xMin, r = a.yMin, h = a.width, x = a.height, b = Math.round(d * k + e * r + l), s = Math.round(f * k + g * r + m), t = Math.round(d * (k + h) + e * r + l), I = Math.round(f * (k + h) + g * r + m), C = Math.round(d * (k + h) + e * (r + x) + l), h = Math.round(f * (k + h) + g * (r + x) + m), d = Math.round(d * k + e * (r + x) + l), f = Math.round(f * k + g * (r + x) + m), g = 0;
b > t && (g = b, b = t, t = g);
C > d && (g = C, C = d, d = g);
a.xMin = b < C ? b : C;
a.xMax = t > d ? t : d;
s > I && (g = s, s = I, I = g);
h > f && (g = h, h = f, f = g);
a.yMin = s < h ? s : h;
a.yMax = I > f ? I : f;
};
d.prototype.getDeterminant = function() {
var a = this._data;
return a[0] * a[3] - a[1] * a[2];
};
d.prototype.getScaleX = function() {
var a = this._data;
if (1 === a[0] && 0 === a[1]) {
return 1;
}
a = Math.sqrt(a[0] * a[0] + a[1] * a[1]);
return 0 > this.getDeterminant() ? -a : a;
};
d.prototype.getScaleY = function() {
var a = this._data;
if (0 === a[2] && 1 === a[3]) {
return 1;
}
a = Math.sqrt(a[2] * a[2] + a[3] * a[3]);
return 0 > this.getDeterminant() ? -a : a;
};
d.prototype.getAbsoluteScaleX = function() {
return Math.abs(this.getScaleX());
};
d.prototype.getAbsoluteScaleY = function() {
return Math.abs(this.getScaleY());
};
d.prototype.getRotation = function() {
return Math.atan2(this._data[1], this._data[0]);
};
d.prototype.copyFrom = function(a) {
var b = this._data;
a = a._data;
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
b[3] = a[3];
b[4] = a[4];
b[5] = a[5];
};
d.prototype.setTo = function(a, b, d, f, e, g) {
var l = this._data;
l[0] = a;
l[1] = b;
l[2] = d;
l[3] = f;
l[4] = e;
l[5] = g;
};
d.prototype.toTwipsInPlace = function() {
var a = this._data;
a[4] = 20 * a[4] | 0;
a[5] = 20 * a[5] | 0;
return this;
};
d.prototype.toPixelsInPlace = function() {
var a = this._data;
a[4] /= 20;
a[5] /= 20;
return this;
};
d.prototype.copyRowTo = function(a, b) {
var d = this._data;
a >>>= 0;
0 === a ? (b.x = d[0], b.y = d[2], b.z = d[4]) : 1 === a ? (b.x = d[1], b.y = d[3], b.z = d[5]) : 2 === a && (b.x = 0, b.y = 0, b.z = 1);
};
d.prototype.copyColumnTo = function(a, b) {
var d = this._data;
a >>>= 0;
0 === a ? (b.x = d[0], b.y = d[1], b.z = 0) : 1 === a ? (b.x = d[2], b.y = d[3], b.z = 0) : 2 === a && (b.x = d[4], b.y = d[5], b.z = 1);
};
d.prototype.copyRowFrom = function(a, b) {
var d = this._data;
a >>>= 0;
0 === a ? (d[0] = b.x, d[2] = b.y, d[4] = b.z) : 1 === a && (d[1] = b.x, d[3] = b.y, d[5] = b.z);
};
d.prototype.copyColumnFrom = function(a, b) {
var d = this._data;
a >>>= 0;
0 === a ? (d[0] = b.x, d[2] = b.y, d[4] = b.z) : 1 === a && (d[1] = b.x, d[3] = b.y, d[5] = b.z);
};
d.prototype.updateScaleAndRotation = function(a, b, d) {
var f = this._data;
if (0 === d || 360 === d) {
f[0] = a, f[1] = f[2] = 0, f[3] = b;
} else {
var e = 0, g = 0;
switch(d) {
case 90:
;
case -270:
e = 0;
g = 1;
break;
case 180:
;
case -180:
e = -1;
g = 0;
break;
case 270:
;
case -90:
e = 0;
g = -1;
break;
default:
d = d / 180 * Math.PI, e = Math.cos(d), g = Math.sin(d);
}
f[0] = e * a;
f[1] = g * a;
f[2] = -g * b;
f[3] = e * b;
}
};
d.prototype.clone = function() {
var a = this._data;
return new f.geom.Matrix(a[0], a[1], a[2], a[3], a[4], a[5]);
};
d.prototype.equals = function(a) {
var b = this._data;
a = a._data;
return b[0] === a[0] && b[1] === a[1] && b[2] === a[2] && b[3] === a[3] && b[4] === a[4] && b[5] === a[5];
};
d.prototype.toString = function() {
var a = this._data;
return "(a=" + a[0] + ", b=" + a[1] + ", c=" + a[2] + ", d=" + a[3] + ", tx=" + a[4] + ", ty=" + a[5] + ")";
};
d.prototype.writeExternal = function(a) {
var b = this._data;
a.writeFloat(b[0]);
a.writeFloat(b[1]);
a.writeFloat(b[2]);
a.writeFloat(b[3]);
a.writeFloat(b[4]);
a.writeFloat(b[5]);
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.FROZEN_IDENTITY_MATRIX = Object.freeze(new d);
d.TEMP_MATRIX = new d;
return d;
}(b.ASNative);
k.Matrix = s;
})(f.geom || (f.geom = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
function s(a, b, c, d, l, g, m) {
var r = b * b, h = c * c, k = d * d, s = r + h + k, t = Math.sqrt(s);
b /= t;
c /= t;
d /= t;
r /= s;
h /= s;
k /= s;
s = Math.cos(a);
a = Math.sin(a);
return new f.geom.Matrix3D([r + (h + k) * s, b * c * (1 - s) + d * a, b * d * (1 - s) - c * a, 0, b * c * (1 - s) - d * a, h + (r + k) * s, c * d * (1 - s) + b * a, 0, b * d * (1 - s) + c * a, c * d * (1 - s) - b * a, k + (r + h) * s, 0, (l * (h + k) - b * (g * c + m * d)) * (1 - s) + (g * d - m * c) * a, (g * (r + k) - c * (l * b + m * d)) * (1 - s) + (m * b - l * d) * a, (m * (r + h) - d * (l * b + g * c)) * (1 - s) + (l * c - g * b) * a, 1]);
}
var m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = new Uint32Array([0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15]), c = function(b) {
function c(a) {
"undefined" === typeof a && (a = null);
this._matrix = new Float32Array(16);
a && 16 <= a.length ? this.copyRawDataFrom(a) : this.identity();
}
__extends(c, b);
c.interpolate = function(a, b, c) {
m("public flash.geom.Matrix3D::static interpolate");
};
Object.defineProperty(c.prototype, "rawData", {get:function() {
var a = new g.Float64Vector;
this.copyRawDataTo(a);
return a;
}, set:function(a) {
this.copyRawDataFrom(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "position", {get:function() {
var a = this._matrix;
return new f.geom.Vector3D(a[12], a[13], a[14]);
}, set:function(a) {
var b = this._matrix;
b[12] = a.x;
b[13] = a.y;
b[14] = a.z;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "determinant", {get:function() {
var a = this._matrix, b = a[4], c = a[8], d = a[12], f = a[5], n = a[9], h = a[13], g = a[6], p = a[10], m = a[14], k = a[7], s = a[11], t = a[15];
return a[0] * (f * (p * t - s * m) - g * (n * t - s * h) + k * (n * m - p * h)) - a[1] * (b * (p * t - s * m) - g * (c * t - s * d) + k * (c * m - p * d)) + a[2] * (b * (n * t - s * h) - f * (c * t - s * d) + k * (c * h - n * d)) - a[3] * (b * (n * m - p * h) - f * (c * m - p * d) + g * (c * h - n * d));
}, enumerable:!0, configurable:!0});
c.prototype.clone = function() {
return new f.geom.Matrix3D(this._matrix);
};
c.prototype.copyToMatrix3D = function(a) {
a._matrix.set(this._matrix);
};
c.prototype.append = function(a) {
var b = a._matrix, c = this._matrix;
a = this._matrix;
var d = b[0], f = b[4], n = b[8], h = b[12], g = b[1], p = b[5], m = b[9], k = b[13], s = b[2], t = b[6], O = b[10], K = b[14], F = b[3], J = b[7], A = b[11], b = b[15], B = c[0], z = c[4], P = c[8], D = c[12], L = c[1], M = c[5], V = c[9], Q = c[13], U = c[2], S = c[6], aa = c[10], $ = c[14], ea = c[3], Z = c[7], v = c[11], c = c[15];
a[0] = d * B + f * L + n * U + h * ea;
a[1] = g * B + p * L + m * U + k * ea;
a[2] = s * B + t * L + O * U + K * ea;
a[3] = F * B + J * L + A * U + b * ea;
a[4] = d * z + f * M + n * S + h * Z;
a[5] = g * z + p * M + m * S + k * Z;
a[6] = s * z + t * M + O * S + K * Z;
a[7] = F * z + J * M + A * S + b * Z;
a[8] = d * P + f * V + n * aa + h * v;
a[9] = g * P + p * V + m * aa + k * v;
a[10] = s * P + t * V + O * aa + K * v;
a[11] = F * P + J * V + A * aa + b * v;
a[12] = d * D + f * Q + n * $ + h * c;
a[13] = g * D + p * Q + m * $ + k * c;
a[14] = s * D + t * Q + O * $ + K * c;
a[15] = F * D + J * Q + A * $ + b * c;
};
c.prototype.prepend = function(a) {
var b = this._matrix, c = a._matrix;
a = this._matrix;
var d = b[0], f = b[4], n = b[8], h = b[12], g = b[1], p = b[5], m = b[9], k = b[13], s = b[2], t = b[6], O = b[10], K = b[14], F = b[3], J = b[7], A = b[11], b = b[15], B = c[0], z = c[4], P = c[8], D = c[12], L = c[1], M = c[5], V = c[9], Q = c[13], U = c[2], S = c[6], aa = c[10], $ = c[14], ea = c[3], Z = c[7], v = c[11], c = c[15];
a[0] = d * B + f * L + n * U + h * ea;
a[1] = g * B + p * L + m * U + k * ea;
a[2] = s * B + t * L + O * U + K * ea;
a[3] = F * B + J * L + A * U + b * ea;
a[4] = d * z + f * M + n * S + h * Z;
a[5] = g * z + p * M + m * S + k * Z;
a[6] = s * z + t * M + O * S + K * Z;
a[7] = F * z + J * M + A * S + b * Z;
a[8] = d * P + f * V + n * aa + h * v;
a[9] = g * P + p * V + m * aa + k * v;
a[10] = s * P + t * V + O * aa + K * v;
a[11] = F * P + J * V + A * aa + b * v;
a[12] = d * D + f * Q + n * $ + h * c;
a[13] = g * D + p * Q + m * $ + k * c;
a[14] = s * D + t * Q + O * $ + K * c;
a[15] = F * D + J * Q + A * $ + b * c;
};
c.prototype.invert = function() {
var a = this.determinant;
if (1E-7 > Math.abs(a)) {
return!1;
}
var a = 1 / a, b = this._matrix, c = b[0], d = b[1], f = b[2], n = b[3], h = b[4], g = b[5], p = b[6], m = b[7], k = b[8], s = b[9], t = b[10], O = b[11], K = b[12], F = b[13], J = b[14], A = b[15];
b[0] = a * (g * (t * A - J * O) - s * (p * A - J * m) + F * (p * O - t * m));
b[1] = -a * (d * (t * A - J * O) - s * (f * A - J * n) + F * (f * O - t * n));
b[2] = a * (d * (p * A - J * m) - g * (f * A - J * n) + F * (f * m - p * n));
b[3] = -a * (d * (p * O - t * m) - g * (f * O - t * n) + s * (f * m - p * n));
b[4] = -a * (h * (t * A - J * O) - k * (p * A - J * m) + K * (p * O - t * m));
b[5] = a * (c * (t * A - J * O) - k * (f * A - J * n) + K * (f * O - t * n));
b[6] = -a * (c * (p * A - J * m) - h * (f * A - J * n) + K * (f * m - p * n));
b[7] = a * (c * (p * O - t * m) - h * (f * O - t * n) + k * (f * m - p * n));
b[8] = a * (h * (s * A - F * O) - k * (g * A - F * m) + K * (g * O - s * m));
b[9] = -a * (c * (s * A - F * O) - k * (d * A - F * n) + K * (d * O - s * n));
b[10] = a * (c * (g * A - F * m) - h * (d * A - F * n) + K * (d * m - g * n));
b[11] = -a * (c * (g * O - s * m) - h * (d * O - s * n) + k * (d * m - g * n));
b[12] = -a * (h * (s * J - F * t) - k * (g * J - F * p) + K * (g * t - s * p));
b[13] = a * (c * (s * J - F * t) - k * (d * J - F * f) + K * (d * t - s * f));
b[14] = -a * (c * (g * J - F * p) - h * (d * J - F * f) + K * (d * p - g * f));
b[15] = a * (c * (g * t - s * p) - h * (d * t - s * f) + k * (d * p - g * f));
return!0;
};
c.prototype.identity = function() {
var a = this._matrix;
a[0] = a[5] = a[10] = a[15] = 1;
a[1] = a[2] = a[3] = a[4] = a[6] = a[7] = a[8] = a[9] = a[11] = a[12] = a[13] = a[14] = 0;
};
c.prototype.decompose = function(a) {
"undefined" === typeof a && (a = "eulerAngles");
d(a);
m("public flash.geom.Matrix3D::decompose");
};
c.prototype.recompose = function(a, b) {
"undefined" === typeof b && (b = "eulerAngles");
d(b);
m("public flash.geom.Matrix3D::recompose");
};
c.prototype.appendTranslation = function(a, b, c) {
a = +a;
b = +b;
c = +c;
var d = this._matrix, f = d[3], n = d[7], h = d[11], g = d[15];
d[0] += a * f;
d[1] += b * f;
d[2] += c * f;
d[4] += a * n;
d[5] += b * n;
d[6] += c * n;
d[8] += a * h;
d[9] += b * h;
d[10] += c * h;
d[12] += a * g;
d[13] += b * g;
d[14] += c * g;
};
c.prototype.appendRotation = function(a, b, c) {
"undefined" === typeof c && (c = null);
this.append(s(+a / 180 * Math.PI, b.x, b.y, b.z, c ? c.x : 0, c ? c.y : 0, c ? c.z : 0));
};
c.prototype.appendScale = function(a, b, c) {
a = +a;
b = +b;
c = +c;
var d = this._matrix;
d[0] *= a;
d[1] *= b;
d[2] *= c;
d[4] *= a;
d[5] *= b;
d[6] *= c;
d[8] *= a;
d[9] *= b;
d[10] *= c;
d[12] *= a;
d[13] *= b;
d[14] *= c;
};
c.prototype.prependTranslation = function(a, b, c) {
a = +a;
b = +b;
c = +c;
var d = this._matrix, f = d[1], n = d[5], h = d[9], g = d[2], p = d[6], m = d[10], k = d[3], s = d[7], t = d[11];
d[12] += d[0] * a + d[4] * b + d[8] * c;
d[13] += f * a + n * b + h * c;
d[14] += g * a + p * b + m * c;
d[15] += k * a + s * b + t * c;
};
c.prototype.prependRotation = function(a, b, c) {
"undefined" === typeof c && (c = null);
this.prepend(s(+a / 180 * Math.PI, b.x, b.y, b.z, c ? c.x : 0, c ? c.y : 0, c ? c.z : 0));
};
c.prototype.prependScale = function(a, b, c) {
a = +a;
b = +b;
c = +c;
var d = this._matrix;
d[0] *= a;
d[1] *= a;
d[2] *= a;
d[3] *= a;
d[4] *= b;
d[5] *= b;
d[6] *= b;
d[7] *= b;
d[8] *= c;
d[9] *= c;
d[10] *= c;
d[11] *= c;
};
c.prototype.transformVector = function(a) {
var b = this._matrix, c = a.x, d = a.y;
a = a.z;
return new f.geom.Vector3D(b[0] * c + b[4] * d + b[8] * a + b[12], b[1] * c + b[5] * d + b[9] * a + b[13], b[2] * c + b[6] * d + b[10] * a + b[14]);
};
c.prototype.deltaTransformVector = function(a) {
var b = this._matrix, c = a.x, d = a.y;
a = a.z;
return new f.geom.Vector3D(b[0] * c + b[4] * d + b[8] * a, b[1] * c + b[5] * d + b[9] * a, b[2] * c + b[6] * d + b[10] * a);
};
c.prototype.transformVectors = function(a, b) {
for (var c = this._matrix, d = c[0], f = c[4], n = c[8], h = c[12], g = c[1], p = c[5], m = c[9], k = c[13], s = c[2], t = c[6], O = c[10], c = c[14], K = 0;K < a.length - 2;K += 3) {
var F = a.asGetNumericProperty(K), J = a.asGetNumericProperty(K + 1), A = a.asGetNumericProperty(K + 2);
b.push(d * F + f * J + n * A + h);
b.push(g * F + p * J + m * A + k);
b.push(s * F + t * J + O * A + c);
}
};
c.prototype.transpose = function() {
var a = this._matrix, b;
b = a[1];
a[1] = a[4];
a[4] = b;
b = a[2];
a[2] = a[8];
a[5] = b;
b = a[3];
a[3] = a[12];
a[12] = b;
b = a[6];
a[6] = a[9];
a[9] = b;
b = a[7];
a[7] = a[13];
a[13] = b;
b = a[11];
a[11] = a[14];
a[14] = b;
};
c.prototype.pointAt = function(a, b, c) {
m("public flash.geom.Matrix3D::pointAt");
};
c.prototype.interpolateTo = function(a, b) {
m("public flash.geom.Matrix3D::interpolateTo");
};
c.prototype.copyFrom = function(a) {
this._matrix.set(a._matrix);
};
c.prototype.copyRawDataTo = function(b) {
var c = 0, d = !1;
"undefined" === typeof c && (c = 0);
"undefined" === typeof d && (d = !1);
var c = c >>> 0, f = this._matrix;
if (d) {
for (d = 0, c |= 0;16 > d;d++, c++) {
b.asSetNumericProperty(c, f[a[d]]);
}
} else {
for (d = 0, c |= 0;16 > d;d++, c++) {
b.asSetNumericProperty(c, f[d]);
}
}
};
c.prototype.copyRawDataFrom = function(b) {
var c = 0, d = !1;
"undefined" === typeof c && (c = 0);
"undefined" === typeof d && (d = !1);
var c = c >>> 0, f = this._matrix;
if (d) {
for (d = 0, c |= 0;16 > d;d++, c++) {
f[a[d]] = b.asGetNumericProperty(c) || 0;
}
} else {
for (d = 0, c |= 0;16 > d;d++, c++) {
f[d] = b.asGetNumericProperty(c) || 0;
}
}
};
c.prototype.copyRowTo = function(a, b) {
var c = a >>> 0 | 0, d = this._matrix;
b.x = d[c];
b.y = d[c + 4];
b.z = d[c + 8];
b.w = d[c + 12];
};
c.prototype.copyColumnTo = function(a, b) {
var c = a >>> 0 << 2, d = this._matrix;
b.x = d[c];
b.y = d[c + 1];
b.z = d[c + 2];
b.w = d[c + 3];
};
c.prototype.copyRowFrom = function(a, b) {
var c = a >>> 0 | 0, d = this._matrix;
d[c] = b.x;
d[c + 4] = b.y;
d[c + 8] = b.z;
d[c + 12] = b.w;
};
c.prototype.copyColumnFrom = function(a, b) {
var c = a >>> 0 << 2, d = this._matrix;
d[c] = b.x;
d[c + 1] = b.y;
d[c + 2] = b.z;
d[c + 3] = b.w;
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(g.ASNative);
k.Matrix3D = c;
})(f.geom || (f.geom = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.geom.Orientation3D");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.EULER_ANGLES = "eulerAngles";
a.AXIS_ANGLE = "axisAngle";
a.QUATERNION = "quaternion";
return a;
}(g.ASNative);
f.Orientation3D = m;
})(f.geom || (f.geom = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.geom.PerspectiveProjection");
}
__extends(a, b);
Object.defineProperty(a.prototype, "fieldOfView", {get:function() {
k("public flash.geom.PerspectiveProjection::get fieldOfView");
}, set:function(a) {
k("public flash.geom.PerspectiveProjection::set fieldOfView");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "projectionCenter", {get:function() {
k("public flash.geom.PerspectiveProjection::get projectionCenter");
}, set:function(a) {
k("public flash.geom.PerspectiveProjection::set projectionCenter");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "focalLength", {get:function() {
k("public flash.geom.PerspectiveProjection::get focalLength");
}, set:function(a) {
k("public flash.geom.PerspectiveProjection::set focalLength");
}, enumerable:!0, configurable:!0});
a.prototype.toMatrix3D = function() {
k("public flash.geom.PerspectiveProjection::toMatrix3D");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.PerspectiveProjection = m;
})(f.geom || (f.geom = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 0);
this.x = +a;
this.y = +b;
}
__extends(d, b);
Object.defineProperty(d.prototype, "native_x", {get:function() {
return this.x;
}, set:function(a) {
this.x = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_y", {get:function() {
return this.y;
}, set:function(a) {
this.y = a;
}, enumerable:!0, configurable:!0});
d.prototype.Point = function(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 0);
this.x = a;
this.y = b;
};
Object.defineProperty(d.prototype, "length", {get:function() {
return Math.sqrt(this.x * this.x + this.y * this.y);
}, enumerable:!0, configurable:!0});
d.interpolate = function(a, b, f) {
var g = 1 - f;
return new d(a.x * f + b.x * g, a.y * f + b.y * g);
};
d.distance = function(a, b) {
var d = b.x - a.x, f = b.y - a.y;
return 0 === d ? Math.abs(f) : 0 === f ? Math.abs(d) : Math.sqrt(d * d + f * f);
};
d.polar = function(a, b) {
a = +a;
b = +b;
return new d(a * Math.cos(b), a * Math.sin(b));
};
d.prototype.clone = function() {
return new d(this.x, this.y);
};
d.prototype.offset = function(a, b) {
this.x += +a;
this.y += +b;
};
d.prototype.equals = function(a) {
return this.x === a.x && this.y === a.y;
};
d.prototype.subtract = function(a) {
return new d(this.x - a.x, this.y - a.y);
};
d.prototype.add = function(a) {
return new d(this.x + a.x, this.y + a.y);
};
d.prototype.normalize = function(a) {
if (0 !== this.x || 0 !== this.y) {
a = +a / this.length, this.x *= a, this.y *= a;
}
};
d.prototype.copyFrom = function(a) {
this.x = a.x;
this.y = a.y;
};
d.prototype.setTo = function(a, b) {
this.x = +a;
this.y = +b;
};
d.prototype.toTwips = function() {
this.x = 20 * this.x | 0;
this.y = 20 * this.y | 0;
return this;
};
d.prototype.toPixels = function() {
this.x /= 20;
this.y /= 20;
return this;
};
d.prototype.round = function() {
this.x = Math.round(this.x);
this.y = Math.round(this.y);
return this;
};
d.prototype.toString = function() {
return "(x=" + this.x + ", y=" + this.y + ")";
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.ASNative);
f.Point = k;
})(f.geom || (f.geom = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d(a, b, d, f) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 0);
"undefined" === typeof d && (d = 0);
"undefined" === typeof f && (f = 0);
this.x = +a;
this.y = +b;
this.width = +d;
this.height = +f;
}
__extends(d, b);
d.FromBounds = function(a) {
var b = a.xMin, f = a.yMin;
return new d(b / 20, f / 20, (a.xMax - b) / 20, (a.yMax - f) / 20);
};
Object.defineProperty(d.prototype, "native_x", {get:function() {
return this.x;
}, set:function(a) {
this.x = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_y", {get:function() {
return this.y;
}, set:function(a) {
this.y = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_width", {get:function() {
return this.width;
}, set:function(a) {
this.width = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_height", {get:function() {
return this.height;
}, set:function(a) {
this.height = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "left", {get:function() {
return this.x;
}, set:function(a) {
a = +a;
this.width += this.x - a;
this.x = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "right", {get:function() {
return this.x + this.width;
}, set:function(a) {
this.width = +a - this.x;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "top", {get:function() {
return this.y;
}, set:function(a) {
a = +a;
this.height += this.y - a;
this.y = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "bottom", {get:function() {
return this.y + this.height;
}, set:function(a) {
this.height = +a - this.y;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "topLeft", {get:function() {
return new f.Point(this.left, this.top);
}, set:function(a) {
this.top = a.y;
this.left = a.x;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "bottomRight", {get:function() {
return new f.Point(this.right, this.bottom);
}, set:function(a) {
this.bottom = a.y;
this.right = a.x;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "size", {get:function() {
return new f.Point(this.width, this.height);
}, set:function(a) {
this.width = a.x;
this.height = a.y;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "area", {get:function() {
return this.width * this.height;
}, enumerable:!0, configurable:!0});
d.prototype.clone = function() {
return new d(this.x, this.y, this.width, this.height);
};
d.prototype.isEmpty = function() {
return 0 >= this.width || 0 >= this.height;
};
d.prototype.setEmpty = function() {
this.height = this.width = this.y = this.x = 0;
};
d.prototype.inflate = function(a, b) {
a = +a;
b = +b;
this.x -= a;
this.y -= b;
this.width += 2 * a;
this.height += 2 * b;
};
d.prototype.inflatePoint = function(a) {
this.inflate(a.x, a.y);
};
d.prototype.offset = function(a, b) {
this.x += +a;
this.y += +b;
};
d.prototype.offsetPoint = function(a) {
this.offset(a.x, a.y);
};
d.prototype.contains = function(a, b) {
a = +a;
b = +b;
return a >= this.x && a < this.right && b >= this.y && b < this.bottom;
};
d.prototype.containsPoint = function(a) {
return this.contains(a.x, a.y);
};
d.prototype.containsRect = function(a) {
var b = a.x + a.width, d = a.y + a.height, f = this.x + this.width, e = this.y + this.height;
return a.x >= this.x && a.x < f && a.y >= this.y && a.y < e && b > this.x && b <= f && d > this.y && d <= e;
};
d.prototype.intersection = function(a) {
return this.clone().intersectInPlace(a);
};
d.prototype.intersects = function(a) {
return Math.max(this.x, a.x) <= Math.min(this.right, a.right) && Math.max(this.y, a.y) <= Math.min(this.bottom, a.bottom);
};
d.prototype.intersectInPlace = function(a) {
var b = this.x, d = this.y, f = a.x, e = a.y, g = Math.max(b, f), b = Math.min(b + this.width, f + a.width);
if (g <= b && (f = Math.max(d, e), a = Math.min(d + this.height, e + a.height), f <= a)) {
return this.setTo(g, f, b - g, a - f), this;
}
this.setEmpty();
return this;
};
d.prototype.intersectInPlaceInt32 = function(a) {
var b = this.x | 0, d = this.y | 0, f = this.width | 0, e = this.height | 0, g = a.x | 0, l = a.width | 0, m = Math.max(b, g) | 0, b = Math.min(b + f | 0, g + l | 0) | 0;
if (m <= b && (f = a.y | 0, g = a.height | 0, a = Math.max(d, f) | 0, d = Math.min(d + e | 0, f + g | 0), a <= d)) {
return this.setTo(m, a, b - m, d - a), this;
}
this.setEmpty();
return this;
};
d.prototype.union = function(a) {
return this.clone().unionInPlace(a);
};
d.prototype.unionInPlace = function(a) {
if (!a.isEmpty()) {
if (this.isEmpty()) {
this.copyFrom(a);
} else {
var b = Math.min(this.x, a.x), d = Math.min(this.y, a.y);
this.setTo(b, d, Math.max(this.right, a.right) - b, Math.max(this.bottom, a.bottom) - d);
return this;
}
}
};
d.prototype.equals = function(a) {
return this.x === a.x && this.y === a.y && this.width === a.width && this.height === a.height;
};
d.prototype.copyFrom = function(a) {
this.x = a.x;
this.y = a.y;
this.width = a.width;
this.height = a.height;
};
d.prototype.setTo = function(a, b, d, f) {
this.x = +a;
this.y = +b;
this.width = +d;
this.height = +f;
};
d.prototype.toTwips = function() {
this.x = 20 * this.x | 0;
this.y = 20 * this.y | 0;
this.width = 20 * this.width | 0;
this.height = 20 * this.height | 0;
return this;
};
d.prototype.getBaseWidth = function(a) {
return Math.abs(Math.cos(a)) * this.width + Math.abs(Math.sin(a)) * this.height;
};
d.prototype.getBaseHeight = function(a) {
return Math.abs(Math.sin(a)) * this.width + Math.abs(Math.cos(a)) * this.height;
};
d.prototype.toPixels = function() {
this.x /= 20;
this.y /= 20;
this.width /= 20;
this.height /= 20;
return this;
};
d.prototype.snapInPlace = function() {
var a = Math.ceil(this.x + this.width), b = Math.ceil(this.y + this.height);
this.x = Math.floor(this.x);
this.y = Math.floor(this.y);
this.width = a - this.x;
this.height = b - this.y;
return this;
};
d.prototype.roundInPlace = function() {
var a = Math.round(this.x + this.width), b = Math.round(this.y + this.height);
this.x = Math.round(this.x);
this.y = Math.round(this.y);
this.width = a - this.x;
this.height = b - this.y;
return this;
};
d.prototype.toString = function() {
return "(x=" + this.x + ", y=" + this.y + ", w=" + this.width + ", h=" + this.height + ")";
};
d.prototype.writeExternal = function(a) {
a.writeFloat(this.x);
a.writeFloat(this.y);
a.writeFloat(this.width);
a.writeFloat(this.height);
};
d.prototype.readExternal = function(a) {
this.x = a.readFloat();
this.y = a.readFloat();
this.width = a.readFloat();
this.height = a.readFloat();
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.ASNative);
f.Rectangle = k;
})(f.geom || (f.geom = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
var s = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = b.AVM2.Runtime.throwError, a = b.AVM2.Errors, c = function(b) {
function c(b) {
b || d("ArgumentError", a.NullPointerError, "displayObject");
this._displayObject = b;
}
__extends(c, b);
Object.defineProperty(c.prototype, "matrix", {get:function() {
return this._displayObject._getMatrix().clone().toPixelsInPlace();
}, set:function(a) {
this._displayObject._setMatrix(a, !0);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "colorTransform", {get:function() {
return this._displayObject._colorTransform.clone();
}, set:function(a) {
this._displayObject._setColorTransform(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "concatenatedMatrix", {get:function() {
var a = this._displayObject._getConcatenatedMatrix().clone().toPixelsInPlace();
this._displayObject._stage || a.scale(5, 5);
return a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "concatenatedColorTransform", {get:function() {
return this._displayObject._getConcatenatedColorTransform();
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "pixelBounds", {get:function() {
s("public flash.geom.Transform::get pixelBounds");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "matrix3D", {get:function() {
var a = this._displayObject._matrix3D;
return a && a.clone();
}, set:function(b) {
k.Matrix3D.isType(b) || d("TypeError", a.CheckTypeFailedError, b, "flash.geom.Matrix3D");
b = b.rawData;
this.matrix = new f.geom.Matrix(b.asGetPublicProperty(0), b.asGetPublicProperty(1), b.asGetPublicProperty(4), b.asGetPublicProperty(5), b.asGetPublicProperty(12), b.asGetPublicProperty(13));
m("public flash.geom.Transform::set matrix3D");
}, enumerable:!0, configurable:!0});
c.prototype.getRelativeMatrix3D = function(a) {
s("public flash.geom.Transform::getRelativeMatrix3D");
};
Object.defineProperty(c.prototype, "perspectiveProjection", {get:function() {
s("public flash.geom.Transform::get perspectiveProjection");
}, set:function(a) {
s("public flash.geom.Transform::set perspectiveProjection");
}, enumerable:!0, configurable:!0});
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(g.ASNative);
k.Transform = c;
})(f.geom || (f.geom = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.geom.Utils3D");
}
__extends(a, b);
a.projectVector = function(a, b) {
k("public flash.geom.Utils3D::static projectVector");
};
a.projectVectors = function(a, b, d, e) {
k("public flash.geom.Utils3D::static projectVectors");
};
a.pointTowards = function(a, b, d, e, f) {
k("public flash.geom.Utils3D::static pointTowards");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.Utils3D = m;
})(f.geom || (f.geom = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d(a, b, d, f) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 0);
"undefined" === typeof d && (d = 0);
"undefined" === typeof f && (f = 0);
this.x = +a;
this.y = +b;
this.z = +d;
this.w = +f;
}
__extends(d, b);
Object.defineProperty(d.prototype, "native_x", {get:function() {
return this.x;
}, set:function(a) {
this.x = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_y", {get:function() {
return this.y;
}, set:function(a) {
this.y = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_z", {get:function() {
return this.z;
}, set:function(a) {
this.z = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "native_w", {get:function() {
return this.w;
}, set:function(a) {
this.w = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "length", {get:function() {
return Math.sqrt(this.lengthSquared);
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "lengthSquared", {get:function() {
return this.x * this.x + this.y * this.y + this.z * this.z;
}, enumerable:!0, configurable:!0});
d.angleBetween = function(a, b) {
return Math.acos(a.dotProduct(b) / (a.length * b.length));
};
d.distance = function(a, b) {
return a.subtract(b).length;
};
d.prototype.dotProduct = function(a) {
return this.x * a.x + this.y * a.y + this.z * a.z;
};
d.prototype.crossProduct = function(a) {
return new d(this.y * a.z - this.z * a.y, this.z * a.x - this.x * a.z, this.x * a.y - this.y * a.x, 1);
};
d.prototype.normalize = function() {
var a = this.length;
0 !== a ? (this.x /= a, this.y /= a, this.z /= a) : this.x = this.y = this.z = 0;
return a;
};
d.prototype.scaleBy = function(a) {
a = +a;
this.x *= a;
this.y *= a;
this.z *= a;
};
d.prototype.incrementBy = function(a) {
this.x += a.x;
this.y += a.y;
this.z += a.z;
};
d.prototype.decrementBy = function(a) {
this.x -= a.x;
this.y -= a.y;
this.z -= a.z;
};
d.prototype.add = function(a) {
return new d(this.x + a.x, this.y + a.y, this.z + a.z);
};
d.prototype.subtract = function(a) {
return new d(this.x - a.x, this.y - a.y, this.z - a.z);
};
d.prototype.negate = function() {
this.x = -this.x;
this.y = -this.y;
this.z = -this.z;
};
d.prototype.equals = function(a, b) {
return this.x === a.x && this.y === a.y && this.z === a.z && (!b || this.w === a.w);
};
d.prototype.nearEquals = function(a, b, d) {
return Math.abs(this.x - a.x) < b && Math.abs(this.y - a.y) < b && Math.abs(this.z - a.z) < b && (!d || Math.abs(this.w - a.w) < b);
};
d.prototype.project = function() {
this.x /= this.w;
this.y /= this.w;
this.z /= this.w;
};
d.prototype.copyFrom = function(a) {
this.x = a.x;
this.y = a.y;
this.z = a.z;
};
d.prototype.setTo = function(a, b, d) {
this.x = +a;
this.y = +b;
this.z = +d;
};
d.prototype.clone = function() {
return new d(this.x, this.y, this.z, this.w);
};
d.prototype.toString = function() {
return "Vector3D(" + this.x + ", " + this.y + ", " + this.z + ")";
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.X_AXIS = Object.freeze(new d(1, 0, 0));
d.Y_AXIS = Object.freeze(new d(0, 1, 0));
d.Z_AXIS = Object.freeze(new d(0, 0, 1));
return d;
}(b.ASNative);
f.Vector3D = k;
})(f.geom || (f.geom = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.accessibility.Accessibility");
}
__extends(a, b);
Object.defineProperty(a, "active", {get:function() {
k("public flash.accessibility.Accessibility::get active");
return a._active;
}, enumerable:!0, configurable:!0});
a.sendEvent = function(a, b, d, e) {
k("public flash.accessibility.Accessibility::static sendEvent");
};
a.updateProperties = function() {
k("public flash.accessibility.Accessibility::static updateProperties");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a._active = !1;
return a;
}(g.ASNative);
f.Accessibility = m;
})(f.accessibility || (f.accessibility = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.accessibility.AccessibilityImplementation");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.AccessibilityImplementation = m;
})(f.accessibility || (f.accessibility = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.ASNative);
f.AccessibilityProperties = k;
})(f.accessibility || (f.accessibility = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.assert, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function c(a, b, c) {
"undefined" === typeof b && (b = !1);
"undefined" === typeof c && (c = !1);
this._type = m(a);
this._bubbles = !!b;
this._cancelable = !!c;
this._currentTarget = this._target = null;
this._eventPhase = f.EventPhase.AT_TARGET;
this._isDefaultPrevented = this._stopImmediatePropagation = this._stopPropagation = !1;
}
__extends(c, a);
c.getInstance = function(a, b) {
var d;
"undefined" === typeof b && (b = !1);
"undefined" === typeof d && (d = !1);
var f = c._instances[a];
f || (f = new c(a, b, d), c._instances[a] = f);
f._bubbles = b;
f._cancelable = d;
return f;
};
c.getBroadcastInstance = function(a) {
var b, d;
"undefined" === typeof b && (b = !1);
"undefined" === typeof d && (d = !1);
var f = c._instances[a];
f || (f = new c(a, b, d), c._instances[a] = f, k(c.isBroadcastEventType(a)));
f._isBroadcastEvent = !0;
f._bubbles = b;
f._cancelable = d;
return f;
};
c.isBroadcastEventType = function(a) {
switch(a) {
case c.ENTER_FRAME:
;
case c.EXIT_FRAME:
;
case c.FRAME_CONSTRUCTED:
;
case c.RENDER:
;
case c.ACTIVATE:
;
case c.DEACTIVATE:
;
case c.AVM1_LOAD:
return!0;
}
return!1;
};
Object.defineProperty(c.prototype, "type", {get:function() {
return this._type;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "bubbles", {get:function() {
return this._bubbles;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "cancelable", {get:function() {
return this._cancelable;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "target", {get:function() {
return this._target;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "currentTarget", {get:function() {
return this._currentTarget;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "eventPhase", {get:function() {
return this._eventPhase;
}, enumerable:!0, configurable:!0});
c.prototype.stopPropagation = function() {
this._stopPropagation = !0;
};
c.prototype.stopImmediatePropagation = function() {
this._stopImmediatePropagation = this._stopPropagation = !0;
};
c.prototype.preventDefault = function() {
this._cancelable && (this._isDefaultPrevented = !0);
};
c.prototype.isDefaultPrevented = function() {
return this._isDefaultPrevented;
};
c.prototype.isBroadcastEvent = function() {
return!!this._isBroadcastEvent;
};
c.prototype.clone = function() {
return new c(this._type, this._bubbles, this._cancelable);
};
c.prototype.toString = function() {
return this.formatToString("Event", "type", "bubbles", "cancelable", "eventPhase");
};
c.prototype.formatToString = function(a) {
for (var b = [], c = 0;c < arguments.length - 1;c++) {
b[c] = arguments[c + 1];
}
for (var c = "[" + a, d = 0;d < b.length;d++) {
var f = b[d], g = this.asGetPublicProperty(f);
"string" === typeof g && (g = '"' + g + '"');
c += " " + f + "=" + g;
}
return c + "]";
};
c.classInitializer = function() {
c._instances = b.ObjectUtilities.createMap();
};
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
c.ACTIVATE = "activate";
c.ADDED = "added";
c.ADDED_TO_STAGE = "addedToStage";
c.CANCEL = "cancel";
c.CHANGE = "change";
c.CLEAR = "clear";
c.CLOSE = "close";
c.COMPLETE = "complete";
c.CONNECT = "connect";
c.COPY = "copy";
c.CUT = "cut";
c.DEACTIVATE = "deactivate";
c.ENTER_FRAME = "enterFrame";
c.FRAME_CONSTRUCTED = "frameConstructed";
c.EXIT_FRAME = "exitFrame";
c.FRAME_LABEL = "frameLabel";
c.ID3 = "id3";
c.INIT = "init";
c.MOUSE_LEAVE = "mouseLeave";
c.OPEN = "open";
c.PASTE = "paste";
c.REMOVED = "removed";
c.REMOVED_FROM_STAGE = "removedFromStage";
c.RENDER = "render";
c.RESIZE = "resize";
c.SCROLL = "scroll";
c.TEXT_INTERACTION_MODE_CHANGE = "textInteractionModeChange";
c.SELECT = "select";
c.SELECT_ALL = "selectAll";
c.SOUND_COMPLETE = "soundComplete";
c.TAB_CHILDREN_CHANGE = "tabChildrenChange";
c.TAB_ENABLED_CHANGE = "tabEnabledChange";
c.TAB_INDEX_CHANGE = "tabIndexChange";
c.UNLOAD = "unload";
c.FULLSCREEN = "fullScreen";
c.CONTEXT3D_CREATE = "context3DCreate";
c.TEXTURE_READY = "textureReady";
c.VIDEO_FRAME = "videoFrame";
c.SUSPEND = "suspend";
c.AVM1_INIT = "initialize";
c.AVM1_CONSTRUCT = "construct";
c.AVM1_LOAD = "load";
return c;
}(g.ASNative);
f.Event = d;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
var s = b.AVM2.Runtime.asCoerceString, m = b.ObjectUtilities.createEmptyObject, d = b.isFunction, a = b.isNullOrUndefined, c = b.AVM2.Runtime.throwError, n = b.Debug.assert, p = function() {
return function(a, b, c) {
this.listener = a;
this.useCapture = b;
this.priority = c;
};
}(), e = function() {
function a() {
this._aliasCount = 0;
this._entries = [];
}
a.prototype.isEmpty = function() {
return 0 === this._entries.length;
};
a.prototype.insert = function(a, b, c) {
for (var d = this._entries, e = d.length, f = e - 1;0 <= f;f--) {
var l = d[f];
if (l.listener === a) {
return;
}
if (c > l.priority) {
e = f;
} else {
break;
}
}
d = this.ensureNonAliasedEntries();
d.splice(e, 0, new p(a, b, c));
};
a.prototype.ensureNonAliasedEntries = function() {
var a = this._entries;
0 < this._aliasCount && (a = this._entries = a.slice(), this._aliasCount = 0);
return a;
};
a.prototype.remove = function(a) {
for (var b = this._entries, c = 0;c < b.length;c++) {
if (b[c].listener === a) {
this.ensureNonAliasedEntries().splice(c, 1);
break;
}
}
};
a.prototype.snapshot = function() {
this._aliasCount++;
return this._entries;
};
a.prototype.releaseSnapshot = function(a) {
this._entries === a && 0 < this._aliasCount && this._aliasCount--;
};
return a;
}(), q = function() {
function a() {
this.reset();
}
a.prototype.reset = function() {
this._queues = b.ObjectUtilities.createEmptyObject();
};
a.prototype.add = function(a, b) {
n(t.Event.isBroadcastEventType(a), "Can only register broadcast events.");
var c = this._queues[a] || (this._queues[a] = []);
0 <= c.indexOf(b) || c.push(b);
};
a.prototype.remove = function(a, b) {
n(t.Event.isBroadcastEventType(a), "Can only unregister broadcast events.");
var c = this._queues[a];
n(c, "There should already be a queue for this.");
var d = c.indexOf(b);
n(0 <= d, "Target should be somewhere in this queue.");
c[d] = null;
n(0 > c.indexOf(b), "Target shouldn't be in this queue anymore.");
};
a.prototype.dispatchEvent = function(a) {
n(a.isBroadcastEvent(), "Cannot dispatch non-broadcast events.");
var b = this._queues[a.type];
if (b) {
for (var c = 0, d = 0;d < b.length;d++) {
var e = b[d];
null === e ? c++ : e.dispatchEvent(a);
}
if (16 < c && c > b.length >> 1) {
c = [];
for (d = 0;d < b.length;d++) {
b[d] && c.push(b[d]);
}
this._queues[a.type] = c;
}
}
};
a.prototype.getQueueLength = function(a) {
return this._queues[a] ? this._queues[a].length : 0;
};
return a;
}();
t.BroadcastEventDispatchQueue = q;
var l = function(b) {
function l(a) {
"undefined" === typeof a && (a = null);
this._target = a || this;
}
__extends(l, b);
l.prototype._getListenersForType = function(a, b) {
var c = a ? this._captureListeners : this._targetOrBubblingListeners;
return c ? c[b] : null;
};
l.prototype._getListeners = function(a) {
return a ? this._captureListeners || (this._captureListeners = m()) : this._targetOrBubblingListeners || (this._targetOrBubblingListeners = m());
};
l.prototype.addEventListener = function(b, h, f, n, g) {
"undefined" === typeof f && (f = !1);
"undefined" === typeof n && (n = 0);
"undefined" === typeof g && (g = !1);
(2 > arguments.length || 5 < arguments.length) && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/addEventListener()", 2, arguments.length);
d(h) || c("TypeError", k.Errors.CheckTypeFailedError, h, "Function");
a(b) && c("TypeError", k.Errors.NullPointerError, "type");
b = s(b);
f = !!f;
n |= 0;
g = !!g;
var m = this._getListeners(f);
(m[b] || (m[b] = new e)).insert(h, f, n);
!f && t.Event.isBroadcastEventType(b) && l.broadcastEventDispatchQueue.add(b, this);
};
l.prototype.removeEventListener = function(b, h, e) {
"undefined" === typeof e && (e = !1);
(2 > arguments.length || 3 < arguments.length) && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/removeEventListener()", 2, arguments.length);
d(h) || c("TypeError", k.Errors.CheckTypeFailedError, h, "Function");
a(b) && c("TypeError", k.Errors.NullPointerError, "type");
b = s(b);
var f = this._getListeners(!!e), n = f[b];
n && (n.remove(h), n.isEmpty() && (!e && t.Event.isBroadcastEventType(b) && l.broadcastEventDispatchQueue.remove(b, this), f[b] = null));
};
l.prototype._hasTargetOrBubblingEventListener = function(a) {
return!(!this._targetOrBubblingListeners || !this._targetOrBubblingListeners[a]);
};
l.prototype._hasCaptureEventListener = function(a) {
return!(!this._captureListeners || !this._captureListeners[a]);
};
l.prototype._hasEventListener = function(a) {
return this._hasTargetOrBubblingEventListener(a) || this._hasCaptureEventListener(a);
};
l.prototype.hasEventListener = function(b) {
1 !== arguments.length && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/hasEventListener()", 1, arguments.length);
a(b) && c("TypeError", k.Errors.NullPointerError, "type");
b = s(b);
return this._hasEventListener(b);
};
l.prototype.willTrigger = function(b) {
1 !== arguments.length && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/hasEventListener()", 1, arguments.length);
a(b) && c("TypeError", k.Errors.NullPointerError, "type");
b = s(b);
if (this._hasEventListener(b)) {
return!0;
}
if (f.display.DisplayObject.isType(this)) {
var d = this._parent;
do {
if (d._hasEventListener(b)) {
return!0;
}
} while (d = d._parent);
}
return!1;
};
l.prototype._skipDispatchEvent = function(a) {
if (!a.isBroadcastEvent() && f.display.DisplayObject.isType(this)) {
for (var b = this;b;) {
if (b._hasEventListener(a.type)) {
return!1;
}
b = b._parent;
}
return!0;
}
return!this._hasEventListener(a.type);
};
l.prototype.dispatchEvent = function(a) {
if (this._skipDispatchEvent(a)) {
return!0;
}
1 !== arguments.length && c("ArgumentError", k.Errors.WrongArgumentCountError, "flash.events::EventDispatcher/dispatchEvent()", 1, arguments.length);
k.counter.count("EventDispatcher::dispatchEvent");
var b = a._type, d = this._target;
k.counter.count("EventDispatcher::dispatchEvent(" + b + ")");
var e = !0, g = [];
if (!a.isBroadcastEvent() && f.display.DisplayObject.isType(this)) {
for (var m = this._parent;m;) {
m._hasEventListener(b) && g.push(m), m = m._parent;
}
for (m = g.length - 1;0 <= m && e;m--) {
var p = g[m];
if (p._hasCaptureEventListener(b)) {
var q = p._getListenersForType(!0, b);
n(q);
e = l.callListeners(q, a, d, p, t.EventPhase.CAPTURING_PHASE);
}
}
}
e && (q = this._getListenersForType(!1, b)) && (e = l.callListeners(this._getListeners(!1)[b], a, d, d, t.EventPhase.AT_TARGET));
if (!a.isBroadcastEvent() && e && a.bubbles) {
for (m = 0;m < g.length && e;m++) {
p = g[m], p._hasTargetOrBubblingEventListener(b) && (q = p._getListenersForType(!1, b), e = l.callListeners(q, a, d, p, t.EventPhase.BUBBLING_PHASE));
}
}
return!a._isDefaultPrevented;
};
l.callListeners = function(a, b, c, d, e) {
if (a.isEmpty()) {
return!0;
}
b._target && (b = b.clone());
for (var f = a.snapshot(), l = 0;l < f.length;l++) {
var n = f[l];
b._target = c;
b._currentTarget = d;
b._eventPhase = e;
n.listener(b);
if (b._stopImmediatePropagation) {
break;
}
}
a.releaseSnapshot(f);
return!b._stopPropagation;
};
l.classInitializer = function() {
l.broadcastEventDispatchQueue = new q;
};
l.initializer = function() {
this._target = this;
this._targetOrBubblingListeners = this._captureListeners = null;
};
l.classSymbols = null;
l.instanceSymbols = null;
return l;
}(g.ASNative);
t.EventDispatcher = l;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
b.call(this);
k("Dummy Constructor: public flash.events.EventPhase");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.CAPTURING_PHASE = 1;
a.AT_TARGET = 2;
a.BUBBLING_PHASE = 3;
return a;
}(g.ASNative);
f.EventPhase = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e) {
b.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.TextEvent");
}
__extends(a, b);
a.prototype.copyNativeData = function(a) {
k("public flash.events.TextEvent::copyNativeData");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.LINK = "link";
a.TEXT_INPUT = "textInput";
return a;
}(f.events.Event);
g.TextEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e, m) {
b.call(this, void 0, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.ErrorEvent");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.ERROR = "error";
return a;
}(f.events.TextEvent);
g.ErrorEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e) {
b.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.GameInputEvent");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.DEVICE_ADDED = "deviceAdded";
a.DEVICE_REMOVED = "deviceRemoved";
return a;
}(f.events.Event);
g.GameInputEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.AVM2.Runtime.asCoerceString, m = b.Debug.notImplemented, d = b.Debug.somewhatImplemented, a = function(a) {
function b(d, e, f, l, n, g, r, h, k) {
a.call(this, void 0, void 0, void 0);
m("Dummy Constructor: public flash.events.GestureEvent");
}
__extends(b, a);
Object.defineProperty(b.prototype, "localX", {get:function() {
return this._localX;
}, set:function(a) {
this._localX = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "localY", {get:function() {
return this._localY;
}, set:function(a) {
this._localY = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "stageX", {get:function() {
d("public flash.events.GestureEvent::stageX");
return 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "stageY", {get:function() {
d("public flash.events.GestureEvent::stageY");
return 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "ctrlKey", {get:function() {
return this._ctrlKey;
}, set:function(a) {
this._ctrlKey = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "altKey", {get:function() {
return this._altKey;
}, set:function(a) {
this._altKey = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "shiftKey", {get:function() {
return this._shiftKey;
}, set:function(a) {
this._shiftKey = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "phase", {get:function() {
return this._phase;
}, set:function(a) {
this._phase = k(a);
}, enumerable:!0, configurable:!0});
b.prototype.updateAfterEvent = function() {
d("public flash.events.GestureEvent::updateAfterEvent");
};
b.prototype.NativeCtor = function(a, b, c, d, f, n) {
this._phase = k(a);
this._localX = +b;
this._localY = +c;
this._ctrlKey = !!d;
this._altKey = !!f;
this._shiftKey = !!n;
};
b.prototype.clone = function() {
return new f.events.GestureEvent(this.type, this.bubbles, this.cancelable, this.phase, this.localX, this.localY, this.ctrlKey, this.altKey, this.shiftKey);
};
b.prototype.toString = function() {
return this.formatToString("GestureEvent", "type", "bubbles", "cancelable", "eventPhase", "localX", "localY", "ctrlKey", "altKey", "shiftKey");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
b.GESTURE_TWO_FINGER_TAP = "gestureTwoFingerTap";
return b;
}(f.events.Event);
g.GestureEvent = a;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e) {
b.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.HTTPStatusEvent");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.HTTP_STATUS = "httpStatus";
a.HTTP_RESPONSE_STATUS = "httpResponseStatus";
return a;
}(f.events.Event);
g.HTTPStatusEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e, m) {
b.call(this, void 0, void 0, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.IOErrorEvent");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.IO_ERROR = "ioError";
a.NETWORK_ERROR = "networkError";
a.DISK_ERROR = "diskError";
a.VERIFY_ERROR = "verifyError";
return a;
}(f.events.ErrorEvent);
g.IOErrorEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.somewhatImplemented, m = b.Debug.notImplemented, d = function(a) {
function b(c, d, e, f, l, g, k, r, h) {
a.call(this, void 0, void 0, void 0);
m("Dummy Constructor: public flash.events.KeyboardEvent");
}
__extends(b, a);
b.prototype.updateAfterEvent = function() {
k("public flash.events.KeyboardEvent::updateAfterEvent");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
b.KEY_DOWN = "keyDown";
b.KEY_UP = "keyUp";
return b;
}(f.events.Event);
g.KeyboardEvent = d;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = function(a) {
function c(b, c, d, f, l, g, m, r, h, x, y) {
a.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.MouseEvent");
}
__extends(c, a);
c.typeFromDOMType = function(a) {
switch(a) {
case "click":
return c.CLICK;
case "dblclick":
return c.DOUBLE_CLICK;
case "mousedown":
return c.MOUSE_DOWN;
case "mousemove":
return c.MOUSE_MOVE;
case "mouseup":
return c.MOUSE_UP;
default:
k(a);
}
};
Object.defineProperty(c.prototype, "localX", {get:function() {
return this._localX / 20 | 0;
}, set:function(a) {
this._localX = 20 * a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "localY", {get:function() {
return this._localY / 20 | 0;
}, set:function(a) {
this._localY = 20 * a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "stageX", {get:function() {
return isNaN(this.localX + this.localY) ? Number.NaN : this._getGlobalPoint().x / 20 | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "stageY", {get:function() {
return isNaN(this.localX + this.localY) ? Number.NaN : this._getGlobalPoint().y / 20 | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "movementX", {get:function() {
m("public flash.events.MouseEvent::set movementX");
return this._movementX || 0;
}, set:function(a) {
this._movementX = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "movementY", {get:function() {
m("public flash.events.MouseEvent::set movementY");
return this._movementY || 0;
}, set:function(a) {
this._movementY = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "delta", {get:function() {
return this._delta;
}, set:function(a) {
this._delta = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "ctrlKey", {get:function() {
return this._ctrlKey;
}, set:function(a) {
this._ctrlKey = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "altKey", {get:function() {
return this._altKey;
}, set:function(a) {
this._altKey = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "shiftKey", {get:function() {
return this._shiftKey;
}, set:function(a) {
this._shiftKey = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "buttonDown", {get:function() {
return this._buttonDown;
}, set:function(a) {
this._buttonDown = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "relatedObject", {get:function() {
return this._relatedObject;
}, set:function(a) {
this._relatedObject = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "isRelatedObjectInaccessible", {get:function() {
return this._isRelatedObjectInaccessible;
}, set:function(a) {
this._isRelatedObjectInaccessible = a;
}, enumerable:!0, configurable:!0});
c.prototype.updateAfterEvent = function() {
b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].requestRendering();
};
c.prototype._getGlobalPoint = function() {
var a = this._position;
a || (a = this._position = new f.geom.Point);
this.target ? (a.setTo(this._localX, this._localY), this._target._getConcatenatedMatrix().transformPointInPlace(a)) : a.setTo(0, 0);
return a;
};
c.prototype.clone = function() {
return new f.events.MouseEvent(this.type, this.bubbles, this.cancelable, this.localX, this.localY, this.relatedObject, this.ctrlKey, this.altKey, this.shiftKey, this.buttonDown, this.delta);
};
c.prototype.toString = function() {
return this.formatToString("MouseEvent", "type", "bubbles", "cancelable", "eventPhase", "localX", "localY", "relatedObject", "ctrlKey", "altKey", "shiftKey", "buttonDown", "delta");
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
c.CLICK = "click";
c.DOUBLE_CLICK = "doubleClick";
c.MOUSE_DOWN = "mouseDown";
c.MOUSE_MOVE = "mouseMove";
c.MOUSE_OUT = "mouseOut";
c.MOUSE_OVER = "mouseOver";
c.MOUSE_UP = "mouseUp";
c.RELEASE_OUTSIDE = "releaseOutside";
c.MOUSE_WHEEL = "mouseWheel";
c.ROLL_OUT = "rollOut";
c.ROLL_OVER = "rollOver";
c.MIDDLE_CLICK = "middleClick";
c.MIDDLE_MOUSE_DOWN = "middleMouseDown";
c.MIDDLE_MOUSE_UP = "middleMouseUp";
c.RIGHT_CLICK = "rightClick";
c.RIGHT_MOUSE_DOWN = "rightMouseDown";
c.RIGHT_MOUSE_UP = "rightMouseUp";
c.CONTEXT_MENU = "contextMenu";
return c;
}(f.events.Event);
g.MouseEvent = d;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
(function(g) {
var k = function(b) {
function d(a, b, d, f) {
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.NET_STATUS = "netStatus";
return d;
}(b.events.Event);
g.NetStatusEvent = k;
})(b.events || (b.events = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e, m) {
b.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.ProgressEvent");
}
__extends(a, b);
Object.defineProperty(a.prototype, "bytesLoaded", {get:function() {
return this._bytesLoaded;
}, set:function(a) {
this._bytesLoaded = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "bytesTotal", {get:function() {
return this._bytesTotal;
}, set:function(a) {
this._bytesTotal = a;
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
return new f.events.ProgressEvent(this._type, this._bubbles, this._cancelable, this._bytesLoaded, this._bytesTotal);
};
a.prototype.toString = function() {
return this.formatToString("ProgressEvent", "bubbles", "cancelable", "eventPhase", "bytesLoaded", "bytesTotal");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.PROGRESS = "progress";
a.SOCKET_DATA = "socketData";
return a;
}(f.events.Event);
g.ProgressEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e, m) {
b.call(this, void 0, void 0, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.SecurityErrorEvent");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.SECURITY_ERROR = "securityError";
return a;
}(f.events.ErrorEvent);
g.SecurityErrorEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g) {
b.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.TimerEvent");
}
__extends(a, b);
a.prototype.updateAfterEvent = function() {
k("public flash.events.TimerEvent::updateAfterEvent");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.TIMER = "timer";
a.TIMER_COMPLETE = "timerComplete";
return a;
}(f.events.Event);
g.TimerEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e, m, l, u, w, r, h, x, y, t, I) {
b.call(this, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.TouchEvent");
}
__extends(a, b);
a.prototype.updateAfterEvent = function() {
k("public flash.events.TouchEvent::updateAfterEvent");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.TOUCH_BEGIN = "touchBegin";
a.TOUCH_END = "touchEnd";
a.TOUCH_MOVE = "touchMove";
a.TOUCH_OVER = "touchOver";
a.TOUCH_OUT = "touchOut";
a.TOUCH_ROLL_OVER = "touchRollOver";
a.TOUCH_ROLL_OUT = "touchRollOut";
a.TOUCH_TAP = "touchTap";
a.PROXIMITY_BEGIN = "proximityBegin";
a.PROXIMITY_END = "proximityEnd";
a.PROXIMITY_MOVE = "proximityMove";
a.PROXIMITY_OUT = "proximityOut";
a.PROXIMITY_OVER = "proximityOver";
a.PROXIMITY_ROLL_OUT = "proximityRollOut";
a.PROXIMITY_ROLL_OVER = "proximityRollOver";
return a;
}(f.events.Event);
g.TouchEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, f, g, e) {
b.call(this, void 0, void 0, void 0, void 0, void 0);
k("Dummy Constructor: public flash.events.UncaughtErrorEvent");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.UNCAUGHT_ERROR = "uncaughtError";
return a;
}(f.events.ErrorEvent);
g.UncaughtErrorEvent = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
b.call(this, void 0);
k("Dummy Constructor: public flash.events.UncaughtErrorEvents");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.UncaughtErrorEvents = m;
})(f.events || (f.events = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = b.isNullOrUndefined, a = b.AVM2.Runtime.asCoerceString, c = b.AVM2.Runtime.throwError, n = b.AVM2.Runtime.checkNullParameter, p = b.Debug.assert, e = b.Bounds, q = f.geom, l = f.events;
(function(a) {
a[a.None = 0] = "None";
a[a.Visible = 1] = "Visible";
a[a.InvalidLineBounds = 2] = "InvalidLineBounds";
a[a.InvalidFillBounds = 4] = "InvalidFillBounds";
a[a.InvalidMatrix = 8] = "InvalidMatrix";
a[a.InvalidInvertedMatrix = 16] = "InvalidInvertedMatrix";
a[a.InvalidConcatenatedMatrix = 32] = "InvalidConcatenatedMatrix";
a[a.InvalidInvertedConcatenatedMatrix = 64] = "InvalidInvertedConcatenatedMatrix";
a[a.InvalidConcatenatedColorTransform = 128] = "InvalidConcatenatedColorTransform";
a[a.Constructed = 256] = "Constructed";
a[a.Destroyed = 512] = "Destroyed";
a[a.OwnedByTimeline = 1024] = "OwnedByTimeline";
a[a.AnimatedByTimeline = 2048] = "AnimatedByTimeline";
a[a.HasFrameScriptPending = 4096] = "HasFrameScriptPending";
a[a.ContainsFrameScriptPendingChildren = 8192] = "ContainsFrameScriptPendingChildren";
a[a.CacheAsBitmap = 16384] = "CacheAsBitmap";
a[a.DirtyMatrix = 1048576] = "DirtyMatrix";
a[a.DirtyChildren = 2097152] = "DirtyChildren";
a[a.DirtyGraphics = 4194304] = "DirtyGraphics";
a[a.DirtyTextContent = 8388608] = "DirtyTextContent";
a[a.DirtyBitmapData = 16777216] = "DirtyBitmapData";
a[a.DirtyNetStream = 33554432] = "DirtyNetStream";
a[a.DirtyColorTransform = 67108864] = "DirtyColorTransform";
a[a.DirtyMask = 134217728] = "DirtyMask";
a[a.DirtyClipDepth = 268435456] = "DirtyClipDepth";
a[a.DirtyMiscellaneousProperties = 536870912] = "DirtyMiscellaneousProperties";
a[a.Dirty = a.DirtyMatrix | a.DirtyChildren | a.DirtyGraphics | a.DirtyTextContent | a.DirtyBitmapData | a.DirtyNetStream | a.DirtyColorTransform | a.DirtyMask | a.DirtyClipDepth | a.DirtyMiscellaneousProperties] = "Dirty";
})(g.DisplayObjectFlags || (g.DisplayObjectFlags = {}));
(function(a) {
a[a.None = 0] = "None";
a[a.Continue = 0] = "Continue";
a[a.Stop = 1] = "Stop";
a[a.Skip = 2] = "Skip";
a[a.FrontToBack = 8] = "FrontToBack";
a[a.Filter = 16] = "Filter";
})(g.VisitorFlags || (g.VisitorFlags = {}));
(function(a) {
a[a.HitTestBounds = 0] = "HitTestBounds";
a[a.HitTestBoundsAndMask = 1] = "HitTestBoundsAndMask";
a[a.HitTestShape = 2] = "HitTestShape";
a[a.Mouse = 3] = "Mouse";
a[a.ObjectsUnderPoint = 4] = "ObjectsUnderPoint";
})(g.HitTestingType || (g.HitTestingType = {}));
(function(a) {
a[a.None = 0] = "None";
a[a.Bounds = 1] = "Bounds";
a[a.Shape = 2] = "Shape";
})(g.HitTestingResult || (g.HitTestingResult = {}));
var u = function(u) {
function r() {
l.EventDispatcher.instanceConstructorNoInitialize.call(this);
this._addReference();
this._setFlags(256);
}
__extends(r, u);
r.getNextSyncID = function() {
return this._syncID++;
};
r.reset = function() {
r._advancableInstances = new b.WeakList;
};
r.createAnimatedDisplayObject = function(a, b) {
var c = a.symbol, d = c.symbolClass, c = d.isSubtypeOf(f.display.BitmapData) ? f.display.Bitmap.initializeFrom(c) : d.initializeFrom(c);
c._setFlags(2048);
c._setFlags(1024);
c._animate(a);
b && d.instanceConstructorNoInitialize.call(c);
return c;
};
r.performFrameNavigation = function(a, b) {
a ? (r._runScripts = b, k.enterTimeline("DisplayObject.performFrameNavigation", {instances:0})) : b = r._runScripts;
p(16384 > r._advancableInstances.length, "Too many advancable instances.");
r._advancableInstances.forEach(function(b) {
b._initFrame(a);
});
a && b && r._broadcastFrameEvent(l.Event.ENTER_FRAME);
r._advancableInstances.forEach(function(a) {
a._constructFrame();
});
b ? (r._broadcastFrameEvent(l.Event.FRAME_CONSTRUCTED), r._advancableInstances.forEach(function(a) {
g.MovieClip.isInstanceOf(a) && !a.parent && a._enqueueFrameScripts();
}), f.display.DisplayObject._stage._enqueueFrameScripts(), g.MovieClip.runFrameScripts(), r._broadcastFrameEvent(l.Event.EXIT_FRAME)) : g.MovieClip.reset();
a && (k.leaveTimeline(), r._runScripts = !0);
};
r._broadcastFrameEvent = function(a) {
var b;
switch(a) {
case l.Event.ENTER_FRAME:
;
case l.Event.FRAME_CONSTRUCTED:
;
case l.Event.EXIT_FRAME:
;
case l.Event.RENDER:
b = l.Event.getBroadcastInstance(a);
}
p(b, "Invalid frame event.");
l.EventDispatcher.broadcastEventDispatchQueue.dispatchEvent(b);
};
r.prototype._setInitialName = function() {
this._name = "instance" + f.display.DisplayObject._instanceID++;
};
r.prototype._setParent = function(a, b) {
var c = this._parent;
p(a !== this);
this._parent = a;
this._depth = b;
a && (this._addReference(), a && this._hasAnyFlags(12288) && a._propagateFlagsUp(8192));
c && this._removeReference();
};
r.prototype._setFillAndLineBoundsFromWidthAndHeight = function(a, b) {
this._fillBounds.width = a;
this._fillBounds.height = b;
this._lineBounds.width = a;
this._lineBounds.height = b;
this._removeFlags(6);
this._invalidateParentFillAndLineBounds(!0, !0);
};
r.prototype._setFillAndLineBoundsFromSymbol = function(a) {
p(a.fillBounds || a.lineBounds, "Fill or Line bounds are not defined in the symbol.");
a.fillBounds && (this._fillBounds.copyFrom(a.fillBounds), this._removeFlags(4));
a.lineBounds && (this._lineBounds.copyFrom(a.lineBounds), this._removeFlags(2));
this._invalidateParentFillAndLineBounds(!!a.fillBounds, !!a.lineBounds);
};
r.prototype._setFlags = function(a) {
this._displayObjectFlags |= a;
};
r.prototype._setDirtyFlags = function(a) {
this._displayObjectFlags |= a;
this._parent && this._parent._propagateFlagsUp(2097152);
};
r.prototype._toggleFlags = function(a, b) {
this._displayObjectFlags = b ? this._displayObjectFlags | a : this._displayObjectFlags & ~a;
};
r.prototype._removeFlags = function(a) {
this._displayObjectFlags &= ~a;
};
r.prototype._hasFlags = function(a) {
return(this._displayObjectFlags & a) === a;
};
r.prototype._hasAnyFlags = function(a) {
return!!(this._displayObjectFlags & a);
};
r.prototype._propagateFlagsUp = function(a) {
if (!this._hasFlags(a)) {
this._setFlags(a);
var b = this._parent;
b && b._propagateFlagsUp(a);
}
};
r.prototype._propagateFlagsDown = function(a) {
this._setFlags(a);
};
r.prototype._findNearestAncestor = function() {
for (var a = this;a;) {
if (!1 === a._hasFlags(128)) {
return a;
}
a = a._parent;
}
return null;
};
r.prototype._findFurthestAncestorOrSelf = function() {
for (var a = this;a;) {
if (!a._parent) {
return a;
}
a = a._parent;
}
};
r.prototype._isAncestor = function(a) {
for (;a;) {
if (a === this) {
return!0;
}
a = a._parent;
}
return!1;
};
r._clampRotation = function(a) {
a %= 360;
180 < a ? a -= 360 : -180 > a && (a += 360);
return a;
};
r._getAncestors = function(a, b) {
var c = r._path;
for (c.length = 0;a && a !== b;) {
c.push(a), a = a._parent;
}
p(a === b, "Last ancestor is not an ancestor.");
return c;
};
r.prototype._getConcatenatedMatrix = function() {
this._hasFlags(32) && (this._parent ? this._parent._getConcatenatedMatrix().preMultiplyInto(this._getMatrix(), this._concatenatedMatrix) : this._concatenatedMatrix.copyFrom(this._getMatrix()), this._removeFlags(32));
return this._concatenatedMatrix;
};
r.prototype._getInvertedConcatenatedMatrix = function() {
this._hasFlags(64) && (this._getConcatenatedMatrix().invertInto(this._invertedConcatenatedMatrix), this._removeFlags(64));
return this._invertedConcatenatedMatrix;
};
r.prototype._setMatrix = function(a, b) {
if (b || !this._matrix.equals(a)) {
var c = this._matrix;
c.copyFrom(a);
b && c.toTwipsInPlace();
this._scaleX = c.getScaleX();
this._scaleY = c.getScaleY();
this._rotation = r._clampRotation(180 * a.getRotation() / Math.PI);
this._removeFlags(8);
this._setFlags(16);
this._setDirtyFlags(1048576);
this._invalidatePosition();
}
};
r.prototype._getMatrix = function() {
this._hasFlags(8) && (this._matrix.updateScaleAndRotation(this._scaleX, this._scaleY, this._rotation), this._removeFlags(8));
return this._matrix;
};
r.prototype._getInvertedMatrix = function() {
this._hasFlags(16) && (this._getMatrix().invertInto(this._invertedMatrix), this._removeFlags(16));
return this._invertedMatrix;
};
r.prototype._getConcatenatedColorTransform = function() {
if (!this.stage) {
return this._colorTransform.clone();
}
if (this._hasFlags(128)) {
var a = this._findNearestAncestor(), b = r._getAncestors(this, a), c = b.length - 1;
f.display.Stage.isType(b[c]) && c--;
for (var d = a && !f.display.Stage.isType(a) ? a._concatenatedColorTransform.clone() : new q.ColorTransform;0 <= c;) {
a = b[c--], p(a._hasFlags(128)), d.preMultiply(a._colorTransform), d.convertToFixedPoint(), a._concatenatedColorTransform.copyFrom(d), a._removeFlags(128);
}
}
return this._concatenatedColorTransform;
};
r.prototype._setColorTransform = function(a) {
this._colorTransform.copyFrom(a);
this._colorTransform.convertToFixedPoint();
this._propagateFlagsDown(128);
this._setDirtyFlags(67108864);
};
r.prototype._invalidateFillAndLineBounds = function(a, b) {
this._propagateFlagsUp((b ? 2 : 0) | (a ? 4 : 0));
};
r.prototype._invalidateParentFillAndLineBounds = function(a, b) {
this._parent && this._parent._invalidateFillAndLineBounds(a, b);
};
r.prototype._getContentBounds = function(a) {
"undefined" === typeof a && (a = !0);
var b, c;
a ? (b = 2, c = this._lineBounds) : (b = 4, c = this._fillBounds);
if (this._hasFlags(b)) {
var d = this._getGraphics();
d ? c.copyFrom(d._getContentBounds(a)) : c.setEmpty();
this._getChildBounds(c, a);
this._removeFlags(b);
}
return c;
};
r.prototype._getChildBounds = function(a, b) {
};
r.prototype._getTransformedBounds = function(a, b) {
var c = this._getContentBounds(b).clone();
if (a === this || c.isEmpty()) {
return c;
}
var d;
a ? (d = q.Matrix.TEMP_MATRIX, a._getInvertedConcatenatedMatrix().preMultiplyInto(this._getConcatenatedMatrix(), d)) : d = this._getConcatenatedMatrix();
d.transformBounds(c);
return c;
};
r.prototype._stopTimelineAnimation = function() {
this._removeFlags(2048);
};
r.prototype._invalidateMatrix = function() {
this._setDirtyFlags(1048576);
this._setFlags(24);
this._invalidatePosition();
};
r.prototype._invalidatePosition = function() {
this._propagateFlagsDown(96);
this._invalidateParentFillAndLineBounds(!0, !0);
};
r.prototype._animate = function(a) {
a.matrix && this._setMatrix(a.matrix, !1);
a.colorTransform && this._setColorTransform(a.colorTransform);
this._ratio = a.ratio;
a.name && (this._name = a.name);
this._clipDepth !== a.clipDepth && 0 <= a.clipDepth && (this._clipDepth = a.clipDepth, this._setDirtyFlags(268435456));
this._filters = a.filters;
a.blendMode && a.blendMode !== this._blendMode && (this._blendMode = a.blendMode, this._setDirtyFlags(536870912));
a.cacheAsBitmap && (this._setFlags(16384), this._setDirtyFlags(536870912));
a.visible !== this._hasFlags(1) && (this._toggleFlags(1, a.visible), this._setDirtyFlags(536870912));
};
r.prototype._propagateEvent = function(a) {
this.visit(function(b) {
b.dispatchEvent(a);
return 0;
}, 0);
};
Object.defineProperty(r.prototype, "x", {get:function() {
var a = this._matrix.tx;
if (this._canHaveTextContent()) {
var b = this._getContentBounds(), a = a + b.xMin
}
return a / 20;
}, set:function(a) {
a = 20 * a | 0;
this._stopTimelineAnimation();
if (this._canHaveTextContent()) {
var b = this._getContentBounds();
a -= b.xMin;
}
a !== this._matrix.tx && (this._matrix.tx = a, this._invertedMatrix.tx = -a, this._invalidatePosition(), this._setDirtyFlags(1048576));
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "y", {get:function() {
var a = this._matrix.ty;
if (this._canHaveTextContent()) {
var b = this._getContentBounds(), a = a + b.yMin
}
return a / 20;
}, set:function(a) {
a = 20 * a | 0;
this._stopTimelineAnimation();
if (this._canHaveTextContent()) {
var b = this._getContentBounds();
a -= b.yMin;
}
a !== this._matrix.ty && (this._matrix.ty = a, this._invertedMatrix.ty = -a, this._invalidatePosition(), this._setDirtyFlags(1048576));
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "scaleX", {get:function() {
return Math.abs(this._scaleX);
}, set:function(a) {
a = +a;
this._stopTimelineAnimation();
a !== this._scaleX && (this._scaleX = a, this._invalidateMatrix());
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "scaleY", {get:function() {
return this._scaleY;
}, set:function(a) {
a = +a;
this._stopTimelineAnimation();
a !== this._scaleY && (this._scaleY = a, this._invalidateMatrix());
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "scaleZ", {get:function() {
return this._scaleZ;
}, set:function(a) {
s("public DisplayObject::set scaleZ");
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "rotation", {get:function() {
return this._rotation;
}, set:function(a) {
a = +a;
this._stopTimelineAnimation();
a = r._clampRotation(a);
a !== this._rotation && (this._rotation = a, this._invalidateMatrix());
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "rotationX", {get:function() {
return this._rotationX;
}, set:function(a) {
s("public DisplayObject::set rotationX");
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "rotationY", {get:function() {
return this._rotationY;
}, set:function(a) {
s("public DisplayObject::set rotationY");
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "rotationZ", {get:function() {
return this._rotationZ;
}, set:function(a) {
s("public DisplayObject::set rotationZ");
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "width", {get:function() {
return this._getTransformedBounds(this._parent, !0).width / 20;
}, set:function(a) {
a = 20 * a | 0;
this._stopTimelineAnimation();
if (!(0 > a)) {
var b = this._getContentBounds(!0);
if (this._canHaveTextContent()) {
var c = this._getContentBounds();
this._setFillAndLineBoundsFromWidthAndHeight(a, b.height);
} else {
var c = this._getTransformedBounds(this._parent, !0), d = this._rotation / 180 * Math.PI, e = b.getBaseWidth(d);
e && (this._scaleY = c.height / b.getBaseHeight(d), this._scaleX = a / e, this._invalidateMatrix());
}
}
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "height", {get:function() {
return this._getTransformedBounds(this._parent, !0).height / 20;
}, set:function(a) {
a = 20 * a | 0;
this._stopTimelineAnimation();
if (!(0 > a)) {
var b = this._getContentBounds(!0);
if (this._canHaveTextContent()) {
var c = this._getContentBounds();
this._setFillAndLineBoundsFromWidthAndHeight(b.width, a);
} else {
var c = this._getTransformedBounds(this._parent, !0), d = this._rotation / 180 * Math.PI, e = b.getBaseHeight(d);
e && (b = b.getBaseWidth(d), this._scaleY = a / e, this._scaleX = c.width / b, this._invalidateMatrix());
}
}
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "mask", {get:function() {
return this._mask;
}, set:function(a) {
this._stopTimelineAnimation();
if (this._mask !== a && a !== this) {
a && a._maskedObject && (a._maskedObject.mask = null);
if (this._mask = a) {
a._maskedObject = this;
}
this._setDirtyFlags(134217728);
}
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "transform", {get:function() {
return new f.geom.Transform(this);
}, set:function(a) {
this._stopTimelineAnimation();
a.matrix3D ? this._matrix3D = a.matrix3D : this._setMatrix(a.matrix, !0);
this._setColorTransform(a.colorTransform);
}, enumerable:!0, configurable:!0});
r.prototype.destroy = function() {
this._setFlags(512);
};
Object.defineProperty(r.prototype, "root", {get:function() {
var a = this;
do {
if (a._root === a) {
return a;
}
a = a._parent;
} while (a);
return null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "stage", {get:function() {
var a = this;
do {
if (a._stage === a) {
return p(f.display.Stage.isType(a)), a;
}
a = a._parent;
} while (a);
return null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "name", {get:function() {
return this._name;
}, set:function(b) {
n(b, "name");
this._name = a(b);
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "parent", {get:function() {
return this._parent;
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "visible", {get:function() {
return this._hasFlags(1);
}, set:function(a) {
this._stopTimelineAnimation();
a = !!a;
a !== this._hasFlags(1) && (this._toggleFlags(1, a), this._setDirtyFlags(536870912));
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "alpha", {get:function() {
return this._colorTransform.alphaMultiplier;
}, set:function(a) {
this._stopTimelineAnimation();
a = +a;
a !== this._colorTransform.alphaMultiplier && (this._colorTransform.alphaMultiplier = a, this._colorTransform.convertToFixedPoint(), this._propagateFlagsDown(128), this._setDirtyFlags(67108864));
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "blendMode", {get:function() {
return this._blendMode;
}, set:function(b) {
this._stopTimelineAnimation();
b = a(b);
b !== this._blendMode && (0 > g.BlendMode.toNumber(b) && c("ArgumentError", k.Errors.InvalidEnumError, "blendMode"), this._blendMode = b, this._setDirtyFlags(536870912));
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "scale9Grid", {get:function() {
return this._scale9Grid ? f.geom.Rectangle.FromBounds(this._scale9Grid) : null;
}, set:function(a) {
this._stopTimelineAnimation();
this._scale9Grid = e.FromRectangle(a);
this._setDirtyFlags(536870912);
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "cacheAsBitmap", {get:function() {
return 0 < this._filters.length || this._hasFlags(16384);
}, set:function(a) {
this._hasFlags(16384) || (this._toggleFlags(16384, !!a), this._setDirtyFlags(536870912));
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "filters", {get:function() {
return this._filters ? this._filters.map(function(a) {
return a.clone();
}) : [];
}, set:function(a) {
var b = !1;
d(a) ? (b = 0 < this.filters.length, this._filters.length = 0) : (this._filters = a.map(function(a) {
p(f.filters.BitmapFilter.isType(a));
return a.clone();
}), b = !0);
b && this._setDirtyFlags(536870912);
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "z", {get:function() {
return this._z;
}, set:function(a) {
this._z = +a;
s("public DisplayObject::set z");
}, enumerable:!0, configurable:!0});
r.prototype.getBounds = function(a) {
return q.Rectangle.FromBounds(this._getTransformedBounds(a || this, !0));
};
r.prototype.getRect = function(a) {
return q.Rectangle.FromBounds(this._getTransformedBounds(a || this, !1));
};
r.prototype.globalToLocal = function(a) {
return this._getInvertedConcatenatedMatrix().transformPointInPlace(a.clone().toTwips()).round().toPixels();
};
r.prototype.localToGlobal = function(a) {
return this._getConcatenatedMatrix().transformPointInPlace(a.clone().toTwips()).round().toPixels();
};
r.prototype.visit = function(a, b, c) {
"undefined" === typeof c && (c = 0);
var d, e, f = b & 8;
for (d = [this];0 < d.length;) {
e = d.pop();
var l = 0, l = b & 16 && !e._hasAnyFlags(c) ? 2 : a(e);
if (0 === l) {
if (e = e._children) {
for (var l = e.length, n = 0;n < l;n++) {
d.push(e[f ? n : l - 1 - n]);
}
}
} else {
if (1 === l) {
break;
}
}
}
};
Object.defineProperty(r.prototype, "loaderInfo", {get:function() {
var a = this.root;
return a ? (p(a._loaderInfo, "No LoaderInfo object found on root."), a._loaderInfo) : null;
}, enumerable:!0, configurable:!0});
r.prototype._canHaveGraphics = function() {
return!1;
};
r.prototype._getGraphics = function() {
return null;
};
r.prototype._canHaveTextContent = function() {
return!1;
};
r.prototype._getTextContent = function() {
return null;
};
r.prototype._ensureGraphics = function() {
p(this._canHaveGraphics());
if (this._graphics) {
return this._graphics;
}
this._graphics = new f.display.Graphics;
this._graphics._setParent(this);
this._invalidateFillAndLineBounds(!0, !0);
this._setDirtyFlags(4194304);
return this._graphics;
};
r.prototype._setStaticContentFromSymbol = function(a) {
p(!a.dynamic);
this._canHaveGraphics() ? (p(a instanceof b.Timeline.ShapeSymbol), this._graphics = a.graphics, this._setDirtyFlags(4194304)) : f.text.StaticText.isType(this) && (p(a instanceof b.Timeline.TextSymbol), this._textContent = a.textContent, this._setDirtyFlags(8388608));
this._setFillAndLineBoundsFromSymbol(a);
};
r.prototype.hitTestObject = function(a) {
p(a && r.isType(a));
var b = this._getContentBounds(!1).clone(), c = a._getContentBounds(!1).clone();
this._getConcatenatedMatrix().transformBounds(b);
a._getConcatenatedMatrix().transformBounds(c);
return b.intersects(c);
};
r.prototype.hitTestPoint = function(a, b, c) {
return!!this._containsGlobalPoint(20 * +a | 0, 20 * +b | 0, c ? 2 : 0, null);
};
r.prototype._containsPoint = function(a, b, c, d, e, f) {
a = this._boundsAndMaskContainPoint(a, b, c, d, e);
if (0 === a || 2 > e) {
return a;
}
(c = this._containsPointDirectly(c, d)) && f && (4 === e || g.InteractiveObject.isType(this) && this._mouseEnabled) && f.push(this);
return c ? 2 : a;
};
r.prototype._containsGlobalPoint = function(a, b, c, d) {
var e = this._getInvertedConcatenatedMatrix();
return this._containsPoint(a, b, e.transformX(a, b), e.transformY(a, b), c, d);
};
r.prototype._boundsAndMaskContainPoint = function(a, b, c, d, e) {
return this._hasFlags(1) && this._getContentBounds().contains(c, d) ? 0 !== e && this._mask ? this._mask._containsGlobalPoint(a, b, 1, null) : 1 : 0;
};
r.prototype._containsPointDirectly = function(a, b) {
var c = this._getGraphics();
return!!c && c._containsPoint(a, b, !0);
};
Object.defineProperty(r.prototype, "scrollRect", {get:function() {
return this._scrollRect ? this._scrollRect.clone() : null;
}, set:function(a) {
this._scrollRect = a ? a.clone() : null;
m("public DisplayObject::set scrollRect");
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "opaqueBackground", {get:function() {
return this._opaqueBackground;
}, set:function(a) {
p(null === a || b.isInteger(a));
this._opaqueBackground = a;
}, enumerable:!0, configurable:!0});
r.prototype._getDistance = function(a) {
for (var b = 0, c = this;c !== a;) {
b++, c = c._parent;
}
return b;
};
r.prototype.findNearestCommonAncestor = function(a) {
if (!a) {
return null;
}
for (var b = this, c = b._getDistance(null), d = a._getDistance(null);c > d;) {
b = b._parent, c--;
}
for (;d > c;) {
a = a._parent, d--;
}
for (;b !== a;) {
b = b._parent, a = a._parent;
}
return b;
};
Object.defineProperty(r.prototype, "mouseX", {get:function() {
return this.globalToLocal(f.ui.Mouse._currentPosition).x;
}, enumerable:!0, configurable:!0});
Object.defineProperty(r.prototype, "mouseY", {get:function() {
return this.globalToLocal(f.ui.Mouse._currentPosition).y;
}, enumerable:!0, configurable:!0});
r.prototype.debugName = function() {
return this._id + " [" + this._depth + "]: (" + this._referenceCount + ") " + this;
};
r.prototype.debugTrace = function(a, c) {
"undefined" === typeof a && (a = 1024);
"undefined" === typeof c && (c = "");
var d = this, e = new b.IndentingWriter;
this.visit(function(f) {
var l = f._getDistance(d);
if (l > a) {
return 2;
}
l = c + b.StringUtilities.multiple(" ", l);
e.writeLn(l + f.debugName());
return 0;
}, 0);
};
r.prototype._addReference = function() {
this._referenceCount++;
};
r.prototype._removeReference = function() {
this._referenceCount--;
if (0 === this._referenceCount && this._children) {
for (var a = this._children, b = 0;b < a.length;b++) {
a[b]._removeReference();
}
}
};
Object.defineProperty(r.prototype, "accessibilityProperties", {get:function() {
return this._accessibilityProperties;
}, set:function(a) {
this._accessibilityProperties = a;
}, enumerable:!0, configurable:!0});
r._syncID = 0;
r._instanceID = 1;
r.classInitializer = function() {
r.reset();
};
r.initializer = function(a) {
k.counter.count("DisplayObject::initializer");
this._id = f.display.DisplayObject.getNextSyncID();
this._displayObjectFlags = 1011875943;
this._stage = this._root = null;
this._setInitialName();
this._mask = this._parent = null;
this._z = 0;
this._scaleZ = this._scaleY = this._scaleX = 1;
this._height = this._width = this._rotationZ = this._rotationY = this._rotationX = this._rotation = 0;
this._scrollRect = this._opaqueBackground = null;
this._filters = [];
this._blendMode = g.BlendMode.NORMAL;
p(this._blendMode);
this._accessibilityProperties = this._loaderInfo = this._scale9Grid = null;
this._fillBounds = new e(0, 0, 0, 0);
this._lineBounds = new e(0, 0, 0, 0);
this._clipDepth = -1;
this._concatenatedMatrix = new q.Matrix;
this._invertedConcatenatedMatrix = new q.Matrix;
this._matrix = new q.Matrix;
this._invertedMatrix = new q.Matrix;
this._matrix3D = null;
this._colorTransform = new q.ColorTransform;
this._concatenatedColorTransform = new q.ColorTransform;
this._depth = -1;
this._ratio = 0;
this._index = -1;
this._maskedObject = null;
this._mouseDown = this._mouseOver = !1;
this._children = this._graphics = this._symbol = null;
this._referenceCount = 0;
a && (a.scale9Grid && (this._scale9Grid = a.scale9Grid), this._symbol = a);
};
r.classSymbols = null;
r.instanceSymbols = null;
r._runScripts = !0;
r._path = [];
return r;
}(f.events.EventDispatcher);
g.DisplayObject = u;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.AVM2.Runtime.asCoerceString, m = b.Debug.assert, d = b.AVM2.Runtime.throwError, a = function(a) {
function n(a, b, c) {
"undefined" === typeof a && (a = null);
"undefined" === typeof b && (b = "auto");
"undefined" === typeof c && (c = !1);
g.DisplayObject.instanceConstructorNoInitialize.call(this);
this._symbol ? this._bitmapData.class.instanceConstructorNoInitialize.call(this._bitmapData) : this.bitmapData = a;
this._pixelSnapping = s(b);
this._smoothing = !!c;
}
__extends(n, a);
Object.defineProperty(n.prototype, "pixelSnapping", {get:function() {
return this._pixelSnapping;
}, set:function(a) {
0 > g.PixelSnapping.toNumber(a) && d("ArgumentError", k.Errors.InvalidEnumError, "pixelSnapping");
this._pixelSnapping = s(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(n.prototype, "smoothing", {get:function() {
return this._smoothing;
}, set:function(a) {
this._smoothing = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(n.prototype, "bitmapData", {get:function() {
return this._bitmapData;
}, set:function(a) {
this._bitmapData !== a && (this._bitmapData && this._bitmapData._removeBitmapReferrer(this), a && a._addBitmapReferrer(this));
(this._bitmapData = a) && this._setFillAndLineBoundsFromWidthAndHeight(20 * a.width | 0, 20 * a.height | 0);
this._invalidateParentFillAndLineBounds(!0, !0);
this._setDirtyFlags(16777216);
}, enumerable:!0, configurable:!0});
n.prototype._getContentBounds = function(a) {
return this._bitmapData ? this._bitmapData._getContentBounds() : new b.Bounds(0, 0, 0, 0);
};
n.prototype._containsPointDirectly = function(a, b) {
m(this._getContentBounds().contains(a, b));
return!0;
};
n.classInitializer = null;
n.initializer = function(a) {
this._smoothing = this._pixelSnapping = this._bitmapData = null;
if (a) {
var b = a.symbolClass;
b.isSubtypeOf(f.display.Bitmap) && (b = f.display.BitmapData);
this._bitmapData = b.initializeFrom(a);
this._setFillAndLineBoundsFromWidthAndHeight(20 * a.width | 0, 20 * a.height | 0);
}
};
n.classSymbols = null;
n.instanceSymbols = null;
return n;
}(f.display.DisplayObject);
g.Bitmap = a;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
(function(g) {
var k = function(b) {
function d() {
g.DisplayObject.instanceConstructorNoInitialize.call(this);
}
__extends(d, b);
d.prototype._canHaveGraphics = function() {
return!0;
};
d.prototype._getGraphics = function() {
return this._graphics;
};
Object.defineProperty(d.prototype, "graphics", {get:function() {
return this._ensureGraphics();
}, enumerable:!0, configurable:!0});
d.prototype._containsPointDirectly = function(a, b) {
var d = this._getGraphics();
return!!d && d._containsPoint(a, b, !0);
};
d.classSymbols = null;
d.instanceSymbols = null;
d.classInitializer = null;
d.initializer = function(a) {
this._graphics = null;
a && this._setStaticContentFromSymbol(a);
};
return d;
}(b.display.DisplayObject);
g.Shape = k;
})(b.display || (b.display = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = f.display.DisplayObject, a = f.events, c = function(b) {
function c() {
d.instanceConstructorNoInitialize.call(this);
}
__extends(c, b);
Object.defineProperty(c.prototype, "tabEnabled", {get:function() {
return this._tabEnabled;
}, set:function(b) {
b = !!b;
var c = this._tabEnabled;
this._tabEnabled = b;
c !== b && this.dispatchEvent(a.Event.getInstance(a.Event.TAB_ENABLED_CHANGE, !0));
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "tabIndex", {get:function() {
return this._tabIndex;
}, set:function(b) {
b |= 0;
var c = this._tabIndex;
this._tabIndex = b;
c !== b && this.dispatchEvent(a.Event.getInstance(a.Event.TAB_INDEX_CHANGE, !0));
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "focusRect", {get:function() {
return this._focusRect;
}, set:function(a) {
m("public flash.display.InteractiveObject::set focusRect");
this._focusRect = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "mouseEnabled", {get:function() {
return this._mouseEnabled;
}, set:function(a) {
this._mouseEnabled = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "doubleClickEnabled", {get:function() {
return this._doubleClickEnabled;
}, set:function(a) {
this._doubleClickEnabled = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "accessibilityImplementation", {get:function() {
return this._accessibilityImplementation;
}, set:function(a) {
k("public flash.display.InteractiveObject::set accessibilityImplementation");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "softKeyboardInputAreaOfInterest", {get:function() {
return this._softKeyboardInputAreaOfInterest;
}, set:function(a) {
k("public flash.display.InteractiveObject::set softKeyboardInputAreaOfInterest");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "needsSoftKeyboard", {get:function() {
return this._needsSoftKeyboard;
}, set:function(a) {
k("public flash.display.InteractiveObject::set needsSoftKeyboard");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "contextMenu", {get:function() {
return this._contextMenu;
}, set:function(a) {
m("public flash.display.InteractiveObject::set contextMenu");
this._contextMenu = a;
}, enumerable:!0, configurable:!0});
c.prototype.requestSoftKeyboard = function() {
k("public flash.display.InteractiveObject::requestSoftKeyboard");
};
c.classInitializer = null;
c.initializer = function() {
this._tabEnabled = !1;
this._tabIndex = -1;
this._focusRect = null;
this._mouseEnabled = !0;
this._doubleClickEnabled = !1;
this._softKeyboardInputAreaOfInterest = this._accessibilityImplementation = null;
this._needsSoftKeyboard = !1;
this._contextMenu = null;
};
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(f.display.DisplayObject);
g.InteractiveObject = c;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.Debug.assert, d = function(a) {
function b(a, c, d, f) {
k("Dummy Constructor: public flash.display.SimpleButton");
}
__extends(b, a);
b.prototype._initFrame = function(a) {
a && this._updateButton();
};
b.prototype._constructFrame = function() {
};
Object.defineProperty(b.prototype, "useHandCursor", {get:function() {
return this._useHandCursor;
}, set:function(a) {
this._useHandCursor = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "enabled", {get:function() {
return this._enabled;
}, set:function(a) {
this._enabled = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "trackAsMenu", {get:function() {
return this._trackAsMenu;
}, set:function(a) {
k("public flash.display.SimpleButton::set trackAsMenu");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "upState", {get:function() {
return this._upState;
}, set:function(a) {
var b = this._upState;
a._parent && a._parent.removeChild(a);
this._upState = a;
this._currentState === b && this._updateButton();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "overState", {get:function() {
return this._overState;
}, set:function(a) {
var b = this._overState;
a._parent && a._parent.removeChild(a);
this._overState = a;
this._currentState === b && this._updateButton();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "downState", {get:function() {
return this._downState;
}, set:function(a) {
var b = this._downState;
a._parent && a._parent.removeChild(a);
this._downState = a;
this._currentState === b && this._updateButton();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "hitTestState", {get:function() {
return this._hitTestState;
}, set:function(a) {
this._hitTestState = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "soundTransform", {get:function() {
k("public flash.display.SimpleButton::get soundTransform");
}, set:function(a) {
k("public flash.display.SimpleButton::set soundTransform");
}, enumerable:!0, configurable:!0});
b.prototype._containsPoint = function(a, b, c, d, f, g) {
var k = this.hitTestState;
if (!k) {
return 0;
}
if (!this._symbol) {
var r = k._getInvertedMatrix(), h = r.transformX(c, d);
d = r.transformY(c, d);
c = h;
}
a = k._containsPoint(a, b, c, d, f, g);
0 !== a && 3 === f && g && this._mouseEnabled && (g[0] = this, m(1 === g.length));
return a;
};
b.prototype._getChildBounds = function(a, b) {
var c = this.hitTestState;
if (c) {
var d = c._getContentBounds(b).clone();
this._getConcatenatedMatrix().transformBounds(d);
this._symbol || c._getMatrix().transformBounds(a);
a.unionInPlace(d);
}
};
b.prototype._updateButton = function() {
var a;
a = this._mouseOver ? this._mouseDown ? this._downState : this._overState : this._upState;
a !== this._currentState && ((this._currentState = a) ? this._children[0] = a : this._children.length = 0, this._setDirtyFlags(2097152), this._invalidateFillAndLineBounds(!0, !0));
};
b.classInitializer = null;
b.initializer = function(a) {
g.DisplayObject._advancableInstances.push(this);
this._enabled = this._useHandCursor = !0;
this._trackAsMenu = !1;
this._currentState = this._hitTestState = this._downState = this._overState = this._upState = null;
this._children = [];
if (this._symbol = a) {
a.upState && (this._upState = g.DisplayObject.createAnimatedDisplayObject(a.upState, !0)), a.overState && (this._overState = g.DisplayObject.createAnimatedDisplayObject(a.overState, !0)), a.downState && (this._downState = g.DisplayObject.createAnimatedDisplayObject(a.downState, !0)), a.hitTestState && (this._hitTestState = g.DisplayObject.createAnimatedDisplayObject(a.hitTestState, !0));
}
};
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.display.InteractiveObject);
g.SimpleButton = d;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.Debug.assert, m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = b.AVM2.Runtime.throwError, c = b.AVM2.Runtime.checkParameterType, n = b.NumberUtilities.clamp, p = b.AVM2.ABC.Multiname, e = f.events, q = function(b) {
function q() {
g.InteractiveObject.instanceConstructorNoInitialize.call(this);
this._setDirtyFlags(2097152);
}
__extends(q, b);
q.prototype._invalidateChildren = function() {
this._setDirtyFlags(2097152);
this._invalidateFillAndLineBounds(!0, !0);
};
q.prototype._propagateFlagsDown = function(a) {
if (!this._hasFlags(a)) {
this._setFlags(a);
for (var b = this._children, c = 0;c < b.length;c++) {
b[c]._propagateFlagsDown(a);
}
}
};
q.prototype._constructChildren = function() {
k.counter.count("DisplayObjectContainer::_constructChildren");
for (var a = this._children, b = 0;b < a.length;b++) {
var c = a[b];
c._hasFlags(256) || (c.class.instanceConstructorNoInitialize.call(c), c._removeReference(), c._name && (this[p.getPublicQualifiedName(c._name)] = c), c._setFlags(256), c._symbol && c._symbol.isAVM1Object && (c.dispatchEvent(e.Event.getInstance(e.Event.AVM1_INIT)), c.dispatchEvent(e.Event.getInstance(e.Event.AVM1_CONSTRUCT))), c.dispatchEvent(e.Event.getInstance(e.Event.ADDED, !0)), c.stage && c.dispatchEvent(e.Event.getInstance(e.Event.ADDED_TO_STAGE)));
}
};
q.prototype._enqueueFrameScripts = function() {
if (this._hasFlags(8192)) {
this._removeFlags(8192);
for (var a = this._children, b = 0;b < a.length;b++) {
var c = a[b];
(q.isType(c) || g.AVM1Movie.isType(c)) && c._enqueueFrameScripts();
}
}
};
Object.defineProperty(q.prototype, "numChildren", {get:function() {
return this._children.length;
}, enumerable:!0, configurable:!0});
Object.defineProperty(q.prototype, "textSnapshot", {get:function() {
m("public DisplayObjectContainer::get textSnapshot");
}, enumerable:!0, configurable:!0});
Object.defineProperty(q.prototype, "tabChildren", {get:function() {
return this._tabChildren;
}, set:function(a) {
a = !!a;
var b = this._tabChildren;
this._tabChildren = a;
b !== a && this.dispatchEvent(e.Event.getInstance(e.Event.TAB_CHILDREN_CHANGE, !0));
}, enumerable:!0, configurable:!0});
Object.defineProperty(q.prototype, "mouseChildren", {get:function() {
return this._mouseChildren;
}, set:function(a) {
this._mouseChildren = !!a;
}, enumerable:!0, configurable:!0});
q.prototype.addChild = function(a) {
c(a, "child", f.display.DisplayObject);
return this.addChildAt(a, this._children.length);
};
q.prototype.addChildAt = function(b, d) {
c(b, "child", f.display.DisplayObject);
k.counter.count("DisplayObjectContainer::addChildAt");
d |= 0;
s(b._hasFlags(256), "Child is not fully constructed.");
b === this && a("ArgumentError", k.Errors.CantAddSelfError);
q.isType(b) && b.contains(this) && a("ArgumentError", k.Errors.CantAddParentError);
var h = this._children;
(0 > d || d > h.length) && a("RangeError", k.Errors.ParamRangeError);
if (b._parent === this) {
return this.setChildIndex(b, n(d, 0, h.length - 1)), b;
}
b._parent && (b._parent.removeChild(b), d = n(d, 0, h.length));
for (var l = h.length - 1;l >= d;l--) {
h[l]._index++;
}
h.splice(d, 0, b);
b._setParent(this, -1);
b._index = d;
b._invalidatePosition();
b.dispatchEvent(e.Event.getInstance(e.Event.ADDED, !0));
b.stage && b._propagateEvent(e.Event.getInstance(e.Event.ADDED_TO_STAGE));
this._invalidateChildren();
b._addReference();
return b;
};
q.prototype.addTimelineObjectAtDepth = function(a, b) {
k.counter.count("DisplayObjectContainer::addTimelineObjectAtDepth");
b |= 0;
for (var c = this._children, d = c.length - 1, e = d + 1, f = d;0 <= f;f--) {
var l = c[f];
if (l._depth) {
if (l._depth < b) {
e = f + 1;
break;
}
e = f;
}
}
if (e > d) {
c.push(a), a._index = e;
} else {
for (c.splice(e, 0, a), f = e;f < c.length;f++) {
c[f]._index = f;
}
}
a._setParent(this, b);
a._invalidatePosition();
this._invalidateChildren();
};
q.prototype.removeChild = function(a) {
c(a, "child", f.display.DisplayObject);
return this.removeChildAt(this.getChildIndex(a));
};
q.prototype.removeChildAt = function(b) {
k.counter.count("DisplayObjectContainer::removeChildAt");
b |= 0;
var c = this._children;
(0 > b || b >= c.length) && a("RangeError", k.Errors.ParamRangeError);
var d = c[b];
d._hasFlags(256) && (d.dispatchEvent(e.Event.getInstance(e.Event.REMOVED, !0)), this.stage && d._propagateEvent(e.Event.getInstance(e.Event.REMOVED_FROM_STAGE)), b = this.getChildIndex(d));
c.splice(b, 1);
for (var f = c.length - 1;f >= b;f--) {
c[f]._index--;
}
d._setParent(null, -1);
d._index = -1;
d._invalidatePosition();
this._invalidateChildren();
return d;
};
q.prototype.getChildIndex = function(b) {
c(b, "child", f.display.DisplayObject);
b._parent !== this && a("ArgumentError", k.Errors.NotAChildError);
return b._index;
};
q.prototype.setChildIndex = function(b, d) {
d |= 0;
c(b, "child", f.display.DisplayObject);
var h = this._children;
(0 > d || d >= h.length) && a("RangeError", k.Errors.ParamRangeError);
b._parent !== this && a("ArgumentError", k.Errors.NotAChildError);
b._depth = -1;
var e = this.getChildIndex(b);
if (1 !== h.length && e !== d) {
if (d === e + 1 || d === e - 1) {
this._swapChildrenAt(e, d);
} else {
for (h.splice(e, 1), h.splice(d, 0, b), e = e < d ? e : d;e < h.length;) {
h[e]._index = e++;
}
}
this._invalidateChildren();
}
};
q.prototype.getChildAt = function(b) {
b |= 0;
var c = this._children;
(0 > b || b >= c.length) && a("RangeError", k.Errors.ParamRangeError);
b = c[b];
if (!b._hasFlags(256)) {
return null;
}
b._addReference();
return b;
};
q.prototype.getTimelineObjectAtDepth = function(a) {
a |= 0;
for (var b = this._children, c = 0;c < b.length;c++) {
var d = b[c];
if (d._depth > a) {
break;
}
if (d._depth === a) {
return d;
}
}
return null;
};
q.prototype.getClipDepthIndex = function(a) {
a |= 0;
for (var b = this._children, c = this._children.length - 1, d = !0, e = c;0 <= e;e--) {
var f = b[e];
if (!(0 > f._depth)) {
if (f._depth <= a) {
return d ? c : e;
}
d = !1;
}
}
return 0;
};
q.prototype.getChildByName = function(a) {
a = d(a);
for (var b = this._children, c = 0;c < b.length;c++) {
var e = b[c];
if (e._hasFlags(256) && e.name === a) {
return e._addReference(), e;
}
}
return null;
};
q.prototype._containsPoint = function(a, b, c, d, e, f) {
var l = Math.min(e, 1), n = this._boundsAndMaskContainPoint(a, b, c, d, l);
if (0 === n || 2 > e) {
return n;
}
for (var l = !1, m = this._getUnclippedChildren(e, a, b), p = m ? m.length : 0;p--;) {
if (n = m[p]._containsGlobalPoint(a, b, e, f), 2 === n) {
if (3 > e) {
return n;
}
l = !0;
if (4 !== e) {
s(3 === e);
s(1 >= f.length);
if (!this._mouseEnabled) {
return f.length = 0, n;
}
this._mouseChildren || (f[0] = this);
if (0 !== f.length) {
return s(g.InteractiveObject.isType(f[0])), 2;
}
}
}
}
if (l && 4 !== e) {
return 3 === e && 0 === f.length && (f[0] = this), 2;
}
(a = this._containsPointDirectly(c, d)) && (4 === e || f && this._mouseEnabled) && f.push(this);
return l || a ? 2 : 0;
};
q.prototype._getUnclippedChildren = function(a, b, c) {
var d = this._children;
if (!d) {
return null;
}
for (var e, f = 0;d && f < d.length;f++) {
var l = d[f];
-1 !== l._clipDepth ? (e || (e = []), 2 !== a && (s(3 <= a), l._containsGlobalPoint(b, c, a, null) || (f = this.getClipDepthIndex(l._clipDepth)))) : e && e.push(l);
}
return e || d;
};
q.prototype._getChildBounds = function(a, b) {
for (var c = this._children, d = 0;d < c.length;d++) {
a.unionInPlace(c[d]._getTransformedBounds(this, b));
}
};
q.prototype.getObjectsUnderPoint = function(a) {
k.counter.count("DisplayObjectContainer::getObjectsUnderPoint");
var b = [];
this._containsGlobalPoint(20 * a.x | 0, 20 * a.y | 0, 4, b);
return b.reverse();
};
q.prototype.areInaccessibleObjectsUnderPoint = function(a) {
m("public DisplayObjectContainer::areInaccessibleObjectsUnderPoint");
};
q.prototype.contains = function(a) {
c(a, "child", f.display.DisplayObject);
return this._isAncestor(a);
};
q.prototype.swapChildrenAt = function(b, c) {
b |= 0;
c |= 0;
var d = this._children;
(0 > b || b >= d.length || 0 > c || c >= d.length) && a("RangeError", k.Errors.ParamRangeError);
b !== c && (this._swapChildrenAt(b, c), this._invalidateChildren());
};
q.prototype._swapChildrenAt = function(a, b) {
var c = this._children, d = c[a], e = c[b];
c[b] = d;
d._depth = -1;
d._index = b;
c[a] = e;
e._depth = -1;
e._index = a;
};
q.prototype.swapChildren = function(a, b) {
c(a, "child", f.display.DisplayObject);
c(b, "child", f.display.DisplayObject);
this.swapChildrenAt(this.getChildIndex(a), this.getChildIndex(b));
};
q.prototype.removeChildren = function(b, c) {
"undefined" === typeof b && (b = 0);
"undefined" === typeof c && (c = 2147483647);
b |= 0;
c |= 0;
(0 > b || 0 > c || c < b || c >= this._children.length) && a("RangeError", k.Errors.ParamRangeError);
var d = c - b + 1;
if (0 < d) {
for (;d--;) {
this.removeChildAt(b);
}
}
};
q.bindings = null;
q.classSymbols = null;
q.classInitializer = null;
q.initializer = function() {
this._mouseChildren = this._tabChildren = !0;
this._children = [];
};
return q;
}(f.display.InteractiveObject);
g.DisplayObjectContainer = q;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.JointStyle");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.ROUND;
case 1:
return a.BEVEL;
case 2:
return a.MITER;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.ROUND:
return 0;
case a.BEVEL:
return 1;
case a.MITER:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.ROUND = "round";
a.BEVEL = "bevel";
a.MITER = "miter";
return a;
}(g.ASNative);
f.JointStyle = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.CapsStyle");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.ROUND;
case 1:
return a.NONE;
case 2:
return a.SQUARE;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.ROUND:
return 0;
case a.NONE:
return 1;
case a.SQUARE:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.ROUND = "round";
a.NONE = "none";
a.SQUARE = "square";
return a;
}(g.ASNative);
f.CapsStyle = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.LineScaleMode");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.NONE;
case 1:
return a.NORMAL;
case 2:
return a.VERTICAL;
case 3:
return a.HORIZONTAL;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.NONE:
return 0;
case a.NORMAL:
return 1;
case a.VERTICAL:
return 2;
case a.HORIZONTAL:
return 3;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.NORMAL = "normal";
a.VERTICAL = "vertical";
a.HORIZONTAL = "horizontal";
a.NONE = "none";
return a;
}(g.ASNative);
f.LineScaleMode = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.GradientType");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 16:
return a.LINEAR;
case 18:
return a.RADIAL;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.LINEAR:
return 16;
case a.RADIAL:
return 18;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.LINEAR = "linear";
a.RADIAL = "radial";
return a;
}(g.ASNative);
f.GradientType = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.SpreadMethod");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.PAD;
case 1:
return a.REFLECT;
case 2:
return a.REPEAT;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.PAD:
return 0;
case a.REFLECT:
return 1;
case a.REPEAT:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.PAD = "pad";
a.REFLECT = "reflect";
a.REPEAT = "repeat";
return a;
}(g.ASNative);
f.SpreadMethod = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.InterpolationMethod");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.RGB;
case 1:
return a.LINEAR_RGB;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.RGB:
return 0;
case a.LINEAR_RGB:
return 1;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.RGB = "rgb";
a.LINEAR_RGB = "linearRGB";
return a;
}(g.ASNative);
f.InterpolationMethod = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d(a, b, d, f) {
"undefined" === typeof a && (a = null);
"undefined" === typeof b && (b = null);
"undefined" === typeof d && (d = !0);
"undefined" === typeof f && (f = !1);
this.bitmapData = a;
this.matrix = b;
this.repeat = !!d;
this.smooth = !!f;
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.ASNative);
f.GraphicsBitmapFill = k;
})(f.display || (f.display = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.GraphicsEndFill");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.GraphicsEndFill = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b, d, e, f, l, g, m) {
"undefined" === typeof a && (a = "linear");
"undefined" === typeof b && (b = null);
"undefined" === typeof d && (d = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = null);
"undefined" === typeof l && (l = "pad");
"undefined" === typeof g && (g = "rgb");
"undefined" === typeof m && (m = 0);
this.type = k(a);
this.colors = b;
this.alphas = d;
this.ratios = e;
this.matrix = f;
this.spreadMethod = l;
this.interpolationMethod = k(g);
this.focalPointRatio = +m;
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.GraphicsGradientFill = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b, d) {
"undefined" === typeof a && (a = null);
"undefined" === typeof b && (b = null);
"undefined" === typeof d && (d = "evenOdd");
this.commands = a;
this.data = b;
this.winding = k(d);
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.GraphicsPath = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.GraphicsPathCommand");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.NO_OP = void 0;
a.MOVE_TO = 1;
a.LINE_TO = 2;
a.CURVE_TO = 3;
a.WIDE_MOVE_TO = 4;
a.WIDE_LINE_TO = 5;
a.CUBIC_CURVE_TO = 6;
return a;
}(g.ASNative);
f.GraphicsPathCommand = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.GraphicsPathWinding");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.EVEN_ODD = "evenOdd";
a.NON_ZERO = "nonZero";
return a;
}(g.ASNative);
f.GraphicsPathWinding = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 1);
this.color = a >>> 0;
this.alpha = +b;
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.ASNative);
f.GraphicsSolidFill = k;
})(f.display || (f.display = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b, d, e, f, l, g) {
"undefined" === typeof a && (a = NaN);
"undefined" === typeof b && (b = !1);
"undefined" === typeof d && (d = "normal");
"undefined" === typeof e && (e = "none");
"undefined" === typeof f && (f = "round");
"undefined" === typeof l && (l = 3);
"undefined" === typeof g && (g = null);
this.thickness = +a;
this.pixelHinting = !!b;
this.scaleMode = k(d);
this.caps = k(e);
this.joints = k(f);
this.miterLimit = +l;
this.fill = g;
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.GraphicsStroke = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b(a, c, d, f) {
"undefined" === typeof f && (f = "none");
m(f);
k("Dummy Constructor: public flash.display.GraphicsTrianglePath");
}
__extends(b, a);
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.GraphicsTrianglePath = d;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Shumway$$inline_555 = Shumway || (Shumway = {}), AVM2$$inline_556 = Shumway$$inline_555.AVM2 || (Shumway$$inline_555.AVM2 = {}), AS$$inline_557 = AVM2$$inline_556.AS || (AVM2$$inline_556.AS = {}), flash$$inline_558 = AS$$inline_557.flash || (AS$$inline_557.flash = {}), display$$inline_559 = flash$$inline_558.display || (flash$$inline_558.display = {}), display$$inline_560 = flash$$inline_558.display, flash$$inline_561 = AS$$inline_557.flash, AS$$inline_562 = AVM2$$inline_556.AS, AVM2$$inline_563 =
Shumway$$inline_555.AVM2, Shumway$$inline_565 = Shumway || (Shumway = {}), AVM2$$inline_566 = Shumway$$inline_565.AVM2 || (Shumway$$inline_565.AVM2 = {}), AS$$inline_567 = AVM2$$inline_566.AS || (AVM2$$inline_566.AS = {}), flash$$inline_568 = AS$$inline_567.flash || (AS$$inline_567.flash = {}), display$$inline_569 = flash$$inline_568.display || (flash$$inline_568.display = {}), display$$inline_570 = flash$$inline_568.display, flash$$inline_571 = AS$$inline_567.flash, AS$$inline_572 = AVM2$$inline_566.AS,
AVM2$$inline_573 = Shumway$$inline_565.AVM2, Shumway$$inline_575 = Shumway || (Shumway = {}), AVM2$$inline_576 = Shumway$$inline_575.AVM2 || (Shumway$$inline_575.AVM2 = {}), AS$$inline_577 = AVM2$$inline_576.AS || (AVM2$$inline_576.AS = {}), flash$$inline_578 = AS$$inline_577.flash || (AS$$inline_577.flash = {}), display$$inline_579 = flash$$inline_578.display || (flash$$inline_578.display = {}), display$$inline_580 = flash$$inline_578.display, flash$$inline_581 = AS$$inline_577.flash, AS$$inline_582 =
AVM2$$inline_576.AS, AVM2$$inline_583 = Shumway$$inline_575.AVM2, Shumway$$inline_585 = Shumway || (Shumway = {}), AVM2$$inline_586 = Shumway$$inline_585.AVM2 || (Shumway$$inline_585.AVM2 = {}), AS$$inline_587 = AVM2$$inline_586.AS || (AVM2$$inline_586.AS = {}), flash$$inline_588 = AS$$inline_587.flash || (AS$$inline_587.flash = {}), display$$inline_589 = flash$$inline_588.display || (flash$$inline_588.display = {}), display$$inline_590 = flash$$inline_588.display, flash$$inline_591 = AS$$inline_587.flash,
AS$$inline_592 = AVM2$$inline_586.AS, AVM2$$inline_593 = Shumway$$inline_585.AVM2, Shumway$$inline_595 = Shumway || (Shumway = {}), AVM2$$inline_596 = Shumway$$inline_595.AVM2 || (Shumway$$inline_595.AVM2 = {}), AS$$inline_597 = AVM2$$inline_596.AS || (AVM2$$inline_596.AS = {}), flash$$inline_598 = AS$$inline_597.flash || (AS$$inline_597.flash = {}), display$$inline_599 = flash$$inline_598.display || (flash$$inline_598.display = {}), display$$inline_600 = flash$$inline_598.display, flash$$inline_601 =
AS$$inline_597.flash, AS$$inline_602 = AVM2$$inline_596.AS, AVM2$$inline_603 = Shumway$$inline_595.AVM2;
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
function s(a, b, c, d) {
a = c - a;
b = d - b;
return a * a + b * b;
}
function m(a, b, c, d) {
var h = 1 - d;
return a * h * h + 2 * b * h * d + c * d * d;
}
function d(a, b, c) {
var d = (a - b) / (a - 2 * b + c);
return 0 > d ? a : 1 < d ? c : m(a, b, c, d);
}
function a(a, b, c, d, h) {
var e = h * h, f = 1 - h, l = f * f;
return a * f * l + 3 * b * h * l + 3 * c * f * e + d * h * e;
}
function c(b, c, d, h) {
var e = c - b, f;
f = 2 * (d - c);
var l = h - d;
e + l === f && (l *= 1.0001);
var g = 2 * e - f, n = f - 2 * e, n = Math.sqrt(n * n - 4 * e * (e - f + l));
f = 2 * (e - f + l);
e = (g + n) / f;
g = (g - n) / f;
n = [];
0 <= e && 1 >= e && n.push(Math.round(a(b, c, d, h, e)));
0 <= g && 1 >= g && n.push(Math.round(a(b, c, d, h, g)));
return n;
}
function n(a, b, c, d, h, e, f, l, g) {
function n(a) {
return a * (q + a * (u + a * w)) + b - g;
}
function m(b) {
0 > b ? b = 0 : 1 < b && (b = 1);
return a + b * (r + b * (s + b * x));
}
function k(a, b, c, d) {
if (!(Math.abs(c - b) <= d)) {
var h = .5 * (b + c);
0 >= a(b) * a(c) ? (t = b, y = c) : (k(a, b, h, d), k(a, h, c, d));
}
}
var r = 3 * (c - a), q = 3 * (d - b), s = 3 * (h - c) - r, u = 3 * (e - d) - q, x = f - a - r - s, w = l - b - q - u, t = 0, y = 1;
k(n, 0, 1, .05);
e = p(t, y, n);
if (1E-5 < Math.abs(n(e))) {
return[];
}
c = [];
1 >= e && c.push(m(e));
d = w;
h = e * d + u;
f = h * h - 4 * d * (e * h + q);
if (0 > f) {
return c;
}
f = Math.sqrt(f);
d = 1 / (d + d);
e = (f - h) * d;
d *= -h - f;
0 <= e && 1 >= e && c.push(m(e));
0 <= d && 1 >= d && c.push(m(d));
return c;
}
function p(a, b, c) {
var d, h, e, f, l, g, n = a;
h = c(a);
if (0 === h) {
return a;
}
f = c(b);
if (0 === f) {
return b;
}
if (0 < f * h) {
return a;
}
for (var m = 0, p = 0;50 > p;++p) {
m++;
d = .5 * (b + a);
e = c(d);
if (0 === e) {
break;
}
if (1E-6 > Math.abs(d - a)) {
break;
}
0 < e * h && (a = b, b = h, h = f, f = b);
b = e - h;
g = f - e;
l = f - h;
if (f * l < 2 * e * b) {
b = d, f = e;
} else {
f = (d - a) / b;
b = (b - g) / (g * l);
b = a - f * h * (1 - b * e);
f = c(b);
if (0 === f || 1E-6 > Math.abs(b - n)) {
return b;
}
n = b;
0 > f * h || (a = b, h = f, b = d, f = e);
}
}
return d;
}
function e(a, b, c, d, h, e) {
return e > b !== d > b && a < (c - h) * (b - e) / (d - e) + h;
}
var q = b.Debug.notImplemented, l = b.AVM2.Runtime.asCoerceString, u = b.AVM2.Runtime.throwError, w = b.NumberUtilities.clamp, r = b.Bounds, h = b.Debug.assert, x = b.Debug.assertUnreachable, y = f.display.GradientType, G = f.display.SpreadMethod, I = f.display.InterpolationMethod, C = f.display.LineScaleMode, E = f.display.CapsStyle, O = f.display.JointStyle, K = b.ShapeData, F = function(g) {
function p() {
this._id = f.display.DisplayObject.getNextSyncID();
this._graphicsData = new K;
this._textures = [];
this._fillBounds = new r(134217728, 134217728, 134217728, 134217728);
this._lineBounds = new r(134217728, 134217728, 134217728, 134217728);
this._lastX = this._lastY = 0;
this._boundsIncludeLastCoordinates = !1;
this._parent = null;
this._topLeftStrokeWidth = this._bottomRightStrokeWidth = 0;
this._isDirty = !0;
}
__extends(p, g);
p.FromData = function(a) {
var b = new f.display.Graphics;
b._graphicsData = K.FromPlainObject(a.shape);
a.lineBounds && (b._lineBounds.copyFrom(a.lineBounds), b._fillBounds.copyFrom(a.fillBounds || a.lineBounds));
return b;
};
p.prototype.getGraphicsData = function() {
return this._graphicsData;
};
p.prototype.getUsedTextures = function() {
return this._textures;
};
p.prototype._setStrokeWidth = function(a) {
switch(a) {
case 1:
this._topLeftStrokeWidth = 0;
this._bottomRightStrokeWidth = 1;
break;
case 3:
this._topLeftStrokeWidth = 1;
this._bottomRightStrokeWidth = 2;
break;
default:
this._bottomRightStrokeWidth = this._topLeftStrokeWidth = a = Math.ceil(.5 * a) | 0;
}
};
p.prototype._setParent = function(a) {
h(!this._parent);
this._parent = a;
};
p.prototype._invalidateParent = function() {
h(this._parent, "Graphics instances must have a parent.");
this._parent._invalidateFillAndLineBounds(!0, !0);
this._parent._setDirtyFlags(4194304);
};
p.prototype._invalidate = function() {
this._invalidateParent();
this._isDirty = !0;
};
p.prototype._getContentBounds = function(a) {
"undefined" === typeof a && (a = !0);
return a ? this._lineBounds : this._fillBounds;
};
p.prototype.clear = function() {
this._graphicsData.isEmpty() || (this._graphicsData.clear(), this._textures.length = 0, this._fillBounds.setToSentinels(), this._lineBounds.setToSentinels(), this._lastX = this._lastY = 0, this._boundsIncludeLastCoordinates = !1, this._invalidate());
};
p.prototype.beginFill = function(a, b) {
"undefined" === typeof b && (b = 1);
a = a >>> 0 & 16777215;
b = Math.round(255 * w(+b, -1, 1)) | 0;
this._graphicsData.beginFill(a << 8 | b);
};
p.prototype.beginGradientFill = function(a, b, c, d, h, e, f, l) {
"undefined" === typeof h && (h = null);
"undefined" === typeof e && (e = "pad");
"undefined" === typeof f && (f = "rgb");
"undefined" === typeof l && (l = 0);
this._writeGradientStyle(2, a, b, c, d, h, e, f, l, !1);
};
p.prototype.beginBitmapFill = function(a, b, c, d) {
"undefined" === typeof b && (b = null);
"undefined" === typeof c && (c = !0);
"undefined" === typeof d && (d = !1);
this._writeBitmapStyle(3, a, b, c, d, !1);
};
p.prototype.endFill = function() {
this._graphicsData.endFill();
};
p.prototype.lineStyle = function(a, b, c, d, h, e, f, g) {
"undefined" === typeof b && (b = 0);
"undefined" === typeof c && (c = 1);
"undefined" === typeof d && (d = !1);
"undefined" === typeof h && (h = "normal");
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = null);
"undefined" === typeof g && (g = 3);
a = +a;
b = b >>> 0 & 16777215;
c = Math.round(255 * w(+c, -1, 1));
d = !!d;
h = l(h);
e = l(e);
f = l(f);
g = w(+g | 0, 0, 255);
isNaN(a) ? (this._setStrokeWidth(0), this._graphicsData.endLine()) : (a = 20 * w(+a, 0, 255) | 0, this._setStrokeWidth(a), h = C.toNumber(l(h)), 0 > h && (h = C.toNumber(C.NORMAL)), e = E.toNumber(l(e)), 0 > e && (e = E.toNumber(E.ROUND)), f = O.toNumber(l(f)), 0 > f && (f = O.toNumber(O.ROUND)), this._graphicsData.lineStyle(a, b << 8 | c, d, h, e, f, g));
};
p.prototype.lineGradientStyle = function(a, b, c, d, h, e, f, l) {
"undefined" === typeof h && (h = null);
"undefined" === typeof e && (e = "pad");
"undefined" === typeof f && (f = "rgb");
"undefined" === typeof l && (l = 0);
this._writeGradientStyle(6, a, b, c, d, h, e, f, l, !this._graphicsData.hasLines);
};
p.prototype.lineBitmapStyle = function(a, b, c, d) {
"undefined" === typeof b && (b = null);
"undefined" === typeof c && (c = !0);
"undefined" === typeof d && (d = !1);
this._writeBitmapStyle(7, a, b, c, d, !this._graphicsData.hasLines);
};
p.prototype.drawRect = function(a, b, c, d) {
a = 20 * a | 0;
b = 20 * b | 0;
c = a + (20 * c | 0);
d = b + (20 * d | 0);
a === this._lastX && b === this._lastY || this._graphicsData.moveTo(a, b);
this._graphicsData.lineTo(c, b);
this._graphicsData.lineTo(c, d);
this._graphicsData.lineTo(a, d);
this._graphicsData.lineTo(a, b);
this._extendBoundsByPoint(c, d);
this._applyLastCoordinates(a, b);
this._invalidate();
};
p.prototype.drawRoundRect = function(a, b, c, d, h, e) {
a = +a;
b = +b;
c = +c;
d = +d;
h = +h;
if ((e = +e) && h) {
h = h / 2 | 0;
e = e / 2 | 0;
var f = c / 2, l = d / 2;
h > f && (h = f);
e > l && (e = l);
f === h && l === e ? h === e ? this.drawCircle(a + h, b + e, h) : this.drawEllipse(a, b, 2 * h, 2 * e) : (c = a + c, d = b + d, f = a + h, h = c - h, l = b + e, e = d - e, this.moveTo(c, e), this.curveTo(c, d, h, d), this.lineTo(f, d), this.curveTo(a, d, a, e), this.lineTo(a, l), this.curveTo(a, b, f, b), this.lineTo(h, b), this.curveTo(c, b, c, l), this.lineTo(c, e));
} else {
this.drawRect(a, b, c, d);
}
};
p.prototype.drawRoundRectComplex = function(a, b, c, d, h, e, f, l) {
a = +a;
b = +b;
c = +c;
d = +d;
h = +h;
e = +e;
f = +f;
l = +l;
if (h | e | f | l) {
c = a + c;
d = b + d;
var g = a + h;
this.moveTo(c, d - l);
this.curveTo(c, d, c - l, d);
this.lineTo(a + f, d);
this.curveTo(a, d, a, d - f);
this.lineTo(a, b + h);
this.curveTo(a, b, g, b);
this.lineTo(c - e, b);
this.curveTo(c, b, c, b + e);
this.lineTo(c, d - l);
} else {
this.drawRect(a, b, c, d);
}
};
p.prototype.drawCircle = function(a, b, c) {
c = +c;
this.drawEllipse(+a - c, +b - c, 2 * c, 2 * c);
};
p.prototype.drawEllipse = function(a, b, c, d) {
c = +c / 2;
d = +d / 2;
a = +a + c;
b = +b + d;
var h = a + c, e = b;
this.moveTo(h, e);
for (var f = 0, l = 1, g = 0, n = 0;4 > n;n++) {
var m = f + Math.PI / 2, f = 4 / 3 * Math.tan((m - f) / 4), p = h - g * f * c, k = e + l * f * d, l = Math.cos(m), g = Math.sin(m), h = a + l * c, e = b + g * d;
this.cubicCurveTo(p, k, h + g * f * c, e - l * f * d, h, e);
f = m;
}
};
p.prototype.moveTo = function(a, b) {
a = 20 * a | 0;
b = 20 * b | 0;
this._graphicsData.moveTo(a, b);
this._lastX = a;
this._lastY = b;
this._boundsIncludeLastCoordinates = !1;
};
p.prototype.lineTo = function(a, b) {
a = 20 * a | 0;
b = 20 * b | 0;
this._graphicsData.lineTo(a, b);
this._applyLastCoordinates(a, b);
this._invalidate();
};
p.prototype.curveTo = function(a, b, c, h) {
a = 20 * a | 0;
b = 20 * b | 0;
c = 20 * c | 0;
h = 20 * h | 0;
this._graphicsData.curveTo(a, b, c, h);
(a < this._lastX || a > c) && this._extendBoundsByX(d(this._lastX, a, c) | 0);
(b < this._lastY || b > h) && this._extendBoundsByY(d(this._lastY, b, h) | 0);
this._applyLastCoordinates(c, h);
this._invalidate();
};
p.prototype.cubicCurveTo = function(a, b, d, h, e, f) {
a = 20 * a | 0;
b = 20 * b | 0;
d = 20 * d | 0;
h = 20 * h | 0;
e = 20 * e | 0;
f = 20 * f | 0;
this._graphicsData.cubicCurveTo(a, b, d, h, e, f);
var l = this._lastX, g = this._lastY;
if (a < l || d < l || a > e || d > e) {
for (a = c(l, a, d, e), d = a.length;d--;) {
this._extendBoundsByX(a[d] | 0);
}
}
if (b < g || h < g || b > f || h > f) {
for (a = c(g, b, h, f), d = a.length;d--;) {
this._extendBoundsByY(a[d] | 0);
}
}
this._applyLastCoordinates(e, f);
this._invalidate();
};
p.prototype.copyFrom = function(a) {
this._graphicsData = a._graphicsData.clone();
this._fillBounds = a._fillBounds.clone();
this._lineBounds = a._lineBounds.clone();
this._textures = a._textures.concat();
this._lastX = a._lastX;
this._lastY = a._lastY;
this._boundsIncludeLastCoordinates = a._boundsIncludeLastCoordinates;
this._invalidate();
};
p.prototype.drawPath = function(a, b, c) {
"undefined" === typeof c && (c = "evenOdd");
l(c);
q("public flash.display.Graphics::drawPath");
};
p.prototype.drawTriangles = function(a, b, c, d) {
"undefined" === typeof d && (d = "none");
l(d);
q("public flash.display.Graphics::drawTriangles");
};
p.prototype.drawGraphicsData = function(a) {
q("public flash.display.Graphics::drawGraphicsData");
};
p.prototype._containsPoint = function(a, b, c) {
var d = this._graphicsData.hasLines;
if (!(c && d ? this._lineBounds : this._fillBounds).contains(a, b)) {
return!1;
}
var e = !1;
this._graphicsData.hasFills ? e = this._fillContainsPoint(a, b) : h(d, "Can't have non-empty bounds without line or fill set.");
!e && c && (e = this._linesContainsPoint(a, b));
return e;
};
p.prototype._fillContainsPoint = function(a, b) {
for (var c = this._graphicsData, d = c.commands, f = c.commandsPosition, l = c.coordinates, g = 0, p = 0, k = 0, r = 0, q = 0, s, u, w = !1, t = !1, y = 0, G = 0, C = !1, I = 0;I < f;I++) {
s = d[I];
switch(s) {
case 9:
h(g <= c.coordinatesPosition - 2);
w && t && e(a, b, p, k, y, G) && (C = !C);
w = !0;
p = y = l[g++];
k = G = l[g++];
continue;
case 10:
h(g <= c.coordinatesPosition - 2);
r = l[g++];
q = l[g++];
t && e(a, b, p, k, r, q) && (C = !C);
break;
case 11:
h(g <= c.coordinatesPosition - 4);
s = l[g++];
u = l[g++];
var r = l[g++], q = l[g++], E;
if (E = t) {
if (u > b === k > b && q > b === k > b) {
E = !1;
} else {
if (p >= a && s >= a && r >= a) {
E = !0;
} else {
E = k - 2 * u + q;
u = 2 * (u - k);
var O = u * u - 4 * E * (k - b);
0 > O ? E = !1 : (O = Math.sqrt(O), E = 1 / (E + E), k = (O - u) * E, u = (-u - O) * E, E = !1, 0 <= k && 1 >= k && m(p, s, r, k) > a && (E = !E), 0 <= u && 1 >= u && m(p, s, r, u) > a && (E = !E));
}
}
}
E && (C = !C);
break;
case 12:
h(g <= c.coordinatesPosition - 6);
s = l[g++];
u = l[g++];
var O = l[g++], K = l[g++], r = l[g++], q = l[g++];
if (E = t) {
E = a;
var F = k > b;
if (u > b === F && K > b === F && q > b === F) {
E = !1;
} else {
if (p < E && s < E && O < E && r < E) {
E = !1;
} else {
F = !1;
p = n(p, k, s, u, O, K, r, q, b);
for (s = p.length;s;s--) {
p[s] >= E && (F = !F);
}
E = F;
}
}
}
E && (C = !C);
break;
case 1:
;
case 2:
;
case 3:
;
case 4:
w && t && e(a, b, p, k, y, G) && (C = !C);
if (C) {
return!0;
}
w = !1;
t = 4 !== s;
break;
case 5:
g++;
break;
case 6:
;
case 7:
;
case 8:
break;
default:
x("Invalid command " + s + " encountered at index" + (I - 1) + " of " + f);
}
p = r;
k = q;
}
h(I === f);
h(g === c.coordinatesPosition);
w && t && e(a, b, p, k, y, G) && (C = !C);
return C;
};
p.prototype._linesContainsPoint = function(b, e) {
for (var f = this._graphicsData, l = f.commands, g = f.commandsPosition, n = f.coordinates, p = 0, k = 0, r = 0, q = 0, u = 0, w, t, y, G, C, I = 0, E = 0, O = 0, K = 0, F = 0, J = 0, A = E = 0;A < g;A++) {
w = l[A];
switch(w) {
case 9:
h(p <= f.coordinatesPosition - 2);
k = n[p++];
r = n[p++];
continue;
case 10:
h(p <= f.coordinatesPosition - 2);
if (0 === I) {
p++;
k = n[p++];
continue;
}
q = n[p++];
u = n[p++];
if (k === q && r === u) {
break;
}
if (F < k && F < q || K > k && K > q || E < r && E < u || J > r && J > u) {
break;
}
if (q === k || u === r) {
return!0;
}
C = ((b - k) * (q - k) + (e - r) * (u - r)) / s(k, r, q, u);
if (0 > C) {
if (s(b, e, k, r) <= O) {
return!0;
}
break;
}
if (1 < C) {
if (s(b, e, q, u) <= O) {
return!0;
}
break;
}
if (s(b, e, k + C * (q - k), r + C * (u - r)) <= O) {
return!0;
}
break;
case 11:
h(p <= f.coordinatesPosition - 4);
if (0 === I) {
p += 2;
p++;
k = n[p++];
continue;
}
w = n[p++];
t = n[p++];
var q = n[p++], u = n[p++], W = d(k, w, q);
if (F < k && F < W && F < q || K > k && K > W && K > q) {
break;
}
W = d(r, t, u);
if (E < r && E < W && E < u || J > r && J > W && J > u) {
break;
}
for (C = 0;1 > C;C += .02) {
if (y = m(k, w, q, C), !(y < K || y > F) && (G = m(r, t, u, C), !(G < J || G > E) && (b - y) * (b - y) + (e - G) * (e - G) < O)) {
return!0;
}
}
break;
case 12:
h(p <= f.coordinatesPosition - 6);
if (0 === I) {
p += 4;
p++;
k = n[p++];
continue;
}
w = n[p++];
t = n[p++];
var W = n[p++], ha = n[p++], q = n[p++], u = n[p++];
for (y = c(k, w, W, q);2 > y.length;) {
y.push(q);
}
if (F < k && F < q && F < y[0] && F < y[1] || K > k && K > q && K > y[0] && K > y[1]) {
break;
}
for (y = c(r, t, ha, u);2 > y.length;) {
y.push(u);
}
if (E < r && E < u && E < y[0] && E < y[1] || J > r && J > u && J > y[0] && J > y[1]) {
break;
}
for (C = 0;1 > C;C += .02) {
if (y = a(k, w, W, q, C), !(y < K || y > F) && (G = a(r, t, ha, u, C), !(G < J || G > E) && (b - y) * (b - y) + (e - G) * (e - G) < O)) {
return!0;
}
}
break;
case 5:
I = n[p++];
E = I >> 2;
O = E * E;
K = b - E;
F = b + E;
J = e - E;
E = e + E;
break;
case 1:
;
case 2:
;
case 3:
;
case 4:
;
case 6:
;
case 7:
;
case 8:
break;
default:
x("Invalid command " + w + " encountered at index" + (A - 1) + " of " + g);
}
k = q;
r = u;
}
h(A === g);
h(p === f.coordinatesPosition);
return!1;
};
p.prototype._writeBitmapStyle = function(a, c, d, h, e, l) {
b.isNullOrUndefined(c) ? u("TypeError", k.Errors.NullPointerError, "bitmap") : f.display.BitmapData.isType(c) || u("TypeError", k.Errors.CheckTypeFailedError, "bitmap", "flash.display.BitmapData");
b.isNullOrUndefined(d) ? d = f.geom.Matrix.FROZEN_IDENTITY_MATRIX : f.geom.Matrix.isType(d) || u("TypeError", k.Errors.CheckTypeFailedError, "matrix", "flash.geom.Matrix");
h = !!h;
e = !!e;
l || (l = this._textures.length, this._textures.push(c), this._graphicsData.beginBitmap(a, l, d, h, e));
};
p.prototype._writeGradientStyle = function(a, c, d, h, e, g, n, m, p, r) {
b.isNullOrUndefined(c) && u("TypeError", k.Errors.NullPointerError, "type");
c = y.toNumber(l(c));
0 > c && u("ArgumentError", k.Errors.InvalidEnumError, "type");
b.isNullOrUndefined(d) && u("TypeError", k.Errors.NullPointerError, "colors");
d instanceof Array || u("TypeError", k.Errors.CheckTypeFailedError, "colors", "Array");
h instanceof Array || u("TypeError", k.Errors.CheckTypeFailedError, "alphas", "Array");
b.isNullOrUndefined(h) && u("TypeError", k.Errors.NullPointerError, "alphas");
e instanceof Array || u("TypeError", k.Errors.CheckTypeFailedError, "ratios", "Array");
b.isNullOrUndefined(e) && u("TypeError", k.Errors.NullPointerError, "ratios");
var q = [], s = [], x = d.length, t = x === h.length && x === e.length;
if (t) {
for (var C = 0;C < x;C++) {
var E = +e[C];
if (255 < E || 0 > E) {
t = !1;
break;
}
q[C] = d[C] << 8 & 4294967040 | 255 * w(+h[C], 0, 1);
s[C] = E;
}
}
t && (b.isNullOrUndefined(g) ? g = f.geom.Matrix.FROZEN_IDENTITY_MATRIX : f.geom.Matrix.isType(g) || u("TypeError", k.Errors.CheckTypeFailedError, "matrix", "flash.geom.Matrix"), r || (d = G.toNumber(l(n)), 0 > d && (d = G.toNumber(G.PAD)), m = I.toNumber(l(m)), 0 > m && (m = I.toNumber(I.RGB)), p = w(+p, -1, 1) / 2 * 255 | 0, this._graphicsData.beginGradient(a, q, s, c, g, d, m, p)));
};
p.prototype._extendBoundsByPoint = function(a, b) {
this._extendBoundsByX(a);
this._extendBoundsByY(b);
};
p.prototype._extendBoundsByX = function(a) {
this._fillBounds.extendByX(a);
var b = this._lineBounds;
134217728 === b.xMin ? (b.xMin = a - this._topLeftStrokeWidth, b.xMax = a + this._bottomRightStrokeWidth) : (b.xMin = Math.min(a - this._topLeftStrokeWidth, b.xMin), b.xMax = Math.max(a + this._bottomRightStrokeWidth, b.xMax));
};
p.prototype._extendBoundsByY = function(a) {
this._fillBounds.extendByY(a);
var b = this._lineBounds;
134217728 === b.yMin ? (b.yMin = a - this._topLeftStrokeWidth, b.yMax = a + this._bottomRightStrokeWidth) : (b.yMin = Math.min(a - this._topLeftStrokeWidth, b.yMin), b.yMax = Math.max(a + this._bottomRightStrokeWidth, b.yMax));
};
p.prototype._applyLastCoordinates = function(a, b) {
this._boundsIncludeLastCoordinates || this._extendBoundsByPoint(this._lastX, this._lastY);
this._boundsIncludeLastCoordinates = !0;
this._lastX = a;
this._lastY = b;
this._extendBoundsByPoint(a, b);
};
p.classInitializer = null;
p.initializer = null;
p.classSymbols = null;
p.instanceSymbols = null;
return p;
}(g.ASNative);
t.Graphics = F;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
var s = b.Debug.assert, m = b.Debug.notImplemented, d = function(a) {
function b() {
k.DisplayObjectContainer.instanceConstructorNoInitialize.call(this);
this._constructChildren();
}
__extends(b, a);
b.prototype._initializeChildren = function(a) {
for (var b in a.stateAtDepth) {
var c = a.stateAtDepth[b];
if (c) {
var d = k.DisplayObject.createAnimatedDisplayObject(c, !1);
this.addTimelineObjectAtDepth(d, c.depth);
c.symbol.isAVM1Object && this._initAvm1Bindings(d, c);
}
}
};
b.prototype._initAvm1Bindings = function(a, b) {
var c = g.avm1lib.getAVM1Object(a);
s(c);
b.variableName && c.asSetPublicProperty("variable", b.variableName);
var d = b.events;
if (d) {
for (var f = [], m = 0;m < d.length;m++) {
for (var k = d[m], r = k.eventNames, k = k.handler.bind(a), h = 0;h < r.length;h++) {
var x = r[h], t = a;
if ("mouseDown" === x || "mouseUp" === x || "mouseMove" === x) {
t = a.stage;
}
t.addEventListener(x, k, !1);
f.push({eventName:x, fn:k, target:t});
}
}
0 < f.length && a.addEventListener("removed", function(a) {
for (var b = 0;b < a.length;b++) {
a[b].target.removeEventListener(a[b].eventName, a[b].fn, !1);
}
}.bind(a, f), !1);
}
b.name && (d = g.avm1lib.getAVM1Object(this), void 0 === d.asGetPublicProperty(b.name) && d.asSetPublicProperty(b.name, c));
};
b.prototype._canHaveGraphics = function() {
return!0;
};
b.prototype._getGraphics = function() {
return this._graphics;
};
Object.defineProperty(b.prototype, "graphics", {get:function() {
return this._ensureGraphics();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "buttonMode", {get:function() {
return this._buttonMode;
}, set:function(a) {
this._buttonMode = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "dropTarget", {get:function() {
m("public flash.display.Sprite::get dropTarget");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "hitArea", {get:function() {
return this._hitArea;
}, set:function(a) {
this._hitArea !== a && (a && a._hitTarget && (a._hitTarget._hitArea = null), this._hitArea = a) && (a._hitTarget = this);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "useHandCursor", {get:function() {
return this._useHandCursor;
}, set:function(a) {
this._useHandCursor = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "soundTransform", {get:function() {
m("public flash.display.Sprite::get soundTransform");
}, set:function(a) {
m("public flash.display.Sprite::set soundTransform");
}, enumerable:!0, configurable:!0});
b.prototype.startDrag = function(a, b) {
m("public flash.display.Sprite::startDrag");
};
b.prototype.stopDrag = function() {
m("public flash.display.Sprite::stopDrag");
};
b.prototype.startTouchDrag = function(a, b, c) {
m("public flash.display.Sprite::startTouchDrag");
};
b.prototype.stopTouchDrag = function(a) {
m("public flash.display.Sprite::stopTouchDrag");
};
b.prototype._containsPoint = function(b, c, d, f, l, g) {
return 3 === l && this._hitArea && this._mouseEnabled ? (b = this._hitArea._containsGlobalPoint(b, c, 2, g), 2 === b && (s(0 === g.length), g.push(this)), b) : a.prototype._containsPoint.call(this, b, c, d, f, l, g);
};
b.prototype._containsPointDirectly = function(a, b) {
var c = this._getGraphics();
return!!c && c._containsPoint(a, b, !0);
};
b.classInitializer = null;
b.initializer = function(a) {
this._graphics = null;
this._buttonMode = !1;
this._hitArea = this._dropTarget = null;
this._useHandCursor = !0;
this._hitTarget = null;
a && (a.isRoot && (this._root = this), a.numFrames && (s(1 <= a.frames.length, "Sprites have at least one frame."), a = a.frames[0], s(a, "Initial frame is not defined."), this._initializeChildren(a)));
};
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.display.DisplayObjectContainer);
k.Sprite = d;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
var s = b.Debug.assert, m = b.Debug.assertUnreachable, d = b.AVM2.Runtime.asCoerceString, a = b.AVM2.Runtime.throwError, c = b.Telemetry, n = b.AVM2.ABC.Multiname;
(function(a) {
a[a.SWF1 = 1] = "SWF1";
a[a.SWF9 = 2] = "SWF9";
a[a.SWF10 = 3] = "SWF10";
})(t.FrameNavigationModel || (t.FrameNavigationModel = {}));
var p = function() {
function a(b) {
this._mc = b;
this._soundStream = this._startSoundRegistrations = null;
}
a.prototype.registerStartSounds = function(a, b) {
null === this._startSoundRegistrations && (this._startSoundRegistrations = {});
this._startSoundRegistrations[a] = b;
};
a.prototype.initSoundStream = function(a) {
this._soundStream = new t.MovieClipSoundStream(a, this._mc);
};
a.prototype.addSoundStreamBlock = function(a, b) {
this._soundStream.appendBlock(a, b);
};
a.prototype._startSounds = function(a) {
if (a = this._startSoundRegistrations[a]) {
for (var b = this._soundClips || (this._soundClips = {}), c = this._mc.loaderInfo, d = 0;d < a.length;d++) {
var h = a[d], e = h.soundId, h = h.soundInfo, f = b[e];
if (!f) {
var g = c.getSymbolById(e);
if (!g) {
continue;
}
f = g.symbolClass;
g = f.initializeFrom(g);
f.instanceConstructorNoInitialize.call(g);
b[e] = f = {object:g};
}
f.channel && (f.channel.stop(), f.channel = null);
h.stop || (f.channel = f.object.play(0, h.hasLoops ? h.loopCount : 0));
}
}
};
a.prototype.syncSounds = function(a) {
null !== this._startSoundRegistrations && this._startSounds(a);
this._soundStream && this._soundStream.playFrame(a);
};
return a;
}(), e = function(b) {
function e() {
t.Sprite.instanceConstructorNoInitialize.call(this);
}
__extends(e, b);
e.reset = function() {
e.frameNavigationModel = 3;
e._callQueue = [];
};
e.runFrameScripts = function() {
k.enterTimeline("MovieClip.executeFrame");
var a = e._callQueue;
e._callQueue = [];
for (var b = 0;b < a.length;b++) {
var c = a[b];
c._allowFrameNavigation = 1 === e.frameNavigationModel;
c.callFrame(c._currentFrame);
c._allowFrameNavigation = !0;
c._nextFrame !== c._currentFrame && (2 === e.frameNavigationModel ? (c._advanceFrame(), c._constructFrame(), c._removeFlags(4096), c.callFrame(c._currentFrame)) : t.DisplayObject.performFrameNavigation(!1, !0));
}
k.leaveTimeline();
};
e.prototype._initFrame = function(a) {
if (a) {
if (this.buttonMode && (a = null, this._mouseOver ? a = this._mouseDown ? "_down" : "_over" : null !== this._currentButtonState && (a = "_up"), a !== this._currentButtonState && this._buttonFrames[a])) {
this.stop();
this._gotoFrame(a, null);
this._currentButtonState = a;
this._advanceFrame();
return;
}
1 < this._totalFrames && !this._stopped && this._hasFlags(256) && this._nextFrame++;
}
this._advanceFrame();
};
e.prototype._constructFrame = function() {
this._constructChildren();
};
e.prototype._enqueueFrameScripts = function() {
this._hasFlags(4096) && (this._removeFlags(4096), e._callQueue.push(this));
b.prototype._enqueueFrameScripts.call(this);
};
Object.defineProperty(e.prototype, "currentFrame", {get:function() {
return this._currentFrame - this._sceneForFrameIndex(this._currentFrame).offset;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "framesLoaded", {get:function() {
return this._frames.length;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "totalFrames", {get:function() {
return this._totalFrames;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "trackAsMenu", {get:function() {
return this._trackAsMenu;
}, set:function(a) {
this._trackAsMenu = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "scenes", {get:function() {
return this._scenes.map(function(a) {
return a.clone();
});
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "currentScene", {get:function() {
return this._sceneForFrameIndex(this._currentFrame).clone();
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "currentLabel", {get:function() {
var a = this._labelForFrame(this._currentFrame);
return a ? a.name : null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "currentFrameLabel", {get:function() {
var a = this._sceneForFrameIndex(this._currentFrame);
return(a = a.getLabelByFrame(this._currentFrame - a.offset)) && a.name;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "enabled", {get:function() {
return this._enabled;
}, set:function(a) {
this._enabled = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "isPlaying", {get:function() {
return this._isPlaying;
}, enumerable:!0, configurable:!0});
e.prototype.play = function() {
1 < this._totalFrames && (this._isPlaying = !0);
this._stopped = !1;
};
e.prototype.stop = function() {
this._isPlaying = !1;
this._stopped = !0;
};
e.prototype._gotoFrame = function(b, c) {
var e;
if (null !== c) {
c = d(c);
var h = this._scenes;
s(h.length, "There should be at least one scene defined.");
for (var f = 0;f < h.length && (e = h[f], e.name !== c);f++) {
}
f === h.length && a("ArgumentError", k.Errors.SceneNotFoundError, c);
} else {
e = this._sceneForFrameIndex(this._currentFrame);
}
h = parseInt(b, 10);
h != b && ((h = e.getLabelByName(b)) || a("ArgumentError", k.Errors.FrameLabelNotFoundError, b, c), h = h.frame);
this._gotoFrameAbs(e.offset + h);
};
e.prototype._gotoFrameAbs = function(a) {
1 > a ? a = 1 : a > this._totalFrames && (a = this._totalFrames);
a !== this._nextFrame && (this._nextFrame = a, this._allowFrameNavigation && (2 === e.frameNavigationModel ? (this._advanceFrame(), this._constructFrame()) : t.DisplayObject.performFrameNavigation(!1, !0)));
};
e.prototype._advanceFrame = function() {
var a = this._currentFrame, b = this._nextFrame;
b > this._totalFrames && (b = 1);
if (a === b) {
this._nextFrame = b;
} else {
if (b > this.framesLoaded) {
this._nextFrame = b;
} else {
var c = this._frames, d = a, e = c[a - 1];
if (b < a) {
var f = c[0];
s(f, "FrameDelta is not defined.");
if (f !== e) {
for (d = f.stateAtDepth, f = this._children.slice(), a = 0;a < f.length;a++) {
var l = f[a];
if (l._depth) {
var g = d[l._depth];
g && g.canBeAnimated(l) || this._removeAnimatedChild(l);
}
}
}
d = 0;
}
for (a = d;a < b;a++) {
if (f = c[a], s(f, "FrameDelta is not defined."), f !== e) {
var e = f, d = f.stateAtDepth, n;
for (n in d) {
l = this.getTimelineObjectAtDepth(n | 0);
g = d[n];
if (l) {
if (g && g.canBeAnimated(l)) {
g.symbol && !g.symbol.dynamic && l._setStaticContentFromSymbol(g.symbol);
l._animate(g);
continue;
}
this._removeAnimatedChild(l);
}
g && g.symbol && (l = t.DisplayObject.createAnimatedDisplayObject(g, !1), this.addTimelineObjectAtDepth(l, g.depth), g.symbol.isAVM1Object && this._initAvm1Bindings(l, g));
}
(d = f.soundStarts) && this._registerStartSounds(a + 1, d);
}
}
this._frameScripts[b] && (this._setFlags(4096), this._parent && this._propagateFlagsUp(8192));
this._currentFrame = this._nextFrame = b;
this._syncSounds(b);
}
}
};
e.prototype._sceneForFrameIndex = function(a) {
var b = this._scenes;
if (0 === a) {
return b[0];
}
for (var c = 0;c < b.length;c++) {
var d = b[c];
if (d.offset < a && d.offset + d.numFrames >= a) {
return d;
}
}
m("Must have at least one scene covering all frames.");
};
e.prototype._labelForFrame = function(a) {
for (var b = this._scenes, c = null, d = 0;d < b.length;d++) {
var e = b[d];
if (e.offset > a) {
break;
}
for (var f = e.labels, l = 0;l < f.length;l++) {
var g = f[l];
if (g.frame > a - e.offset) {
return c;
}
c = g;
}
}
return c;
};
e.prototype._removeAnimatedChild = function(a) {
this.removeChild(a);
if (a._name) {
var b = n.getPublicQualifiedName(a._name);
this[b] === a && (this[b] = null);
}
};
e.prototype.callFrame = function(a) {
if (a = this._frameScripts[a | 0]) {
try {
a.call(this);
} catch (b) {
throw c.instance.reportTelemetry({topic:"error", error:2}), this.stop(), b;
}
}
};
e.prototype.nextFrame = function() {
this.gotoAndStop(this._currentFrame + 1);
};
e.prototype.prevFrame = function() {
this.gotoAndStop(this._currentFrame - 1);
};
e.prototype.gotoAndPlay = function(b, c) {
"undefined" === typeof c && (c = null);
(0 === arguments.length || 2 < arguments.length) && a("ArgumentError", k.Errors.WrongArgumentCountError, "flash.display::MovieClip/gotoAndPlay()", 1, arguments.length);
c = d(c);
b = d(b) + "";
this.play();
this._gotoFrame(b, c);
};
e.prototype.gotoAndStop = function(b, c) {
"undefined" === typeof c && (c = null);
(0 === arguments.length || 2 < arguments.length) && a("ArgumentError", k.Errors.WrongArgumentCountError, "flash.display::MovieClip/gotoAndPlay()", 1, arguments.length);
c = d(c);
b = d(b) + "";
this.stop();
this._gotoFrame(b, c);
};
e.prototype.addFrameScript = function(b, c) {
if (this._currentFrame) {
var d = arguments.length;
d & 1 && a("ArgumentError", k.Errors.TooFewArgumentsError, d, d + 1);
for (var h = this._frameScripts, e = this._totalFrames, f = 0;f < d;f += 2) {
var l = (arguments[f] | 0) + 1;
1 > l || l > e || (h[l] = arguments[f + 1], l === this._currentFrame && (this._setFlags(4096), this._parent && this._propagateFlagsUp(8192)));
}
}
};
Object.defineProperty(e.prototype, "_avm1SymbolClass", {get:function() {
return this._symbol && this._symbol.avm1SymbolClass || null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "_isFullyLoaded", {get:function() {
return this.framesLoaded >= this.totalFrames;
}, enumerable:!0, configurable:!0});
e.prototype._registerStartSounds = function(a, b) {
null === this._sounds && (this._sounds = new p(this));
this._sounds.registerStartSounds(a, b);
};
e.prototype._initSoundStream = function(a) {
null === this._sounds && (this._sounds = new p(this));
this._sounds.initSoundStream(a);
};
e.prototype._addSoundStreamBlock = function(a, b) {
this._sounds.addSoundStreamBlock(a, b);
};
e.prototype._syncSounds = function(a) {
null !== this._sounds && this._sounds.syncSounds(a);
};
e.prototype.addScene = function(a, b, c, d) {
this._scenes.push(new t.Scene(a, b, c, d));
};
e.prototype.addFrameLabel = function(a, b) {
var c = this._sceneForFrameIndex(b);
c.getLabelByName(a) || c.labels.push(new f.display.FrameLabel(a, b - c.offset));
};
e.prototype.prevScene = function() {
var a = this._sceneForFrameIndex(this._currentFrame);
0 !== a.offset && this._gotoFrameAbs(this._sceneForFrameIndex(a.offset).offset + 1);
};
e.prototype.nextScene = function() {
var a = this._sceneForFrameIndex(this._currentFrame);
a.offset + a.numFrames !== this._totalFrames && this._gotoFrameAbs(a.offset + a.numFrames + 1);
};
e.classInitializer = function() {
e.reset();
};
e.initializer = function(a) {
t.DisplayObject._advancableInstances.push(this);
this._currentFrame = 0;
this._totalFrames = 1;
this._trackAsMenu = !1;
this._scenes = [];
this._enabled = !0;
this._isPlaying = !1;
this._frames = [];
this._frameScripts = [];
this._nextFrame = 1;
this._stopped = !1;
this._allowFrameNavigation = !0;
this._sounds = null;
this._buttonFrames = Object.create(null);
this._currentButtonState = null;
if (a) {
if (this._totalFrames = a.numFrames, this._currentFrame = 1, a.isRoot || this.addScene("", a.labels, 0, a.numFrames), this._frames = a.frames, a.isAVM1Object) {
this._mouseEnabled = !1;
if (a.frameScripts) {
var b = g.avm1lib.getAVM1Object(this);
b.context = a.avm1Context;
for (var c = a.frameScripts, d = 0;d < c.length;d += 2) {
b.addFrameScript(c[d], c[d + 1]);
}
}
a.avm1Name && (this.name = a.avm1Name);
}
} else {
this.addScene("", [], 0, this._totalFrames);
}
};
e.classSymbols = null;
e.instanceSymbols = null;
return e;
}(f.display.Sprite);
t.MovieClip = e;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
(function(g) {
function k(a, b) {
var d;
try {
d = b.addSourceBuffer("audio/mpeg");
a.mediaSource = b;
a.sourceBuffer = d;
var f = 0;
a.rawFrames.forEach(function(a) {
f += a.length;
});
if (0 !== f) {
var e = new Uint8Array(f), g = 0;
a.rawFrames.forEach(function(a) {
e.set(a, g);
g += a.length;
});
d.appendBuffer(e);
}
a.rawFrames = null;
} catch (l) {
console.error("MediaSource mp3 playback is not supported: " + l);
}
}
function m(a, b) {
var d = !1, f;
a.addEventListener("timeupdate", function(a) {
d ? performance.now() : (f = performance.now(), d = !0);
});
a.addEventListener("pause", function(a) {
d = !1;
});
a.addEventListener("seeking", function(a) {
d = !1;
});
}
var d = function() {
function a(a, b) {
this.movieClip = b;
this.data = {sampleRate:a.sampleRate, channels:a.channels};
this.seekIndex = [];
this.position = 0;
var d = "mp3" === a.format;
if (d) {
var e = document.createElement("audio");
e.preload = "metadata";
e.loop = !1;
m(e, b);
if (e.canPlayType("audio/mpeg")) {
this.element = e;
"undefined" !== typeof MediaSource ? (d = new MediaSource, d.addEventListener("sourceopen", k.bind(null, this, d)), e.src = URL.createObjectURL(d)) : console.warn("MediaSource is not supported");
this.rawFrames = [];
return;
}
}
this.data.pcm = new Float32Array(a.samplesCount * a.channels);
if (d) {
var f = this;
f.decoderPosition = 0;
f.decoderSession = new MP3DecoderSession;
f.decoderSession.onframedata = function(a) {
var b = f.decoderPosition;
f.data.pcm.set(a, b);
f.decoderPosition = b + a.length;
}.bind(this);
f.decoderSession.onerror = function(a) {
console.error("ERROR: MP3DecoderSession: " + a);
};
}
}
a.prototype.appendBlock = function(a, b) {
var d = this.position;
this.seekIndex[a] = d + b.seek * this.data.channels;
this.position = d + b.samplesCount * this.data.channels;
if (this.sourceBuffer) {
this.sourceBuffer.appendBuffer(b.data);
} else {
if (this.rawFrames) {
this.rawFrames.push(b.data);
} else {
var e = this.decoderSession;
e ? e.pushAsync(b.data) : this.data.pcm.set(b.pcm, d);
}
}
};
a.prototype.playFrame = function(a) {
if (!isNaN(this.seekIndex[a])) {
var d = this.element;
if (d) {
var g = this.data, e = this.seekIndex[a] / g.sampleRate / g.channels;
if (!this.channel && (this.movieClip._isFullyLoaded || this.sourceBuffer)) {
this.sourceBuffer || (d.src = URL.createObjectURL(new Blob(this.rawFrames))), this.channel = a = b.media.SoundChannel.initializeFrom({element:d}), this.waitFor = this.expectedFrame = 0;
} else {
if (this.sourceBuffer || !isNaN(d.duration)) {
this.mediaSource && this.movieClip._isFullyLoaded && (this.mediaSource.endOfStream(), this.mediaSource = null), g = d.currentTime, this.expectedFrame !== a ? d.paused ? (d.play(), d.addEventListener("playing", function l(a) {
d.removeEventListener("playing", l);
d.currentTime = e;
})) : d.currentTime = e : 0 < this.waitFor ? this.waitFor <= e && (d.paused && d.play(), this.waitFor = 0) : 1 < g - e ? (console.warn("Sound is faster than frames by " + (g - e)), this.waitFor = g - .25, d.pause()) : 1 < e - g && (console.warn("Sound is slower than frames by " + (e - g)), d.currentTime = e + .25), this.expectedFrame = a + 1;
}
}
} else {
this.sound || (g = b.media.Sound.initializeFrom(this.data), a = g.play(), this.sound = g, this.channel = a);
}
}
};
return a;
}();
g.MovieClipSoundStream = d;
})(b.display || (b.display = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
var s = b.Debug.notImplemented, m = b.Debug.assert, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.asCoerceString, c = b.AVM2.Runtime.throwError, n = function(b) {
function e() {
t.DisplayObjectContainer.instanceConstructorNoInitialize.call(this);
this._root = this;
this._stage = this;
this._frameRate = 24;
this._scaleMode = t.StageScaleMode.SHOW_ALL;
this._align = "";
this._stageHeight = this._stageWidth = 0;
this._showDefaultContextMenu = !0;
this._focus = null;
this._colorCorrection = t.ColorCorrection.DEFAULT;
this._colorCorrectionSupport = t.ColorCorrectionSupport.DEFAULT_OFF;
this._stageFocusRect = !0;
this._quality = t.StageQuality.HIGH;
this._fullScreenSourceRect = this._displayState = null;
this._mouseLock = !1;
this._stageVideos = new g.GenericVector(0, !0, g.ASObject);
this._stage3Ds = null;
this._colorARGB = 4294967295;
this._fullScreenHeight = this._fullScreenWidth = 0;
this._wmodeGPU = !1;
this._softKeyboardRect = new f.geom.Rectangle;
this._allowsFullScreenInteractive = this._allowsFullScreen = !1;
this._contentsScaleFactor = 1;
this._displayContextInfo = null;
this._timeout = -1;
this._invalidated = !1;
}
__extends(e, b);
Object.defineProperty(e.prototype, "frameRate", {get:function() {
return this._frameRate;
}, set:function(a) {
this._frameRate = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "scaleMode", {get:function() {
return this._scaleMode;
}, set:function(b) {
b = a(b);
0 > f.display.StageScaleMode.toNumber(b) && c("ArgumentError", k.Errors.InvalidEnumError, "scaleMode");
this._scaleMode = b;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "align", {get:function() {
return this._align;
}, set:function(b) {
b = a(b);
b = f.display.StageAlign.toNumber(b);
m(0 <= b);
this._align = f.display.StageAlign.fromNumber(b);
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "stageWidth", {get:function() {
return this._stageWidth / 20 | 0;
}, set:function(a) {
}, enumerable:!0, configurable:!0});
e.prototype._setInitialName = function() {
this._name = null;
};
e.prototype.setStageWidth = function(a) {
m((a | 0) === a);
this._stageWidth = 20 * a | 0;
};
Object.defineProperty(e.prototype, "stageHeight", {get:function() {
return this._stageHeight / 20 | 0;
}, set:function(a) {
}, enumerable:!0, configurable:!0});
e.prototype.setStageHeight = function(a) {
m((a | 0) === a);
this._stageHeight = 20 * a | 0;
};
e.prototype.setStageColor = function(a) {
this._colorARGB = a;
};
Object.defineProperty(e.prototype, "showDefaultContextMenu", {get:function() {
return this._showDefaultContextMenu;
}, set:function(a) {
this._showDefaultContextMenu = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "focus", {get:function() {
return this._focus;
}, set:function(a) {
this._focus = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "colorCorrection", {get:function() {
return this._colorCorrection;
}, set:function(a) {
s("public flash.display.Stage::set colorCorrection");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "colorCorrectionSupport", {get:function() {
return this._colorCorrectionSupport;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "stageFocusRect", {get:function() {
return this._stageFocusRect;
}, set:function(a) {
this._stageFocusRect = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "quality", {get:function() {
return this._quality.toUpperCase();
}, set:function(b) {
b = (a(b) || "").toLowerCase();
0 > f.display.StageQuality.toNumber(b) && (b = f.display.StageQuality.HIGH);
this._quality = b;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "displayState", {get:function() {
return this._displayState;
}, set:function(b) {
d("public flash.display.Stage::set displayState");
this._displayState = a(b);
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "fullScreenSourceRect", {get:function() {
return this._fullScreenSourceRect;
}, set:function(a) {
s("public flash.display.Stage::set fullScreenSourceRect");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "mouseLock", {get:function() {
return this._mouseLock;
}, set:function(a) {
d("public flash.display.Stage::set mouseLock");
this._mouseLock = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "stageVideos", {get:function() {
d("public flash.display.Stage::get stageVideos");
return this._stageVideos;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "stage3Ds", {get:function() {
s("public flash.display.Stage::get stage3Ds");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "color", {get:function() {
return this._colorARGB;
}, set:function(a) {
this._colorARGB = a | 4278190080;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "alpha", {get:function() {
return this._colorTransform.alphaMultiplier;
}, set:function(a) {
c("Error", k.Errors.InvalidStageMethodError);
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "fullScreenWidth", {get:function() {
return this._fullScreenWidth;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "fullScreenHeight", {get:function() {
return this._fullScreenHeight;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "wmodeGPU", {get:function() {
return this._wmodeGPU;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "softKeyboardRect", {get:function() {
return this._softKeyboardRect;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "allowsFullScreen", {get:function() {
return this._allowsFullScreen;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "allowsFullScreenInteractive", {get:function() {
return this._allowsFullScreenInteractive;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "contentsScaleFactor", {get:function() {
return this._contentsScaleFactor;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "displayContextInfo", {get:function() {
return this._displayContextInfo;
}, enumerable:!0, configurable:!0});
e.prototype.swapChildrenAt = function(a, b) {
s("public flash.display.Stage::swapChildrenAt");
};
e.prototype.invalidate = function() {
this._invalidated = !0;
};
e.prototype.isInvalidated = function() {
return this._invalidated;
};
e.prototype.isFocusInaccessible = function() {
s("public flash.display.Stage::isFocusInaccessible");
};
e.prototype.requireOwnerPermissions = function() {
d("public flash.display.Stage::requireOwnerPermissions");
};
e.prototype.render = function() {
this._invalidated && (t.DisplayObject._broadcastFrameEvent(f.events.Event.RENDER), this._invalidated = !1);
};
e.classInitializer = null;
e.classSymbols = null;
e.instanceSymbols = null;
e.initializer = null;
return e;
}(f.display.DisplayObjectContainer);
t.Stage = n;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.ActionScriptVersion");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.ACTIONSCRIPT2 = 2;
a.ACTIONSCRIPT3 = 3;
return a;
}(g.ASNative);
f.ActionScriptVersion = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.BlendMode");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
;
case 1:
return a.NORMAL;
case 2:
return a.LAYER;
case 3:
return a.MULTIPLY;
case 4:
return a.SCREEN;
case 5:
return a.LIGHTEN;
case 6:
return a.DARKEN;
case 7:
return a.DIFFERENCE;
case 8:
return a.ADD;
case 9:
return a.SUBTRACT;
case 10:
return a.INVERT;
case 11:
return a.ALPHA;
case 12:
return a.ERASE;
case 13:
return a.OVERLAY;
case 14:
return a.HARDLIGHT;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.NORMAL:
return 1;
case a.LAYER:
return 2;
case a.MULTIPLY:
return 3;
case a.SCREEN:
return 4;
case a.LIGHTEN:
return 5;
case a.DARKEN:
return 6;
case a.DIFFERENCE:
return 7;
case a.ADD:
return 8;
case a.SUBTRACT:
return 9;
case a.INVERT:
return 10;
case a.ALPHA:
return 11;
case a.ERASE:
return 12;
case a.OVERLAY:
return 13;
case a.HARDLIGHT:
return 14;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.NORMAL = "normal";
a.LAYER = "layer";
a.MULTIPLY = "multiply";
a.SCREEN = "screen";
a.LIGHTEN = "lighten";
a.DARKEN = "darken";
a.ADD = "add";
a.SUBTRACT = "subtract";
a.DIFFERENCE = "difference";
a.INVERT = "invert";
a.OVERLAY = "overlay";
a.HARDLIGHT = "hardlight";
a.ALPHA = "alpha";
a.ERASE = "erase";
a.SHADER = "shader";
return a;
}(g.ASNative);
f.BlendMode = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.ColorCorrection");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.DEFAULT;
case 1:
return a.ON;
case 2:
return a.OFF;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.DEFAULT:
return 0;
case a.ON:
return 1;
case a.OFF:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.DEFAULT = "default";
a.ON = "on";
a.OFF = "off";
return a;
}(g.ASNative);
f.ColorCorrection = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.ColorCorrectionSupport");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.UNSUPPORTED;
case 1:
return a.DEFAULT_ON;
case 2:
return a.DEFAULT_OFF;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.UNSUPPORTED:
return 0;
case a.DEFAULT_ON:
return 1;
case a.DEFAULT_OFF:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.UNSUPPORTED = "unsupported";
a.DEFAULT_ON = "defaultOn";
a.DEFAULT_OFF = "defaultOff";
return a;
}(g.ASNative);
f.ColorCorrectionSupport = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.FocusDirection");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.TOP = "top";
a.BOTTOM = "bottom";
a.NONE = "none";
return a;
}(g.ASNative);
f.FocusDirection = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b) {
this._name = k(a);
this._frame = b | 0;
}
__extends(a, b);
Object.defineProperty(a.prototype, "name", {get:function() {
return this._name;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "frame", {get:function() {
return this._frame;
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
return new a(this._name, this._frame);
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.FrameLabel = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
var s = b.Debug.notImplemented, m = b.Debug.assert, d = b.Debug.somewhatImplemented, a = b.ArrayUtilities.DataBuffer, c = b.AVM2.Runtime.asCoerceString, n = b.AVM2.Runtime.throwError, p = b.AVM2.Runtime.AVM2, e = b.IntegerUtilities.swap32, q = b.ColorUtilities.premultiplyARGB, l = b.ColorUtilities.unpremultiplyARGB, u = b.ColorUtilities.RGBAToARGB, w = b.ArrayUtilities.indexOf, r = f.geom.Rectangle, h = function(h) {
function t(b, c, d, h) {
"undefined" === typeof d && (d = !0);
"undefined" === typeof h && (h = 4294967295);
b |= 0;
c |= 0;
h |= 0;
this._id = f.display.DisplayObject.getNextSyncID();
this._symbol && (b = this._symbol.width, c = this._symbol.height);
(b > t.MAXIMUM_WIDTH || 0 >= b || c > t.MAXIMUM_HEIGHT || 0 >= c || b * c > t.MAXIMUM_DIMENSION) && n("ArgumentError", k.Errors.InvalidBitmapData);
this._bitmapReferrers = [];
this._transparent = !!d;
this._rect = new r(0, 0, b, c);
if (this._symbol) {
this._data = new Uint8Array(this._symbol.data);
this._type = this._symbol.type;
if (1 === this._type || 2 === this._type || 3 === this._type) {
this._view = new Int32Array(this._data.buffer);
}
this._solidFillColorPBGRA = null;
} else {
this._data = new Uint8Array(b * c * 4), this._view = new Int32Array(this._data.buffer), this._type = 1, 0 === h >> 24 && d ? this._solidFillColorPBGRA = 0 : this.fillRect(this._rect, h);
}
this._dataBuffer = a.FromArrayBuffer(this._data.buffer);
this._invalidate();
}
__extends(t, h);
t.prototype._addBitmapReferrer = function(a) {
w(this._bitmapReferrers, a);
this._bitmapReferrers.push(a);
};
t.prototype._removeBitmapReferrer = function(a) {
a = w(this._bitmapReferrers, a);
this._bitmapReferrers[a] = null;
};
t.prototype._invalidate = function() {
if (!this._isDirty) {
this._isDirty = !0;
this._isRemoteDirty = !1;
for (var a = 0;a < this._bitmapReferrers.length;a++) {
var b = this._bitmapReferrers[a];
b && b._setDirtyFlags(16777216);
}
}
};
t.prototype._getTemporaryRectangleFrom = function(a, b) {
"undefined" === typeof b && (b = 0);
m(0 <= b && b < t._temporaryRectangles.length);
var c = t._temporaryRectangles[b];
a && c.copyFrom(a);
return c;
};
t.prototype.getDataBuffer = function() {
return this._dataBuffer;
};
t.prototype._getContentBounds = function() {
return b.Bounds.FromRectangle(this._rect);
};
t.prototype._getPixelData = function(a) {
var b = this._getTemporaryRectangleFrom(this._rect).intersectInPlace(a);
if (!b.isEmpty()) {
a = b.x;
for (var c = b.x + b.width, d = b.y, h = b.y + b.height, e = this._view, f = this._rect.width, b = new Int32Array(b.area), l = 0;d < h;d++) {
for (var g = d * f, n = a;n < c;n++) {
var m = e[g + n], p = m & 255, m = 255 * (m >>> 8) / p << 8 | p;
b[l++] = m;
}
}
return b;
}
};
t.prototype._putPixelData = function(a, b) {
var c = this._getTemporaryRectangleFrom(this._rect).intersectInPlace(a);
if (!c.isEmpty()) {
for (var d = c.x, h = c.x + c.width, e = c.y + c.height, f = this._view, l = this._rect.width, g = a.width * a.height - c.height + (d - a.x), n = a.width - c.width, m = this._transparent ? 0 : 255, c = c.y;c < e;c++) {
for (var p = c * l, k = d;k < h;k++) {
var r = b[g++], q = r & m;
f[p + k] = (((r >>> 8) * q + 254) / 255 & 16777215) << 8 | q;
}
g += n;
}
this._invalidate();
}
};
Object.defineProperty(t.prototype, "width", {get:function() {
return this._rect.width;
}, enumerable:!0, configurable:!0});
Object.defineProperty(t.prototype, "height", {get:function() {
return this._rect.height;
}, enumerable:!0, configurable:!0});
Object.defineProperty(t.prototype, "rect", {get:function() {
return this._rect.clone();
}, enumerable:!0, configurable:!0});
Object.defineProperty(t.prototype, "transparent", {get:function() {
return this._transparent;
}, enumerable:!0, configurable:!0});
t.prototype.clone = function() {
d("public flash.display.BitmapData::clone");
var a = new t(this._rect.width, this._rect.height, this._transparent, this._solidFillColorPBGRA);
a._view.set(this._view);
return a;
};
t.prototype.getPixel = function(a, b) {
return this.getPixel32(a | 0, b | 0) & 16777215;
};
t.prototype.getPixel32 = function(a, c) {
a |= 0;
c |= 0;
if (!this._rect.contains(a, c)) {
return 0;
}
this._ensureBitmapData();
var d = this._view[c * this._rect.width + a];
switch(this._type) {
case 1:
return d = e(d), l(d) >>> 0;
case 3:
return u(e(d));
default:
return b.Debug.notImplemented(b.ImageType[this._type]), 0;
}
};
t.prototype.setPixel = function(a, b, c) {
a |= 0;
b |= 0;
c |= 0;
this._rect.contains(a, b) && (this._ensureBitmapData(), a = b * this._rect.width + a, c = c & 16777215 | (this._view[a] & 255) << 24, c = q(c), this._view[a] = e(c), this._invalidate(), this._solidFillColorPBGRA = null);
};
t.prototype.setPixel32 = function(a, b, c) {
a |= 0;
b |= 0;
if (this._rect.contains(a, b)) {
this._ensureBitmapData();
var d = c >>> 24;
c &= 16777215;
d = this._transparent ? q(c | d << 24) : c | 4278190080;
this._view[b * this._rect.width + a] = e(d);
this._invalidate();
this._solidFillColorPBGRA = null;
}
};
t.prototype.applyFilter = function(a, b, c, h) {
d("public flash.display.BitmapData::applyFilter " + h);
};
t.prototype.colorTransform = function(a, b) {
d("public flash.display.BitmapData::colorTransform");
};
t.prototype.compare = function(a) {
s("public flash.display.BitmapData::compare");
};
t.prototype.copyChannel = function(a, b, c, d, h) {
s("public flash.display.BitmapData::copyChannel");
};
t.prototype.copyPixels = function(a, b, c, h, e, f) {
"undefined" === typeof h && (h = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = !1);
f = !!f;
if (h || e) {
s("public flash.display.BitmapData::copyPixels - Alpha");
} else {
var l = this._getTemporaryRectangleFrom(b, 0).roundInPlace();
b = this._rect;
e = a._rect;
var g = Math.max(l.x, 0);
h = Math.max(l.y, 0);
var n = Math.min(l.x + l.width, e.width), m = Math.min(l.y + l.height, e.height);
e = c.x | 0 + (g - l.x);
l = c.y | 0 + (h - l.y);
0 > e && (g -= e, e = 0);
0 > l && (h -= l, l = 0);
c = Math.min(n - g, b.width - e);
b = Math.min(m - h, b.height - l);
if (!(0 >= c || 0 >= b)) {
var n = g, m = h, p = e, k = l;
h = a._rect.width;
e = this._rect.width;
this._ensureBitmapData();
a._ensureBitmapData();
g = a._view;
l = this._view;
a._type !== this._type && d("public flash.display.BitmapData::copyPixels - Color Format Conversion");
if (f && 1 !== this._type) {
s("public flash.display.BitmapData::copyPixels - Merge Alpha");
} else {
if (null === this._solidFillColorPBGRA || this._solidFillColorPBGRA !== a._solidFillColorPBGRA) {
null !== a._solidFillColorPBGRA && 255 === (a._solidFillColorPBGRA & 255) && (f = !1);
if (f) {
this._copyPixelsAndMergeAlpha(g, n, m, h, l, p, k, e, c, b);
} else {
if (a = m * h + n | 0, f = k * e + p | 0, 0 === (c & 3)) {
for (n = 0;n < b;n = n + 1 | 0) {
for (m = 0;m < c;m = m + 4 | 0) {
l[f + m + 0 | 0] = g[a + m + 0 | 0], l[f + m + 1 | 0] = g[a + m + 1 | 0], l[f + m + 2 | 0] = g[a + m + 2 | 0], l[f + m + 3 | 0] = g[a + m + 3 | 0];
}
a = a + h | 0;
f = f + e | 0;
}
} else {
for (n = 0;n < b;n = n + 1 | 0) {
for (m = 0;m < c;m = m + 1 | 0) {
l[f + m | 0] = g[a + m | 0];
}
a = a + h | 0;
f = f + e | 0;
}
}
}
this._solidFillColorPBGRA = null;
this._invalidate();
}
}
}
}
};
t.prototype._copyPixelsAndMergeAlpha = function(a, b, c, d, h, e, f, l, g, n) {
b = c * d + b | 0;
e = f * l + e | 0;
for (f = 0;f < n;f = f + 1 | 0) {
for (c = 0;c < g;c = c + 1 | 0) {
var m = a[b + c | 0], p = m & 255;
if (255 === p) {
h[e + c | 0] = m;
} else {
if (0 !== p) {
var k = m & 16711935, m = m >> 8 & 16711935, r = h[e + c | 0], q = r & 16711935, r = r >> 8 & 16711935, p = 256 - p, q = Math.imul(q, p) >> 8, r = Math.imul(r, p) >> 8;
h[e + c | 0] = (m + r & 16711935) << 8 | k + q & 16711935;
}
}
}
b = b + d | 0;
e = e + l | 0;
}
};
t.prototype.dispose = function() {
this._rect.setEmpty();
this._view = null;
this._invalidate();
};
t.prototype.draw = function(a, b, c, h, e, f) {
"undefined" === typeof b && (b = null);
"undefined" === typeof c && (c = null);
"undefined" === typeof h && (h = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = !1);
d("public flash.display.BitmapData::draw");
var l = p.instance.globals["Shumway.Player.Utils"];
b && (b = b.clone().toTwipsInPlace());
l.drawToBitmap(this, a, b, c, h, e, f);
this._isRemoteDirty = !0;
};
t.prototype.drawWithQuality = function(a, b, d, h, e, f, l) {
"undefined" === typeof h && (h = null);
"undefined" === typeof l && (l = null);
c(h);
c(l);
s("public flash.display.BitmapData::drawWithQuality");
};
t.prototype.fillRect = function(a, b) {
var c = this._transparent ? q(b) : b | 4278190080;
m(1 === this._type);
var c = e(c), d = this._getTemporaryRectangleFrom(this._rect).intersectInPlace(a);
if (!d.isEmpty() && (this._ensureBitmapData(), this._solidFillColorPBGRA !== c)) {
var h = this._view;
if (d.equals(this._rect)) {
var f = h.length;
if (0 === (f & 3)) {
for (var l = 0;l < f;l = l + 4 | 0) {
h[l + 0 | 0] = c, h[l + 1 | 0] = c, h[l + 2 | 0] = c, h[l + 3 | 0] = c;
}
} else {
for (l = 0;l < f;l = l + 1 | 0) {
h[l] = c;
}
}
this._solidFillColorPBGRA = c;
} else {
for (var f = d.x, l = d.x + d.width, g = d.y + d.height, n = this._rect.width, d = d.y;d < g;d = d + 1 | 0) {
for (var p = d * n | 0, k = f;k < l;k = k + 1 | 0) {
h[p + k | 0] = c;
}
}
this._solidFillColorPBGRA = null;
}
this._invalidate();
}
};
t.prototype.floodFill = function(a, b, c) {
s("public flash.display.BitmapData::floodFill");
};
t.prototype.generateFilterRect = function(a, b) {
s("public flash.display.BitmapData::generateFilterRect");
};
t.prototype.getColorBoundsRect = function(a, b, c) {
s("public flash.display.BitmapData::getColorBoundsRect");
};
t.prototype.getPixels = function(a) {
var b = new f.utils.ByteArray;
this.copyPixelsToByteArray(a, b);
return b;
};
t.prototype.copyPixelsToByteArray = function(a, b) {
var c = this._getPixelData(a);
c && b.writeRawBytes(new Uint8Array(c));
};
t.prototype.getVector = function(a) {
var b = new g.Uint32Vector(c.length), c = this._getPixelData(a);
if (!c) {
return b;
}
b.length = c.length;
b._view().set(c);
return b;
};
t.prototype.hitTest = function(a, b, c, d, h) {
s("public flash.display.BitmapData::hitTest");
};
t.prototype.merge = function(a, b, c, h, e, f, l) {
d("public flash.display.BitmapData::merge");
};
t.prototype.noise = function(a, b, c, h, e) {
d("public flash.display.BitmapData::noise");
};
t.prototype.paletteMap = function(a, b, c, h, e, f, l) {
d("public flash.display.BitmapData::paletteMap");
};
t.prototype.perlinNoise = function(a, b, c, h, e, f, l, g, n) {
d("public flash.display.BitmapData::perlinNoise");
};
t.prototype.pixelDissolve = function(a, b, c, d, h, e) {
s("public flash.display.BitmapData::pixelDissolve");
};
t.prototype.scroll = function(a, b) {
s("public flash.display.BitmapData::scroll");
};
t.prototype.setPixels = function(a, b) {
this._putPixelData(a, new Int32Array(b.readRawBytes()));
};
t.prototype.setVector = function(a, b) {
this._putPixelData(a, b._view());
};
t.prototype.threshold = function(a, b, d, h, e, f, l, g) {
c(h);
s("public flash.display.BitmapData::threshold");
};
t.prototype.lock = function() {
this._locked = !0;
};
t.prototype.unlock = function(a) {
this._locked = !1;
};
t.prototype.histogram = function(a) {
s("public flash.display.BitmapData::histogram");
};
t.prototype.encode = function(a, b, c) {
s("public flash.display.BitmapData::encode");
};
t.prototype._ensureBitmapData = function() {
var c = this._data;
if (this._isRemoteDirty) {
var d = b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].requestBitmapData(this);
this._data = new Uint8Array(d.getBytes());
this._type = 3;
this._view = new Int32Array(this._data.buffer);
this._isDirty = this._isRemoteDirty = !1;
this._solidFillColorPBGRA = null;
}
switch(this._type) {
case 5:
;
case 4:
;
case 6:
b.Debug.somewhatImplemented("Image conversion " + b.ImageType[this._type] + " -> " + b.ImageType[1]);
break;
default:
if (1 !== this._type) {
var d = new Uint8Array(this._rect.width * this._rect.height * 4), h = new Int32Array(d.buffer);
b.ColorUtilities.convertImage(this._type, 1, this._view, h);
this._data = d;
this._view = h;
this._type = 1;
this._solidFillColorPBGRA = null;
}
;
}
1 !== this._type && (this._data = new Uint8Array(this._rect.width * this._rect.height * 4), this._view = new Int32Array(this._data.buffer), this._type = 1, this._fillWithDebugData(), this._solidFillColorPBGRA = null);
c !== this._data && (this._dataBuffer = a.FromArrayBuffer(this._data.buffer));
};
t.prototype._fillWithDebugData = function() {
var a = this._view;
e(4294928820);
for (var b = this._rect.width, c = this._rect.height, d = 0, h = 0;h < c;h++) {
for (var f = 0;f < b;f++) {
a[d++] = e(q(-1442840576 | (h & 255) << 16 | (f & 255) << 8 | 255));
}
}
};
t.classInitializer = function() {
};
t.initializer = function(a) {
this._symbol = a;
};
t.classSymbols = null;
t.instanceSymbols = null;
t.MAXIMUM_WIDTH = 8191;
t.MAXIMUM_HEIGHT = 8191;
t.MAXIMUM_DIMENSION = 16777215;
t._temporaryRectangles = [new f.geom.Rectangle, new f.geom.Rectangle, new f.geom.Rectangle];
return t;
}(g.ASNative);
t.BitmapData = h;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.BitmapDataChannel");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.RED = 1;
a.GREEN = 2;
a.BLUE = 4;
a.ALPHA = 8;
return a;
}(g.ASNative);
f.BitmapDataChannel = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.BitmapEncodingColorSpace");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.COLORSPACE_AUTO = "auto";
a.COLORSPACE_4_4_4 = "4:4:4";
a.COLORSPACE_4_2_2 = "4:2:2";
a.COLORSPACE_4_2_0 = "4:2:0";
return a;
}(g.ASNative);
f.BitmapEncodingColorSpace = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Shumway$$inline_605 = Shumway || (Shumway = {}), AVM2$$inline_606 = Shumway$$inline_605.AVM2 || (Shumway$$inline_605.AVM2 = {}), AS$$inline_607 = AVM2$$inline_606.AS || (AVM2$$inline_606.AS = {}), flash$$inline_608 = AS$$inline_607.flash || (AS$$inline_607.flash = {}), display$$inline_609 = flash$$inline_608.display || (flash$$inline_608.display = {}), display$$inline_610 = flash$$inline_608.display, flash$$inline_611 = AS$$inline_607.flash, AS$$inline_612 = AVM2$$inline_606.AS, AVM2$$inline_613 =
Shumway$$inline_605.AVM2;
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a) {
k("Dummy Constructor: public flash.display.JPEGEncoderOptions");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.JPEGEncoderOptions = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
function s() {
return q.instance.globals["Shumway.Player.Utils"];
}
var m = b.Debug.assert, d = b.Debug.warning, a = b.Debug.assertUnreachable, c = b.Debug.notImplemented, n = b.AVM2.Runtime.throwError, p = b.FileLoadingService, e = b.Telemetry, q = b.AVM2.Runtime.AVM2, l = b.AVM2.ABC.AbcFile, u = f.events, w = f.display.ActionScriptVersion, r = f.system.ApplicationDomain, h = b.Bounds, x;
(function(a) {
a[a.Unloaded = 0] = "Unloaded";
a[a.Opened = 1] = "Opened";
a[a.Initialized = 2] = "Initialized";
a[a.Complete = 3] = "Complete";
})(x || (x = {}));
var y;
(function(a) {
a[a.External = 0] = "External";
a[a.Bytes = 1] = "Bytes";
})(y || (y = {}));
x = function(x) {
function y() {
t.DisplayObjectContainer.instanceConstructorNoInitialize.call(this);
this._writer = new b.IndentingWriter;
this._content = null;
this._contentLoaderInfo = new f.display.LoaderInfo;
this._worker = null;
this._loadStatus = 0;
this._contentLoaderInfo._loader = this;
this._initialDataLoaded = new b.PromiseWrapper;
this._waitForInitialData = !0;
this._commitDataQueue = this._initialDataLoaded.promise;
this._codeExecutionPromise = new b.PromiseWrapper;
this._progressPromise = new b.PromiseWrapper;
this._startPromise = Promise.all([this._codeExecutionPromise.promise, this._progressPromise.promise]);
}
__extends(y, x);
y.getRootLoader = function() {
if (y._rootLoader) {
return y._rootLoader;
}
var a = new f.display.Loader;
f.display.DisplayObject._instanceID--;
a._contentLoaderInfo._loader = null;
a._loadStatus = 1;
return y._rootLoader = a;
};
y.reset = function() {
y._rootLoader = null;
};
y.progress = function() {
y.FlushCommittedFrames();
for (var b = y._loadQueue, c = 0;c < b.length;c++) {
var d = b[c], h = d._contentLoaderInfo, e = h._bytesLoaded, f = h._bytesTotal;
switch(d._loadStatus) {
case 0:
if (!f) {
break;
}
0 === d._loadingType && h.dispatchEvent(u.Event.getInstance(u.Event.OPEN));
h.dispatchEvent(new u.ProgressEvent(u.ProgressEvent.PROGRESS, !1, !1, 0, f));
d._loadStatus = 1;
case 1:
h._bytesLoadedChanged && (h._bytesLoadedChanged = !1, h.dispatchEvent(new u.ProgressEvent(u.ProgressEvent.PROGRESS, !1, !1, e, f)));
if (!d._content || !d._content._hasFlags(256)) {
break;
}
d._loadStatus = 2;
h.dispatchEvent(u.Event.getInstance(u.Event.INIT));
h._actionScriptVersion === w.ACTIONSCRIPT2 && u.EventDispatcher.broadcastEventDispatchQueue.dispatchEvent(u.Event.getBroadcastInstance(u.Event.AVM1_LOAD));
case 2:
e === f && (d._loadStatus = 3, h.dispatchEvent(u.Event.getInstance(u.Event.COMPLETE)));
break;
case 3:
b.splice(c--, 1);
break;
default:
a("Mustn't encounter unhandled status in Loader queue.");
}
}
};
y.FlushCommittedFrames = function() {
for (var a = y._commitFrameQueue, b = 0;b < a.length;b++) {
a[b].loader._commitFrame(a[b].data);
}
a.length = 0;
};
y.prototype._initFrame = function(a) {
};
y.prototype._constructFrame = function() {
this._constructChildren();
};
y.prototype._describeData = function(a) {
var c = [], d;
for (d in a) {
c.push(d + ":" + b.StringUtilities.toSafeString(a[d]));
}
return "{" + c.join(", ") + "}";
};
y.prototype._commitData = function(a) {
!this._waitForInitialData || "progress" !== a.command && "image" !== a.command && "error" !== a.command || (this._waitForInitialData = !1, this._initialDataLoaded.resolve(void 0));
var b = this._commitDataQueue.then(this._commitQueuedData.bind(this, a));
g.traceLoaderOption.value && this._writer.writeTimeLn("Making for: " + this._describeData(a));
this._commitDataQueue = b;
};
y.prototype._commitQueuedData = function(a) {
var c = this._contentLoaderInfo, d = a.command, h = null;
g.traceLoaderOption.value && this._writer.writeTimeLn("Executing Promise: " + this._describeData(a));
switch(d) {
case "init":
d = a.result;
c.bytesLoaded = d.bytesLoaded;
c._bytesTotal = d.bytesTotal;
c._swfVersion = d.swfVersion;
c._frameRate = d.frameRate;
var f = d.bbox;
c._width = f.xMax - f.xMin;
c._height = f.yMax - f.yMin;
f = new b.Timeline.SpriteSymbol(0, !0);
f.numFrames = d.frameCount;
c.registerSymbol(f);
d.fileAttributes && d.fileAttributes.doAbc || (c._actionScriptVersion = w.ACTIONSCRIPT2, h = this._initAvm1(), g.traceLoaderOption.value && this._writer.writeTimeLn("Suspending until AVM1 is initialized."));
break;
case "progress":
var d = a.result, f = d.bytesLoaded, n = d.bytesTotal;
m(f <= n, "Loaded bytes should not exceed total bytes.");
c.bytesLoaded = f;
c._bytesTotal ? m(c._bytesTotal === n, "Total bytes should not change.") : c._bytesTotal = n;
d.open && 0 === this._loadStatus && (this._loadStatus = 1);
0 !== this._loadStatus && (c.dispatchEvent(new u.ProgressEvent(u.ProgressEvent.PROGRESS, !1, !1, f, n)), this._progressPromise.resolve(void 0), g.traceLoaderOption.value && this._writer.writeTimeLn("Resolving progress promise."));
break;
case "complete":
a.stats && e.instance.reportTelemetry(a.stats);
this._worker && this._worker.terminate();
break;
case "error":
this._contentLoaderInfo.dispatchEvent(new u.IOErrorEvent(u.IOErrorEvent.IO_ERROR));
break;
default:
if (0 === a.id) {
break;
}
if (a.isSymbol) {
this._commitAsset(a);
} else {
if ("frame" === a.type) {
if (this._frameAssetsQueue) {
g.traceLoaderOption.value && this._writer.writeTimeLn("Suspending frame execution until all of its assets are resolved.");
var k = this, h = Promise.all(this._frameAssetsQueue).then(function() {
k._enqueueFrame(a);
k._frameAssetsQueue = null;
}.bind(this));
} else {
this._enqueueFrame(a);
}
} else {
"image" === a.type ? this._commitImage(a) : "abc" === a.type && (d = q.instance.applicationDomain, f = new l(a.data, a.name), a.flags ? d.loadAbc(f) : c._allowCodeExecution && d.executeAbc(f));
}
}
;
}
return h;
};
y.prototype._initAvm1 = function() {
var a = this._contentLoaderInfo;
return this._loaderInfo && this._loaderInfo._avm1Context ? (a._avm1Context = this._loaderInfo._avm1Context, null) : q.instance.loadAVM1().then(function() {
a._avm1Context = b.AVM1.AVM1Context.create(a.swfVersion);
});
};
y.prototype._commitAsset = function(a) {
var c = this._contentLoaderInfo, d = a.id, e;
if (a.updates) {
a = a.updates, e = c.getSymbolById(d), a.scale9Grid && (e.scale9Grid = h.FromUntyped(a.scale9Grid));
} else {
switch(a.type) {
case "shape":
e = b.Timeline.ShapeSymbol.FromData(a, c);
break;
case "morphshape":
e = b.Timeline.MorphShapeSymbol.FromData(a, c);
break;
case "image":
var l = e = b.Timeline.BitmapSymbol.FromData(a);
if (5 === l.type || 6 === l.type || 4 === l.type) {
this._frameAssetsQueue || (this._frameAssetsQueue = []), this._frameAssetsQueue.push(new Promise(function(a) {
s().decodeImage(l, a);
}));
}
break;
case "label":
;
case "text":
e = b.Timeline.TextSymbol.FromTextData(a);
break;
case "button":
e = b.Timeline.ButtonSymbol.FromData(a, c);
break;
case "sprite":
e = b.Timeline.SpriteSymbol.FromData(a, c);
break;
case "font":
e = b.Timeline.FontSymbol.FromData(a);
d = f.text.Font.initializeFrom(e);
f.text.Font.instanceConstructorNoInitialize.call(d);
s().registerFont(d);
"undefined" !== typeof navigator && 0 > navigator.userAgent.indexOf("Firefox") && (this._frameAssetsQueue || (this._frameAssetsQueue = []), this._frameAssetsQueue.push(new Promise(function(a) {
setTimeout(a, 400);
})));
break;
case "sound":
e = b.Timeline.SoundSymbol.FromData(a);
break;
case "binary":
e = b.Timeline.BinarySymbol.FromData(a);
}
m(e, "Unknown symbol type.");
c.registerSymbol(e);
}
};
y.prototype._enqueueFrame = function(a) {
this === y.getRootLoader() ? (y.runtimeStartTime = Date.now(), this._commitFrame(a), this._codeExecutionPromise.resolve(void 0)) : y._commitFrameQueue.push({loader:this, data:a});
};
y.prototype._commitFrame = function(a) {
var c = this._contentLoaderInfo;
void 0 !== a.bgcolor && (c._colorRGBA = a.bgcolor);
if (a.symbolClasses) {
for (var h = a.symbolClasses, e = q.instance.applicationDomain, l = 0;l < h.length;l++) {
var n = h[l];
if (c._allowCodeExecution) {
var m = c.getSymbolById(n.symbolId);
m ? (n = e.getClass(n.className), n.defaultInitializerArgument = m, m.symbolClass = n) : d("Symbol " + n.symbolId + " is not defined.");
}
}
}
if (a.exports && c._actionScriptVersion === w.ACTIONSCRIPT2) {
for (h = a.exports, l = 0;l < h.length;l++) {
n = h[l], (m = c.getSymbolById(n.symbolId)) ? c._avm1Context.addAsset(n.className, n.symbolId, m) : d("Symbol " + n.symbolId + " is not defined.");
}
}
for (var h = c.getSymbolById(0), l = h.symbolClass, e = h.frames, m = e.length, n = new b.Timeline.FrameDelta(c, a.commands), k = a.repeat;k--;) {
e.push(n);
}
e = this._content;
if (!e) {
e = l.initializeFrom(h);
f.display.DisplayObject._instanceID--;
e._name = "root1";
if (t.MovieClip.isType(e)) {
if (n = e, a.sceneData) {
for (var k = a.sceneData.scenes, l = 0, p = k.length;l < p;l++) {
var r = k[l], s = r.offset;
n.addScene(r.name, [], s, (l < p - 1 ? k[l + 1].offset : h.numFrames) - s);
}
h = a.sceneData.labels;
for (l = 0;l < h.length;l++) {
k = h[l], n.addFrameLabel(k.name, k.frame + 1);
}
} else {
n.addScene("Scene 1", [], 0, h.numFrames);
}
}
e._loaderInfo = c;
c._actionScriptVersion === w.ACTIONSCRIPT2 ? e = this._content = this._initAvm1Root(e) : this._content = e;
this.addTimelineObjectAtDepth(this._content, 0);
}
t.AVM1Movie.isType(e) && (e = e._children[0]);
t.MovieClip.isType(e) && (l = e, a.labelName && l.addFrameLabel(a.labelName, m + 1), c._actionScriptVersion === w.ACTIONSCRIPT2 && g.avm1lib.getAVM1Object(e).addFrameActionBlocks(m, a), a.soundStream && l._initSoundStream(a.soundStream), a.soundStreamBlock && l._addSoundStreamBlock(m + 1, a.soundStreamBlock));
};
y.prototype._initAvm1Root = function(a) {
if (this._loaderInfo && this._loaderInfo._avm1Context) {
return a;
}
var b = g.avm1lib.getAVM1Object(a), c = this._contentLoaderInfo._avm1Context;
c.root = b;
b.context = c;
a.addEventListener("frameConstructed", c.flushPendingScripts.bind(c), !1, Number.MAX_VALUE);
c.globals.asSetPublicProperty("_root", b);
c.globals.asSetPublicProperty("_level0", b);
c = new f.display.AVM1Movie;
c.initializeContent(a);
this._content = c;
a = this._contentLoaderInfo._parameters;
for (var d in a) {
d in b || (b[d] = a[d]);
}
return c;
};
y.prototype._commitImage = function(a) {
a = b.Timeline.BitmapSymbol.FromData(a.props);
var c = f.display.BitmapData.initializeFrom(a);
f.display.BitmapData.instanceConstructorNoInitialize.call(c);
this._content = new f.display.Bitmap(c);
this.addTimelineObjectAtDepth(this._content, 0);
c = this._contentLoaderInfo;
c._width = a.width;
c._height = a.height;
c.dispatchEvent(u.Event.getInstance(u.Event.INIT));
c.dispatchEvent(u.Event.getInstance(u.Event.COMPLETE));
this._loadStatus = 3;
};
Object.defineProperty(y.prototype, "content", {get:function() {
return 0 === this._loadStatus ? null : this._content;
}, enumerable:!0, configurable:!0});
Object.defineProperty(y.prototype, "contentLoaderInfo", {get:function() {
return this._contentLoaderInfo;
}, enumerable:!0, configurable:!0});
y.prototype._close = function() {
this._worker && 0 === this._loadStatus && (this._worker.terminate(), this._worker = null);
};
y.prototype._unload = function(a, b) {
2 > this._loadStatus || (this._content = null, this._worker = this._contentLoaderInfo._loader = null, this._loadStatus = 0, this.dispatchEvent(u.Event.getInstance(u.Event.UNLOAD)));
};
y.prototype._getJPEGLoaderContextdeblockingfilter = function(a) {
return f.system.JPEGLoaderContext.isType(a) ? a.deblockingFilter : 0;
};
y.prototype._getUncaughtErrorEvents = function() {
c("public flash.display.Loader::_getUncaughtErrorEvents");
};
y.prototype._setUncaughtErrorEvents = function(a) {
c("public flash.display.Loader::_setUncaughtErrorEvents");
};
y.prototype.load = function(a, b) {
this._contentLoaderInfo._url = a.url;
this._applyLoaderContext(b, a);
this._loadingType = 0;
var c = this._createParsingWorker(), d = this, h = p.instance.createSession();
h.onprogress = function(a, b) {
c.postMessage({data:a, progress:b});
};
h.onerror = function(a) {
d._commitData({command:"error", error:a});
};
h.onopen = function() {
c.postMessage("pipe:");
};
h.onclose = function() {
c.postMessage({data:null});
};
h.open(a._toFileRequest());
y._loadQueue.push(this);
};
y.prototype.loadBytes = function(a) {
this._contentLoaderInfo._url = (this.loaderInfo ? this.loaderInfo._url : "") + "/[[DYNAMIC]]/" + ++y._embeddedContentLoadCount;
this._applyLoaderContext(void 0, null);
this._loadingType = 1;
var b = this._createParsingWorker();
y._loadQueue.push(this);
b.postMessage("pipe:");
a = a.bytes;
b.postMessage({data:a, progress:{bytesLoaded:a.byteLength, bytesTotal:a.byteLength}});
b.postMessage({data:null});
};
y.prototype._applyLoaderContext = function(a, c) {
var d = {};
if (a && a.parameters) {
var h = a.parameters, e;
for (e in h) {
var f = h[e];
b.isString(f) || n("IllegalOperationError", k.Errors.ObjectWithStringsParamError, "LoaderContext.parameters");
d[e] = f;
}
}
a && a.applicationDomain && (this._contentLoaderInfo._applicationDomain = new r(r.currentDomain));
this._contentLoaderInfo._parameters = d;
};
y.prototype._createParsingWorker = function() {
var a = this._contentLoaderInfo, c;
c = !y.WORKERS_AVAILABLE || b.useParsingWorkerOption && !b.useParsingWorkerOption.value ? new b.SWF.ResourceLoader(window, !1) : new Worker("undefined" !== typeof LOADER_WORKER_PATH ? LOADER_WORKER_PATH : SHUMWAY_ROOT + y.LOADER_PATH);
a._allowCodeExecution || this._codeExecutionPromise.reject("Disabled by _allowCodeExecution");
this._waitForInitialData || this._initialDataLoaded.resolve(void 0);
var d = this;
c.onmessage = function(a) {
"exception" === a.data.type ? (console.log("error in parser: \n" + a.data.stack), q.instance.exceptions.push({source:"parser", message:a.data.message, stack:a.data.stack})) : d._commitData(a.data);
};
return c;
};
y._embeddedContentLoadCount = 0;
y.classInitializer = function() {
y._rootLoader = null;
y._loadQueue = [];
};
y.initializer = function() {
t.DisplayObject._advancableInstances.push(this);
};
y.classSymbols = null;
y.instanceSymbols = null;
y.WORKERS_AVAILABLE = "undefined" !== typeof Worker;
y.LOADER_PATH = "swf/worker.js";
y.runtimeStartTime = 0;
y._commitFrameQueue = [];
return y;
}(f.display.DisplayObjectContainer);
t.Loader = x;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.assert, m = b.Debug.notImplemented, d = b.Debug.somewhatImplemented, a = f.display.ActionScriptVersion, c = function(c) {
function g() {
f.events.EventDispatcher.instanceConstructorNoInitialize.call(this);
this._url = this._loaderURL = "";
this._isURLInaccessible = !1;
this._bytesLoaded = 0;
this._bytesLoadedChanged = !1;
this._bytesTotal = 0;
this._applicationDomain = null;
this._swfVersion = 9;
this._actionScriptVersion = a.ACTIONSCRIPT3;
k(this._actionScriptVersion);
this._frameRate = 24;
this._parameters = null;
this._height = this._width = 0;
this._contentType = "";
this._childSandboxBridge = this._parentSandboxBridge = this._sharedEvents = null;
this._parentAllowsChild = this._childAllowsParent = this._sameDomain = !1;
this._uncaughtErrorEvents = this._bytes = this._content = this._loader = null;
this._allowCodeExecution = !0;
this._dictionary = [];
this._avm1Context = null;
this._colorRGBA = 4294967295;
}
__extends(g, c);
g.getLoaderInfoByDefinition = function(a) {
m("public flash.display.LoaderInfo::static getLoaderInfoByDefinition");
};
Object.defineProperty(g.prototype, "loaderURL", {get:function() {
return this._loaderURL;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "url", {get:function() {
return this._url;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "isURLInaccessible", {get:function() {
return this._isURLInaccessible;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "bytesLoaded", {get:function() {
return this._bytesLoaded;
}, set:function(a) {
a !== this._bytesLoaded && (this._bytesLoaded = a, this._bytesLoadedChanged = !0);
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "bytesTotal", {get:function() {
return this._bytesTotal;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "applicationDomain", {get:function() {
d("public flash.display.LoaderInfo::get applicationDomain");
return f.system.ApplicationDomain.currentDomain;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "swfVersion", {get:function() {
return this._swfVersion;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "actionScriptVersion", {get:function() {
return this._actionScriptVersion;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "frameRate", {get:function() {
return this._frameRate;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "width", {get:function() {
return this._width / 20 | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "height", {get:function() {
return this._height / 20 | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "contentType", {get:function() {
return this._contentType;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "sharedEvents", {get:function() {
m("public flash.display.LoaderInfo::get sharedEvents");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "parentSandboxBridge", {get:function() {
m("public flash.display.LoaderInfo::get parentSandboxBridge");
}, set:function(a) {
m("public flash.display.LoaderInfo::set parentSandboxBridge");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "childSandboxBridge", {get:function() {
m("public flash.display.LoaderInfo::get childSandboxBridge");
}, set:function(a) {
m("public flash.display.LoaderInfo::set childSandboxBridge");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "sameDomain", {get:function() {
m("public flash.display.LoaderInfo::get sameDomain");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "childAllowsParent", {get:function() {
m("public flash.display.LoaderInfo::get childAllowsParent");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "parentAllowsChild", {get:function() {
m("public flash.display.LoaderInfo::get parentAllowsChild");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "loader", {get:function() {
return this._loader;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "content", {get:function() {
return this._loader && this._loader.content;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "bytes", {get:function() {
m("public flash.display.LoaderInfo::get bytes");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "parameters", {get:function() {
d("public flash.display.LoaderInfo::get parameters");
return this._parameters ? b.ObjectUtilities.cloneObject(this._parameters) : {};
}, enumerable:!0, configurable:!0});
g.prototype._getUncaughtErrorEvents = function() {
m("public flash.display.LoaderInfo::_getUncaughtErrorEvents");
};
g.prototype._setUncaughtErrorEvents = function(a) {
m("public flash.display.LoaderInfo::_setUncaughtErrorEvents");
};
g.prototype.registerSymbol = function(a) {
this._dictionary[a.id] = a;
};
g.prototype.getSymbolById = function(a) {
return this._dictionary[a] || null;
};
g.classInitializer = null;
g.initializer = null;
g.classSymbols = null;
g.instanceSymbols = null;
return g;
}(f.events.EventDispatcher);
g.LoaderInfo = c;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
(function(g) {
var k = function(m) {
function d() {
g.DisplayObject.instanceConstructorNoInitialize.call(this);
}
__extends(d, m);
d.prototype._canHaveGraphics = function() {
return!0;
};
d.prototype._getGraphics = function() {
return this._graphics;
};
Object.defineProperty(d.prototype, "graphics", {get:function() {
return this._ensureGraphics();
}, enumerable:!0, configurable:!0});
d.classInitializer = null;
d.initializer = function(a) {
a ? (this._graphics = a.graphics, this.morphFillBounds = a.morphFillBounds, this.morphLineBounds = a.morphLineBounds) : (this._graphics = new b.display.Graphics, this.morphLineBounds = this.morphFillBounds = null);
};
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.display.DisplayObject);
g.MorphShape = k;
})(b.display || (b.display = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.NativeMenu");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.NativeMenu = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.somewhatImplemented, m = function(b) {
function a() {
f.events.EventDispatcher.instanceConstructorNoInitialize.call(this);
this._enabled = !0;
}
__extends(a, b);
Object.defineProperty(a.prototype, "enabled", {get:function() {
k("public flash.display.NativeMenuItem::get enabled");
return this._enabled;
}, set:function(a) {
a = !!a;
k("public flash.display.NativeMenuItem::set enabled");
this._enabled = a;
}, enumerable:!0, configurable:!0});
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.NativeMenuItem = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a) {
k("Dummy Constructor: public flash.display.PNGEncoderOptions");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.PNGEncoderOptions = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.PixelSnapping");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.NEVER;
case 1:
return a.ALWAYS;
case 2:
return a.AUTO;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.NEVER:
return 0;
case a.ALWAYS:
return 1;
case a.AUTO:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.NEVER = "never";
a.ALWAYS = "always";
a.AUTO = "auto";
return a;
}(g.ASNative);
f.PixelSnapping = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.SWFVersion");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.FLASH1 = 1;
a.FLASH2 = 2;
a.FLASH3 = 3;
a.FLASH4 = 4;
a.FLASH5 = 5;
a.FLASH6 = 6;
a.FLASH7 = 7;
a.FLASH8 = 8;
a.FLASH9 = 9;
a.FLASH10 = 10;
a.FLASH11 = 11;
a.FLASH12 = 12;
return a;
}(g.ASNative);
f.SWFVersion = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b, d, e) {
this._name = k(a);
this._labels = b;
this.offset = d;
this._numFrames = e | 0;
}
__extends(a, b);
Object.defineProperty(a.prototype, "name", {get:function() {
return this._name;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "labels", {get:function() {
return this._labels;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "numFrames", {get:function() {
return this._numFrames;
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
var b = this._labels.map(function(a) {
return a.clone();
});
return new a(this._name, b, this.offset, this._numFrames);
};
a.prototype.getLabelByName = function(a) {
for (var b = this._labels, d = 0;d < b.length;d++) {
var e = b[d];
if (e.name === a) {
return e;
}
}
return null;
};
a.prototype.getLabelByFrame = function(a) {
for (var b = this._labels, d = 0;d < b.length;d++) {
var e = b[d];
if (e.frame === a) {
return e;
}
}
return null;
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.Scene = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m;
(function(b) {
b[b.None = 0] = "None";
b[b.Top = 1] = "Top";
b[b.Bottom = 2] = "Bottom";
b[b.Left = 4] = "Left";
b[b.Right = 8] = "Right";
})(m || (m = {}));
m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.StageAlign");
}
__extends(a, b);
a.fromNumber = function(a) {
if (0 === a) {
return "";
}
var b = "";
a & 1 && (b += "T");
a & 2 && (b += "B");
a & 4 && (b += "L");
a & 8 && (b += "R");
return b;
};
a.toNumber = function(a) {
var b = 0;
a = a.toUpperCase();
0 <= a.indexOf("T") && (b |= 1);
0 <= a.indexOf("B") && (b |= 2);
0 <= a.indexOf("L") && (b |= 4);
0 <= a.indexOf("R") && (b |= 8);
return b;
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.TOP = "T";
a.LEFT = "L";
a.BOTTOM = "B";
a.RIGHT = "R";
a.TOP_LEFT = "TL";
a.TOP_RIGHT = "TR";
a.BOTTOM_LEFT = "BL";
a.BOTTOM_RIGHT = "BR";
return a;
}(g.ASNative);
f.StageAlign = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.StageDisplayState");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.FULL_SCREEN;
case 1:
return a.FULL_SCREEN_INTERACTIVE;
case 2:
return a.NORMAL;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.FULL_SCREEN:
return 0;
case a.FULL_SCREEN_INTERACTIVE:
return 1;
case a.NORMAL:
return 2;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.FULL_SCREEN = "fullScreen";
a.FULL_SCREEN_INTERACTIVE = "fullScreenInteractive";
a.NORMAL = "normal";
return a;
}(g.ASNative);
f.StageDisplayState = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.StageQuality");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.LOW;
case 1:
return a.MEDIUM;
case 2:
return a.HIGH;
case 3:
return a.BEST;
case 4:
return a.HIGH_8X8;
case 5:
return a.HIGH_8X8_LINEAR;
case 6:
return a.HIGH_16X16;
case 7:
return a.HIGH_16X16_LINEAR;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.LOW:
return 0;
case a.MEDIUM:
return 1;
case a.HIGH:
return 2;
case a.BEST:
return 3;
case a.HIGH_8X8:
return 4;
case a.HIGH_8X8_LINEAR:
return 5;
case a.HIGH_16X16:
return 6;
case a.HIGH_16X16_LINEAR:
return 7;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.LOW = "low";
a.MEDIUM = "medium";
a.HIGH = "high";
a.BEST = "best";
a.HIGH_8X8 = "8x8";
a.HIGH_8X8_LINEAR = "8x8linear";
a.HIGH_16X16 = "16x16";
a.HIGH_16X16_LINEAR = "16x16linear";
return a;
}(g.ASNative);
f.StageQuality = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.StageScaleMode");
}
__extends(a, b);
a.fromNumber = function(b) {
switch(b) {
case 0:
return a.SHOW_ALL;
case 1:
return a.EXACT_FIT;
case 2:
return a.NO_BORDER;
case 4:
return a.NO_SCALE;
default:
return null;
}
};
a.toNumber = function(b) {
switch(b) {
case a.SHOW_ALL:
return 0;
case a.EXACT_FIT:
return 1;
case a.NO_BORDER:
return 2;
case a.NO_SCALE:
return 3;
default:
return-1;
}
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.SHOW_ALL = "showAll";
a.EXACT_FIT = "exactFit";
a.NO_BORDER = "noBorder";
a.NO_SCALE = "noScale";
return a;
}(g.ASNative);
f.StageScaleMode = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.display.TriangleCulling");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.NONE = "none";
a.POSITIVE = "positive";
a.NEGATIVE = "negative";
return a;
}(g.ASNative);
f.TriangleCulling = m;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.Debug.assert, d = function(a) {
function b() {
f.display.DisplayObject.instanceConstructorNoInitialize.call(this);
this._children = [];
this._constructed = !1;
}
__extends(b, a);
b.prototype.initializeContent = function(a) {
m(0 === this._children.length);
m(!this._parent, "Must have content initialized before being added to stage");
this._children[0] = this._content = a;
a._setParent(this, 0);
this._setDirtyFlags(2097152);
this._invalidateFillAndLineBounds(!0, !0);
g.DisplayObject._advancableInstances.push(this);
};
b.prototype.call = function(a) {
k("AVM1Movie#call");
};
b.prototype.addCallback = function(a, b) {
k("AVM1Movie#call");
};
b.prototype._initFrame = function(a) {
};
b.prototype._constructFrame = function() {
this._constructed || (this._constructed = !0, g.DisplayObjectContainer.prototype._constructChildren.call(this));
this._content._constructFrame();
};
b.prototype._enqueueFrameScripts = function() {
this._removeFlags(8192);
this._content._enqueueFrameScripts();
};
b.prototype._propagateFlagsDown = function(a) {
this._hasFlags(a) || (this._setFlags(a), this._content._propagateFlagsDown(a));
};
b.prototype._containsPoint = function(a, b, c, d, f, g) {
return 3 === f ? this._content._containsPoint(a, b, c, d, f, g) : 0 === f && this._getContentBounds().contains(c, d) ? 1 : 0;
};
b.prototype._getChildBounds = function(a, b) {
var c = this._content._getContentBounds(b).clone();
this._getConcatenatedMatrix().transformBounds(c);
a.unionInPlace(c);
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.display.DisplayObject);
g.AVM1Movie = d;
})(f.display || (f.display = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.ObjectUtilities.createEmptyObject, a = b.Telemetry, c = b.AVM2.Runtime.forEachPublicProperty, n = b.ExternalInterfaceService, p = function(b) {
function f() {
k("Dummy Constructor: public flash.external.ExternalInterface");
}
__extends(f, b);
f._getAvailable = function() {
return n.instance.enabled;
};
f._initJS = function() {
f.initialized || (a.instance.reportTelemetry({topic:"feature", feature:1}), f.initialized = !0, n.instance.initJS(f._callIn));
};
f._callIn = function(a, b) {
var c = f.registeredCallbacks[a];
if (c) {
return c(a, b);
}
};
f._getPropNames = function(a) {
var b = [];
c(a, function(a) {
b.push(a);
}, null);
return b;
};
f._addCallback = function(a, b, c) {
c ? (n.instance.unregisterCallback(a), delete f.registeredCallbacks[a]) : (n.instance.registerCallback(a), f.registeredCallbacks[a] = b);
};
f._evalJS = function(a) {
a = m(a);
return n.instance.eval(a);
};
f._callOut = function(a) {
a = m(a);
return n.instance.call(a);
};
Object.defineProperty(f, "available", {get:function() {
return f._getAvailable();
}, enumerable:!0, configurable:!0});
Object.defineProperty(f, "objectID", {get:function() {
return n.instance.getId();
}, enumerable:!0, configurable:!0});
Object.defineProperty(f, "activeX", {get:function() {
return!1;
}, enumerable:!0, configurable:!0});
f.classInitializer = null;
f.initializer = null;
f.classSymbols = null;
f.instanceSymbols = null;
f.initialized = !1;
f.registeredCallbacks = d();
return f;
}(g.ASNative);
f.ExternalInterface = p;
})(f.external || (f.external = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.LOW = 1;
d.MEDIUM = 2;
d.HIGH = 3;
return d;
}(b.ASNative);
f.BitmapFilterQuality = k;
})(f.filters || (f.filters = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.INNER = "inner";
d.OUTER = "outer";
d.FULL = "full";
return d;
}(b.ASNative);
f.BitmapFilterType = k;
})(f.filters || (f.filters = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
}
__extends(d, b);
d._updateBlurBounds = function(a, b, f, g, e) {
"undefined" === typeof e && (e = !1);
g = d.blurFilterStepWidths[g - 1];
e && (e = g / 4, b -= e, f -= e);
a.inflate(Math.ceil((1 > b ? 1 : b) * g), Math.ceil((1 > f ? 1 : f) * g));
};
d.prototype._updateFilterBounds = function(a) {
};
d.prototype._serialize = function(a) {
a.writeInt(-1);
};
d.prototype.clone = function() {
return null;
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.EPS = 1E-9;
d.blurFilterStepWidths = [.5, 1.05, 1.35, 1.55, 1.75, 1.9, 2, 2.1, 2.2, 2.3, 2.5, 3, 3, 3.5, 3.5];
return d;
}(g.ASNative);
f.BitmapFilter = k;
k = function() {
function f() {
}
f.sanitize = function(d, a, c) {
if (b.isNullOrUndefined(d) || 0 === d.length) {
this.colors = [], this.alphas = [], this.ratios = [];
} else {
var f;
b.isNullOrUndefined(c) ? (this.colors = this.sanitizeColors(d), f = this.colors.length, this.ratios = this.initArray(f), b.isNullOrUndefined(a) ? this.alphas = this.initArray(f) : this.alphas = this.sanitizeAlphas(a, f, f, 1)) : 0 === c.length ? (this.colors = [], this.alphas = [], this.ratios = []) : (f = Math.min(d.length, c.length, 16), this.colors = this.sanitizeColors(d, f), this.ratios = this.sanitizeRatios(c, f), b.isNullOrUndefined(a) ? this.alphas = this.initArray(f) : this.alphas =
this.sanitizeAlphas(a, f, f, 1));
}
};
f.sanitizeColors = function(b, a) {
"undefined" === typeof a && (a = 16);
for (var c = [], f = 0, g = Math.min(b.length, a);f < g;f++) {
c[f] = b[f] >>> 0 & 16777215;
}
return c;
};
f.sanitizeAlphas = function(d, a, c, f) {
"undefined" === typeof a && (a = 16);
"undefined" === typeof c && (c = 0);
"undefined" === typeof f && (f = 0);
var g = [], e = 0;
for (a = Math.min(d.length, a);e < a;e++) {
g[e] = b.NumberUtilities.clamp(+d[e], 0, 1);
}
for (;e < c;) {
g[e++] = f;
}
return g;
};
f.sanitizeRatios = function(d, a, c) {
var f;
"undefined" === typeof a && (a = 16);
"undefined" === typeof c && (c = 0);
"undefined" === typeof f && (f = 0);
var g = [], e = 0;
for (a = Math.min(d.length, a);e < a;e++) {
g[e] = b.NumberUtilities.clamp(+d[e], 0, 255);
}
for (;e < c;) {
g[e++] = f;
}
return g;
};
f.initArray = function(b) {
var a;
"undefined" === typeof a && (a = 0);
for (var c = Array(b), f = 0;f < b;f++) {
c[f] = a;
}
return c;
};
return f;
}();
f.GradientArrays = k;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.AVM2.Runtime.asCoerceString, m = b.Debug.assert, d = function(a) {
function c(a, b, c, d, f, g, m, k, h, s, t, G) {
"undefined" === typeof a && (a = 4);
"undefined" === typeof b && (b = 45);
"undefined" === typeof c && (c = 16777215);
"undefined" === typeof d && (d = 1);
"undefined" === typeof f && (f = 0);
"undefined" === typeof g && (g = 1);
"undefined" === typeof m && (m = 4);
"undefined" === typeof k && (k = 4);
"undefined" === typeof h && (h = 1);
"undefined" === typeof s && (s = 1);
"undefined" === typeof t && (t = "inner");
"undefined" === typeof G && (G = !1);
this.distance = a;
this.angle = b;
this.highlightColor = c;
this.highlightAlpha = d;
this.shadowColor = f;
this.shadowAlpha = g;
this.blurX = m;
this.blurY = k;
this.strength = h;
this.quality = s;
this.type = t;
this.knockout = G;
}
__extends(c, a);
c.FromUntyped = function(a) {
var b = a.highlightColor >>> 8, d = (a.highlightColor & 255) / 255;
m(a.colors && 1 === a.colors.length, "colors must be Array of length 1");
var g = a.colors[0] >>> 8, l = (a.colors[0] & 255) / 255, k = f.filters.BitmapFilterType.OUTER;
a.onTop ? k = f.filters.BitmapFilterType.FULL : a.inner && (k = f.filters.BitmapFilterType.INNER);
return new c(a.distance, 180 * a.angle / Math.PI, b, d, g, l, a.blurX, a.blurY, a.strength, a.quality, k, a.knockout);
};
c.prototype._updateFilterBounds = function(a) {
if (this.type !== g.BitmapFilterType.INNER && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) {
var b = this._angle * Math.PI / 180;
a.x += Math.floor(Math.cos(b) * this._distance);
a.y += Math.floor(Math.sin(b) * this._distance);
0 < a.left && (a.left = 0);
0 < a.top && (a.top = 0);
}
};
Object.defineProperty(c.prototype, "distance", {get:function() {
return this._distance;
}, set:function(a) {
this._distance = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "angle", {get:function() {
return this._angle;
}, set:function(a) {
this._angle = +a % 360;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "highlightColor", {get:function() {
return this._highlightColor;
}, set:function(a) {
this._highlightColor = a >>> 0 & 16777215;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "highlightAlpha", {get:function() {
return this._highlightAlpha;
}, set:function(a) {
this._highlightAlpha = b.NumberUtilities.clamp(+a, 0, 1);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "shadowColor", {get:function() {
return this._shadowColor;
}, set:function(a) {
this._shadowColor = a >>> 0 & 16777215;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "shadowAlpha", {get:function() {
return this._shadowAlpha;
}, set:function(a) {
this._shadowAlpha = b.NumberUtilities.clamp(+a, 0, 1);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "blurX", {get:function() {
return this._blurX;
}, set:function(a) {
this._blurX = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "blurY", {get:function() {
return this._blurY;
}, set:function(a) {
this._blurY = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "knockout", {get:function() {
return this._knockout;
}, set:function(a) {
this._knockout = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "quality", {get:function() {
return this._quality;
}, set:function(a) {
this._quality = b.NumberUtilities.clamp(a | 0, 0, 15);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "strength", {get:function() {
return this._strength;
}, set:function(a) {
this._strength = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "type", {get:function() {
return this._type;
}, set:function(a) {
a = s(a);
null === a ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "type") : this._type = a === g.BitmapFilterType.INNER || a === g.BitmapFilterType.OUTER ? a : g.BitmapFilterType.FULL;
}, enumerable:!0, configurable:!0});
c.prototype.clone = function() {
return new c(this._distance, this._angle, this._highlightColor, this._highlightAlpha, this._shadowColor, this._shadowAlpha, this._blurX, this._blurY, this._strength, this._quality, this._type, this._knockout);
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(f.filters.BitmapFilter);
g.BevelFilter = d;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = function(f) {
function d(a, b, d) {
"undefined" === typeof a && (a = 4);
"undefined" === typeof b && (b = 4);
"undefined" === typeof d && (d = 1);
this.blurX = a;
this.blurY = b;
this.quality = d;
}
__extends(d, f);
d.FromUntyped = function(a) {
return new d(a.blurX, a.blurY, a.quality);
};
d.prototype._updateFilterBounds = function(a) {
g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality, !0);
};
d.prototype._serialize = function(a) {
a.ensureAdditionalCapacity(16);
a.writeIntUnsafe(1);
a.writeFloatUnsafe(this._blurX);
a.writeFloatUnsafe(this._blurY);
a.writeIntUnsafe(this._quality);
};
Object.defineProperty(d.prototype, "blurX", {get:function() {
return this._blurX;
}, set:function(a) {
this._blurX = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "blurY", {get:function() {
return this._blurY;
}, set:function(a) {
this._blurY = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "quality", {get:function() {
return this._quality;
}, set:function(a) {
this._quality = b.NumberUtilities.clamp(a | 0, 0, 15);
}, enumerable:!0, configurable:!0});
d.prototype.clone = function() {
return new d(this._blurX, this._blurY, this._quality);
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(f.filters.BitmapFilter);
g.BlurFilter = k;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = function(f) {
function d(a) {
"undefined" === typeof a && (a = null);
a ? this.matrix = a : this._matrix = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
}
__extends(d, f);
d.FromUntyped = function(a) {
return new d(a.matrix);
};
d.prototype._serialize = function(a) {
var b = this._matrix;
a.ensureAdditionalCapacity(4 * (b.length + 1));
a.writeIntUnsafe(6);
for (var d = 0;d < b.length;d++) {
a.writeFloatUnsafe(b[d]);
}
};
Object.defineProperty(d.prototype, "matrix", {get:function() {
return this._matrix.concat();
}, set:function(a) {
if (b.isNullOrUndefined(a)) {
k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "matrix");
} else {
for (var c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], d = 0, f = Math.min(a.length, 20);d < f;d++) {
c[d] = b.toNumber(a[d]);
}
this._matrix = c;
}
}, enumerable:!0, configurable:!0});
d.prototype.clone = function() {
return new d(this.matrix);
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(f.filters.BitmapFilter);
g.ColorMatrixFilter = s;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = function(f) {
function d(a, b, d, f, e, g, l, m, k) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 0);
"undefined" === typeof d && (d = null);
"undefined" === typeof f && (f = 1);
"undefined" === typeof e && (e = 0);
"undefined" === typeof g && (g = !0);
"undefined" === typeof l && (l = !0);
"undefined" === typeof m && (m = 0);
"undefined" === typeof k && (k = 0);
this.matrixX = a;
this.matrixY = b;
d ? this.matrix = d : this._matrix = this._expandArray([], this._matrixX * this._matrixY);
this.divisor = f;
this.bias = e;
this.preserveAlpha = g;
this.clamp = l;
this.color = m;
this.alpha = k;
}
__extends(d, f);
d.FromUntyped = function(a) {
return new d(a.matrixX, a.matrixY, a.matrix, a.divisor, a.bias, a.preserveAlpha, a.clamp, a.color >>> 8, (a.color & 255) / 255);
};
d.prototype._expandArray = function(a, b) {
if (a) {
for (var d = a.length;d < b;) {
a[d++] = 0;
}
}
return a;
};
Object.defineProperty(d.prototype, "matrix", {get:function() {
return this._matrix.slice(0, this._matrixX * this._matrixY);
}, set:function(a) {
if (b.isNullOrUndefined(a)) {
k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "matrix");
} else {
for (var c = this._matrixX * this._matrixY, d = Math.min(a.length, c), f = Array(d), e = 0;e < d;e++) {
f[e] = b.toNumber(a[e]);
}
this._expandArray(f, c);
this._matrix = f;
}
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "matrixX", {get:function() {
return this._matrixX;
}, set:function(a) {
a = b.NumberUtilities.clamp(+a, 0, 15) | 0;
this._matrixX !== a && (this._matrixX = a, this._expandArray(this._matrix, a * this._matrixY));
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "matrixY", {get:function() {
return this._matrixY;
}, set:function(a) {
a = b.NumberUtilities.clamp(+a, 0, 15) | 0;
this._matrixY !== a && (this._matrixY = a, this._expandArray(this._matrix, a * this._matrixX));
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "divisor", {get:function() {
return this._divisor;
}, set:function(a) {
this._divisor = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "bias", {get:function() {
return this._bias;
}, set:function(a) {
this._bias = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "preserveAlpha", {get:function() {
return this._preserveAlpha;
}, set:function(a) {
this._preserveAlpha = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "clamp", {get:function() {
return this._clamp;
}, set:function(a) {
this._clamp = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "color", {get:function() {
return this._color;
}, set:function(a) {
this._color = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "alpha", {get:function() {
return this._alpha;
}, set:function(a) {
this._alpha = b.NumberUtilities.clamp(+a, 0, 1);
}, enumerable:!0, configurable:!0});
d.prototype.clone = function() {
return new d(this._matrixX, this._matrixY, this.matrix, this._divisor, this._bias, this._preserveAlpha, this._clamp, this._color, this._alpha);
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(f.filters.BitmapFilter);
g.ConvolutionFilter = s;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.filters.DisplacementMapFilterMode");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.WRAP = "wrap";
a.CLAMP = "clamp";
a.IGNORE = "ignore";
a.COLOR = "color";
return a;
}(g.ASNative);
f.DisplacementMapFilterMode = m;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.somewhatImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b(a, c, d, f, l, g, m, k, h) {
"undefined" === typeof a && (a = null);
"undefined" === typeof c && (c = null);
"undefined" === typeof d && (d = 0);
"undefined" === typeof f && (f = 0);
"undefined" === typeof l && (l = 0);
"undefined" === typeof g && (g = 0);
"undefined" === typeof m && (m = "wrap");
"undefined" === typeof k && (k = 0);
"undefined" === typeof h && (h = 0);
this.mapBitmap = a;
this.mapPoint = c;
this.componentX = d;
this.componentY = f;
this.scaleX = l;
this.scaleY = g;
this.mode = m;
this.color = k;
this.alpha = h;
}
__extends(b, a);
b.FromUntyped = function(a) {
return new b(a.mapBitmap, a.mapPoint, a.componentX, a.componentY, a.scaleX, a.scaleY, a.mode, a.color, a.alpha);
};
Object.defineProperty(b.prototype, "mapBitmap", {get:function() {
k("public flash.filters.DisplacementMapFilter::get mapBitmap");
return this._mapBitmap;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set mapBitmap");
this._mapBitmap = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "mapPoint", {get:function() {
k("public flash.filters.DisplacementMapFilter::get mapPoint");
return this._mapPoint;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set mapPoint");
this._mapPoint = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "componentX", {get:function() {
return this._componentX;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set componentX");
this._componentX = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "componentY", {get:function() {
return this._componentY;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set componentY");
this._componentY = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "scaleX", {get:function() {
return this._scaleX;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set scaleX");
this._scaleX = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "scaleY", {get:function() {
return this._scaleY;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set scaleY");
this._scaleY = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "mode", {get:function() {
return this._mode;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set mode");
this._mode = m(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "color", {get:function() {
return this._color;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set color");
this._color = a >>> 0 & 16777215;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "alpha", {get:function() {
return this._alpha;
}, set:function(a) {
k("public flash.filters.DisplacementMapFilter::set alpha");
this._alpha = +a;
}, enumerable:!0, configurable:!0});
b.prototype.clone = function() {
return new b(this._mapBitmap, this._mapPoint, this._componentX, this._componentY, this._scaleX, this._scaleY, this._mode, this._color, this._alpha);
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.filters.BitmapFilter);
g.DisplacementMapFilter = d;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.assert, m = function(d) {
function a(a, b, d, e, f, l, g, m, k, h, s) {
"undefined" === typeof a && (a = 4);
"undefined" === typeof b && (b = 45);
"undefined" === typeof d && (d = 0);
"undefined" === typeof e && (e = 1);
"undefined" === typeof f && (f = 4);
"undefined" === typeof l && (l = 4);
"undefined" === typeof g && (g = 1);
"undefined" === typeof m && (m = 1);
"undefined" === typeof k && (k = !1);
"undefined" === typeof h && (h = !1);
"undefined" === typeof s && (s = !1);
this.distance = a;
this.angle = b;
this.color = d;
this.alpha = e;
this.blurX = f;
this.blurY = l;
this.strength = g;
this.quality = m;
this.inner = k;
this.knockout = h;
this.hideObject = s;
}
__extends(a, d);
a.FromUntyped = function(b) {
k(b.colors && 1 === b.colors.length, "colors must be Array of length 1");
return new a(b.distance, 180 * b.angle / Math.PI, b.colors[0] >>> 8, (b.colors[0] & 255) / 255, b.blurX, b.blurY, b.strength, b.quality, b.inner, b.knockout, !b.compositeSource);
};
a.prototype._updateFilterBounds = function(a) {
if (!this.inner && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) {
var b = this._angle * Math.PI / 180;
a.x += Math.floor(Math.cos(b) * this._distance);
a.y += Math.floor(Math.sin(b) * this._distance);
0 < a.left && (a.left = 0);
0 < a.top && (a.top = 0);
}
};
a.prototype._serialize = function(a) {
a.ensureAdditionalCapacity(48);
a.writeIntUnsafe(0);
a.writeFloatUnsafe(this._alpha);
a.writeFloatUnsafe(this._angle);
a.writeFloatUnsafe(this._blurX);
a.writeFloatUnsafe(this._blurY);
a.writeIntUnsafe(this._color);
a.writeFloatUnsafe(this._distance);
a.writeIntUnsafe(this._hideObject);
a.writeIntUnsafe(this._inner);
a.writeIntUnsafe(this._knockout);
a.writeIntUnsafe(this._quality);
a.writeFloatUnsafe(this._strength);
};
Object.defineProperty(a.prototype, "distance", {get:function() {
return this._distance;
}, set:function(a) {
this._distance = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "angle", {get:function() {
return this._angle;
}, set:function(a) {
this._angle = +a % 360;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "color", {get:function() {
return this._color;
}, set:function(a) {
this._color = a >>> 0 & 16777215;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "alpha", {get:function() {
return this._alpha;
}, set:function(a) {
this._alpha = b.NumberUtilities.clamp(+a, 0, 1);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurX", {get:function() {
return this._blurX;
}, set:function(a) {
this._blurX = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurY", {get:function() {
return this._blurY;
}, set:function(a) {
this._blurY = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "hideObject", {get:function() {
return this._hideObject;
}, set:function(a) {
this._hideObject = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "inner", {get:function() {
return this._inner;
}, set:function(a) {
this._inner = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "knockout", {get:function() {
return this._knockout;
}, set:function(a) {
this._knockout = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "quality", {get:function() {
return this._quality;
}, set:function(a) {
this._quality = b.NumberUtilities.clamp(a | 0, 0, 15);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "strength", {get:function() {
return this._strength;
}, set:function(a) {
this._strength = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
return new a(this._distance, this._angle, this._color, this._alpha, this._blurX, this._blurY, this._strength, this._quality, this._inner, this._knockout, this._hideObject);
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.filters.BitmapFilter);
g.DropShadowFilter = m;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.assert, m = function(d) {
function a(a, b, d, e, f, l, g, m) {
"undefined" === typeof a && (a = 16711680);
"undefined" === typeof b && (b = 1);
"undefined" === typeof d && (d = 6);
"undefined" === typeof e && (e = 6);
"undefined" === typeof f && (f = 2);
"undefined" === typeof l && (l = 1);
"undefined" === typeof g && (g = !1);
"undefined" === typeof m && (m = !1);
this.color = a;
this.alpha = b;
this.blurX = d;
this.blurY = e;
this.strength = f;
this.quality = l;
this.inner = g;
this.knockout = m;
}
__extends(a, d);
a.FromUntyped = function(b) {
k(b.colors && 1 === b.colors.length, "colors must be Array of length 1");
return new a(b.colors[0] >>> 8, (b.colors[0] & 255) / 255, b.blurX, b.blurY, b.strength, b.quality, b.inner, b.knockout);
};
a.prototype._updateFilterBounds = function(a) {
g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality);
};
a.prototype._serialize = function(a) {
a.ensureAdditionalCapacity(36);
a.writeIntUnsafe(2);
a.writeFloatUnsafe(this._alpha);
a.writeFloatUnsafe(this._blurX);
a.writeFloatUnsafe(this._blurY);
a.writeIntUnsafe(this._color);
a.writeIntUnsafe(this._inner);
a.writeIntUnsafe(this._knockout);
a.writeIntUnsafe(this._quality);
a.writeFloatUnsafe(this._strength);
};
Object.defineProperty(a.prototype, "color", {get:function() {
return this._color;
}, set:function(a) {
this._color = a >>> 0 & 16777215;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "alpha", {get:function() {
return this._alpha;
}, set:function(a) {
this._alpha = b.NumberUtilities.clamp(+a, 0, 1);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurX", {get:function() {
return this._blurX;
}, set:function(a) {
this._blurX = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurY", {get:function() {
return this._blurY;
}, set:function(a) {
this._blurY = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "inner", {get:function() {
return this._inner;
}, set:function(a) {
this._inner = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "knockout", {get:function() {
return this._knockout;
}, set:function(a) {
this._knockout = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "quality", {get:function() {
return this._quality;
}, set:function(a) {
this._quality = b.NumberUtilities.clamp(a | 0, 0, 15);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "strength", {get:function() {
return this._strength;
}, set:function(a) {
this._strength = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
return new a(this._color, this._alpha, this._blurX, this._blurY, this._strength, this._quality, this._inner, this._knockout);
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.filters.BitmapFilter);
g.GlowFilter = m;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.AVM2.Runtime.asCoerceString, m = function(d) {
function a(a, b, d, e, f, l, m, k, r, h, s) {
"undefined" === typeof a && (a = 4);
"undefined" === typeof b && (b = 45);
"undefined" === typeof d && (d = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = null);
"undefined" === typeof l && (l = 4);
"undefined" === typeof m && (m = 4);
"undefined" === typeof k && (k = 1);
"undefined" === typeof r && (r = 1);
"undefined" === typeof h && (h = "inner");
"undefined" === typeof s && (s = !1);
this.distance = a;
this.angle = b;
g.GradientArrays.sanitize(d, e, f);
this._colors = g.GradientArrays.colors;
this._alphas = g.GradientArrays.alphas;
this._ratios = g.GradientArrays.ratios;
this.blurX = l;
this.blurY = m;
this.strength = k;
this.quality = r;
this.type = h;
this.knockout = s;
}
__extends(a, d);
a.FromUntyped = function(b) {
for (var d = [], g = [], e = 0;e < b.colors.length;e++) {
var m = b.colors[e];
d.push(m >>> 8);
g.push(m & 255) / 255;
}
e = f.filters.BitmapFilterType.OUTER;
b.onTop ? e = f.filters.BitmapFilterType.FULL : b.inner && (e = f.filters.BitmapFilterType.INNER);
return new a(b.distance, 180 * b.angle / Math.PI, d, g, b.ratios, b.blurX, b.blurY, b.strength, b.quality, e, b.knockout);
};
a.prototype._updateFilterBounds = function(a) {
if (this.type !== g.BitmapFilterType.INNER && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) {
var b = this._angle * Math.PI / 180;
a.x += Math.floor(Math.cos(b) * this._distance);
a.y += Math.floor(Math.sin(b) * this._distance);
0 < a.left && (a.left = 0);
0 < a.top && (a.top = 0);
}
};
Object.defineProperty(a.prototype, "distance", {get:function() {
return this._distance;
}, set:function(a) {
this._distance = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "angle", {get:function() {
return this._angle;
}, set:function(a) {
this._angle = +a % 360;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "colors", {get:function() {
return this._colors.concat();
}, set:function(a) {
b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "colors") : (this._colors = g.GradientArrays.sanitizeColors(a), a = this._colors.length, this._alphas = g.GradientArrays.sanitizeAlphas(this._alphas, a, a), this._ratios = g.GradientArrays.sanitizeRatios(this._ratios, a, a));
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "alphas", {get:function() {
return this._alphas.concat();
}, set:function(a) {
b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "alphas") : (g.GradientArrays.sanitize(this._colors, a, this._ratios), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "ratios", {get:function() {
return this._ratios.concat();
}, set:function(a) {
b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "ratios") : (g.GradientArrays.sanitize(this._colors, this._alphas, a), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurX", {get:function() {
return this._blurX;
}, set:function(a) {
this._blurX = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurY", {get:function() {
return this._blurY;
}, set:function(a) {
this._blurY = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "knockout", {get:function() {
return this._knockout;
}, set:function(a) {
this._knockout = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "quality", {get:function() {
return this._quality;
}, set:function(a) {
this._quality = b.NumberUtilities.clamp(a | 0, 0, 15);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "strength", {get:function() {
return this._strength;
}, set:function(a) {
this._strength = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "type", {get:function() {
return this._type;
}, set:function(a) {
a = s(a);
null === a ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "type") : this._type = a === g.BitmapFilterType.INNER || a === g.BitmapFilterType.OUTER ? a : g.BitmapFilterType.FULL;
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
return new a(this._distance, this._angle, this._colors, this._alphas, this._ratios, this._blurX, this._blurY, this._strength, this._quality, this._type, this._knockout);
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.filters.BitmapFilter);
g.GradientBevelFilter = m;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.AVM2.Runtime.asCoerceString, m = function(d) {
function a(a, b, d, e, f, l, m, k, r, h, s) {
"undefined" === typeof a && (a = 4);
"undefined" === typeof b && (b = 45);
"undefined" === typeof d && (d = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = null);
"undefined" === typeof l && (l = 4);
"undefined" === typeof m && (m = 4);
"undefined" === typeof k && (k = 1);
"undefined" === typeof r && (r = 1);
"undefined" === typeof h && (h = "inner");
"undefined" === typeof s && (s = !1);
this.distance = a;
this.angle = b;
g.GradientArrays.sanitize(d, e, f);
this._colors = g.GradientArrays.colors;
this._alphas = g.GradientArrays.alphas;
this._ratios = g.GradientArrays.ratios;
this.blurX = l;
this.blurY = m;
this.strength = k;
this.quality = r;
this.type = h;
this.knockout = s;
}
__extends(a, d);
a.FromUntyped = function(b) {
for (var d = [], g = [], e = 0;e < b.colors.length;e++) {
var m = b.colors[e];
d.push(m >>> 8);
g.push(m & 255) / 255;
}
e = f.filters.BitmapFilterType.OUTER;
b.onTop ? e = f.filters.BitmapFilterType.FULL : b.inner && (e = f.filters.BitmapFilterType.INNER);
return new a(b.distance, 180 * b.angle / Math.PI, d, g, b.ratios, b.blurX, b.blurY, b.strength, b.quality, e, b.knockout);
};
a.prototype._updateFilterBounds = function(a) {
if (this.type !== g.BitmapFilterType.INNER && (g.BitmapFilter._updateBlurBounds(a, this._blurX, this._blurY, this._quality), 0 !== this._distance)) {
var b = this._angle * Math.PI / 180;
a.x += Math.floor(Math.cos(b) * this._distance);
a.y += Math.floor(Math.sin(b) * this._distance);
0 < a.left && (a.left = 0);
0 < a.top && (a.top = 0);
}
};
Object.defineProperty(a.prototype, "distance", {get:function() {
return this._distance;
}, set:function(a) {
this._distance = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "angle", {get:function() {
return this._angle;
}, set:function(a) {
this._angle = +a % 360;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "colors", {get:function() {
return this._colors.concat();
}, set:function(a) {
b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "colors") : (this._colors = g.GradientArrays.sanitizeColors(a), a = this._colors.length, this._alphas = g.GradientArrays.sanitizeAlphas(this._alphas, a, a), this._ratios = g.GradientArrays.sanitizeRatios(this._ratios, a, a));
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "alphas", {get:function() {
return this._alphas.concat();
}, set:function(a) {
b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "alphas") : (g.GradientArrays.sanitize(this._colors, a, this._ratios), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "ratios", {get:function() {
return this._ratios.concat();
}, set:function(a) {
b.isNullOrUndefined(a) ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "ratios") : (g.GradientArrays.sanitize(this._colors, this._alphas, a), this._colors = g.GradientArrays.colors, this._alphas = g.GradientArrays.alphas, this._ratios = g.GradientArrays.ratios);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurX", {get:function() {
return this._blurX;
}, set:function(a) {
this._blurX = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blurY", {get:function() {
return this._blurY;
}, set:function(a) {
this._blurY = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "knockout", {get:function() {
return this._knockout;
}, set:function(a) {
this._knockout = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "quality", {get:function() {
return this._quality;
}, set:function(a) {
this._quality = b.NumberUtilities.clamp(a | 0, 0, 15);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "strength", {get:function() {
return this._strength;
}, set:function(a) {
this._strength = b.NumberUtilities.clamp(+a, 0, 255);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "type", {get:function() {
return this._type;
}, set:function(a) {
a = s(a);
null === a ? k.Runtime.throwError("TypeError", k.Errors.NullPointerError, "type") : this._type = a === g.BitmapFilterType.INNER || a === g.BitmapFilterType.OUTER ? a : g.BitmapFilterType.FULL;
}, enumerable:!0, configurable:!0});
a.prototype.clone = function() {
return new a(this._distance, this._angle, this._colors, this._alphas, this._ratios, this._blurX, this._blurY, this._strength, this._quality, this._type, this._knockout);
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.filters.BitmapFilter);
g.GradientGlowFilter = m;
})(f.filters || (f.filters = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.IntegerUtilities.toS16, m = b.IntegerUtilities.clampS8U8, d = function(a) {
function b(a, c, d, f, l, g, m, k) {
"undefined" === typeof a && (a = 1);
"undefined" === typeof c && (c = 1);
"undefined" === typeof d && (d = 1);
"undefined" === typeof f && (f = 1);
"undefined" === typeof l && (l = 0);
"undefined" === typeof g && (g = 0);
"undefined" === typeof m && (m = 0);
"undefined" === typeof k && (k = 0);
this.redMultiplier = +a;
this.greenMultiplier = +c;
this.blueMultiplier = +d;
this.alphaMultiplier = +f;
this.redOffset = +l;
this.greenOffset = +g;
this.blueOffset = +m;
this.alphaOffset = +k;
}
__extends(b, a);
b.FromCXForm = function(a) {
return new b(a.redMultiplier / 256, a.greenMultiplier / 256, a.blueMultiplier / 256, a.alphaMultiplier / 256, a.redOffset, a.greenOffset, a.blueOffset, a.alphaOffset);
};
Object.defineProperty(b.prototype, "native_redMultiplier", {get:function() {
return this.redMultiplier;
}, set:function(a) {
this.redMultiplier = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_greenMultiplier", {get:function() {
return this.greenMultiplier;
}, set:function(a) {
this.greenMultiplier = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_blueMultiplier", {get:function() {
return this.blueMultiplier;
}, set:function(a) {
this.blueMultiplier = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_alphaMultiplier", {get:function() {
return this.alphaMultiplier;
}, set:function(a) {
this.alphaMultiplier = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_redOffset", {get:function() {
return this.redOffset;
}, set:function(a) {
this.redOffset = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_greenOffset", {get:function() {
return this.greenOffset;
}, set:function(a) {
this.greenOffset = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_blueOffset", {get:function() {
return this.blueOffset;
}, set:function(a) {
this.blueOffset = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "native_alphaOffset", {get:function() {
return this.alphaOffset;
}, set:function(a) {
this.alphaOffset = +a;
}, enumerable:!0, configurable:!0});
b.prototype.ColorTransform = function(a, b, c, d, f, g, m, k) {
"undefined" === typeof a && (a = 1);
"undefined" === typeof b && (b = 1);
"undefined" === typeof c && (c = 1);
"undefined" === typeof d && (d = 1);
"undefined" === typeof f && (f = 0);
"undefined" === typeof g && (g = 0);
"undefined" === typeof m && (m = 0);
"undefined" === typeof k && (k = 0);
this.redMultiplier = a;
this.greenMultiplier = b;
this.blueMultiplier = c;
this.alphaMultiplier = d;
this.redOffset = f;
this.greenOffset = g;
this.blueOffset = m;
this.alphaOffset = k;
};
Object.defineProperty(b.prototype, "color", {get:function() {
return this.redOffset << 16 | this.greenOffset << 8 | this.blueOffset;
}, set:function(a) {
this.redOffset = a >> 16 & 255;
this.greenOffset = a >> 8 & 255;
this.blueOffset = a & 255;
this.redMultiplier = this.greenMultiplier = this.blueMultiplier = 1;
}, enumerable:!0, configurable:!0});
b.prototype.concat = function(a) {
this.redMultiplier *= a.redMultiplier;
this.greenMultiplier *= a.greenMultiplier;
this.blueMultiplier *= a.blueMultiplier;
this.alphaMultiplier *= a.alphaMultiplier;
this.redOffset += a.redOffset;
this.greenOffset += a.greenOffset;
this.blueOffset += a.blueOffset;
this.alphaOffset += a.alphaOffset;
};
b.prototype.preMultiply = function(a) {
this.redOffset += a.redOffset * this.redMultiplier;
this.greenOffset += a.greenOffset * this.greenMultiplier;
this.blueOffset += a.blueOffset * this.blueMultiplier;
this.alphaOffset += a.alphaOffset * this.alphaMultiplier;
this.redMultiplier *= a.redMultiplier;
this.greenMultiplier *= a.greenMultiplier;
this.blueMultiplier *= a.blueMultiplier;
this.alphaMultiplier *= a.alphaMultiplier;
};
b.prototype.copyFrom = function(a) {
this.redMultiplier = a.redMultiplier;
this.greenMultiplier = a.greenMultiplier;
this.blueMultiplier = a.blueMultiplier;
this.alphaMultiplier = a.alphaMultiplier;
this.redOffset = a.redOffset;
this.greenOffset = a.greenOffset;
this.blueOffset = a.blueOffset;
this.alphaOffset = a.alphaOffset;
};
b.prototype.setTo = function(a, b, c, d, f, g, m, k) {
this.redMultiplier = a;
this.greenMultiplier = b;
this.blueMultiplier = c;
this.alphaMultiplier = d;
this.redOffset = f;
this.greenOffset = g;
this.blueOffset = m;
this.alphaOffset = k;
};
b.prototype.clone = function() {
return new b(this.redMultiplier, this.greenMultiplier, this.blueMultiplier, this.alphaMultiplier, this.redOffset, this.greenOffset, this.blueOffset, this.alphaOffset);
};
b.prototype.convertToFixedPoint = function() {
this.redMultiplier = m(this.redMultiplier);
this.greenMultiplier = m(this.greenMultiplier);
this.blueMultiplier = m(this.blueMultiplier);
this.alphaMultiplier = m(this.alphaMultiplier);
this.redOffset = k(this.redOffset);
this.greenOffset = k(this.greenOffset);
this.blueOffset = k(this.blueOffset);
this.alphaOffset = k(this.alphaOffset);
};
b.prototype.toString = function() {
return "(redMultiplier=" + this.redMultiplier + ", greenMultiplier=" + this.greenMultiplier + ", blueMultiplier=" + this.blueMultiplier + ", alphaMultiplier=" + this.alphaMultiplier + ", redOffset=" + this.redOffset + ", greenOffset=" + this.greenOffset + ", blueOffset=" + this.blueOffset + ", alphaOffset=" + this.alphaOffset + ")";
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.ColorTransform = d;
})(f.geom || (f.geom = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: public flash.media.Camera");
}
__extends(b, a);
Object.defineProperty(b.prototype, "names", {get:function() {
k("public flash.media.Camera::get names");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "isSupported", {get:function() {
k("public flash.media.Camera::get isSupported");
}, enumerable:!0, configurable:!0});
b.getCamera = function(a) {
"undefined" === typeof a && (a = null);
m(a);
k("public flash.media.Camera::static getCamera");
};
b._scanHardware = function() {
k("public flash.media.Camera::static _scanHardware");
};
Object.defineProperty(b.prototype, "activityLevel", {get:function() {
k("public flash.media.Camera::get activityLevel");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "bandwidth", {get:function() {
k("public flash.media.Camera::get bandwidth");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "currentFPS", {get:function() {
k("public flash.media.Camera::get currentFPS");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "fps", {get:function() {
k("public flash.media.Camera::get fps");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "height", {get:function() {
k("public flash.media.Camera::get height");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "index", {get:function() {
k("public flash.media.Camera::get index");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "keyFrameInterval", {get:function() {
k("public flash.media.Camera::get keyFrameInterval");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "loopback", {get:function() {
k("public flash.media.Camera::get loopback");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "motionLevel", {get:function() {
k("public flash.media.Camera::get motionLevel");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "motionTimeout", {get:function() {
k("public flash.media.Camera::get motionTimeout");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "muted", {get:function() {
k("public flash.media.Camera::get muted");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "name", {get:function() {
k("public flash.media.Camera::get name");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "position", {get:function() {
k("public flash.media.Camera::get position");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "quality", {get:function() {
k("public flash.media.Camera::get quality");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "width", {get:function() {
k("public flash.media.Camera::get width");
}, enumerable:!0, configurable:!0});
b.prototype.setCursor = function(a) {
k("public flash.media.Camera::setCursor");
};
b.prototype.setKeyFrameInterval = function(a) {
k("public flash.media.Camera::setKeyFrameInterval");
};
b.prototype.setLoopback = function(a) {
k("public flash.media.Camera::setLoopback");
};
b.prototype.setMode = function(a, b, c, d) {
k("public flash.media.Camera::setMode");
};
b.prototype.setMotionLevel = function(a, b) {
k("public flash.media.Camera::setMotionLevel");
};
b.prototype.setQuality = function(a, b) {
k("public flash.media.Camera::setQuality");
};
b.prototype.drawToBitmapData = function(a) {
k("public flash.media.Camera::drawToBitmapData");
};
b.prototype.copyToByteArray = function(a, b) {
k("public flash.media.Camera::copyToByteArray");
};
b.prototype.copyToVector = function(a, b) {
k("public flash.media.Camera::copyToVector");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.events.EventDispatcher);
g.Camera = d;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.media.ID3Info");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = "songName artist album year comment genre track".split(" ");
return a;
}(g.ASNative);
f.ID3Info = m;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: public flash.media.Microphone");
}
__extends(b, a);
Object.defineProperty(b.prototype, "names", {get:function() {
k("public flash.media.Microphone::get names");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "isSupported", {get:function() {
k("public flash.media.Microphone::get isSupported");
}, enumerable:!0, configurable:!0});
b.getMicrophone = function(a) {
k("public flash.media.Microphone::static getMicrophone");
};
b.getEnhancedMicrophone = function(a) {
k("public flash.media.Microphone::static getEnhancedMicrophone");
};
Object.defineProperty(b.prototype, "rate", {get:function() {
k("public flash.media.Microphone::get rate");
}, set:function(a) {
k("public flash.media.Microphone::set rate");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "codec", {get:function() {
k("public flash.media.Microphone::get codec");
}, set:function(a) {
m(a);
k("public flash.media.Microphone::set codec");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "framesPerPacket", {get:function() {
k("public flash.media.Microphone::get framesPerPacket");
}, set:function(a) {
k("public flash.media.Microphone::set framesPerPacket");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "encodeQuality", {get:function() {
k("public flash.media.Microphone::get encodeQuality");
}, set:function(a) {
k("public flash.media.Microphone::set encodeQuality");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "noiseSuppressionLevel", {get:function() {
k("public flash.media.Microphone::get noiseSuppressionLevel");
}, set:function(a) {
k("public flash.media.Microphone::set noiseSuppressionLevel");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "enableVAD", {get:function() {
k("public flash.media.Microphone::get enableVAD");
}, set:function(a) {
k("public flash.media.Microphone::set enableVAD");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "activityLevel", {get:function() {
k("public flash.media.Microphone::get activityLevel");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "gain", {get:function() {
k("public flash.media.Microphone::get gain");
}, set:function(a) {
k("public flash.media.Microphone::set gain");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "index", {get:function() {
k("public flash.media.Microphone::get index");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "muted", {get:function() {
k("public flash.media.Microphone::get muted");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "name", {get:function() {
k("public flash.media.Microphone::get name");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "silenceLevel", {get:function() {
k("public flash.media.Microphone::get silenceLevel");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "silenceTimeout", {get:function() {
k("public flash.media.Microphone::get silenceTimeout");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "useEchoSuppression", {get:function() {
k("public flash.media.Microphone::get useEchoSuppression");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "soundTransform", {get:function() {
k("public flash.media.Microphone::get soundTransform");
}, set:function(a) {
k("public flash.media.Microphone::set soundTransform");
}, enumerable:!0, configurable:!0});
b.prototype.setSilenceLevel = function(a, b) {
k("public flash.media.Microphone::setSilenceLevel");
};
b.prototype.setUseEchoSuppression = function(a) {
k("public flash.media.Microphone::setUseEchoSuppression");
};
b.prototype.setLoopBack = function(a) {
k("public flash.media.Microphone::setLoopBack");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.events.EventDispatcher);
g.Microphone = d;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
function s(a, b) {
var c = document.createElement("audio");
c.canPlayType(a.mimeType) ? (c.preload = "metadata", c.src = URL.createObjectURL(new Blob([a.data], {type:a.mimeType})), c.load(), c.addEventListener("loadedmetadata", function() {
b({duration:1E3 * this.duration});
})) : b({duration:0});
}
var m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = b.Debug.somewhatImplemented, c = b.Telemetry, n = b.AVM2.ABC.Multiname, p = function() {
return function() {
};
}(), e = function(e) {
function l(a, b) {
m("Dummy Constructor: public flash.media.Sound");
}
__extends(l, e);
Object.defineProperty(l.prototype, "url", {get:function() {
return this._url;
}, enumerable:!0, configurable:!0});
Object.defineProperty(l.prototype, "isURLInaccessible", {get:function() {
m("public flash.media.Sound::get isURLInaccessible");
}, enumerable:!0, configurable:!0});
Object.defineProperty(l.prototype, "length", {get:function() {
return this._length;
}, enumerable:!0, configurable:!0});
Object.defineProperty(l.prototype, "isBuffering", {get:function() {
m("public flash.media.Sound::get isBuffering");
}, enumerable:!0, configurable:!0});
Object.defineProperty(l.prototype, "bytesLoaded", {get:function() {
return this._bytesLoaded;
}, enumerable:!0, configurable:!0});
Object.defineProperty(l.prototype, "bytesTotal", {get:function() {
return this._bytesTotal;
}, enumerable:!0, configurable:!0});
Object.defineProperty(l.prototype, "id3", {get:function() {
return this._id3;
}, enumerable:!0, configurable:!0});
l.prototype.loadCompressedDataFromByteArray = function(a, b) {
m("public flash.media.Sound::loadCompressedDataFromByteArray");
};
l.prototype.loadPCMFromByteArray = function(a, b, c, h, e) {
"undefined" === typeof c && (c = "float");
d(c);
m("public flash.media.Sound::loadPCMFromByteArray");
};
l.prototype.play = function(a, c, d) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof c && (c = 0);
"undefined" === typeof d && (d = null);
a = +a;
c |= 0;
var h = new f.media.SoundChannel;
h._sound = this;
h._soundTransform = b.isNullOrUndefined(d) ? new f.media.SoundTransform : d;
this._playQueue.push({channel:h, startTime:a});
if (g.disableAudioOption.value) {
return h;
}
this._soundData && h._playSoundDataViaAudio(this._soundData, a, c);
return h;
};
l.prototype.close = function() {
a("public flash.media.Sound::close");
};
l.prototype.extract = function(a, b, c) {
m("public flash.media.Sound::extract");
};
l.prototype._load = function(a, b, c) {
if (a) {
var d = this, e = this._stream = new f.net.URLStream, g = new f.utils.ByteArray, l = 0, k = new p;
k.completed = !1;
e.addEventListener("progress", function(a) {
d._bytesLoaded = a[n.getPublicQualifiedName("bytesLoaded")];
d._bytesTotal = a[n.getPublicQualifiedName("bytesTotal")];
var b = e.bytesAvailable;
e.readBytes(g, l, b);
l += b;
d.dispatchEvent(a);
});
e.addEventListener("complete", function(a) {
d.dispatchEvent(a);
k.data = g._buffer;
k.mimeType = "audio/mpeg";
k.completed = !0;
d._soundData = k;
s(k, function(a) {
d._length = a.duration;
});
d._playQueue.forEach(function(a) {
a.channel._playSoundDataViaAudio(k, a.startTime);
});
});
e.load(a);
}
};
l.classInitializer = null;
l.initializer = function(a) {
this._playQueue = [];
this._url = null;
this._bytesLoaded = this._bytesTotal = this._length = 0;
this._id3 = new f.media.ID3Info;
c.instance.reportTelemetry({topic:"feature", feature:5});
if (a) {
var b = new p;
a.pcm && (b.sampleRate = a.sampleRate, b.channels = a.channels, b.pcm = a.pcm, b.end = a.pcm.length);
b.completed = !0;
a.packaged && (b.data = a.packaged.data.buffer, b.mimeType = a.packaged.mimeType);
var d = this;
s(b, function(a) {
d._length = a.duration;
});
this._soundData = b;
}
};
l.classSymbols = null;
l.instanceSymbols = null;
return l;
}(f.events.EventDispatcher);
k.Sound = e;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.assert, m = b.Debug.notImplemented, d = b.Debug.somewhatImplemented, a = b.Debug.error, c = function() {
function a(b, c) {
this._sourceRate = b;
this._targetRate = c;
this._tail = [];
this._sourceOffset = 0;
}
a.prototype.getData = function(a, b) {
for (var c = this._sourceRate / this._targetRate, d = this._sourceOffset, e = Math.ceil((b - 1) * c + d) + 1, h = [], f = 0;f < a.length;f++) {
h.push(new Float32Array(e));
}
this.ondatarequested({data:h, count:e});
for (f = 0;f < a.length;f++) {
for (var g = a[f], k = h[f], m = 0;m < b;m++) {
var n = m * c + d, p = n | 0, s = Math.ceil(n) | 0, t = 0 > p ? this._tail[f] : k[p];
p === s ? g[m] = t : (n -= p, g[m] = t * (1 - n) + k[s] * n);
}
this._tail[f] = k[e - 1];
}
this._sourceOffset = (b - 1) * c + d - (e - 1);
};
return a;
}(), n = function() {
function a(b, d) {
var f = a._cachedContext;
f || (f = new AudioContext, a._cachedContext = f);
this._context = f;
this._contextSampleRate = f.sampleRate || 44100;
this._channels = d;
this._sampleRate = b;
this._contextSampleRate !== b && (this._resampler = new c(b, this._contextSampleRate), this._resampler.ondatarequested = function(a) {
this.requestData(a.data, a.count);
}.bind(this));
}
a.prototype.start = function() {
var a = this._context.createScriptProcessor(2048, 0, this._channels), b = this;
a.onaudioprocess = function(a) {
for (var c = [], d = 0;d < b._channels;d++) {
c.push(a.outputBuffer.getChannelData(d));
}
a = c[0].length;
b._resampler ? b._resampler.getData(c, a) : b.requestData(c, a);
};
a.connect(this._context.destination);
this._source = a;
};
a.prototype.stop = function() {
this._source.disconnect(this._context.destination);
};
a.prototype.requestData = function(a, b) {
var c = this._channels, d = new Float32Array(b * c);
this.ondatarequested({data:d, count:d.length});
for (var e = 0, h = 0;e < b;e++) {
for (var f = 0;f < c;f++) {
a[f][e] = d[h++];
}
}
};
a.isSupported = function() {
return "undefined" !== typeof AudioContext;
};
return a;
}(), p = function(c) {
function p() {
m("Dummy Constructor: public flash.media.SoundChannel");
}
__extends(p, c);
Object.defineProperty(p.prototype, "position", {get:function() {
return this._position;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "soundTransform", {get:function() {
return this._soundTransform;
}, set:function(a) {
d("public flash.media.SoundChannel::set soundTransform");
this._soundTransform = b.isNullOrUndefined(a) ? new f.media.SoundTransform : a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "leftPeak", {get:function() {
return this._leftPeak;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "rightPeak", {get:function() {
return this._rightPeak;
}, enumerable:!0, configurable:!0});
p.prototype.stop = function() {
this._element && (this._unregisterWithSoundMixer(), this._element.pause());
this._audioChannel && (this._unregisterWithSoundMixer(), this._audioChannel.stop());
};
p.prototype._playSoundDataViaAudio = function(a, b, c) {
if (a.mimeType) {
this._registerWithSoundMixer();
this._position = b;
var d = this, h = 0, e = document.createElement("audio");
e.canPlayType(a.mimeType) ? (e.preload = "metadata", e.loop = 0 < c, e.src = URL.createObjectURL(new Blob([a.data], {type:a.mimeType})), e.addEventListener("loadeddata", function() {
e.currentTime = b / 1E3;
e.play();
}), e.addEventListener("timeupdate", function() {
var a = e.currentTime;
c && h > a && (--c, c || (e.loop = !1), a < b / 1E3 && (e.currentTime = b / 1E3));
d._position = 1E3 * (h = a);
}), e.addEventListener("ended", function() {
d._unregisterWithSoundMixer();
d.dispatchEvent(new f.events.Event("soundComplete", !1, !1));
d._element = null;
}), this._element = e, this._applySoundTransform()) : console.error('ERROR: "' + a.mimeType + '" type playback is not supported by the browser');
}
};
p.prototype._playSoundDataViaChannel = function(b, c, d) {
k(b.pcm, "no pcm data found");
this._registerWithSoundMixer();
var e = this, h = Math.round(c / 1E3 * b.sampleRate) * b.channels, g = h;
this._position = c;
n.isSupported ? c = new n(b.sampleRate, b.channels) : (a("PCM data playback is not supported by the browser"), c = void 0);
this._audioChannel = c;
this._audioChannel.ondatarequested = function(a) {
var c = b.end;
if (g >= c && b.completed) {
e._unregisterWithSoundMixer(), e._audioChannel.stop(), e.dispatchEvent(new f.events.Event("soundComplete", !1, !1));
} else {
var k = a.count;
a = a.data;
var m = b.pcm;
do {
for (var n = Math.min(c - g, k), p = 0;p < n;p++) {
a[p] = m[g++];
}
k -= n;
if (g >= c) {
if (!d) {
break;
}
d--;
g = h;
}
} while (0 < k);
e._position = g / b.sampleRate / b.channels * 1E3;
}
};
this._audioChannel.start();
this._applySoundTransform();
};
p.prototype._applySoundTransform = function() {
var a = this._soundTransform.volume;
g.SoundMixer._soundTransform && (a *= g.SoundMixer._soundTransform.volume);
a *= g.SoundMixer._getMasterVolume();
this._element && (this._element.volume = 0 >= a ? 0 : 1 <= a ? 1 : a);
};
p.prototype._registerWithSoundMixer = function() {
g.SoundMixer._registerChannel(this);
};
p.prototype._unregisterWithSoundMixer = function() {
g.SoundMixer._unregisterChannel(this);
};
p.classInitializer = null;
p.initializer = function(a) {
this._element = null;
this._rightPeak = this._leftPeak = this._position = 0;
this._pcmData = null;
this._soundTransform = new f.media.SoundTransform;
};
p.classSymbols = null;
p.instanceSymbols = null;
return p;
}(f.events.EventDispatcher);
g.SoundChannel = p;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b) {
k("Dummy Constructor: public flash.media.SoundLoaderContext");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.SoundLoaderContext = m;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
var s = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = function(a) {
function g() {
s("Dummy Constructor: public flash.media.SoundMixer");
}
__extends(g, a);
Object.defineProperty(g, "bufferTime", {get:function() {
s("public flash.media.SoundMixer::get bufferTime");
}, set:function(a) {
s("public flash.media.SoundMixer::set bufferTime");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g, "soundTransform", {get:function() {
d("public flash.media.SoundMixer::get soundTransform");
return b.isNullOrUndefined(g._soundTransform) ? new f.media.SoundTransform : new f.media.SoundTransform(g._soundTransform.volume, g._soundTransform.pan);
}, set:function(a) {
d("public flash.media.SoundMixer::set soundTransform");
g._soundTransform = b.isNullOrUndefined(a) ? new f.media.SoundTransform : a;
g._registeredChannels.forEach(function(a) {
a._applySoundTransform();
});
}, enumerable:!0, configurable:!0});
Object.defineProperty(g, "audioPlaybackMode", {get:function() {
s("public flash.media.SoundMixer::get audioPlaybackMode");
}, set:function(a) {
m(a);
s("public flash.media.SoundMixer::set audioPlaybackMode");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g, "useSpeakerphoneForVoice", {get:function() {
s("public flash.media.SoundMixer::get useSpeakerphoneForVoice");
}, set:function(a) {
s("public flash.media.SoundMixer::set useSpeakerphoneForVoice");
}, enumerable:!0, configurable:!0});
g.stopAll = function() {
g._registeredChannels.forEach(function(a) {
a.stop();
});
g._registeredChannels = [];
};
g.computeSpectrum = function(a, b, c) {
d("public flash.media.SoundMixer::static computeSpectrum");
b = new Float32Array(1024);
for (c = 0;1024 > c;c++) {
b[c] = Math.random();
}
a.writeRawBytes(b);
a.position = 0;
};
g.areSoundsInaccessible = function() {
s("public flash.media.SoundMixer::static areSoundsInaccessible");
};
g._getMasterVolume = function() {
return g._masterVolume;
};
g._setMasterVolume = function(a) {
g._masterVolume = +a;
g._registeredChannels.forEach(function(a) {
a._applySoundTransform();
});
};
g._registerChannel = function(a) {
g._registeredChannels.push(a);
};
g._unregisterChannel = function(a) {
a = g._registeredChannels.indexOf(a);
0 <= a && g._registeredChannels.splice(a, 1);
};
g.classInitializer = null;
g.initializer = null;
g.classSymbols = null;
g.instanceSymbols = null;
g._masterVolume = 1;
g._registeredChannels = [];
return g;
}(g.ASNative);
k.SoundMixer = a;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = function(a) {
function b(a, c) {
k("Dummy Constructor: public flash.media.SoundTransform");
}
__extends(b, a);
Object.defineProperty(b.prototype, "volume", {get:function() {
return this._volume;
}, set:function(a) {
this._volume = +a;
this._updateTransform();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "leftToLeft", {get:function() {
return this._leftToLeft;
}, set:function(a) {
this._leftToLeft = +a;
this._updateTransform();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "leftToRight", {get:function() {
return this._leftToRight;
}, set:function(a) {
this._leftToRight = +a;
this._updateTransform();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "rightToRight", {get:function() {
return this._rightToRight;
}, set:function(a) {
this._rightToRight = +a;
this._updateTransform();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "rightToLeft", {get:function() {
return this._rightToLeft;
}, set:function(a) {
this._rightToLeft = +a;
this._updateTransform();
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "pan", {get:function() {
return 0 === this._leftToRight && 0 === this._rightToLeft ? 1 - this._leftToLeft * this._leftToLeft : 0;
}, set:function(a) {
this.leftToLeft = Math.sqrt(1 - a);
this.leftToRight = 0;
this.rightToRight = Math.sqrt(1 + a);
this.rightToLeft = 0;
}, enumerable:!0, configurable:!0});
b.prototype._updateTransform = function() {
m("public flash.media.SoundTransform::_updateTransform");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.SoundTransform = d;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.Debug.assert, d = function(a) {
function b(a, c) {
"undefined" === typeof a && (a = 320);
"undefined" === typeof c && (c = 240);
f.display.DisplayObject.instanceConstructorNoInitialize.call(this);
this._width = a | 0;
this._height = c | 0;
}
__extends(b, a);
Object.defineProperty(b.prototype, "deblocking", {get:function() {
return this._deblocking;
}, set:function(a) {
this._deblocking = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "smoothing", {get:function() {
return this._smoothing;
}, set:function(a) {
this._smoothing = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "videoWidth", {get:function() {
return this._videoWidth;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "videoHeight", {get:function() {
return this._videoHeight;
}, enumerable:!0, configurable:!0});
b.prototype._containsPointDirectly = function(a, b) {
m(this._getContentBounds().contains(a, b));
return!0;
};
b.prototype.clear = function() {
k("public flash.media.Video::clear");
};
b.prototype.attachNetStream = function(a) {
if (this._netStream !== a) {
this._netStream && (a._videoReferrer = null);
if (this._netStream = a) {
a._videoReferrer = this;
}
this._setDirtyFlags(33554432);
}
};
b.prototype.attachCamera = function(a) {
k("public flash.media.Video::attachCamera");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.display.DisplayObject);
g.Video = d;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.media.VideoStreamSettings");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.VideoStreamSettings = m;
})(f.media || (f.media = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b(a, c, d) {
k("Dummy Constructor: public flash.net.FileFilter");
}
__extends(b, a);
Object.defineProperty(b.prototype, "description", {get:function() {
return this._description;
}, set:function(a) {
this._description = m(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "extension", {get:function() {
return this._extension;
}, set:function(a) {
this._extension = m(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "macType", {get:function() {
return this._macType;
}, set:function(a) {
this._macType = m(a);
}, enumerable:!0, configurable:!0});
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.FileFilter = d;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.FileLoadingService, c = function(b) {
function c() {
k("Dummy Constructor: public flash.net.LocalConnection");
}
__extends(c, b);
c.prototype.close = function() {
k("public flash.net.LocalConnection::close");
};
c.prototype.connect = function(a) {
m(a);
k("public flash.net.LocalConnection::connect");
};
Object.defineProperty(c.prototype, "domain", {get:function() {
d("public flash.net.LocalConnection::get domain");
var b = a.instance.resolveUrl("/");
return(b = /:\/\/(.+?)[:?#\/]/.exec(b)) && b[1];
}, enumerable:!0, configurable:!0});
c.prototype.send = function(a, b) {
m(a);
m(b);
k("public flash.net.LocalConnection::send");
};
Object.defineProperty(c.prototype, "client", {get:function() {
k("public flash.net.LocalConnection::get client");
}, set:function(a) {
k("public flash.net.LocalConnection::set client");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "isPerUser", {get:function() {
k("public flash.net.LocalConnection::get isPerUser");
}, set:function(a) {
k("public flash.net.LocalConnection::set isPerUser");
}, enumerable:!0, configurable:!0});
c.prototype.allowDomain = function() {
k("public flash.net.LocalConnection::allowDomain");
};
c.prototype.allowInsecureDomain = function() {
k("public flash.net.LocalConnection::allowInsecureDomain");
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(f.events.EventDispatcher);
g.LocalConnection = c;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.wrapJSObject, c = b.Telemetry, n = b.AVM2.AS.flash.events.NetStatusEvent, p = function(b) {
function f() {
k("Dummy Constructor: public flash.net.NetConnection");
}
__extends(f, b);
Object.defineProperty(f, "defaultObjectEncoding", {get:function() {
return f._defaultObjectEncoding;
}, set:function(a) {
f._defaultObjectEncoding = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "connected", {get:function() {
return this._connected;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "uri", {get:function() {
return this._uri;
}, enumerable:!0, configurable:!0});
f.prototype.connect = function(b) {
b = m(b);
d("public flash.net.NetConnection::connect");
(this._uri = b) ? this.dispatchEvent(new n(n.NET_STATUS, !1, !1, a({level:"status", code:"NetConnection.Connect.Failed"}))) : (this._connected = !0, this.dispatchEvent(new n(n.NET_STATUS, !1, !1, a({level:"status", code:"NetConnection.Connect.Success"}))));
};
Object.defineProperty(f.prototype, "client", {get:function() {
return this._client;
}, set:function(a) {
this._client = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "objectEncoding", {get:function() {
return this._objectEncoding;
}, set:function(a) {
a >>>= 0;
d("public flash.net.NetConnection::set objectEncoding");
this._objectEncoding = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "proxyType", {get:function() {
return this._proxyType;
}, set:function(a) {
a = m(a);
d("public flash.net.NetConnection::set proxyType");
this._proxyType = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "connectedProxyType", {get:function() {
k("public flash.net.NetConnection::get connectedProxyType");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "usingTLS", {get:function() {
d("public flash.net.NetConnection::get usingTLS");
return this._usingTLS;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "protocol", {get:function() {
k("public flash.net.NetConnection::get protocol");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "maxPeerConnections", {get:function() {
k("public flash.net.NetConnection::get maxPeerConnections");
}, set:function(a) {
k("public flash.net.NetConnection::set maxPeerConnections");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "nearID", {get:function() {
k("public flash.net.NetConnection::get nearID");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "farID", {get:function() {
k("public flash.net.NetConnection::get farID");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "nearNonce", {get:function() {
k("public flash.net.NetConnection::get nearNonce");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "farNonce", {get:function() {
k("public flash.net.NetConnection::get farNonce");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f.prototype, "unconnectedPeerStreams", {get:function() {
k("public flash.net.NetConnection::get unconnectedPeerStreams");
}, enumerable:!0, configurable:!0});
f.prototype.ctor = function() {
this._uri = null;
this._connected = !1;
this._client = null;
this._proxyType = "none";
this._objectEncoding = f.defaultObjectEncoding;
this._usingTLS = !1;
c.instance.reportTelemetry({topic:"feature", feature:6});
};
f.prototype.invoke = function(a) {
return this._invoke(a >>> 0, Array.prototype.slice.call(arguments, 1));
};
f.prototype.invokeWithArgsArray = function(a, b) {
return this._invoke.call(this, a >>> 0, b);
};
f.prototype._invoke = function(a, b) {
var c = !1;
switch(a) {
case 2:
c = !0;
}
(c ? d : k)("private flash.net.NetConnection::_invoke (" + a + ")");
};
f.classInitializer = null;
f.initializer = null;
f.classSymbols = null;
f.instanceSymbols = ["close", "addHeader", "call"];
f._defaultObjectEncoding = 3;
return f;
}(f.events.EventDispatcher);
g.NetConnection = p;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.wrapJSObject, c = b.AVM2.AS.flash.events.NetStatusEvent, n = b.FileLoadingService, p = function(b) {
function g(a, b) {
"undefined" === typeof b && (b = "connectToFMS");
f.events.EventDispatcher.instanceConstructorNoInitialize.call(this);
this._connection = a;
this._peerID = m(b);
this._id = f.display.DisplayObject.getNextSyncID();
this._isDirty = !0;
}
__extends(g, b);
g.prototype.dispose = function() {
k("public flash.net.NetStream::dispose");
};
g.prototype.play = function(a) {
this._url = n.instance.resolveUrl(a);
d("public flash.net.NetStream::play");
};
g.prototype.play2 = function(a) {
k("public flash.net.NetStream::play2");
};
Object.defineProperty(g.prototype, "info", {get:function() {
k("public flash.net.NetStream::get info");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastInfo", {get:function() {
k("public flash.net.NetStream::get multicastInfo");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "soundTransform", {get:function() {
return this._soundTransform;
}, set:function(a) {
d("public flash.net.NetStream::set soundTransform");
this._soundTransform = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "checkPolicyFile", {get:function() {
return this._checkPolicyFile;
}, set:function(a) {
this._checkPolicyFile = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "client", {get:function() {
return this._client;
}, set:function(a) {
d("public flash.net.NetStream::set client");
this._client = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "objectEncoding", {get:function() {
k("public flash.net.NetStream::get objectEncoding");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastPushNeighborLimit", {get:function() {
k("public flash.net.NetStream::get multicastPushNeighborLimit");
}, set:function(a) {
k("public flash.net.NetStream::set multicastPushNeighborLimit");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastWindowDuration", {get:function() {
k("public flash.net.NetStream::get multicastWindowDuration");
}, set:function(a) {
k("public flash.net.NetStream::set multicastWindowDuration");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastRelayMarginDuration", {get:function() {
k("public flash.net.NetStream::get multicastRelayMarginDuration");
}, set:function(a) {
k("public flash.net.NetStream::set multicastRelayMarginDuration");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastAvailabilityUpdatePeriod", {get:function() {
k("public flash.net.NetStream::get multicastAvailabilityUpdatePeriod");
}, set:function(a) {
k("public flash.net.NetStream::set multicastAvailabilityUpdatePeriod");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastFetchPeriod", {get:function() {
k("public flash.net.NetStream::get multicastFetchPeriod");
}, set:function(a) {
k("public flash.net.NetStream::set multicastFetchPeriod");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "multicastAvailabilitySendToAll", {get:function() {
k("public flash.net.NetStream::get multicastAvailabilitySendToAll");
}, set:function(a) {
k("public flash.net.NetStream::set multicastAvailabilitySendToAll");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "farID", {get:function() {
k("public flash.net.NetStream::get farID");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "nearNonce", {get:function() {
k("public flash.net.NetStream::get nearNonce");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "farNonce", {get:function() {
k("public flash.net.NetStream::get farNonce");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "peerStreams", {get:function() {
k("public flash.net.NetStream::get peerStreams");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "audioReliable", {get:function() {
k("public flash.net.NetStream::get audioReliable");
}, set:function(a) {
k("public flash.net.NetStream::set audioReliable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "videoReliable", {get:function() {
k("public flash.net.NetStream::get videoReliable");
}, set:function(a) {
k("public flash.net.NetStream::set videoReliable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "dataReliable", {get:function() {
k("public flash.net.NetStream::get dataReliable");
}, set:function(a) {
k("public flash.net.NetStream::set dataReliable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "audioSampleAccess", {get:function() {
k("public flash.net.NetStream::get audioSampleAccess");
}, set:function(a) {
k("public flash.net.NetStream::set audioSampleAccess");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "videoSampleAccess", {get:function() {
k("public flash.net.NetStream::get videoSampleAccess");
}, set:function(a) {
k("public flash.net.NetStream::set videoSampleAccess");
}, enumerable:!0, configurable:!0});
g.prototype.appendBytes = function(a) {
this._mediaSource && (this._mediaSourceBuffer || (this._mediaSourceBuffer = this._mediaSource.addSourceBuffer(this._contentTypeHint)), this._mediaSourceBuffer.appendBuffer(new Uint8Array(a._buffer, 0, a.length)));
d("public flash.net.NetStream::appendBytes");
};
g.prototype.appendBytesAction = function() {
var a;
a = m("endSequence");
"endSequence" === a && this._mediaSource && this._mediaSource.endOfStream();
d("public flash.net.NetStream::appendBytesAction");
};
Object.defineProperty(g.prototype, "useHardwareDecoder", {get:function() {
k("public flash.net.NetStream::get useHardwareDecoder");
}, set:function(a) {
k("public flash.net.NetStream::set useHardwareDecoder");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "useJitterBuffer", {get:function() {
k("public flash.net.NetStream::get useJitterBuffer");
}, set:function(a) {
k("public flash.net.NetStream::set useJitterBuffer");
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "videoStreamSettings", {get:function() {
k("public flash.net.NetStream::get videoStreamSettings");
}, set:function(a) {
k("public flash.net.NetStream::set videoStreamSettings");
}, enumerable:!0, configurable:!0});
g.prototype.ctor = function(a, b) {
b = m(b);
d("public flash.net.NetStream::ctor");
this._mediaSource = this._contentTypeHint = null;
this._checkPolicyFile = !0;
this._videoElement = null;
var c, e;
this._videoReady = new Promise(function(a, b) {
c = a;
e = b;
});
this._videoReady.resolve = c;
this._videoReady.reject = e;
var h, f;
this._videoMetadataReady = new Promise(function(a, b) {
h = a;
f = b;
});
this._videoMetadataReady.resolve = h;
this._videoMetadataReady.reject = f;
this._videoState = {started:!1, buffer:"empty", bufferTime:.1};
};
g.prototype.invoke = function(a) {
return this._invoke(a >>> 0, Array.prototype.slice.call(arguments, 1));
};
g.prototype.invokeWithArgsArray = function(a, b) {
return this._invoke.call(this, a >>> 0, b);
};
g.prototype._invoke = function(a, b) {
var c = !1, e, h = this._videoElement;
switch(a) {
case 4:
this._videoState.bufferTime = b[0];
c = !0;
break;
case 202:
switch(b[1]) {
case "pause":
c = !0;
h && (!1 === b[3] || h.paused ? !0 !== b[3] && h.paused && h.play() : h.pause(), h.currentTime = b[4] / 1E3);
break;
case "seek":
c = !0, h && !h.paused && (h.currentTime = b[3] / 1E3);
}
break;
case 300:
e = h ? h.currentTime : 0;
c = !0;
break;
case 302:
e = this._videoState.bufferTime;
c = !0;
break;
case 303:
e = h ? h.duration : 0;
c = !0;
break;
case 305:
e = "full" === this._videoState.buffer ? 100 : "progress" === this._videoState.buffer ? 50 : 0;
c = !0;
break;
case 306:
e = 100, c = !0;
}
(c ? d : k)("NetStream._invoke (" + a + ")");
return e;
};
g.prototype._createVideoElement = function(b) {
var d = this;
/\.mp4$/i.test(b) && /Intel Mac OS X.*?Firefox\/\d+/.test(window.navigator.userAgent) && (b = "http://videos-cdn.mozilla.net/brand/Mozilla_2011_Story.webm");
var e = document.createElement("video");
e.preload = "metadata";
e.src = b;
e.addEventListener("play", function(b) {
d._videoState.started || (d._videoState.started = !0, d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Play.Start", level:"status"}))));
});
e.addEventListener("ended", function(b) {
d._videoState.started = !1;
d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Play.Stop", level:"status"})));
});
e.addEventListener("loadeddata", function(b) {
d._videoState.buffer = "full";
d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Buffer.Full", level:"status"})));
});
e.addEventListener("progress", function(a) {
d._videoState.buffer = "progress";
});
e.addEventListener("waiting", function(b) {
d._videoState.buffer = "empty";
d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:"NetStream.Buffer.Empty", level:"status"})));
});
e.addEventListener("loadedmetadata", function(a) {
d._videoMetadataReady.resolve({videoWidth:e.videoWidth, videoHeight:e.videoHeight});
d._client && (a = {}, a.asSetPublicProperty("width", e.videoWidth), a.asSetPublicProperty("height", e.videoHeight), a.asSetPublicProperty("duration", e.duration), d._client.asCallPublicProperty("onMetaData", [a]));
});
e.addEventListener("error", function(b) {
d.dispatchEvent(new c(c.NET_STATUS, !1, !1, a({code:4 === b.target.error.code ? "NetStream.Play.NoSupportedTrackFound" : 3 === b.target.error.code ? "NetStream.Play.FileStructureInvalid" : "NetStream.Play.StreamNotFound", level:"error"})));
});
e.play();
this._videoElement = e;
this._videoReady.resolve(e);
};
g.classInitializer = null;
g.initializer = null;
g.classSymbols = null;
g.instanceSymbols = null;
g.DIRECT_CONNECTIONS = "directConnections";
g.CONNECT_TO_FMS = "connectToFMS";
return g;
}(f.events.EventDispatcher);
g.NetStream = p;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b(a, c, d, f, g, u, w, r, h, x, y, t, I, C, E, O, K, F, J, A, B, z, P, D, L) {
"undefined" === typeof P && (P = null);
"undefined" === typeof D && (D = null);
m(P);
m(D);
k("Dummy Constructor: public flash.net.NetStreamInfo");
}
__extends(b, a);
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.NetStreamInfo = d;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b, d, e, f, g, m, w, r, h, x, y, t, I, C, E, O, K, F) {
k("Dummy Constructor: public flash.net.NetStreamMulticastInfo");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.NetStreamMulticastInfo = m;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.net.NetStreamPlayOptions");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.NetStreamPlayOptions = m;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b) {
k("Dummy Constructor: public flash.net.Responder");
}
__extends(a, b);
a.prototype.ctor = function(a, b) {
this._result = a;
this._status = b;
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.Responder = m;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.ObjectUtilities.createEmptyObject, c = function(c) {
function g() {
f.events.EventDispatcher.instanceConstructorNoInitialize.call(this);
this._data = a();
}
__extends(g, c);
g.deleteAll = function(a) {
m(a);
k("public flash.net.SharedObject::static deleteAll");
};
g.getDiskUsage = function(a) {
m(a);
k("public flash.net.SharedObject::static getDiskUsage");
};
g._create = function(a, c) {
var d = new g;
d._path = a;
d._data = c;
d._objectEncoding = g._defaultObjectEncoding;
b.Telemetry.instance.reportTelemetry({topic:"feature", feature:3});
return d;
};
g.getLocal = function(a, b, c) {
"undefined" === typeof b && (b = null);
a = m(a);
b = m(b);
a = (b || "") + "/" + a;
if (g._sharedObjects[a]) {
return g._sharedObjects[a];
}
b = sessionStorage.getItem(a);
b = g._create(a, b ? JSON.parse(b) : {});
return g._sharedObjects[a] = b;
};
g.getRemote = function(a, b, c, d) {
"undefined" === typeof b && (b = null);
m(a);
m(b);
k("public flash.net.SharedObject::static getRemote");
};
Object.defineProperty(g, "defaultObjectEncoding", {get:function() {
return g._defaultObjectEncoding;
}, set:function(a) {
g._defaultObjectEncoding = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "data", {get:function() {
return this._data;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "objectEncoding", {get:function() {
return this._objectEncoding;
}, set:function(a) {
this._objectEncoding = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "client", {get:function() {
k("public flash.net.SharedObject::get client");
}, set:function(a) {
k("public flash.net.SharedObject::set client");
}, enumerable:!0, configurable:!0});
g.prototype.setDirty = function(a) {
m(a);
d("public flash.net.SharedObject::setDirty");
};
g.prototype.invoke = function(a) {
return this._invoke(a >>> 0, Array.prototype.slice.call(arguments, 1));
};
g.prototype.invokeWithArgsArray = function(a, b) {
return this._invoke(a >>> 0, b);
};
g.prototype._invoke = function(a, b) {
var c = !1, f;
switch(a) {
case 4:
f = JSON.stringify(this._data).length - 2;
c = !0;
break;
case 6:
this._data = {};
sessionStorage.removeItem(this._path);
c = !0;
break;
case 2:
sessionStorage.setItem(this._path, JSON.stringify(this._data));
f = c = !0;
break;
case 3:
c = !0;
}
(c ? d : k)("private flash.net.SharedObject::_invoke (" + a + ")");
return f;
};
g.classInitializer = null;
g.initializer = null;
g.classSymbols = null;
g.instanceSymbols = null;
g._sharedObjects = a();
g._defaultObjectEncoding = 3;
return g;
}(f.events.EventDispatcher);
g.SharedObject = c;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.AVM2.Errors, c = b.AVM2.Runtime.throwError, n = function(b) {
function e(a, b) {
"undefined" === typeof a && (a = null);
m(a);
k("Dummy Constructor: public flash.net.Socket");
}
__extends(e, b);
Object.defineProperty(e.prototype, "bytesAvailable", {get:function() {
k("public flash.net.Socket::get bytesAvailable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "connected", {get:function() {
k("public flash.net.Socket::get connected");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "objectEncoding", {get:function() {
k("public flash.net.Socket::get objectEncoding");
}, set:function(a) {
k("public flash.net.Socket::set objectEncoding");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "endian", {get:function() {
k("public flash.net.Socket::get endian");
}, set:function(a) {
m(a);
k("public flash.net.Socket::set endian");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "bytesPending", {get:function() {
k("public flash.net.Socket::get bytesPending");
}, enumerable:!0, configurable:!0});
e.prototype.readBytes = function(a, b, c) {
k("public flash.net.Socket::readBytes");
};
e.prototype.writeBytes = function(a, b, c) {
k("public flash.net.Socket::writeBytes");
};
e.prototype.writeBoolean = function(a) {
k("public flash.net.Socket::writeBoolean");
};
e.prototype.writeByte = function(a) {
k("public flash.net.Socket::writeByte");
};
e.prototype.writeShort = function(a) {
k("public flash.net.Socket::writeShort");
};
e.prototype.writeInt = function(a) {
k("public flash.net.Socket::writeInt");
};
e.prototype.writeUnsignedInt = function(a) {
k("public flash.net.Socket::writeUnsignedInt");
};
e.prototype.writeFloat = function(a) {
k("public flash.net.Socket::writeFloat");
};
e.prototype.writeDouble = function(a) {
k("public flash.net.Socket::writeDouble");
};
e.prototype.writeMultiByte = function(a, b) {
m(a);
m(b);
k("public flash.net.Socket::writeMultiByte");
};
e.prototype.writeUTF = function(a) {
m(a);
k("public flash.net.Socket::writeUTF");
};
e.prototype.writeUTFBytes = function(a) {
m(a);
k("public flash.net.Socket::writeUTFBytes");
};
e.prototype.readBoolean = function() {
k("public flash.net.Socket::readBoolean");
};
e.prototype.readByte = function() {
k("public flash.net.Socket::readByte");
};
e.prototype.readUnsignedByte = function() {
k("public flash.net.Socket::readUnsignedByte");
};
e.prototype.readShort = function() {
k("public flash.net.Socket::readShort");
};
e.prototype.readUnsignedShort = function() {
k("public flash.net.Socket::readUnsignedShort");
};
e.prototype.readInt = function() {
k("public flash.net.Socket::readInt");
};
e.prototype.readUnsignedInt = function() {
k("public flash.net.Socket::readUnsignedInt");
};
e.prototype.readFloat = function() {
k("public flash.net.Socket::readFloat");
};
e.prototype.readDouble = function() {
k("public flash.net.Socket::readDouble");
};
e.prototype.readMultiByte = function(a, b) {
m(b);
k("public flash.net.Socket::readMultiByte");
};
e.prototype.readUTF = function() {
k("public flash.net.Socket::readUTF");
};
e.prototype.readUTFBytes = function(a) {
k("public flash.net.Socket::readUTFBytes");
};
e.prototype.flush = function() {
k("public flash.net.Socket::flush");
};
e.prototype.writeObject = function(a) {
k("public flash.net.Socket::writeObject");
};
e.prototype.readObject = function() {
k("public flash.net.Socket::readObject");
};
e.prototype.internalGetSecurityErrorMessage = function(a, b) {
m(a);
d("flash.net.Socket::internalGetSecurityErrorMessage");
return "SecurityErrorEvent";
};
e.prototype.internalConnect = function(b, e) {
b = m(b);
e |= 0;
d("flash.net.Socket::internalConnect");
c("SecurityError", a.SocketConnectError, b, e);
};
e.prototype.didFailureOccur = function() {
d("flash.net.Socket::didFailureOccur");
return!0;
};
e.classInitializer = null;
e.initializer = null;
e.classSymbols = null;
e.instanceSymbols = null;
return e;
}(f.events.EventDispatcher);
g.Socket = n;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a) {
k("Dummy Constructor: public flash.net.URLLoader");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = "data dataFormat bytesLoaded bytesTotal load close".split(" ");
return a;
}(f.events.EventDispatcher);
g.URLLoader = m;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
var s = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.AVM2.Runtime.throwError, a = function(a) {
function b(a) {
"undefined" === typeof a && (a = null);
m(a);
s("Dummy Constructor: public flash.net.URLRequest");
}
__extends(b, a);
Object.defineProperty(b.prototype, "url", {get:function() {
return this._url;
}, set:function(a) {
this._url = a = m(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "data", {get:function() {
return this._data;
}, set:function(a) {
this._data = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "method", {get:function() {
return this._method;
}, set:function(a) {
a = m(a);
"get" !== a && "GET" !== a && "post" !== a && "POST" !== a && d("ArgumentError", k.Errors.InvalidArgumentError);
this._method = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "contentType", {get:function() {
return this._contentType;
}, set:function(a) {
this._contentType = a = m(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "requestHeaders", {get:function() {
return this._requestHeaders;
}, set:function(a) {
Array.isArray(a) || d("ArgumentError", k.Errors.InvalidArgumentError, "value");
this._requestHeaders = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "digest", {get:function() {
return this._digest;
}, set:function(a) {
this._digest = a = m(a);
}, enumerable:!0, configurable:!0});
b.prototype._toFileRequest = function() {
var a = {};
a.url = this._url;
a.method = this._method;
a.checkPolicyFile = this._checkPolicyFile;
if (this._data) {
if (a.mimeType = this._contentType, f.utils.ByteArray.isType(this._data)) {
a.data = new Uint8Array(this._data._buffer, 0, this._data.length);
} else {
var b = this._data.asGetPublicProperty("toString").call(this._data);
if ("GET" === this._method) {
var c = a.url.lastIndexOf("?");
a.url = (0 > c ? a.url : a.url.substring(0, c)) + "?" + b;
} else {
a.data = b;
}
}
}
return a;
};
b.classInitializer = null;
b.initializer = function() {
this._url = null;
this._method = "GET";
this._digest = this._data = null;
this._contentType = "application/x-www-form-urlencoded";
this._requestHeaders = null;
this._checkPolicyFile = !0;
};
b.classSymbols = null;
b.bindings = null;
return b;
}(g.ASNative);
t.URLRequest = a;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b) {
"undefined" === typeof a && (a = "");
"undefined" === typeof b && (b = "");
k(a);
k(b);
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = ["name!", "value!"];
return a;
}(g.ASNative);
f.URLRequestHeader = m;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.FileLoadingService, a = b.AVM2.Runtime.throwError, c = b.AVM2.AS.flash.utils, n = function(b) {
function e() {
s("Dummy Constructor: public flash.net.URLStream");
}
__extends(e, b);
Object.defineProperty(e.prototype, "connected", {get:function() {
return this._connected;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "bytesAvailable", {get:function() {
return this._buffer.length - this._buffer.position;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "objectEncoding", {get:function() {
return this._buffer.objectEncoding;
}, set:function(a) {
this._buffer.objectEncoding = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "endian", {get:function() {
return this._buffer.endian;
}, set:function(a) {
a = m(a);
this._buffer.endian = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "diskCacheEnabled", {get:function() {
s("public flash.net.URLStream::get diskCacheEnabled");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "position", {get:function() {
return this._buffer.position;
}, set:function(a) {
this._buffer.position = +a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "length", {get:function() {
return this._buffer.length;
}, enumerable:!0, configurable:!0});
e.prototype.load = function(a) {
var b = f.events.Event, c = f.events.IOErrorEvent, e = f.events.ProgressEvent, g = f.events.HTTPStatusEvent, h = d.instance.createSession(), k = this;
h.onprogress = function(a, b) {
var c = k._buffer.position;
k._buffer.position = k._writePosition;
k._buffer.writeRawBytes(a);
k._writePosition = k._buffer.position;
k._buffer.position = c;
k.dispatchEvent(new e(e.PROGRESS, !1, !1, b.bytesLoaded, b.bytesTotal));
};
h.onerror = function(a) {
k._connected = !1;
k.dispatchEvent(new c(c.IO_ERROR, !1, !1, a));
};
h.onopen = function() {
k._connected = !0;
k.dispatchEvent(new b(b.OPEN, !1, !1));
};
h.onhttpstatus = function(a, b, c) {
b = new g(g.HTTP_STATUS, !1, !1, b);
var d = [];
c.split(/(?:\n|\r?\n)/g).forEach(function(b) {
if (b = /^([^:]+): (.*)$/.exec(b)) {
d.push(new f.net.URLRequestHeader(b[1], b[2])), "Location" === b[1] && (a = b[2]);
}
});
b.asSetPublicProperty("responseHeaders", d);
b.asSetPublicProperty("responseURL", a);
k.dispatchEvent(b);
};
h.onclose = function() {
k._connected = !1;
k.dispatchEvent(new b(b.COMPLETE, !1, !1));
};
h.open(a._toFileRequest());
this._session = h;
};
e.prototype.readBytes = function(b, c, d) {
"undefined" === typeof c && (c = 0);
"undefined" === typeof d && (d = 0);
c >>>= 0;
d >>>= 0;
0 > d && a("ArgumentError", k.Errors.InvalidArgumentError, "length");
this._buffer.readBytes(b, c, d);
};
e.prototype.readBoolean = function() {
s("public flash.net.URLStream::readBoolean");
};
e.prototype.readByte = function() {
return this._buffer.readByte();
};
e.prototype.readUnsignedByte = function() {
s("public flash.net.URLStream::readUnsignedByte");
};
e.prototype.readShort = function() {
s("public flash.net.URLStream::readShort");
};
e.prototype.readUnsignedShort = function() {
return this._buffer.readUnsignedShort();
};
e.prototype.readUnsignedInt = function() {
s("public flash.net.URLStream::readUnsignedInt");
};
e.prototype.readInt = function() {
s("public flash.net.URLStream::readInt");
};
e.prototype.readFloat = function() {
s("public flash.net.URLStream::readFloat");
};
e.prototype.readDouble = function() {
s("public flash.net.URLStream::readDouble");
};
e.prototype.readMultiByte = function(a, b) {
m(b);
s("public flash.net.URLStream::readMultiByte");
};
e.prototype.readUTF = function() {
return this._buffer.readUTF();
};
e.prototype.readUTFBytes = function(a) {
return this._buffer.readUTFBytes(a);
};
e.prototype.close = function() {
this._session.close();
};
e.prototype.readObject = function() {
s("public flash.net.URLStream::readObject");
};
e.prototype.stop = function() {
s("public flash.net.URLStream::stop");
};
e.classInitializer = null;
e.initializer = function() {
this._buffer = new c.ByteArray;
this._writePosition = 0;
this._connected = !1;
};
e.classSymbols = null;
e.instanceSymbols = null;
return e;
}(f.events.EventDispatcher);
g.URLStream = n;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a) {
k("Dummy Constructor: public flash.net.URLVariables");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = ["decode!"];
return a;
}(g.ASNative);
f.URLVariables = m;
})(f.net || (f.net = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.sensors.Accelerometer");
}
__extends(a, b);
Object.defineProperty(a.prototype, "isSupported", {get:function() {
k("public flash.sensors.Accelerometer::get isSupported");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "muted", {get:function() {
k("public flash.sensors.Accelerometer::get muted");
}, enumerable:!0, configurable:!0});
a.prototype.setRequestedUpdateInterval = function(a) {
k("public flash.sensors.Accelerometer::setRequestedUpdateInterval");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.Accelerometer = m;
})(f.sensors || (f.sensors = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.sensors.Geolocation");
}
__extends(a, b);
Object.defineProperty(a.prototype, "isSupported", {get:function() {
k("public flash.sensors.Geolocation::get isSupported");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "muted", {get:function() {
k("public flash.sensors.Geolocation::get muted");
}, enumerable:!0, configurable:!0});
a.prototype.setRequestedUpdateInterval = function(a) {
k("public flash.sensors.Geolocation::setRequestedUpdateInterval");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.Geolocation = m;
})(f.sensors || (f.sensors = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.AVM2.Runtime.AVM2, a = b.AVM2.Runtime.ApplicationDomain, c = b.AVM2.ABC.Multiname, n = function(b) {
function e(b) {
"undefined" === typeof b && (b = null);
b instanceof a ? this._runtimeDomain = b : (b = b ? b._runtimeDomain : d.currentDomain().system, this._runtimeDomain = new a(b.vm, b, 2, !1));
}
__extends(e, b);
Object.defineProperty(e, "currentDomain", {get:function() {
return new e(d.currentDomain());
}, enumerable:!0, configurable:!0});
Object.defineProperty(e, "MIN_DOMAIN_MEMORY_LENGTH", {get:function() {
k("public flash.system.ApplicationDomain::get MIN_DOMAIN_MEMORY_LENGTH");
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "parentDomain", {get:function() {
return this._runtimeDomain.base ? new e(this._runtimeDomain.base) : null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(e.prototype, "domainMemory", {get:function() {
k("public flash.system.ApplicationDomain::get domainMemory");
}, set:function(a) {
k("public flash.system.ApplicationDomain::set domainMemory");
}, enumerable:!0, configurable:!0});
e.prototype.getDefinition = function(a) {
return(a = m(a)) ? (a = a.replace("::", "."), this._runtimeDomain.getProperty(c.fromSimpleName(a), !0, !0)) : null;
};
e.prototype.hasDefinition = function(a) {
return(a = m(a)) ? (a = a.replace("::", "."), !!this._runtimeDomain.findDomainProperty(c.fromSimpleName(a), !1, !1)) : !1;
};
e.prototype.getQualifiedDefinitionNames = function() {
k("public flash.system.ApplicationDomain::getQualifiedDefinitionNames");
};
e.classInitializer = null;
e.initializer = null;
e.classSymbols = null;
e.instanceSymbols = null;
return e;
}(g.ASNative);
f.ApplicationDomain = n;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = b.ObjectUtilities.toKeyValueArray, c = function(b) {
function c() {
k("Dummy Constructor: public flash.system.Capabilities");
}
__extends(c, b);
Object.defineProperty(c, "isEmbeddedInAcrobat", {get:function() {
k("public flash.system.Capabilities::get isEmbeddedInAcrobat");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasEmbeddedVideo", {get:function() {
k("public flash.system.Capabilities::get hasEmbeddedVideo");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasAudio", {get:function() {
k("public flash.system.Capabilities::get hasAudio");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "avHardwareDisable", {get:function() {
k("public flash.system.Capabilities::get avHardwareDisable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasAccessibility", {get:function() {
d("public flash.system.Capabilities::get hasAccessibility");
return c._hasAccessibility;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasAudioEncoder", {get:function() {
k("public flash.system.Capabilities::get hasAudioEncoder");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasMP3", {get:function() {
k("public flash.system.Capabilities::get hasMP3");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasPrinting", {get:function() {
k("public flash.system.Capabilities::get hasPrinting");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasScreenBroadcast", {get:function() {
k("public flash.system.Capabilities::get hasScreenBroadcast");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasScreenPlayback", {get:function() {
k("public flash.system.Capabilities::get hasScreenPlayback");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasStreamingAudio", {get:function() {
k("public flash.system.Capabilities::get hasStreamingAudio");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasStreamingVideo", {get:function() {
k("public flash.system.Capabilities::get hasStreamingVideo");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasVideoEncoder", {get:function() {
k("public flash.system.Capabilities::get hasVideoEncoder");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "isDebugger", {get:function() {
d("public flash.system.Capabilities::get isDebugger");
return c._isDebugger;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "localFileReadDisable", {get:function() {
k("public flash.system.Capabilities::get localFileReadDisable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "language", {get:function() {
d("public flash.system.Capabilities::get language");
return c._language;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "manufacturer", {get:function() {
d("public flash.system.Capabilities::get manufacturer");
return c._manufacturer;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "os", {get:function() {
if (null === c._os) {
var a, b = window.navigator.userAgent;
0 < b.indexOf("Macintosh") ? a = "Mac OS 10.5.2" : 0 < b.indexOf("Windows") ? a = "Windows XP" : 0 < b.indexOf("Linux") ? a = "Linux" : /(iPad|iPhone|iPod|Android)/.test(b) ? a = "iPhone3,1" : k("public flash.system.Capabilities::get os");
c._os = a;
}
return c._os;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "cpuArchitecture", {get:function() {
k("public flash.system.Capabilities::get cpuArchitecture");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "playerType", {get:function() {
d("public flash.system.Capabilities::get playerType");
return c._playerType;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "serverString", {get:function() {
var b = a({OS:c.os}).map(function(a) {
return a[0] + "=" + encodeURIComponent(a[1]);
}).join("&");
d("Capabilities.serverString: " + b);
return b;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "version", {get:function() {
return c._version;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "screenColor", {get:function() {
k("public flash.system.Capabilities::get screenColor");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "pixelAspectRatio", {get:function() {
k("public flash.system.Capabilities::get pixelAspectRatio");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "screenDPI", {get:function() {
k("public flash.system.Capabilities::get screenDPI");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "screenResolutionX", {get:function() {
d("public flash.system.Capabilities::get screenResolutionX");
return window.screen.width;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "screenResolutionY", {get:function() {
d("public flash.system.Capabilities::get screenResolutionY");
return window.screen.height;
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "touchscreenType", {get:function() {
k("public flash.system.Capabilities::get touchscreenType");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasIME", {get:function() {
k("public flash.system.Capabilities::get hasIME");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "hasTLS", {get:function() {
k("public flash.system.Capabilities::get hasTLS");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "maxLevelIDC", {get:function() {
k("public flash.system.Capabilities::get maxLevelIDC");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "supports32BitProcesses", {get:function() {
k("public flash.system.Capabilities::get supports32BitProcesses");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "supports64BitProcesses", {get:function() {
k("public flash.system.Capabilities::get supports64BitProcesses");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c, "_internal", {get:function() {
k("public flash.system.Capabilities::get _internal");
}, enumerable:!0, configurable:!0});
c.hasMultiChannelAudio = function(a) {
m(a);
k("public flash.system.Capabilities::static hasMultiChannelAudio");
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
c._hasAccessibility = !1;
c._isDebugger = !1;
c._language = "en";
c._manufacturer = "Mozilla Research";
c._os = null;
c._playerType = "PlugIn";
c._version = "SHUMWAY 10,0,0,0";
return c;
}(g.ASNative);
f.Capabilities = c;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function c() {
k("Dummy Constructor: packageInternal flash.system.FSCommand");
}
__extends(c, a);
c._fscommand = function(a, c) {
a = m(a);
c = m(c);
console.log("FSCommand: " + a + "; " + c);
a = a.toLowerCase();
if ("debugger" === a) {
debugger;
} else {
b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].executeFSCommand(a, c);
}
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(g.ASNative);
f.FSCommand = d;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.system.ImageDecodingPolicy");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.ON_DEMAND = "onDemand";
a.ON_LOAD = "onLoad";
return a;
}(g.ASNative);
f.ImageDecodingPolicy = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b, d) {
k("Dummy Constructor: public flash.system.LoaderContext");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.LoaderContext = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b, d, e) {
k("Dummy Constructor: public flash.system.JPEGLoaderContext");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.system.LoaderContext);
g.JPEGLoaderContext = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.system.MessageChannel");
}
__extends(a, b);
Object.defineProperty(a.prototype, "messageAvailable", {get:function() {
k("public flash.system.MessageChannel::get messageAvailable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "state", {get:function() {
k("public flash.system.MessageChannel::get state");
}, enumerable:!0, configurable:!0});
a.prototype.send = function(a, b) {
k("public flash.system.MessageChannel::send");
};
a.prototype.receive = function(a) {
k("public flash.system.MessageChannel::receive");
};
a.prototype.close = function() {
k("public flash.system.MessageChannel::close");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.MessageChannel = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.system.MessageChannelState");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.OPEN = "open";
a.CLOSING = "closing";
a.CLOSED = "closed";
return a;
}(g.ASNative);
f.MessageChannelState = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = b.Debug.somewhatImplemented, a = function(a) {
function f() {
k("Dummy Constructor: public flash.system.Security");
}
__extends(f, a);
Object.defineProperty(f, "exactSettings", {get:function() {
return f._exactSettings;
}, set:function(a) {
f._exactSettings = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f, "disableAVM1Loading", {get:function() {
k("public flash.system.Security::get disableAVM1Loading");
}, set:function(a) {
k("public flash.system.Security::set disableAVM1Loading");
}, enumerable:!0, configurable:!0});
Object.defineProperty(f, "sandboxType", {get:function() {
d("public flash.system.Security::get sandboxType");
return f._sandboxType;
}, enumerable:!0, configurable:!0});
Object.defineProperty(f, "pageDomain", {get:function() {
d("public flash.system.Security::get pageDomain");
var a = b.FileLoadingService.instance.resolveUrl("/").split("/");
a.pop();
return a.pop();
}, enumerable:!0, configurable:!0});
f.allowDomain = function() {
d('public flash.system.Security::static allowDomain ["' + Array.prototype.join.call(arguments, '", "') + '"]');
};
f.allowInsecureDomain = function() {
d("public flash.system.Security::static allowInsecureDomain");
};
f.loadPolicyFile = function(a) {
m(a);
d("public flash.system.Security::static loadPolicyFile");
};
f.showSettings = function(a) {
"undefined" === typeof a && (a = "default");
m(a);
k("public flash.system.Security::static showSettings");
};
f.duplicateSandboxBridgeInputArguments = function(a, b) {
k("public flash.system.Security::static duplicateSandboxBridgeInputArguments");
};
f.duplicateSandboxBridgeOutputArgument = function(a, b) {
k("public flash.system.Security::static duplicateSandboxBridgeOutputArgument");
};
f.classInitializer = null;
f.initializer = null;
f.classSymbols = null;
f.instanceSymbols = null;
f.REMOTE = "remote";
f.LOCAL_WITH_FILE = "localWithFile";
f.LOCAL_WITH_NETWORK = "localWithNetwork";
f.LOCAL_TRUSTED = "localTrusted";
f.APPLICATION = "application";
f._exactSettings = !1;
f._sandboxType = "remote";
return f;
}(g.ASNative);
f.Security = a;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.system.SecurityDomain");
}
__extends(a, b);
Object.defineProperty(a.prototype, "currentDomain", {get:function() {
k("public flash.system.SecurityDomain::get currentDomain");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "domainID", {get:function() {
k("public flash.system.SecurityDomain::get domainID");
}, enumerable:!0, configurable:!0});
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.SecurityDomain = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.system.SecurityPanel");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.DEFAULT = "default";
a.PRIVACY = "privacy";
a.LOCAL_STORAGE = "localStorage";
a.MICROPHONE = "microphone";
a.CAMERA = "camera";
a.DISPLAY = "display";
a.SETTINGS_MANAGER = "settingsManager";
return a;
}(g.ASNative);
f.SecurityPanel = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.system.TouchscreenType");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.FINGER = "finger";
a.STYLUS = "stylus";
a.NONE = "none";
return a;
}(g.ASNative);
f.TouchscreenType = m;
})(f.system || (f.system = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.fromNumber = function(a) {
switch(a) {
case 1:
return d.NORMAL;
case 2:
return d.ADVANCED;
default:
return null;
}
};
d.toNumber = function(a) {
switch(a) {
case d.NORMAL:
return 1;
case d.ADVANCED:
return 2;
default:
return-1;
}
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.NORMAL = "normal";
d.ADVANCED = "advanced";
return d;
}(b.ASNative);
f.AntiAliasType = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.REGULAR = "regular";
d.BOLD = "bold";
d.ITALIC = "italic";
d.BOLD_ITALIC = "boldItalic";
return d;
}(b.ASNative);
f.FontStyle = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.EMBEDDED = "embedded";
d.EMBEDDED_CFF = "embeddedCFF";
d.DEVICE = "device";
return d;
}(b.ASNative);
f.FontType = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
var s = b.Debug.somewhatImplemented, m = b.AVM2.Runtime.asCoerceString, d = f.text.FontStyle, a = f.text.FontType, c = function(c) {
function g() {
}
__extends(g, c);
g._getFontMetrics = function(a) {
if (!this._deviceFontMetrics) {
var b = self.navigator.userAgent;
-1 < b.indexOf("Windows") ? this._deviceFontMetrics = g.DEVICE_FONT_METRICS_WIN : this._deviceFontMetrics = /(Macintosh|iPad|iPhone|iPod|Android)/.test(b) ? this.DEVICE_FONT_METRICS_MAC : this.DEVICE_FONT_METRICS_LINUX;
}
return this._deviceFontMetrics[g.resolveFontName(a)];
};
g.resolveFontName = function(a) {
return "_sans" === a ? "sans-serif" : "_serif" === a ? "serif" : "_typewriter" === a ? "monospace" : a;
};
g.getBySymbolId = function(a) {
return this._fontsBySymbolId[a];
};
g.getByName = function(b) {
b = b.toLowerCase();
var c = this._fontsByName[b];
c || (c = new g, c._fontName = b, c._fontStyle = d.REGULAR, c._fontType = a.DEVICE, this._fontsByName[b] = c);
c._fontType === a.DEVICE && (b = g._getFontMetrics(b)) && (c.ascent = b[0], c.descent = b[1], c.leading = b[2]);
return c;
};
g.getDefaultFont = function() {
return g.getByName("times roman");
};
g.enumerateFonts = function(a) {
s("public flash.text.Font::static enumerateFonts");
return g._fonts.slice();
};
g.registerFont = function(a) {
s("Font.registerFont");
};
Object.defineProperty(g.prototype, "fontName", {get:function() {
return this._fontName;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "fontStyle", {get:function() {
return this._fontStyle;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "fontType", {get:function() {
return this._fontType;
}, enumerable:!0, configurable:!0});
g.prototype.hasGlyphs = function(a) {
m(a);
s("Font#hasGlyphs");
return!0;
};
g.classInitializer = function() {
g._fonts = [];
g._fontsBySymbolId = b.ObjectUtilities.createMap();
g._fontsByName = b.ObjectUtilities.createMap();
g.DEVICE_FONT_METRICS_WIN = {serif:[1, .25, 0], "sans-serif":[1, .25, 0], monospace:[1, .25, 0], "birch std":[.9167, .25, 0], "blackoak std":[1, .3333, 0], "chaparral pro":[.8333, .3333, 0], "chaparral pro light":[.8333, .3333, 0], "charlemagne std":[.9167, .25, 0], "cooper std black":[.9167, .25, 0], "giddyup std":[.8333, .3333, 0], "hobo std":[1.0833, .3333, 0], "kozuka gothic pro b":[1, .4167, 0], "kozuka gothic pro el":[1.0833, .25, 0], "kozuka gothic pro h":[1, .4167, 0], "kozuka gothic pro l":[1,
.3333, 0], "kozuka gothic pro m":[1.0833, .3333, 0], "kozuka gothic pro r":[1, .3333, 0], "kozuka mincho pro b":[1.0833, .25, 0], "kozuka mincho pro el":[1.0833, .25, 0], "kozuka mincho pro h":[1.1667, .25, 0], "kozuka mincho pro l":[1.0833, .25, 0], "kozuka mincho pro m":[1.0833, .25, 0], "kozuka mincho pro r":[1.0833, .25, 0], "mesquite std":[.9167, .25, 0], "minion pro cond":[1, .3333, 0], "minion pro med":[1, .3333, 0], "minion pro smbd":[1, .3333, 0], "myriad arabic":[1, .4167,
0], "nueva std":[.75, .25, 0], "nueva std cond":[.75, .25, 0], "ocr a std":[.8333, .25, 0], "orator std":[1.0833, .25, 0], "poplar std":[.9167, .25, 0], "prestige elite std":[.9167, .25, 0], "rosewood std regular":[.8333, .3333, 0], "stencil std":[1, .3333, 0], "trajan pro":[1, .25, 0], "kozuka gothic pr6n b":[1.4167, .4167, 0], "kozuka gothic pr6n el":[1.4167, .3333, 0], "kozuka gothic pr6n h":[1.4167, .4167, 0], "kozuka gothic pr6n l":[1.4167, .3333, 0], "kozuka gothic pr6n m":[1.5,
.3333, 0], "kozuka gothic pr6n r":[1.4167, .3333, 0], "kozuka mincho pr6n b":[1.3333, .3333, 0], "kozuka mincho pr6n el":[1.3333, .3333, 0], "kozuka mincho pr6n h":[1.4167, .3333, 0], "kozuka mincho pr6n l":[1.3333, .3333, 0], "kozuka mincho pr6n m":[1.3333, .3333, 0], "kozuka mincho pr6n r":[1.3333, .3333, 0], "letter gothic std":[1, .25, 0], "minion pro":[1, .3333, 0], "myriad hebrew":[.8333, .3333, 0], "myriad pro":[.9167, .25, 0], "myriad pro cond":[.9167, .25, 0], "myriad pro light":[1,
.25, 0], marlett:[1, 0, 0], arial:[1, .25, 0], "arabic transparent":[1, .25, 0], "arial baltic":[1, .25, 0], "arial ce":[1, .25, 0], "arial cyr":[1, .25, 0], "arial greek":[1, .25, 0], "arial tur":[1, .25, 0], batang:[.8333, .1667, 0], batangche:[.8333, .1667, 0], gungsuh:[.8333, .1667, 0], gungsuhche:[.8333, .1667, 0], "courier new":[1, .25, 0], "courier new baltic":[1, .25, 0], "courier new ce":[1, .25, 0], "courier new cyr":[1, .25, 0], "courier new greek":[1, .25, 0], "courier new tur":[1,
.25, 0], daunpenh:[.6667, .6667, 0], dokchampa:[1.4167, .5833, 0], "estrangelo edessa":[.75, .3333, 0], euphemia:[1.0833, .3333, 0], gautami:[1.1667, .8333, 0], vani:[1.0833, .75, 0], gulim:[.8333, .1667, 0], gulimche:[.8333, .1667, 0], dotum:[.8333, .1667, 0], dotumche:[.8333, .1667, 0], impact:[1.0833, .25, 0], "iskoola pota":[1, .3333, 0], kalinga:[1.0833, .5, 0], kartika:[1, .4167, 0], "khmer ui":[1.0833, .3333, 0], "lao ui":[1, .25, 0], latha:[1.0833, .4167, 0], "lucida console":[.75,
.25, 0], "malgun gothic":[1, .25, 0], mangal:[1.0833, .3333, 0], meiryo:[1.0833, .4167, 0], "meiryo ui":[1, .25, 0], "microsoft himalaya":[.5833, .4167, 0], "microsoft jhenghei":[1, .3333, 0], "microsoft yahei":[1.0833, .3333, 0], mingliu:[.8333, .1667, 0], pmingliu:[.8333, .1667, 0], mingliu_hkscs:[.8333, .1667, 0], "mingliu-extb":[.8333, .1667, 0], "pmingliu-extb":[.8333, .1667, 0], "mingliu_hkscs-extb":[.8333, .1667, 0], "mongolian baiti":[.8333, .25, 0], "ms gothic":[.8333, .1667,
0], "ms pgothic":[.8333, .1667, 0], "ms ui gothic":[.8333, .1667, 0], "ms mincho":[.8333, .1667, 0], "ms pmincho":[.8333, .1667, 0], "mv boli":[1.1667, .25, 0], "microsoft new tai lue":[1, .4167, 0], nyala:[.9167, .3333, 0], "microsoft phagspa":[1.0833, .25, 0], "plantagenet cherokee":[1, .4167, 0], raavi:[1.0833, .6667, 0], "segoe script":[1.0833, .5, 0], "segoe ui":[1, .25, 0], "segoe ui semibold":[1, .25, 0], "segoe ui light":[1, .25, 0], "segoe ui symbol":[1, .25, 0], shruti:[1.0833,
.5, 0], simsun:[.8333, .1667, 0], nsimsun:[.8333, .1667, 0], "simsun-extb":[.8333, .1667, 0], sylfaen:[1, .3333, 0], "microsoft tai le":[1, .3333, 0], "times new roman":[1, .25, 0], "times new roman baltic":[1, .25, 0], "times new roman ce":[1, .25, 0], "times new roman cyr":[1, .25, 0], "times new roman greek":[1, .25, 0], "times new roman tur":[1, .25, 0], tunga:[1.0833, .75, 0], vrinda:[1, .4167, 0], "shonar bangla":[.8333, .5, 0], "microsoft yi baiti":[.8333, .1667, 0], tahoma:[1,
.1667, 0], "microsoft sans serif":[1.0833, .1667, 0], "angsana new":[.9167, .4167, 0], aparajita:[.75, .4167, 0], "cordia new":[.9167, .5, 0], ebrima:[1.0833, .5, 0], gisha:[.9167, .25, 0], kokila:[.8333, .3333, 0], leelawadee:[.9167, .25, 0], "microsoft uighur":[1.0833, .5, 0], moolboran:[.6667, .6667, 0], symbol:[1, .25, 0], utsaah:[.8333, .4167, 0], vijaya:[1.0833, .25, 0], wingdings:[.9167, .25, 0], andalus:[1.3333, .4167, 0], "arabic typesetting":[.8333, .5, 0], "simplified arabic":[1.3333,
.5, 0], "simplified arabic fixed":[1, .4167, 0], "sakkal majalla":[.9167, .5, 0], "traditional arabic":[1.3333, .5, 0], aharoni:[.75, .25, 0], david:[.75, .25, 0], frankruehl:[.75, .25, 0], fangsong:[.8333, .1667, 0], simhei:[.8333, .1667, 0], kaiti:[.8333, .1667, 0], "browallia new":[.8333, .4167, 0], "lucida sans unicode":[1.0833, .25, 0], "arial black":[1.0833, .3333, 0], calibri:[.9167, .25, 0], cambria:[.9167, .25, 0], "cambria math":[3.0833, 2.5, 0], candara:[.9167, .25, 0], "comic sans ms":[1.0833,
.3333, 0], consolas:[.9167, .25, 0], constantia:[.9167, .25, 0], corbel:[.9167, .25, 0], "franklin gothic medium":[1, .3333, 0], gabriola:[1.1667, .6667, 0], georgia:[1, .25, 0], "palatino linotype":[1.0833, .3333, 0], "segoe print":[1.25, .5, 0], "trebuchet ms":[1.0833, .4167, 0], verdana:[1, .1667, 0], webdings:[1.0833, .5, 0], "lucida bright":[.9167, .25, 0], "lucida sans":[.9167, .25, 0], "lucida sans typewriter":[.9167, .25, 0], "gentium basic":[.8333, .25, 0], "dejavu serif condensed":[.9167,
.25, 0], arimo:[1, .25, 0], "dejavu sans condensed":[.9167, .25, 0], "dejavu sans":[.9167, .25, 0], "dejavu sans light":[.9167, .25, 0], opensymbol:[.8333, .1667, 0], "gentium book basic":[.8333, .25, 0], "dejavu sans mono":[.9167, .25, 0], "dejavu serif":[.9167, .25, 0], "calibri light":[.9167, .25, 0]};
g.DEVICE_FONT_METRICS_MAC = {"al bayan plain":[1, .5, 0], "al bayan bold":[1, .5833, 0], "american typewriter":[.9167, .25, 0], "american typewriter bold":[.9167, .25, 0], "american typewriter condensed":[.9167, .25, 0], "american typewriter condensed bold":[.9167, .25, 0], "american typewriter condensed light":[.8333, .25, 0], "american typewriter light":[.9167, .25, 0], "andale mono":[.9167, .25, 0], "apple symbols":[.6667, .25, 0], "arial bold italic":[.9167, .25, 0], "arial bold":[.9167,
.25, 0], "arial italic":[.9167, .25, 0], "arial hebrew":[.75, .3333, 0], "arial hebrew bold":[.75, .3333, 0], arial:[.9167, .25, 0], "arial narrow":[.9167, .25, 0], "arial narrow bold":[.9167, .25, 0], "arial narrow bold italic":[.9167, .25, 0], "arial narrow italic":[.9167, .25, 0], "arial rounded mt bold":[.9167, .25, 0], "arial unicode ms":[1.0833, .25, 0], "avenir black":[1, .3333, 0], "avenir black oblique":[1, .3333, 0], "avenir book":[1, .3333, 0], "avenir book oblique":[1, .3333,
0], "avenir heavy":[1, .3333, 0], "avenir heavy oblique":[1, .3333, 0], "avenir light":[1, .3333, 0], "avenir light oblique":[1, .3333, 0], "avenir medium":[1, .3333, 0], "avenir medium oblique":[1, .3333, 0], "avenir oblique":[1, .3333, 0], "avenir roman":[1, .3333, 0], "avenir next bold":[1, .3333, 0], "avenir next bold italic":[1, .3333, 0], "avenir next demi bold":[1, .3333, 0], "avenir next demi bold italic":[1, .3333, 0], "avenir next heavy":[1, .3333, 0], "avenir next heavy italic":[1,
.3333, 0], "avenir next italic":[1, .3333, 0], "avenir next medium":[1, .3333, 0], "avenir next medium italic":[1, .3333, 0], "avenir next regular":[1, .3333, 0], "avenir next ultra light":[1, .3333, 0], "avenir next ultra light italic":[1, .3333, 0], "avenir next condensed bold":[1, .3333, 0], "avenir next condensed bold italic":[1, .3333, 0], "avenir next condensed demi bold":[1, .3333, 0], "avenir next condensed demi bold italic":[1, .3333, 0], "avenir next condensed heavy":[1, .3333,
0], "avenir next condensed heavy italic":[1, .3333, 0], "avenir next condensed italic":[1, .3333, 0], "avenir next condensed medium":[1, .3333, 0], "avenir next condensed medium italic":[1, .3333, 0], "avenir next condensed regular":[1, .3333, 0], "avenir next condensed ultra light":[1, .3333, 0], "avenir next condensed ultra light italic":[1, .3333, 0], ayuthaya:[1.0833, .3333, 0], baghdad:[.9167, .4167, 0], "bangla mn":[.9167, .6667, 0], "bangla mn bold":[.9167, .6667, 0], "bangla sangam mn":[.9167,
.4167, 0], "bangla sangam mn bold":[.9167, .4167, 0], baskerville:[.9167, .25, 0], "baskerville bold":[.9167, .25, 0], "baskerville bold italic":[.9167, .25, 0], "baskerville italic":[.9167, .25, 0], "baskerville semibold":[.9167, .25, 0], "baskerville semibold italic":[.9167, .25, 0], "big caslon medium":[.9167, .25, 0], "brush script mt italic":[.9167, .3333, 0], chalkboard:[1, .25, 0], "chalkboard bold":[1, .25, 0], "chalkboard se bold":[1.1667, .25, 0], "chalkboard se light":[1.1667,
.25, 0], "chalkboard se regular":[1.1667, .25, 0], chalkduster:[1, .25, 0], "charcoal cy":[1, .25, 0], cochin:[.9167, .25, 0], "cochin bold":[.9167, .25, 0], "cochin bold italic":[.9167, .25, 0], "cochin italic":[.9167, .25, 0], "comic sans ms":[1.0833, .25, 0], "comic sans ms bold":[1.0833, .25, 0], copperplate:[.75, .25, 0], "copperplate bold":[.75, .25, 0], "copperplate light":[.75, .25, 0], "corsiva hebrew":[.6667, .3333, 0], "corsiva hebrew bold":[.6667, .3333, 0], courier:[.75,
.25, 0], "courier bold":[.75, .25, 0], "courier bold oblique":[.75, .25, 0], "courier oblique":[.75, .25, 0], "courier new bold italic":[.8333, .3333, 0], "courier new bold":[.8333, .3333, 0], "courier new italic":[.8333, .3333, 0], "courier new":[.8333, .3333, 0], biaukai:[.8333, .1667, 0], damascus:[.5833, .4167, 0], "damascus bold":[.5833, .4167, 0], "decotype naskh":[1.1667, .6667, 0], "devanagari mt":[.9167, .6667, 0], "devanagari mt bold":[.9167, .6667, 0], "devanagari sangam mn":[.9167,
.4167, 0], "devanagari sangam mn bold":[.9167, .4167, 0], didot:[.9167, .3333, 0], "didot bold":[1, .3333, 0], "didot italic":[.9167, .25, 0], "euphemia ucas":[1.0833, .25, 0], "euphemia ucas bold":[1.0833, .25, 0], "euphemia ucas italic":[1.0833, .25, 0], "futura condensed extrabold":[1, .25, 0], "futura condensed medium":[1, .25, 0], "futura medium":[1, .25, 0], "futura medium italic":[1, .25, 0], "gb18030 bitmap":[1, .6667, 0], "geeza pro":[.9167, .3333, 0], "geeza pro bold":[.9167,
.3333, 0], geneva:[1, .25, 0], "geneva cy":[1, .25, 0], georgia:[.9167, .25, 0], "georgia bold":[.9167, .25, 0], "georgia bold italic":[.9167, .25, 0], "georgia italic":[.9167, .25, 0], "gill sans":[.9167, .25, 0], "gill sans bold":[.9167, .25, 0], "gill sans bold italic":[.9167, .25, 0], "gill sans italic":[.9167, .25, 0], "gill sans light":[.9167, .25, 0], "gill sans light italic":[.9167, .25, 0], "gujarati mt":[.9167, .6667, 0], "gujarati mt bold":[.9167, .6667, 0], "gujarati sangam mn":[.8333,
.4167, 0], "gujarati sangam mn bold":[.8333, .4167, 0], "gurmukhi mn":[.9167, .25, 0], "gurmukhi mn bold":[.9167, .25, 0], "gurmukhi sangam mn":[.9167, .3333, 0], "gurmukhi sangam mn bold":[.9167, .3333, 0], helvetica:[.75, .25, 0], "helvetica bold":[.75, .25, 0], "helvetica bold oblique":[.75, .25, 0], "helvetica light":[.75, .25, 0], "helvetica light oblique":[.75, .25, 0], "helvetica oblique":[.75, .25, 0], "helvetica neue":[.9167, .25, 0], "helvetica neue bold":[1, .25, 0], "helvetica neue bold italic":[1,
.25, 0], "helvetica neue condensed black":[1, .25, 0], "helvetica neue condensed bold":[1, .25, 0], "helvetica neue italic":[.9167, .25, 0], "helvetica neue light":[1, .25, 0], "helvetica neue light italic":[.9167, .25, 0], "helvetica neue medium":[1, .25, 0], "helvetica neue ultralight":[.9167, .25, 0], "helvetica neue ultralight italic":[.9167, .25, 0], herculanum:[.8333, .1667, 0], "hiragino kaku gothic pro w3":[.9167, .0833, 0], "hiragino kaku gothic pro w6":[.9167, .0833, 0], "hiragino kaku gothic pron w3":[.9167,
.0833, 0], "hiragino kaku gothic pron w6":[.9167, .0833, 0], "hiragino kaku gothic std w8":[.9167, .0833, 0], "hiragino kaku gothic stdn w8":[.9167, .0833, 0], "hiragino maru gothic pro w4":[.9167, .0833, 0], "hiragino maru gothic pron w4":[.9167, .0833, 0], "hiragino mincho pro w3":[.9167, .0833, 0], "hiragino mincho pro w6":[.9167, .0833, 0], "hiragino mincho pron w3":[.9167, .0833, 0], "hiragino mincho pron w6":[.9167, .0833, 0], "hiragino sans gb w3":[.9167, .0833, 0], "hiragino sans gb w6":[.9167,
.0833, 0], "hoefler text black":[.75, .25, 0], "hoefler text black italic":[.75, .25, 0], "hoefler text italic":[.75, .25, 0], "hoefler text ornaments":[.8333, .1667, 0], "hoefler text":[.75, .25, 0], impact:[1, .25, 0], inaimathi:[.8333, .4167, 0], "headlinea regular":[.8333, .1667, 0], "pilgi regular":[.8333, .25, 0], "gungseo regular":[.8333, .25, 0], "pcmyungjo regular":[.8333, .25, 0], "kailasa regular":[1.0833, .5833, 0], "kannada mn":[.9167, .25, 0], "kannada mn bold":[.9167,
.25, 0], "kannada sangam mn":[1, .5833, 0], "kannada sangam mn bold":[1, .5833, 0], "kefa bold":[.9167, .25, 0], "kefa regular":[.9167, .25, 0], "khmer mn":[1, .6667, 0], "khmer mn bold":[1, .6667, 0], "khmer sangam mn":[1.0833, .6667, 0], "kokonor regular":[1.0833, .5833, 0], krungthep:[1, .25, 0], kufistandardgk:[.9167, .5, 0], "lao mn":[.9167, .4167, 0], "lao mn bold":[.9167, .4167, 0], "lao sangam mn":[1, .3333, 0], "apple ligothic medium":[.8333, .1667, 0], "lihei pro":[.8333,
.1667, 0], "lisong pro":[.8333, .1667, 0], "lucida grande":[1, .25, 0], "lucida grande bold":[1, .25, 0], "malayalam mn":[1, .4167, 0], "malayalam mn bold":[1, .4167, 0], "malayalam sangam mn":[.8333, .4167, 0], "malayalam sangam mn bold":[.8333, .4167, 0], "marion bold":[.6667, .3333, 0], "marion italic":[.6667, .3333, 0], "marion regular":[.6667, .3333, 0], "marker felt thin":[.8333, .25, 0], "marker felt wide":[.9167, .25, 0], "menlo bold":[.9167, .25, 0], "menlo bold italic":[.9167,
.25, 0], "menlo italic":[.9167, .25, 0], "menlo regular":[.9167, .25, 0], "microsoft sans serif":[.9167, .25, 0], monaco:[1, .25, 0], "gurmukhi mt":[.8333, .4167, 0], mshtakan:[.9167, .25, 0], "mshtakan bold":[.9167, .25, 0], "mshtakan boldoblique":[.9167, .25, 0], "mshtakan oblique":[.9167, .25, 0], "myanmar mn":[1, .4167, 0], "myanmar mn bold":[1, .4167, 0], "myanmar sangam mn":[.9167, .4167, 0], nadeem:[.9167, .4167, 0], "nanum brush script":[.9167, .25, 0], nanumgothic:[.9167, .25,
0], "nanumgothic bold":[.9167, .25, 0], "nanumgothic extrabold":[.9167, .25, 0], nanummyeongjo:[.9167, .25, 0], "nanummyeongjo bold":[.9167, .25, 0], "nanummyeongjo extrabold":[.9167, .25, 0], "nanum pen script":[.9167, .25, 0], "optima bold":[.9167, .25, 0], "optima bold italic":[.9167, .25, 0], "optima extrablack":[1, .25, 0], "optima italic":[.9167, .25, 0], "optima regular":[.9167, .25, 0], "oriya mn":[.9167, .25, 0], "oriya mn bold":[.9167, .25, 0], "oriya sangam mn":[.8333, .4167,
0], "oriya sangam mn bold":[.8333, .4167, 0], osaka:[1, .25, 0], "osaka-mono":[.8333, .1667, 0], "palatino bold":[.8333, .25, 0], "palatino bold italic":[.8333, .25, 0], "palatino italic":[.8333, .25, 0], palatino:[.8333, .25, 0], papyrus:[.9167, .5833, 0], "papyrus condensed":[.9167, .5833, 0], "plantagenet cherokee":[.6667, .25, 0], raanana:[.75, .25, 0], "raanana bold":[.75, .25, 0], "hei regular":[.8333, .1667, 0], "kai regular":[.8333, .1667, 0], stfangsong:[.8333, .1667, 0], stheiti:[.8333,
.1667, 0], "heiti sc light":[.8333, .1667, 0], "heiti sc medium":[.8333, .1667, 0], "heiti tc light":[.8333, .1667, 0], "heiti tc medium":[.8333, .1667, 0], stkaiti:[.8333, .1667, 0], "kaiti sc black":[1.0833, .3333, 0], "kaiti sc bold":[1.0833, .3333, 0], "kaiti sc regular":[1.0833, .3333, 0], stsong:[.8333, .1667, 0], "songti sc black":[1.0833, .3333, 0], "songti sc bold":[1.0833, .3333, 0], "songti sc light":[1.0833, .3333, 0], "songti sc regular":[1.0833, .3333, 0], stxihei:[.8333,
.1667, 0], sathu:[.9167, .3333, 0], silom:[1, .3333, 0], "sinhala mn":[.9167, .25, 0], "sinhala mn bold":[.9167, .25, 0], "sinhala sangam mn":[1.1667, .3333, 0], "sinhala sangam mn bold":[1.1667, .3333, 0], "skia regular":[.75, .25, 0], symbol:[.6667, .3333, 0], "tahoma negreta":[1, .1667, 0], "tamil mn":[.9167, .25, 0], "tamil mn bold":[.9167, .25, 0], "tamil sangam mn":[.75, .25, 0], "tamil sangam mn bold":[.75, .25, 0], "telugu mn":[.9167, .25, 0], "telugu mn bold":[.9167, .25, 0],
"telugu sangam mn":[1, .5833, 0], "telugu sangam mn bold":[1, .5833, 0], thonburi:[1.0833, .25, 0], "thonburi bold":[1.0833, .25, 0], "times bold":[.75, .25, 0], "times bold italic":[.75, .25, 0], "times italic":[.75, .25, 0], "times roman":[.75, .25, 0], "times new roman bold italic":[.9167, .25, 0], "times new roman bold":[.9167, .25, 0], "times new roman italic":[.9167, .25, 0], "times new roman":[.9167, .25, 0], "trebuchet ms bold italic":[.9167, .25, 0], "trebuchet ms":[.9167,
.25, 0], "trebuchet ms bold":[.9167, .25, 0], "trebuchet ms italic":[.9167, .25, 0], verdana:[1, .25, 0], "verdana bold":[1, .25, 0], "verdana bold italic":[1, .25, 0], "verdana italic":[1, .25, 0], webdings:[.8333, .1667, 0], "wingdings 2":[.8333, .25, 0], "wingdings 3":[.9167, .25, 0], "yuppy sc regular":[1.0833, .3333, 0], "yuppy tc regular":[1.0833, .3333, 0], "zapf dingbats":[.8333, .1667, 0], zapfino:[1.9167, 1.5, 0]};
g.DEVICE_FONT_METRICS_LINUX = {kacstfarsi:[1.0831, .5215, 0], meera:[.682, .4413, 0], freemono:[.8023, .2006, 0], undotum:[1.0029, .2808, 0], loma:[1.1634, .4814, 0], "century schoolbook l":[1.0029, .3209, 0], kacsttitlel:[1.0831, .5215, 0], undinaru:[1.0029, .2407, 0], ungungseo:[1.0029, .2808, 0], garuda:[1.3238, .6017, 0], rekha:[1.1232, .2808, 0], purisa:[1.1232, .5215, 0], "dejavu sans mono":[.9628, .2407, 0], vemana2000:[.8825, .8424, 0], kacstoffice:[1.0831, .5215, 0], umpush:[1.2837,
.682, 0], opensymbol:[.8023, .2006, 0], sawasdee:[1.1232, .4413, 0], "urw palladio l":[1.0029, .3209, 0], freeserif:[.9227, .3209, 0], kacstdigital:[1.0831, .5215, 0], "ubuntu condensed":[.9628, .2006, 0], unpilgi:[1.0029, .4413, 0], mry_kacstqurn:[1.4442, .7221, 0], "urw gothic l":[1.0029, .2407, 0], dingbats:[.8424, .1605, 0], "urw chancery l":[1.0029, .3209, 0], "phetsarath ot":[1.0831, .5215, 0], "tlwg typist":[.8825, .4012, 0], kacstletter:[1.0831, .5215, 0], utkal:[1.2035, .6418,
0], "dejavu sans light":[.9628, .2407, 0], norasi:[1.2436, .5215, 0], "dejavu serif condensed":[.9628, .2407, 0], kacstone:[1.2436, .6418, 0], "liberation sans narrow":[.9628, .2407, 0], symbol:[1.043, .3209, 0], nanummyeongjo:[.9227, .2407, 0], untitled1:[.682, .5616, 0], "lohit gujarati":[.9628, .4012, 0], "liberation mono":[.8424, .3209, 0], kacstart:[1.0831, .5215, 0], mallige:[1.0029, .682, 0], "bitstream charter":[1.0029, .2407, 0], nanumgothic:[.9227, .2407, 0], "liberation serif":[.9227,
.2407, 0], "dejavu sans condensed":[.9628, .2407, 0], ubuntu:[.9628, .2006, 0], "courier 10 pitch":[.8825, .3209, 0], "nimbus sans l":[.9628, .3209, 0], takaopgothic:[.8825, .2006, 0], "wenquanyi micro hei mono":[.9628, .2407, 0], "dejavu sans":[.9628, .2407, 0], kedage:[1.0029, .682, 0], kinnari:[1.3238, .5215, 0], tlwgmono:[.8825, .4012, 0], "standard symbols l":[1.043, .3209, 0], "lohit punjabi":[1.2035, .682, 0], "nimbus mono l":[.8424, .2808, 0], rachana:[.682, .5616, 0], waree:[1.2436,
.4413, 0], kacstposter:[1.0831, .5215, 0], "khmer os":[1.2837, .7622, 0], freesans:[1.0029, .3209, 0], gargi:[.9628, .2808, 0], "nimbus roman no9 l":[.9628, .3209, 0], "dejavu serif":[.9628, .2407, 0], "wenquanyi micro hei":[.9628, .2407, 0], "ubuntu light":[.9628, .2006, 0], tlwgtypewriter:[.9227, .4012, 0], kacstpen:[1.0831, .5215, 0], "tlwg typo":[.8825, .4012, 0], "mukti narrow":[1.2837, .4413, 0], "ubuntu mono":[.8424, .2006, 0], "lohit bengali":[1.0029, .4413, 0], "liberation sans":[.9227,
.2407, 0], unbatang:[1.0029, .2808, 0], kacstdecorative:[1.1232, .5215, 0], "khmer os system":[1.2436, .6017, 0], saab:[1.0029, .682, 0], kacsttitle:[1.0831, .5215, 0], "mukti narrow bold":[1.2837, .4413, 0], "lohit hindi":[1.0029, .5215, 0], kacstqurn:[1.0831, .5215, 0], "urw bookman l":[.9628, .2808, 0], kacstnaskh:[1.0831, .5215, 0], kacstscreen:[1.0831, .5215, 0], pothana2000:[.8825, .8424, 0], ungraphic:[1.0029, .2808, 0], "lohit tamil":[.8825, .361, 0], kacstbook:[1.0831, .5215,
0]};
g.DEVICE_FONT_METRICS_MAC.__proto__ = g.DEVICE_FONT_METRICS_WIN;
g.DEVICE_FONT_METRICS_LINUX.__proto__ = g.DEVICE_FONT_METRICS_MAC;
};
g.classSymbols = null;
g.instanceSymbols = null;
g.initializer = function(b) {
this._id = f.display.DisplayObject.getNextSyncID();
this._fontType = this._fontStyle = this._fontName = null;
this.leading = this.descent = this.ascent = 0;
this.advances = null;
if (b) {
this._symbol = b;
this._fontName = b.name;
this._fontStyle = b.bold ? b.italic ? d.BOLD_ITALIC : d.BOLD : b.italic ? d.ITALIC : d.REGULAR;
var c = b.metrics;
c && (this.ascent = c.ascent, this.descent = c.descent, this.leading = c.leading, this.advances = c.advances);
this._fontType = b.data ? a.EMBEDDED : a.DEVICE;
g._fontsBySymbolId[b.id] = this;
g._fontsByName[b.name.toLowerCase()] = this;
g._fontsByName["swffont" + b.id] = this;
}
};
return g;
}(g.ASNative);
k.Font = c;
})(f.text || (f.text = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.fromNumber = function(a) {
switch(a) {
case 0:
return d.NONE;
case 1:
return d.PIXEL;
case 2:
return d.SUBPIXEL;
default:
return null;
}
};
d.toNumber = function(a) {
switch(a) {
case d.NONE:
return 0;
case d.PIXEL:
return 1;
case d.SUBPIXEL:
return 2;
default:
return-1;
}
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.NONE = "none";
d.PIXEL = "pixel";
d.SUBPIXEL = "subpixel";
return d;
}(b.ASNative);
f.GridFitType = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(b) {
(function(g) {
var k = function(g) {
function d() {
b.display.DisplayObject.instanceConstructorNoInitialize.call(this);
}
__extends(d, g);
d.prototype._canHaveTextContent = function() {
return!0;
};
d.prototype._getTextContent = function() {
return this._textContent;
};
Object.defineProperty(d.prototype, "text", {get:function() {
return this._textContent.plainText;
}, enumerable:!0, configurable:!0});
d.classInitializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.initializer = function(a) {
this._textContent = null;
a && this._setStaticContentFromSymbol(a);
};
return d;
}(b.display.DisplayObject);
g.StaticText = k;
})(b.text || (b.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.text.StyleSheet");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.StyleSheet = m;
})(f.text || (f.text = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.LCD = "lcd";
d.CRT = "crt";
d.DEFAULT = "default";
return d;
}(b.ASNative);
f.TextDisplayMode = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.Debug.notImplemented, m = b.Debug.assert, d = b.Debug.somewhatImplemented, a = b.AVM2.Runtime.throwError, c = b.AVM2.Runtime.asCoerceString, n = b.NumberUtilities.clamp, p = function(e) {
function p() {
e.call(this);
s("Dummy Constructor: public flash.text.TextField");
}
__extends(p, e);
p.prototype._setFillAndLineBoundsFromSymbol = function(a) {
e.prototype._setFillAndLineBoundsFromSymbol.call(this, a);
this._textContent.bounds = this._lineBounds;
this._invalidateContent();
};
p.prototype._setFillAndLineBoundsFromWidthAndHeight = function(a, b) {
e.prototype._setFillAndLineBoundsFromWidthAndHeight.call(this, a, b);
this._textContent.bounds = this._lineBounds;
this._invalidateContent();
};
p.prototype._canHaveTextContent = function() {
return!0;
};
p.prototype._getTextContent = function() {
return this._textContent;
};
p.prototype._getContentBounds = function(a) {
"undefined" === typeof a && (a = !0);
this._ensureLineMetrics();
return e.prototype._getContentBounds.call(this, a);
};
p.prototype._containsPointDirectly = function(a, b) {
m(this._getContentBounds().contains(a, b));
return!0;
};
p.prototype._invalidateContent = function() {
this._textContent.flags & b.TextContentFlags.Dirty && this._setFlags(8388608);
};
p.isFontCompatible = function(a, b) {
c(a);
c(b);
d("flash.text.TextField.isFontCompatible");
return!0;
};
Object.defineProperty(p.prototype, "alwaysShowSelection", {get:function() {
return this._alwaysShowSelection;
}, set:function(a) {
d("public flash.text.TextField::set alwaysShowSelection");
this._alwaysShowSelection = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "antiAliasType", {get:function() {
return this._antiAliasType;
}, set:function(b) {
d("public flash.text.TextField::set antiAliasType");
b = c(b);
0 > g.AntiAliasType.toNumber(b) && a("ArgumentError", k.Errors.InvalidParamError, "antiAliasType");
this._antiAliasType = b;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "autoSize", {get:function() {
return this._autoSize;
}, set:function(b) {
b = c(b);
b !== this._autoSize && (0 > g.TextFieldAutoSize.toNumber(b) && a("ArgumentError", k.Errors.InvalidParamError, "autoSize"), this._autoSize = b, this._textContent.autoSize = g.TextFieldAutoSize.toNumber(b), this._invalidateContent());
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "background", {get:function() {
return this._background;
}, set:function(a) {
a = !!a;
a !== this._background && (this._background = a, this._textContent.backgroundColor = a ? this._backgroundColor : 0, this._setDirtyFlags(8388608));
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "backgroundColor", {get:function() {
return this._backgroundColor >> 8;
}, set:function(a) {
a = (a << 8 | 255) >>> 0;
a !== this._backgroundColor && (this._backgroundColor = a, this._background && (this._textContent.backgroundColor = a, this._setDirtyFlags(8388608)));
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "border", {get:function() {
return this._border;
}, set:function(a) {
a = !!a;
a !== this._border && (this._border = a, this._textContent.borderColor = a ? this._borderColor : 0, this._setDirtyFlags(8388608));
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "borderColor", {get:function() {
return this._borderColor >> 8;
}, set:function(a) {
a = (a << 8 | 255) >>> 0;
a !== this._borderColor && (this._borderColor = a, this._border && (this._textContent.borderColor = a, this._setDirtyFlags(8388608)));
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "bottomScrollV", {get:function() {
s("public flash.text.TextField::get bottomScrollV");
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "caretIndex", {get:function() {
s("public flash.text.TextField::get caretIndex");
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "condenseWhite", {get:function() {
d("public flash.text.TextField::get condenseWhite");
return this._condenseWhite;
}, set:function(a) {
this._condenseWhite = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "defaultTextFormat", {get:function() {
return this._textContent.defaultTextFormat.clone();
}, set:function(a) {
this._textContent.defaultTextFormat.merge(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "embedFonts", {get:function() {
return this._embedFonts;
}, set:function(a) {
this._embedFonts = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "gridFitType", {get:function() {
d("public flash.text.TextField::get gridFitType");
return this._gridFitType;
}, set:function(a) {
a = c(a);
m(0 <= f.text.GridFitType.toNumber(a));
d("public flash.text.TextField::set gridFitType");
this._gridFitType = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "htmlText", {get:function() {
return this._htmlText;
}, set:function(a) {
d("public flash.text.TextField::set htmlText");
a = c(a);
this._symbol && (this._textContent.defaultTextFormat.bold = !1, this._textContent.defaultTextFormat.italic = !1);
this._textContent.parseHtml(a, this._multiline);
this._htmlText = a;
this._invalidateContent();
this._ensureLineMetrics();
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "length", {get:function() {
return this._length;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "textInteractionMode", {get:function() {
s("public flash.text.TextField::get textInteractionMode");
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "maxChars", {get:function() {
return this._maxChars;
}, set:function(a) {
this._maxChars = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "maxScrollH", {get:function() {
return this._maxScrollH;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "maxScrollV", {get:function() {
return this._maxScrollV;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "mouseWheelEnabled", {get:function() {
return this._mouseWheelEnabled;
}, set:function(a) {
d("public flash.text.TextField::set mouseWheelEnabled");
this._mouseWheelEnabled = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "multiline", {get:function() {
return this._multiline;
}, set:function(a) {
this._multiline = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "numLines", {get:function() {
return this._numLines;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "displayAsPassword", {get:function() {
return this._displayAsPassword;
}, set:function(a) {
d("public flash.text.TextField::set displayAsPassword");
this._displayAsPassword = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "restrict", {get:function() {
return this._restrict;
}, set:function(a) {
d("public flash.text.TextField::set restrict");
this._restrict = c(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "scrollH", {get:function() {
d("public flash.text.TextField::get scrollH");
return this._scrollH;
}, set:function(a) {
a |= 0;
d("public flash.text.TextField::set scrollH");
this._scrollH = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "scrollV", {get:function() {
d("public flash.text.TextField::get scrollV");
return this._scrollV;
}, set:function(a) {
a |= 0;
d("public flash.text.TextField::set scrollV");
this._scrollV = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "selectable", {get:function() {
return this._selectable;
}, set:function(a) {
d("public flash.text.TextField::set selectable");
this._selectable = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "selectionBeginIndex", {get:function() {
return this._selectionBeginIndex;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "selectionEndIndex", {get:function() {
return this._selectionEndIndex;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "sharpness", {get:function() {
return this._sharpness;
}, set:function(a) {
this._sharpness = n(+a, -400, 400);
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "styleSheet", {get:function() {
s("public flash.text.TextField::get styleSheet");
}, set:function(a) {
s("public flash.text.TextField::set styleSheet");
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "text", {get:function() {
return this._textContent.plainText;
}, set:function(a) {
d("public flash.text.TextField::set text");
this._textContent.plainText = c(a);
this._invalidateContent();
this._ensureLineMetrics();
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "textColor", {get:function() {
return 0 > this._textColor ? +this._textContent.defaultTextFormat.color : this._textColor;
}, set:function(a) {
this._textColor = a >>> 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "textHeight", {get:function() {
this._ensureLineMetrics();
return this._textHeight / 20 | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "textWidth", {get:function() {
this._ensureLineMetrics();
return this._textWidth / 20 | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "thickness", {get:function() {
return this._thickness;
}, set:function(a) {
this._thickness = n(+a, -200, 200);
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "type", {get:function() {
return this._type;
}, set:function(a) {
this._type = c(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "wordWrap", {get:function() {
return this._textContent.wordWrap;
}, set:function(a) {
a = !!a;
a !== this._textContent.wordWrap && (this._textContent.wordWrap = !!a, this._invalidateContent());
}, enumerable:!0, configurable:!0});
Object.defineProperty(p.prototype, "useRichTextClipboard", {get:function() {
s("public flash.text.TextField::get useRichTextClipboard");
}, set:function(a) {
s("public flash.text.TextField::set useRichTextClipboard");
}, enumerable:!0, configurable:!0});
p.prototype._ensureLineMetrics = function() {
if (this._hasFlags(8388608)) {
var a = b.AVM2.Runtime.AVM2.instance.globals["Shumway.Player.Utils"].syncDisplayObject(this, !1), c = a.readInt(), d = a.readInt(), e = a.readInt();
this._autoSize !== g.TextFieldAutoSize.NONE && (this._fillBounds.xMin = this._lineBounds.xMin = e, this._fillBounds.xMax = this._lineBounds.xMax = e + c + 80, this._fillBounds.yMax = this._lineBounds.yMax = this._lineBounds.yMin + d + 80);
this._textWidth = c;
this._textHeight = d;
this._numLines = a.readInt();
this._lineMetricsData = a;
}
};
p.prototype.getCharBoundaries = function(a) {
s("public flash.text.TextField::getCharBoundaries");
};
p.prototype.getCharIndexAtPoint = function(a, b) {
s("public flash.text.TextField::getCharIndexAtPoint");
};
p.prototype.getFirstCharInParagraph = function(a) {
s("public flash.text.TextField::getFirstCharInParagraph");
};
p.prototype.getLineIndexAtPoint = function(a, b) {
s("public flash.text.TextField::getLineIndexAtPoint");
};
p.prototype.getLineIndexOfChar = function(a) {
s("public flash.text.TextField::getLineIndexOfChar");
};
p.prototype.getLineLength = function(a) {
s("public flash.text.TextField::getLineLength");
};
p.prototype.getLineMetrics = function() {
var b;
b = 0;
(0 > b || b > this._numLines - 1) && a("RangeError", k.Errors.ParamRangeError);
this._ensureLineMetrics();
var c = this._lineMetricsData;
c.position = 12 + 20 * b;
b = c.readInt();
var d = c.readInt(), e = c.readInt(), h = c.readInt(), c = c.readInt();
return new g.TextLineMetrics(b, d, e + h + c, e, h, c);
};
p.prototype.getLineOffset = function(a) {
s("public flash.text.TextField::getLineOffset");
};
p.prototype.getLineText = function(a) {
s("public flash.text.TextField::getLineText");
};
p.prototype.getParagraphLength = function(a) {
s("public flash.text.TextField::getParagraphLength");
};
p.prototype.getTextFormat = function(a, b) {
s("public flash.text.TextField::getTextFormat");
};
p.prototype.getTextRuns = function(a, b) {
"undefined" === typeof a && (a = 0);
"undefined" === typeof b && (b = 2147483647);
for (var c = this._textContent.textRuns, d = [], h = 0;h < c.length;h++) {
var e = c[h];
e.beginIndex >= a && e.endIndex <= b && d.push(e.clone());
}
return d;
};
p.prototype.getRawText = function() {
s("public flash.text.TextField::getRawText");
};
p.prototype.replaceSelectedText = function(a) {
s("public flash.text.TextField::replaceSelectedText");
};
p.prototype.replaceText = function(a, b, c) {
a |= 0;
b |= 0;
c = "" + c;
d("public flash.text.TextField::replaceText");
var e = this._textContent.plainText;
this._textContent.plainText = e.substring(0, a) + c + e.substring(b);
this._invalidateContent();
this._ensureLineMetrics();
};
p.prototype.setSelection = function(a, b) {
d("public flash.text.TextField::setSelection");
this._selectionBeginIndex = a | 0;
this._selectionEndIndex = b | 0;
};
p.prototype.setTextFormat = function(a, b, c) {
d("public flash.text.TextField::setTextFormat");
};
p.prototype.getImageReference = function(a) {
s("public flash.text.TextField::getImageReference");
};
p.classSymbols = null;
p.instanceSymbols = null;
p.classInitializer = null;
p.initializer = function(a) {
this._alwaysShowSelection = !1;
this._antiAliasType = g.AntiAliasType.NORMAL;
this._autoSize = g.TextFieldAutoSize.NONE;
this._background = !1;
this._backgroundColor = 4294967295;
this._border = !1;
this._borderColor = 255;
this._bottomScrollV = 1;
this._caretIndex = 0;
this._embedFonts = this._condenseWhite = !1;
this._gridFitType = g.GridFitType.PIXEL;
this._htmlText = "";
this._length = 0;
this._textInteractionMode = g.TextInteractionMode.NORMAL;
this._maxScrollH = this._maxChars = 0;
this._maxScrollV = 1;
this._multiline = this._mouseWheelEnabled = !1;
this._numLines = 1;
this._displayAsPassword = !1;
this._restrict = null;
this._scrollH = 0;
this._scrollV = 1;
this._selectable = !0;
this._selectedText = "";
this._sharpness = this._selectionEndIndex = this._selectionBeginIndex = 0;
this._styleSheet = null;
this._textColor = -1;
this._thickness = this._textWidth = this._textHeight = 0;
this._type = g.TextFieldType.DYNAMIC;
this._useRichTextClipboard = !1;
var c = new f.text.TextFormat("Times Roman", 12, 0, !1, !1, !1, "", "", g.TextFormatAlign.LEFT);
this._textContent = new b.TextContent(c);
this._lineMetricsData = null;
a ? (this._setFillAndLineBoundsFromSymbol(a), c.color = a.color, c.size = a.size / 20 | 0, c.font = a.font, c.align = a.align, c.leftMargin = a.leftMargin / 20 | 0, c.rightMargin = a.rightMargin / 20 | 0, c.indent = a.indent / 20 | 0, c.leading = a.leading / 20 | 0, this._multiline = a.multiline, this._embedFonts = a.embedFonts, this._selectable = a.selectable, this._displayAsPassword = a.displayAsPassword, this._type = a.type, this._maxChars = a.maxChars, a.border && (this.border =
this.background = !0), a.html ? this.htmlText = a.initialText : this.text = a.initialText, this.wordWrap = a.wordWrap, this.autoSize = a.autoSize) : this._setFillAndLineBoundsFromWidthAndHeight(2E3, 2E3);
};
return p;
}(f.display.InteractiveObject);
g.TextField = p;
})(f.text || (f.text = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.fromNumber = function(a) {
switch(a) {
case 0:
return d.NONE;
case 1:
return d.CENTER;
case 2:
return d.LEFT;
case 3:
return d.RIGHT;
default:
return null;
}
};
d.toNumber = function(a) {
switch(a) {
case d.NONE:
return 0;
case d.CENTER:
return 1;
case d.LEFT:
return 2;
case d.RIGHT:
return 3;
default:
return-1;
}
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.NONE = "none";
d.LEFT = "left";
d.CENTER = "center";
d.RIGHT = "right";
return d;
}(b.ASNative);
f.TextFieldAutoSize = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.INPUT = "input";
d.DYNAMIC = "dynamic";
return d;
}(b.ASNative);
f.TextFieldType = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(t) {
var s = b.AVM2.Runtime.asCoerceString, m = b.NumberUtilities.roundHalfEven, d = b.AVM2.Runtime.throwError, a = function(a) {
function b(a, c, d, f, g, k, m, h, n, s, t, I, C) {
"undefined" === typeof a && (a = null);
"undefined" === typeof c && (c = null);
"undefined" === typeof d && (d = null);
"undefined" === typeof f && (f = null);
"undefined" === typeof g && (g = null);
"undefined" === typeof k && (k = null);
"undefined" === typeof m && (m = null);
"undefined" === typeof h && (h = null);
"undefined" === typeof n && (n = null);
"undefined" === typeof s && (s = null);
"undefined" === typeof t && (t = null);
"undefined" === typeof I && (I = null);
"undefined" === typeof C && (C = null);
this.font = a;
this.size = c;
this.color = d;
this.bold = f;
this.italic = g;
this.underline = k;
this.url = m;
this.target = h;
this.align = n;
this.leftMargin = s;
this.rightMargin = t;
this.indent = I;
this.leading = C;
}
__extends(b, a);
b.prototype.as2GetTextExtent = function(a, c) {
b.measureTextField || (b.measureTextField = new f.text.TextField, b.measureTextField._multiline = !0);
var d = b.measureTextField;
!isNaN(c) && 0 < c ? (d.width = c + 4, d._wordWrap = !0) : d._wordWrap = !1;
d.defaultTextFormat = this;
d.text = a;
var g = {}, k = d.textWidth, m = d.textHeight;
g.asSetPublicProperty("width", k);
g.asSetPublicProperty("height", m);
g.asSetPublicProperty("textFieldWidth", k + 4);
g.asSetPublicProperty("textFieldHeight", m + 4);
d = d.getLineMetrics();
g.asSetPublicProperty("ascent", d.ascent);
g.asSetPublicProperty("descent", d.descent);
return g;
};
Object.defineProperty(b.prototype, "align", {get:function() {
return this._align;
}, set:function(a) {
this._align = a = s(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "blockIndent", {get:function() {
return this._blockIndent;
}, set:function(a) {
this._blockIndent = b.coerceNumber(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "bold", {get:function() {
return this._bold;
}, set:function(a) {
this._bold = b.coerceBoolean(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "bullet", {get:function() {
return this._bullet;
}, set:function(a) {
this._bullet = b.coerceBoolean(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "color", {get:function() {
return this._color;
}, set:function(a) {
this._color = +a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "display", {get:function() {
return this._display;
}, set:function(a) {
this._display = s(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "font", {get:function() {
return this._font;
}, set:function(a) {
this._font = s(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "indent", {get:function() {
return this._indent;
}, set:function(a) {
this._indent = b.coerceNumber(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "italic", {get:function() {
return this._italic;
}, set:function(a) {
this._italic = b.coerceBoolean(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "kerning", {get:function() {
return this._kerning;
}, set:function(a) {
this._kerning = b.coerceBoolean(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "leading", {get:function() {
return this._leading;
}, set:function(a) {
this._leading = b.coerceNumber(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "leftMargin", {get:function() {
return this._leftMargin;
}, set:function(a) {
this._leftMargin = b.coerceNumber(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "letterSpacing", {get:function() {
return this._letterSpacing;
}, set:function(a) {
this._letterSpacing = b.coerceBoolean(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "rightMargin", {get:function() {
return this._rightMargin;
}, set:function(a) {
this._rightMargin = b.coerceNumber(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "size", {get:function() {
return this._size;
}, set:function(a) {
this._size = b.coerceNumber(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "tabStops", {get:function() {
return this._tabStops;
}, set:function(a) {
a instanceof Array || d("ArgumentError", k.Errors.CheckTypeFailedError, a, "Array");
this._tabStops = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "target", {get:function() {
return this._target;
}, set:function(a) {
this._target = s(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "underline", {get:function() {
return this._underline;
}, set:function(a) {
this._underline = b.coerceBoolean(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "url", {get:function() {
return this._url;
}, set:function(a) {
this._url = s(a);
}, enumerable:!0, configurable:!0});
b.coerceNumber = function(a) {
return void 0 == a ? null : isNaN(a) || 268435455 < a ? -2147483648 : m(a);
};
b.coerceBoolean = function(a) {
return void 0 == a ? null : !!a;
};
b.prototype.clone = function() {
return new f.text.TextFormat(this.font, this.size, this.color, this.bold, this.italic, this.underline, this.url, this.target, this.align, this.leftMargin, this.rightMargin, this.indent, this.leading);
};
b.prototype.equals = function(a) {
return this._align === a._align && this._blockIndent === a._blockIndent && this._bold === a._bold && this._bullet === a._bullet && this._color === a._color && this._display === a._display && this._font === a._font && this._indent === a._indent && this._italic === a._italic && this._kerning === a._kerning && this._leading === a._leading && this._leftMargin === a._leftMargin && this._letterSpacing === a._letterSpacing && this._rightMargin === a._rightMargin && this._size === a._size &&
this._tabStops === a._tabStops && this._target === a._target && this._underline === a._underline && this._url === a._url;
};
b.prototype.merge = function(a) {
null !== a._align && (this._align = a._align);
null !== a._blockIndent && (this._blockIndent = a._blockIndent);
null !== a._bold && (this._bold = a._bold);
null !== a._bullet && (this._bullet = a._bullet);
null !== a._color && (this._color = a._color);
null !== a._display && (this._display = a._display);
null !== a._font && (this._font = a._font);
null !== a._indent && (this._indent = a._indent);
null !== a._italic && (this._italic = a._italic);
null !== a._kerning && (this._kerning = a._kerning);
null !== a._leading && (this._leading = a._leading);
null !== a._leftMargin && (this._leftMargin = a._leftMargin);
null !== a._letterSpacing && (this._letterSpacing = a._letterSpacing);
null !== a._rightMargin && (this._rightMargin = a._rightMargin);
null !== a._size && (this._size = a._size);
null !== a._tabStops && (this._tabStops = a._tabStops);
null !== a._target && (this._target = a._target);
null !== a._underline && (this._underline = a._underline);
null !== a._url && (this._url = a._url);
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
t.TextFormat = a;
})(f.text || (f.text = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.fromNumber = function(a) {
switch(a) {
case 0:
return d.LEFT;
case 1:
return d.RIGHT;
case 2:
return d.CENTER;
case 3:
return d.JUSTIFY;
case 4:
return d.START;
case 5:
return d.END;
default:
return null;
}
};
d.toNumber = function(a) {
switch(a) {
case d.LEFT:
return 0;
case d.RIGHT:
return 1;
case d.CENTER:
return 2;
case d.JUSTIFY:
return 3;
case d.START:
return 4;
case d.END:
return 5;
default:
return-1;
}
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.LEFT = "left";
d.CENTER = "center";
d.RIGHT = "right";
d.JUSTIFY = "justify";
d.START = "start";
d.END = "end";
return d;
}(b.ASNative);
f.TextFormatAlign = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.INLINE = "inline";
d.BLOCK = "block";
return d;
}(b.ASNative);
f.TextFormatDisplay = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(f) {
var k = function(b) {
function d() {
b.call(this);
}
__extends(d, b);
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
d.NORMAL = "normal";
d.SELECTION = "selection";
return d;
}(b.ASNative);
f.TextInteractionMode = k;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b, d, e, f, g) {
k("Dummy Constructor: public flash.text.TextLineMetrics");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.TextLineMetrics = m;
})(f.text || (f.text = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
(function(k) {
var s = function(b) {
function d(a, b, d) {
this._beginIndex = a | 0;
this._endIndex = b | 0;
this._textFormat = d;
}
__extends(d, b);
Object.defineProperty(d.prototype, "beginIndex", {get:function() {
return this._beginIndex;
}, set:function(a) {
this._beginIndex = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "endIndex", {get:function() {
return this._endIndex;
}, set:function(a) {
this._endIndex = a | 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(d.prototype, "textFormat", {get:function() {
return this._textFormat;
}, set:function(a) {
this._textFormat = a;
}, enumerable:!0, configurable:!0});
d.prototype.clone = function() {
return new f.text.TextRun(this.beginIndex, this.endIndex, this.textFormat);
};
d.classInitializer = null;
d.initializer = null;
d.classSymbols = null;
d.instanceSymbols = null;
return d;
}(b.ASNative);
k.TextRun = s;
})(f.text || (f.text = {}));
})(b.flash || (b.flash = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: public flash.text.TextSnapshot");
}
__extends(b, a);
Object.defineProperty(b.prototype, "charCount", {get:function() {
k("public flash.text.TextSnapshot::get charCount");
}, enumerable:!0, configurable:!0});
b.prototype.findText = function(a, b, c) {
m(b);
k("public flash.text.TextSnapshot::findText");
};
b.prototype.getSelected = function(a, b) {
k("public flash.text.TextSnapshot::getSelected");
};
b.prototype.getSelectedText = function(a) {
k("public flash.text.TextSnapshot::getSelectedText");
};
b.prototype.getText = function(a, b, c) {
k("public flash.text.TextSnapshot::getText");
};
b.prototype.getTextRunInfo = function(a, b) {
k("public flash.text.TextSnapshot::getTextRunInfo");
};
b.prototype.hitTestTextNearPos = function(a, b, c) {
k("public flash.text.TextSnapshot::hitTestTextNearPos");
};
b.prototype.setSelectColor = function(a) {
k("public flash.text.TextSnapshot::setSelectColor");
};
b.prototype.setSelected = function(a, b, c) {
k("public flash.text.TextSnapshot::setSelected");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.TextSnapshot = d;
})(f.text || (f.text = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.trace.Trace");
}
__extends(a, b);
a.setLevel = function(a, b) {
k("public flash.trace.Trace::static setLevel");
};
a.getLevel = function(a) {
k("public flash.trace.Trace::static getLevel");
};
a.setListener = function(a) {
k("public flash.trace.Trace::static setListener");
};
a.getListener = function() {
k("public flash.trace.Trace::static getListener");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.OFF = void 0;
a.METHODS = 1;
a.METHODS_WITH_ARGS = 2;
a.METHODS_AND_LINES = 3;
a.METHODS_AND_LINES_WITH_ARGS = 4;
a.FILE = 1;
a.LISTENER = 2;
return a;
}(g.ASNative);
f.Trace = m;
})(f.trace || (f.trace = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = function(a) {
function b() {
k("Dummy Constructor: public flash.ui.ContextMenu");
}
__extends(b, a);
Object.defineProperty(b.prototype, "builtInItems", {get:function() {
m("public flash.ui.ContextMenu::get builtInItems");
return this._builtInItems;
}, set:function(a) {
m("public flash.ui.ContextMenu::set builtInItems");
this._builtInItems = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "customItems", {get:function() {
m("public flash.ui.ContextMenu::get customItems");
return this._customItems;
}, set:function(a) {
m("public flash.ui.ContextMenu::set customItems");
this._customItems = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "link", {get:function() {
k("public flash.ui.ContextMenu::get link");
}, set:function(a) {
k("public flash.ui.ContextMenu::set link");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "clipboardMenu", {get:function() {
k("public flash.ui.ContextMenu::get clipboardMenu");
}, set:function(a) {
k("public flash.ui.ContextMenu::set clipboardMenu");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "clipboardItems", {get:function() {
k("public flash.ui.ContextMenu::get clipboardItems");
}, set:function(a) {
k("public flash.ui.ContextMenu::set clipboardItems");
}, enumerable:!0, configurable:!0});
b.prototype.cloneLinkAndClipboardProperties = function(a) {
k("public flash.ui.ContextMenu::cloneLinkAndClipboardProperties");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.display.NativeMenu);
g.ContextMenu = d;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.ContextMenuBuiltInItems");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.ContextMenuBuiltInItems = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.ContextMenuClipboardItems");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.ContextMenuClipboardItems = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.AVM2.Runtime.asCoerceString, m = function(b) {
function a(a, b, d, e) {
"undefined" === typeof b && (b = !1);
"undefined" === typeof d && (d = !0);
"undefined" === typeof e && (e = !0);
this._caption = (a = k(a)) ? a : "";
this._separatorBefore = !!b;
this._enabled = !!d;
this._visible = !!e;
}
__extends(a, b);
Object.defineProperty(a.prototype, "caption", {get:function() {
return this._caption;
}, set:function(a) {
this._caption = a = k(a);
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "separatorBefore", {get:function() {
return this._separatorBefore;
}, set:function(a) {
this._separatorBefore = !!a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "visible", {get:function() {
return this._visible;
}, set:function(a) {
this._visible = !!a;
}, enumerable:!0, configurable:!0});
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.display.NativeMenuItem);
g.ContextMenuItem = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var s = b.Debug.somewhatImplemented, m = b.Debug.notImplemented, d = b.AVM2.Runtime.throwError, a = function(a) {
function b() {
m("Dummy Constructor: public flash.ui.GameInput");
}
__extends(b, a);
Object.defineProperty(b.prototype, "numDevices", {get:function() {
s("public flash.ui.GameInput::get numDevices");
return 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "isSupported", {get:function() {
s("public flash.ui.GameInput::get isSupported");
return!1;
}, enumerable:!0, configurable:!0});
b.getDeviceAt = function(a) {
s("public flash.ui.GameInput::static getDeviceAt");
d("RangeError", k.Errors.ParamRangeError, "index");
return null;
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(f.events.EventDispatcher);
g.GameInput = a;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.GameInputControl");
}
__extends(a, b);
Object.defineProperty(a.prototype, "numValues", {get:function() {
k("public flash.ui.GameInputControl::get numValues");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "index", {get:function() {
k("public flash.ui.GameInputControl::get index");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "relative", {get:function() {
k("public flash.ui.GameInputControl::get relative");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "type", {get:function() {
k("public flash.ui.GameInputControl::get type");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "hand", {get:function() {
k("public flash.ui.GameInputControl::get hand");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "finger", {get:function() {
k("public flash.ui.GameInputControl::get finger");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "device", {get:function() {
k("public flash.ui.GameInputControl::get device");
}, enumerable:!0, configurable:!0});
a.prototype.getValueAt = function(a) {
k("public flash.ui.GameInputControl::getValueAt");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.events.EventDispatcher);
g.GameInputControl = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.GameInputControlType");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.MOVEMENT = "movement";
a.ROTATION = "rotation";
a.DIRECTION = "direction";
a.ACCELERATION = "acceleration";
a.BUTTON = "button";
a.TRIGGER = "trigger";
return a;
}(g.ASNative);
f.GameInputControlType = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.GameInputDevice");
}
__extends(a, b);
Object.defineProperty(a.prototype, "numControls", {get:function() {
k("public flash.ui.GameInputDevice::get numControls");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "sampleInterval", {get:function() {
k("public flash.ui.GameInputDevice::get sampleInterval");
}, set:function(a) {
k("public flash.ui.GameInputDevice::set sampleInterval");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "enabled", {get:function() {
k("public flash.ui.GameInputDevice::get enabled");
}, set:function(a) {
k("public flash.ui.GameInputDevice::set enabled");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "id", {get:function() {
k("public flash.ui.GameInputDevice::get id");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "name", {get:function() {
k("public flash.ui.GameInputDevice::get name");
}, enumerable:!0, configurable:!0});
a.prototype.getControlAt = function(a) {
k("public flash.ui.GameInputDevice::getControlAt");
};
a.prototype.startCachingSamples = function(a, b) {
k("public flash.ui.GameInputDevice::startCachingSamples");
};
a.prototype.stopCachingSamples = function() {
k("public flash.ui.GameInputDevice::stopCachingSamples");
};
a.prototype.getCachedSamples = function(a, b) {
k("public flash.ui.GameInputDevice::getCachedSamples");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.MAX_BUFFER_SIZE = 4800;
return a;
}(f.events.EventDispatcher);
g.GameInputDevice = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.GameInputFinger");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.THUMB = "thumb";
a.INDEX = "index";
a.MIDDLE = "middle";
a.UNKNOWN = "unknown";
return a;
}(g.ASNative);
f.GameInputFinger = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.GameInputHand");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.RIGHT = "right";
a.LEFT = "left";
a.UNKNOWN = "unknown";
return a;
}(g.ASNative);
f.GameInputHand = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
var s = b.Debug.notImplemented, m = function() {
function b() {
this._lastKeyCode = 0;
this._captureKeyPress = !1;
this._charCodeMap = [];
}
b.prototype.dispatchKeyboardEvent = function(a) {
var b = a.keyCode;
if ("keydown" === a.type) {
this._lastKeyCode = b;
if (this._captureKeyPress = 8 === b || 9 === b || 13 === b || 32 === b || 48 <= b && 90 >= b || 145 < b) {
return;
}
this._charCodeMap[b] = 0;
} else {
if ("keypress" === a.type) {
if (this._captureKeyPress) {
b = this._lastKeyCode, this._charCodeMap[b] = a.charCode;
} else {
return;
}
}
}
if (this.target) {
var d = "keyup" === a.type;
this.target.dispatchEvent(new f.events.KeyboardEvent(d ? "keyUp" : "keyDown", !0, !1, d ? this._charCodeMap[b] : a.charCode, d ? a.keyCode : this._lastKeyCode, a.location, a.ctrlKey, a.altKey, a.shiftKey));
}
};
return b;
}();
k.KeyboardEventDispatcher = m;
m = function(b) {
function a() {
s("Dummy Constructor: public flash.ui.Keyboard");
}
__extends(a, b);
Object.defineProperty(a.prototype, "capsLock", {get:function() {
s("public flash.ui.Keyboard::get capsLock");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "numLock", {get:function() {
s("public flash.ui.Keyboard::get numLock");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "hasVirtualKeyboard", {get:function() {
s("public flash.ui.Keyboard::get hasVirtualKeyboard");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "physicalKeyboardType", {get:function() {
s("public flash.ui.Keyboard::get physicalKeyboardType");
}, enumerable:!0, configurable:!0});
a.isAccessible = function() {
s("public flash.ui.Keyboard::static isAccessible");
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.KEYNAME_UPARROW = "Up";
a.KEYNAME_DOWNARROW = "Down";
a.KEYNAME_LEFTARROW = "Left";
a.KEYNAME_RIGHTARROW = "Right";
a.KEYNAME_F1 = "F1";
a.KEYNAME_F2 = "F2";
a.KEYNAME_F3 = "F3";
a.KEYNAME_F4 = "F4";
a.KEYNAME_F5 = "F5";
a.KEYNAME_F6 = "F6";
a.KEYNAME_F7 = "F7";
a.KEYNAME_F8 = "F8";
a.KEYNAME_F9 = "F9";
a.KEYNAME_F10 = "F10";
a.KEYNAME_F11 = "F11";
a.KEYNAME_F12 = "F12";
a.KEYNAME_F13 = "F13";
a.KEYNAME_F14 = "F14";
a.KEYNAME_F15 = "F15";
a.KEYNAME_F16 = "F16";
a.KEYNAME_F17 = "F17";
a.KEYNAME_F18 = "F18";
a.KEYNAME_F19 = "F19";
a.KEYNAME_F20 = "F20";
a.KEYNAME_F21 = "F21";
a.KEYNAME_F22 = "F22";
a.KEYNAME_F23 = "F23";
a.KEYNAME_F24 = "F24";
a.KEYNAME_F25 = "F25";
a.KEYNAME_F26 = "F26";
a.KEYNAME_F27 = "F27";
a.KEYNAME_F28 = "F28";
a.KEYNAME_F29 = "F29";
a.KEYNAME_F30 = "F30";
a.KEYNAME_F31 = "F31";
a.KEYNAME_F32 = "F32";
a.KEYNAME_F33 = "F33";
a.KEYNAME_F34 = "F34";
a.KEYNAME_F35 = "F35";
a.KEYNAME_INSERT = "Insert";
a.KEYNAME_DELETE = "Delete";
a.KEYNAME_HOME = "Home";
a.KEYNAME_BEGIN = "Begin";
a.KEYNAME_END = "End";
a.KEYNAME_PAGEUP = "PgUp";
a.KEYNAME_PAGEDOWN = "PgDn";
a.KEYNAME_PRINTSCREEN = "PrntScrn";
a.KEYNAME_SCROLLLOCK = "ScrlLck";
a.KEYNAME_PAUSE = "Pause";
a.KEYNAME_SYSREQ = "SysReq";
a.KEYNAME_BREAK = "Break";
a.KEYNAME_RESET = "Reset";
a.KEYNAME_STOP = "Stop";
a.KEYNAME_MENU = "Menu";
a.KEYNAME_USER = "User";
a.KEYNAME_SYSTEM = "Sys";
a.KEYNAME_PRINT = "Print";
a.KEYNAME_CLEARLINE = "ClrLn";
a.KEYNAME_CLEARDISPLAY = "ClrDsp";
a.KEYNAME_INSERTLINE = "InsLn";
a.KEYNAME_DELETELINE = "DelLn";
a.KEYNAME_INSERTCHAR = "InsChr";
a.KEYNAME_DELETECHAR = "DelChr";
a.KEYNAME_PREV = "Prev";
a.KEYNAME_NEXT = "Next";
a.KEYNAME_SELECT = "Select";
a.KEYNAME_EXECUTE = "Exec";
a.KEYNAME_UNDO = "Undo";
a.KEYNAME_REDO = "Redo";
a.KEYNAME_FIND = "Find";
a.KEYNAME_HELP = "Help";
a.KEYNAME_MODESWITCH = "ModeSw";
a.STRING_UPARROW = "\uf700";
a.STRING_DOWNARROW = "\uf701";
a.STRING_LEFTARROW = "\uf702";
a.STRING_RIGHTARROW = "\uf703";
a.STRING_F1 = "\uf704";
a.STRING_F2 = "\uf705";
a.STRING_F3 = "\uf706";
a.STRING_F4 = "\uf707";
a.STRING_F5 = "\uf708";
a.STRING_F6 = "\uf709";
a.STRING_F7 = "\uf70a";
a.STRING_F8 = "\uf70b";
a.STRING_F9 = "\uf70c";
a.STRING_F10 = "\uf70d";
a.STRING_F11 = "\uf70e";
a.STRING_F12 = "\uf70f";
a.STRING_F13 = "\uf710";
a.STRING_F14 = "\uf711";
a.STRING_F15 = "\uf712";
a.STRING_F16 = "\uf713";
a.STRING_F17 = "\uf714";
a.STRING_F18 = "\uf715";
a.STRING_F19 = "\uf716";
a.STRING_F20 = "\uf717";
a.STRING_F21 = "\uf718";
a.STRING_F22 = "\uf719";
a.STRING_F23 = "\uf71a";
a.STRING_F24 = "\uf71b";
a.STRING_F25 = "\uf71c";
a.STRING_F26 = "\uf71d";
a.STRING_F27 = "\uf71e";
a.STRING_F28 = "\uf71f";
a.STRING_F29 = "\uf720";
a.STRING_F30 = "\uf721";
a.STRING_F31 = "\uf722";
a.STRING_F32 = "\uf723";
a.STRING_F33 = "\uf724";
a.STRING_F34 = "\uf725";
a.STRING_F35 = "\uf726";
a.STRING_INSERT = "\uf727";
a.STRING_DELETE = "\uf728";
a.STRING_HOME = "\uf729";
a.STRING_BEGIN = "\uf72a";
a.STRING_END = "\uf72b";
a.STRING_PAGEUP = "\uf72c";
a.STRING_PAGEDOWN = "\uf72d";
a.STRING_PRINTSCREEN = "\uf72e";
a.STRING_SCROLLLOCK = "\uf72f";
a.STRING_PAUSE = "\uf730";
a.STRING_SYSREQ = "\uf731";
a.STRING_BREAK = "\uf732";
a.STRING_RESET = "\uf733";
a.STRING_STOP = "\uf734";
a.STRING_MENU = "\uf735";
a.STRING_USER = "\uf736";
a.STRING_SYSTEM = "\uf737";
a.STRING_PRINT = "\uf738";
a.STRING_CLEARLINE = "\uf739";
a.STRING_CLEARDISPLAY = "\uf73a";
a.STRING_INSERTLINE = "\uf73b";
a.STRING_DELETELINE = "\uf73c";
a.STRING_INSERTCHAR = "\uf73d";
a.STRING_DELETECHAR = "\uf73e";
a.STRING_PREV = "\uf73f";
a.STRING_NEXT = "\uf740";
a.STRING_SELECT = "\uf741";
a.STRING_EXECUTE = "\uf742";
a.STRING_UNDO = "\uf743";
a.STRING_REDO = "\uf744";
a.STRING_FIND = "\uf745";
a.STRING_HELP = "\uf746";
a.STRING_MODESWITCH = "\uf747";
a.CharCodeStrings = void 0;
a.NUMBER_0 = 48;
a.NUMBER_1 = 49;
a.NUMBER_2 = 50;
a.NUMBER_3 = 51;
a.NUMBER_4 = 52;
a.NUMBER_5 = 53;
a.NUMBER_6 = 54;
a.NUMBER_7 = 55;
a.NUMBER_8 = 56;
a.NUMBER_9 = 57;
a.A = 65;
a.B = 66;
a.C = 67;
a.D = 68;
a.E = 69;
a.F = 70;
a.G = 71;
a.H = 72;
a.I = 73;
a.J = 74;
a.K = 75;
a.L = 76;
a.M = 77;
a.N = 78;
a.O = 79;
a.P = 80;
a.Q = 81;
a.R = 82;
a.S = 83;
a.T = 84;
a.U = 85;
a.V = 86;
a.W = 87;
a.X = 88;
a.Y = 89;
a.Z = 90;
a.SEMICOLON = 186;
a.EQUAL = 187;
a.COMMA = 188;
a.MINUS = 189;
a.PERIOD = 190;
a.SLASH = 191;
a.BACKQUOTE = 192;
a.LEFTBRACKET = 219;
a.BACKSLASH = 220;
a.RIGHTBRACKET = 221;
a.QUOTE = 222;
a.ALTERNATE = 18;
a.BACKSPACE = 8;
a.CAPS_LOCK = 20;
a.COMMAND = 15;
a.CONTROL = 17;
a.DELETE = 46;
a.DOWN = 40;
a.END = 35;
a.ENTER = 13;
a.ESCAPE = 27;
a.F1 = 112;
a.F2 = 113;
a.F3 = 114;
a.F4 = 115;
a.F5 = 116;
a.F6 = 117;
a.F7 = 118;
a.F8 = 119;
a.F9 = 120;
a.F10 = 121;
a.F11 = 122;
a.F12 = 123;
a.F13 = 124;
a.F14 = 125;
a.F15 = 126;
a.HOME = 36;
a.INSERT = 45;
a.LEFT = 37;
a.NUMPAD = 21;
a.NUMPAD_0 = 96;
a.NUMPAD_1 = 97;
a.NUMPAD_2 = 98;
a.NUMPAD_3 = 99;
a.NUMPAD_4 = 100;
a.NUMPAD_5 = 101;
a.NUMPAD_6 = 102;
a.NUMPAD_7 = 103;
a.NUMPAD_8 = 104;
a.NUMPAD_9 = 105;
a.NUMPAD_ADD = 107;
a.NUMPAD_DECIMAL = 110;
a.NUMPAD_DIVIDE = 111;
a.NUMPAD_ENTER = 108;
a.NUMPAD_MULTIPLY = 106;
a.NUMPAD_SUBTRACT = 109;
a.PAGE_DOWN = 34;
a.PAGE_UP = 33;
a.RIGHT = 39;
a.SHIFT = 16;
a.SPACE = 32;
a.TAB = 9;
a.UP = 38;
a.RED = 16777216;
a.GREEN = 16777217;
a.YELLOW = 16777218;
a.BLUE = 16777219;
a.CHANNEL_UP = 16777220;
a.CHANNEL_DOWN = 16777221;
a.RECORD = 16777222;
a.PLAY = 16777223;
a.PAUSE = 16777224;
a.STOP = 16777225;
a.FAST_FORWARD = 16777226;
a.REWIND = 16777227;
a.SKIP_FORWARD = 16777228;
a.SKIP_BACKWARD = 16777229;
a.NEXT = 16777230;
a.PREVIOUS = 16777231;
a.LIVE = 16777232;
a.LAST = 16777233;
a.MENU = 16777234;
a.INFO = 16777235;
a.GUIDE = 16777236;
a.EXIT = 16777237;
a.BACK = 16777238;
a.AUDIO = 16777239;
a.SUBTITLE = 16777240;
a.DVR = 16777241;
a.VOD = 16777242;
a.INPUT = 16777243;
a.SETUP = 16777244;
a.HELP = 16777245;
a.MASTER_SHELL = 16777246;
a.SEARCH = 16777247;
return a;
}(g.ASNative);
k.Keyboard = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(k) {
var s = b.Debug.notImplemented, m = b.Debug.somewhatImplemented, d = b.Debug.assert, a = b.AVM2.Runtime.asCoerceString, c = f.events, n = function() {
function a() {
this.currentTarget = this.stage = null;
}
a.prototype._findTarget = function(a) {
var b = [];
this.stage._containsGlobalPoint(20 * a.x | 0, 20 * a.y | 0, 3, b);
d(2 > b.length);
return b.length ? b[0] : this.stage;
};
a.prototype._dispatchMouseEvent = function(a, b, d, f) {
"undefined" === typeof f && (f = null);
var g = a.globalToLocal(d.point);
b = new c.MouseEvent(b, b !== c.MouseEvent.ROLL_OVER && b !== c.MouseEvent.ROLL_OUT && b !== c.MouseEvent.MOUSE_LEAVE, !1, g.x, g.y, f, d.ctrlKey, d.altKey, d.shiftKey, !!d.buttons);
a.dispatchEvent(b);
};
a.prototype.handleMouseEvent = function(a) {
var b = this.stage;
if (!b) {
return b;
}
var d = a.point;
f.ui.Mouse.updateCurrentPosition(d);
var g = this.currentTarget;
if (0 > d.x || d.x > b.stageWidth || 0 > d.y || d.y > b.stageHeight) {
return g && this._dispatchMouseEvent(b, c.MouseEvent.MOUSE_LEAVE, a), this.currentTarget = null, b;
}
var d = this._findTarget(d), k = f.events.MouseEvent.typeFromDOMType(a.type);
switch(k) {
case c.MouseEvent.MOUSE_DOWN:
a.buttons & 1 ? a.buttons = 1 : a.buttons & 2 ? (k = c.MouseEvent.MIDDLE_MOUSE_DOWN, a.buttons = 2) : a.buttons & 4 && (k = c.MouseEvent.RIGHT_MOUSE_DOWN, a.buttons = 4);
d._mouseDown = !0;
break;
case c.MouseEvent.MOUSE_UP:
a.buttons & 1 ? a.buttons = 1 : a.buttons & 2 ? (k = c.MouseEvent.MIDDLE_MOUSE_UP, a.buttons = 2) : a.buttons & 4 && (k = c.MouseEvent.RIGHT_MOUSE_UP, a.buttons = 4);
d._mouseDown = !1;
break;
case c.MouseEvent.CLICK:
a.buttons & 1 || (a.buttons & 2 ? k = c.MouseEvent.MIDDLE_CLICK : a.buttons & 4 && (k = c.MouseEvent.RIGHT_CLICK));
a.buttons = 0;
break;
case c.MouseEvent.DOUBLE_CLICK:
if (!d.doubleClickEnabled) {
return;
}
a.buttons = 0;
break;
case c.MouseEvent.MOUSE_MOVE:
this.currentTarget = d;
a.buttons &= 1;
if (d === g) {
break;
}
var m = d.findNearestCommonAncestor(g);
if (g && g !== b) {
g._mouseOver = !1;
g._mouseDown = !1;
this._dispatchMouseEvent(g, c.MouseEvent.MOUSE_OUT, a, d);
for (var h = g;h !== m;) {
this._dispatchMouseEvent(h, c.MouseEvent.ROLL_OUT, a, d), h = h.parent;
}
}
if (d === b) {
break;
}
for (b = d;b !== m;) {
this._dispatchMouseEvent(b, c.MouseEvent.ROLL_OVER, a, g), b = b.parent;
}
d._mouseOver = !0;
this._dispatchMouseEvent(d, c.MouseEvent.MOUSE_OVER, a, g);
return d;
}
this._dispatchMouseEvent(d, k, a);
return d;
};
return a;
}();
k.MouseEventDispatcher = n;
(function(a) {
a[a.Left = 1] = "Left";
a[a.Middle = 2] = "Middle";
a[a.Right = 4] = "Right";
})(k.MouseButtonFlags || (k.MouseButtonFlags = {}));
n = function(b) {
function c() {
s("Dummy Constructor: public flash.ui.Mouse");
}
__extends(c, b);
Object.defineProperty(c.prototype, "supportsCursor", {get:function() {
s("public flash.ui.Mouse::get supportsCursor");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "cursor", {get:function() {
s("public flash.ui.Mouse::get cursor");
}, set:function(b) {
a(b);
s("public flash.ui.Mouse::set cursor");
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "supportsNativeCursor", {get:function() {
s("public flash.ui.Mouse::get supportsNativeCursor");
}, enumerable:!0, configurable:!0});
c.hide = function() {
m("public flash.ui.Mouse::static hide");
};
c.show = function() {
m("public flash.ui.Mouse::static show");
};
c.registerCursor = function(b, c) {
a(b);
s("public flash.ui.Mouse::static registerCursor");
};
c.unregisterCursor = function(b) {
a(b);
s("public flash.ui.Mouse::static unregisterCursor");
};
c.updateCurrentPosition = function(a) {
this._currentPosition.copyFrom(a);
};
c.classInitializer = function() {
this._currentPosition = new f.geom.Point;
};
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = null;
return c;
}(g.ASNative);
k.Mouse = n;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.MouseCursorData");
}
__extends(a, b);
Object.defineProperty(a.prototype, "data", {get:function() {
k("public flash.ui.MouseCursorData::get data");
}, set:function(a) {
k("public flash.ui.MouseCursorData::set data");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "hotSpot", {get:function() {
k("public flash.ui.MouseCursorData::get hotSpot");
}, set:function(a) {
k("public flash.ui.MouseCursorData::set hotSpot");
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "frameRate", {get:function() {
k("public flash.ui.MouseCursorData::get frameRate");
}, set:function(a) {
k("public flash.ui.MouseCursorData::set frameRate");
}, enumerable:!0, configurable:!0});
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.MouseCursorData = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.somewhatImplemented, m = b.Debug.notImplemented, d = b.AVM2.Runtime.asCoerceString, a = function(a) {
function b() {
m("Dummy Constructor: public flash.ui.Multitouch");
}
__extends(b, a);
Object.defineProperty(b.prototype, "inputMode", {get:function() {
m("public flash.ui.Multitouch::get inputMode");
}, set:function(a) {
d(a);
m("public flash.ui.Multitouch::set inputMode");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "supportsTouchEvents", {get:function() {
k("public flash.ui.Multitouch::get supportsTouchEvents");
return!1;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "supportsGestureEvents", {get:function() {
k("public flash.ui.Multitouch::get supportsGestureEvents");
return!1;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "supportedGestures", {get:function() {
k("public flash.ui.Multitouch::get supportedGestures");
return null;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "maxTouchPoints", {get:function() {
k("public flash.ui.Multitouch::get maxTouchPoints");
return 0;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "mapTouchToMouse", {get:function() {
k("public flash.ui.Multitouch::get mapTouchToMouse");
return!0;
}, set:function(a) {
m("public flash.ui.Multitouch::set mapTouchToMouse");
}, enumerable:!0, configurable:!0});
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.Multitouch = a;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.ui.MultitouchInputMode");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.NONE = "none";
a.GESTURE = "gesture";
a.TOUCH_POINT = "touchPoint";
return a;
}(g.ASNative);
f.MultitouchInputMode = m;
})(f.ui || (f.ui = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.utils.Endian");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
a.BIG_ENDIAN = "bigEndian";
a.LITTLE_ENDIAN = "littleEndian";
return a;
}(g.ASNative);
f.Endian = m;
})(f.utils || (f.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var Shumway$$inline_615 = Shumway || (Shumway = {}), AVM2$$inline_616 = Shumway$$inline_615.AVM2 || (Shumway$$inline_615.AVM2 = {}), AS$$inline_617 = AVM2$$inline_616.AS || (AVM2$$inline_616.AS = {}), flash$$inline_618 = AS$$inline_617.flash || (AS$$inline_617.flash = {}), utils$$inline_619 = flash$$inline_618.utils || (flash$$inline_618.utils = {}), utils$$inline_620 = flash$$inline_618.utils, flash$$inline_621 = AS$$inline_617.flash, AS$$inline_622 = AVM2$$inline_616.AS, AVM2$$inline_623 = Shumway$$inline_615.AVM2,
Shumway$$inline_625 = Shumway || (Shumway = {}), AVM2$$inline_626 = Shumway$$inline_625.AVM2 || (Shumway$$inline_625.AVM2 = {}), AS$$inline_627 = AVM2$$inline_626.AS || (AVM2$$inline_626.AS = {}), flash$$inline_628 = AS$$inline_627.flash || (AS$$inline_627.flash = {}), utils$$inline_629 = flash$$inline_628.utils || (flash$$inline_628.utils = {}), utils$$inline_630 = flash$$inline_628.utils, flash$$inline_631 = AS$$inline_627.flash, AS$$inline_632 = AVM2$$inline_626.AS, AVM2$$inline_633 = Shumway$$inline_625.AVM2,
Shumway$$inline_635 = Shumway || (Shumway = {}), AVM2$$inline_636 = Shumway$$inline_635.AVM2 || (Shumway$$inline_635.AVM2 = {}), AS$$inline_637 = AVM2$$inline_636.AS || (AVM2$$inline_636.AS = {}), flash$$inline_638 = AS$$inline_637.flash || (AS$$inline_637.flash = {}), utils$$inline_639 = flash$$inline_638.utils || (flash$$inline_638.utils = {}), utils$$inline_640 = flash$$inline_638.utils, flash$$inline_641 = AS$$inline_637.flash, AS$$inline_642 = AVM2$$inline_636.AS, AVM2$$inline_643 = Shumway$$inline_635.AVM2;
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: packageInternal flash.utils.ObjectInput");
}
__extends(b, a);
Object.defineProperty(b.prototype, "bytesAvailable", {get:function() {
k("packageInternal flash.utils.ObjectInput::get bytesAvailable");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "objectEncoding", {get:function() {
k("packageInternal flash.utils.ObjectInput::get objectEncoding");
}, set:function(a) {
k("packageInternal flash.utils.ObjectInput::set objectEncoding");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "endian", {get:function() {
k("packageInternal flash.utils.ObjectInput::get endian");
}, set:function(a) {
m(a);
k("packageInternal flash.utils.ObjectInput::set endian");
}, enumerable:!0, configurable:!0});
b.prototype.readBytes = function(a, b, c) {
k("packageInternal flash.utils.ObjectInput::readBytes");
};
b.prototype.readBoolean = function() {
k("packageInternal flash.utils.ObjectInput::readBoolean");
};
b.prototype.readByte = function() {
k("packageInternal flash.utils.ObjectInput::readByte");
};
b.prototype.readUnsignedByte = function() {
k("packageInternal flash.utils.ObjectInput::readUnsignedByte");
};
b.prototype.readShort = function() {
k("packageInternal flash.utils.ObjectInput::readShort");
};
b.prototype.readUnsignedShort = function() {
k("packageInternal flash.utils.ObjectInput::readUnsignedShort");
};
b.prototype.readInt = function() {
k("packageInternal flash.utils.ObjectInput::readInt");
};
b.prototype.readUnsignedInt = function() {
k("packageInternal flash.utils.ObjectInput::readUnsignedInt");
};
b.prototype.readFloat = function() {
k("packageInternal flash.utils.ObjectInput::readFloat");
};
b.prototype.readDouble = function() {
k("packageInternal flash.utils.ObjectInput::readDouble");
};
b.prototype.readMultiByte = function(a, b) {
m(b);
k("packageInternal flash.utils.ObjectInput::readMultiByte");
};
b.prototype.readUTF = function() {
k("packageInternal flash.utils.ObjectInput::readUTF");
};
b.prototype.readUTFBytes = function(a) {
k("packageInternal flash.utils.ObjectInput::readUTFBytes");
};
b.prototype.readObject = function() {
k("packageInternal flash.utils.ObjectInput::readObject");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.ObjectInput = d;
})(f.utils || (f.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: packageInternal flash.utils.ObjectOutput");
}
__extends(b, a);
Object.defineProperty(b.prototype, "objectEncoding", {get:function() {
k("packageInternal flash.utils.ObjectOutput::get objectEncoding");
}, set:function(a) {
k("packageInternal flash.utils.ObjectOutput::set objectEncoding");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "endian", {get:function() {
k("packageInternal flash.utils.ObjectOutput::get endian");
}, set:function(a) {
m(a);
k("packageInternal flash.utils.ObjectOutput::set endian");
}, enumerable:!0, configurable:!0});
b.prototype.writeBytes = function(a, b, c) {
k("packageInternal flash.utils.ObjectOutput::writeBytes");
};
b.prototype.writeBoolean = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeBoolean");
};
b.prototype.writeByte = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeByte");
};
b.prototype.writeShort = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeShort");
};
b.prototype.writeInt = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeInt");
};
b.prototype.writeUnsignedInt = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeUnsignedInt");
};
b.prototype.writeFloat = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeFloat");
};
b.prototype.writeDouble = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeDouble");
};
b.prototype.writeMultiByte = function(a, b) {
m(a);
m(b);
k("packageInternal flash.utils.ObjectOutput::writeMultiByte");
};
b.prototype.writeUTF = function(a) {
m(a);
k("packageInternal flash.utils.ObjectOutput::writeUTF");
};
b.prototype.writeUTFBytes = function(a) {
m(a);
k("packageInternal flash.utils.ObjectOutput::writeUTFBytes");
};
b.prototype.writeObject = function(a) {
k("packageInternal flash.utils.ObjectOutput::writeObject");
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = null;
b.instanceSymbols = null;
return b;
}(g.ASNative);
f.ObjectOutput = d;
})(f.utils || (f.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b) {
k("Dummy Constructor: public flash.utils.Timer");
}
__extends(a, b);
Object.defineProperty(a.prototype, "running", {get:function() {
return this._running;
}, enumerable:!0, configurable:!0});
a.prototype.stop = function() {
this._running = !1;
clearInterval(this._interval);
};
a.prototype._start = function(a, b) {
this._delay = +a;
this._running = !0;
this._interval = setInterval(b, a);
};
a.prototype._tick = function() {
this._running && f.utils.Timer.dispatchingEnabled && this.dispatchEvent(new f.events.TimerEvent("timer", !0, !1));
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = ["start!"];
a.dispatchingEnabled = !0;
return a;
}(f.events.EventDispatcher);
g.Timer = m;
})(f.utils || (f.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = function(b) {
function a(a, b, d, e) {
k("Dummy Constructor: packageInternal flash.utils.SetIntervalTimer");
}
__extends(a, b);
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(f.utils.Timer);
g.SetIntervalTimer = m;
})(f.utils || (f.utils = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b(a, c) {
m(c);
k("Dummy Constructor: public flash.xml.XMLNode");
}
__extends(b, a);
b.escapeXML = function(a) {
m(a);
k("public flash.xml.XMLNode::static escapeXML");
};
b.initializer = null;
return b;
}(g.ASNative);
f.XMLNode = d;
})(f.xml || (f.xml = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(g) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b(a) {
"undefined" === typeof a && (a = null);
m(a);
k("Dummy Constructor: public flash.xml.XMLDocument");
}
__extends(b, a);
b.initializer = null;
return b;
}(f.xml.XMLNode);
g.XMLDocument = d;
})(f.xml || (f.xml = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = function(b) {
function a() {
k("Dummy Constructor: public flash.xml.XMLNodeType");
}
__extends(a, b);
a.initializer = null;
return a;
}(g.ASNative);
f.XMLNodeType = m;
})(f.xml || (f.xml = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: packageInternal flash.xml.XMLParser");
}
__extends(b, a);
b.prototype.startParse = function(a, b) {
m(a);
k("packageInternal flash.xml.XMLParser::startParse");
};
b.prototype.getNext = function(a) {
k("packageInternal flash.xml.XMLParser::getNext");
};
b.initializer = null;
return b;
}(g.ASNative);
f.XMLParser = d;
})(f.xml || (f.xml = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
(function(f) {
var k = b.Debug.notImplemented, m = b.AVM2.Runtime.asCoerceString, d = function(a) {
function b() {
k("Dummy Constructor: packageInternal flash.xml.XMLTag");
}
__extends(b, a);
Object.defineProperty(b.prototype, "type", {get:function() {
k("packageInternal flash.xml.XMLTag::get type");
}, set:function(a) {
k("packageInternal flash.xml.XMLTag::set type");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "empty", {get:function() {
k("packageInternal flash.xml.XMLTag::get empty");
}, set:function(a) {
k("packageInternal flash.xml.XMLTag::set empty");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "value", {get:function() {
k("packageInternal flash.xml.XMLTag::get value");
}, set:function(a) {
m(a);
k("packageInternal flash.xml.XMLTag::set value");
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "attrs", {get:function() {
k("packageInternal flash.xml.XMLTag::get attrs");
}, set:function(a) {
k("packageInternal flash.xml.XMLTag::set attrs");
}, enumerable:!0, configurable:!0});
b.initializer = null;
return b;
}(g.ASNative);
f.XMLTag = d;
})(f.xml || (f.xml = {}));
})(g.flash || (g.flash = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = b.Debug.notImplemented, f = b.isInteger, t = b.Debug.assert, s = b.Debug.warning, m = b.Bounds, d = b.AVM2.AS.flash, a = b.AVM2.AS.flash.display.ActionScriptVersion, c = function() {
return function(a, b) {
this.id = -1;
t(f(a));
this.id = a;
this.symbolClass = b;
this.isAVM1Object = !1;
};
}();
k.Symbol = c;
var n = function(a) {
function b(c, d, h) {
"undefined" === typeof h && (h = !0);
a.call(this, c, d);
this.dynamic = h;
}
__extends(b, a);
b.prototype._setBoundsFromData = function(a) {
this.fillBounds = a.fillBounds ? m.FromUntyped(a.fillBounds) : null;
this.lineBounds = a.lineBounds ? m.FromUntyped(a.lineBounds) : null;
!this.lineBounds && this.fillBounds && (this.lineBounds = this.fillBounds.clone());
};
return b;
}(c);
k.DisplaySymbol = n;
var p = function(a) {
function b(c, e) {
"undefined" === typeof e && (e = d.display.Shape);
a.call(this, c, e, !1);
this.graphics = null;
}
__extends(b, a);
b.FromData = function(a, c) {
var h = new b(a.id);
h._setBoundsFromData(a);
h.graphics = d.display.Graphics.FromData(a);
h.processRequires(a.require, c);
return h;
};
b.prototype.processRequires = function(a, b) {
if (a) {
for (var c = this.graphics._textures, d = 0;d < a.length;d++) {
var e = b.getSymbolById(a[d]);
t(e, "Bitmap symbol is not defined.");
var f = e.symbolClass.initializeFrom(e);
e.symbolClass.instanceConstructorNoInitialize.call(f);
c.push(f);
}
}
};
return b;
}(n);
k.ShapeSymbol = p;
p = function(a) {
function b(c) {
a.call(this, c, d.display.MorphShape);
}
__extends(b, a);
b.FromData = function(a, c) {
var h = new b(a.id);
h._setBoundsFromData(a);
h.graphics = d.display.Graphics.FromData(a);
h.processRequires(a.require, c);
h.morphFillBounds = a.morphFillBounds;
h.morphLineBounds = a.morphLineBounds;
return h;
};
return b;
}(p);
k.MorphShapeSymbol = p;
p = function(a) {
function b(c) {
a.call(this, c, d.display.BitmapData);
}
__extends(b, a);
b.FromData = function(a) {
var c = new b(a.id);
c.width = a.width;
c.height = a.height;
c.data = a.data;
switch(a.mimeType) {
case "application/octet-stream":
c.type = a.dataType;
break;
case "image/jpeg":
c.type = 4;
break;
case "image/png":
c.type = 5;
break;
case "image/gif":
c.type = 6;
break;
default:
g(a.mimeType);
}
return c;
};
return b;
}(n);
k.BitmapSymbol = p;
p = function(a) {
function c(b) {
a.call(this, b, d.text.TextField);
this.size = this.color = 0;
this.font = "";
this.fontClass = null;
this.align = d.text.TextFormatAlign.LEFT;
this.leading = this.indent = this.rightMargin = this.leftMargin = 0;
this.embedFonts = this.wordWrap = this.multiline = !1;
this.selectable = !0;
this.border = !1;
this.initialText = "";
this.displayAsPassword = this.html = !1;
this.type = d.text.TextFieldType.DYNAMIC;
this.maxChars = 0;
this.autoSize = d.text.TextFieldAutoSize.NONE;
this.textContent = this.variableName = null;
}
__extends(c, a);
c.FromTextData = function(a) {
var e = new c(a.id);
e._setBoundsFromData(a);
var h = a.tag;
if (a.static && (e.dynamic = !1, e.symbolClass = d.text.StaticText, h.initialText)) {
var f = new b.TextContent;
f.bounds = e.lineBounds;
f.parseHtml(h.initialText);
f.matrix = d.geom.Matrix.FromUntyped(a.matrix);
f.coords = a.coords;
e.textContent = f;
}
h.hasColor && (e.color = h.color >>> 8);
h.hasFont && (e.size = h.fontHeight, (a = d.text.Font.getBySymbolId(h.fontId)) ? (e.font = a.fontName, h.fontClass && (e.fontClass = b.AVM2.Runtime.AVM2.instance.applicationDomain.getClass(h.fontClass))) : s("Font " + h.fontId + " is not defined."));
h.hasLayout && (e.align = d.text.TextFormatAlign.fromNumber(h.align), e.leftMargin = h.leftMargin, e.rightMargin = h.rightMargin, e.indent = h.indent, e.leading = h.leading);
e.multiline = !!h.multiline;
e.wordWrap = !!h.wordWrap;
e.embedFonts = !!h.useOutlines;
e.selectable = !h.noSelect;
e.border = !!h.border;
h.hasText && (e.initialText = h.initialText);
e.html = !!h.html;
e.displayAsPassword = !!h.password;
e.type = h.readonly ? d.text.TextFieldType.DYNAMIC : d.text.TextFieldType.INPUT;
h.hasMaxLength && (e.maxChars = h.maxLength);
e.autoSize = h.autoSize ? d.text.TextFieldAutoSize.LEFT : d.text.TextFieldAutoSize.NONE;
e.variableName = h.variableName;
return e;
};
return c;
}(n);
k.TextSymbol = p;
p = function(b) {
function c(a) {
b.call(this, a, d.display.SimpleButton);
this.hitTestState = this.downState = this.overState = this.upState = null;
}
__extends(c, b);
c.FromData = function(b, e) {
var h = new c(b.id);
e.actionScriptVersion === a.ACTIONSCRIPT2 && (h.isAVM1Object = !0, h.buttonActions = b.buttonActions);
var f = b.states, g, l, m, n;
for (n in f) {
var p = f[n];
1 === p.length ? (p = p[0], g = e.getSymbolById(p.symbolId), l = d.geom.Matrix.FromUntyped(p.matrix), p.cxform && (m = d.geom.ColorTransform.FromCXForm(p.cxform))) : (g = new k.SpriteSymbol(-1), g.frames.push(new q(e, p)));
h[n + "State"] = new k.AnimationState(g, 0, l, m);
}
return h;
};
return c;
}(n);
k.ButtonSymbol = p;
n = function(b) {
function c(a, e) {
"undefined" === typeof e && (e = !1);
b.call(this, a, d.display.MovieClip);
this.numFrames = 1;
this.frames = [];
this.labels = [];
this.frameScripts = [];
this.isRoot = e;
}
__extends(c, b);
c.FromData = function(b, e) {
var h = new c(b.id);
h.numFrames = b.frameCount;
e.actionScriptVersion === a.ACTIONSCRIPT2 && (h.isAVM1Object = !0, h.avm1Context = e._avm1Context);
h.frameScripts = b.frameScripts;
for (var f = b.frames, g = 1, k = 0;k < f.length;k++) {
for (var l = f[k], m = new q(e, l.commands), n = l.repeat;n--;) {
h.frames.push(m);
}
l.labelName && h.labels.push(new d.display.FrameLabel(l.labelName, g));
g += l.repeat;
}
return h;
};
return c;
}(n);
k.SpriteSymbol = n;
n = function(a) {
function b(c) {
a.call(this, c, d.text.Font);
this.name = "";
this.italic = this.bold = !1;
}
__extends(b, a);
b.FromData = function(a) {
var c = new b(a.id);
c.name = a.name;
c.bold = a.bold;
c.italic = a.italic;
c.data = a.data;
c.metrics = a.metrics;
return c;
};
return b;
}(c);
k.FontSymbol = n;
n = function(a) {
function b(c) {
a.call(this, c, d.media.Sound);
}
__extends(b, a);
b.FromData = function(a) {
var c = new b(a.id);
c.channels = a.channels;
c.sampleRate = a.sampleRate;
c.pcm = a.pcm;
c.packaged = a.packaged;
return c;
};
return b;
}(c);
k.SoundSymbol = n;
c = function(a) {
function b(c) {
a.call(this, c, d.utils.ByteArray);
}
__extends(b, a);
b.FromData = function(a) {
var c = new b(a.id);
c.buffer = a.data;
c.byteLength = a.data.byteLength;
return c;
};
return b;
}(c);
k.BinarySymbol = c;
c = function() {
function a(b, c, d, h, e, f, g, k, l, m, n, p, q) {
"undefined" === typeof b && (b = null);
"undefined" === typeof c && (c = 0);
"undefined" === typeof d && (d = null);
"undefined" === typeof h && (h = null);
"undefined" === typeof e && (e = 0);
"undefined" === typeof f && (f = null);
"undefined" === typeof g && (g = -1);
"undefined" === typeof k && (k = null);
"undefined" === typeof l && (l = null);
"undefined" === typeof m && (m = !1);
"undefined" === typeof n && (n = !0);
"undefined" === typeof p && (p = null);
"undefined" === typeof q && (q = null);
this.symbol = b;
this.depth = c;
this.matrix = d;
this.colorTransform = h;
this.ratio = e;
this.name = f;
this.clipDepth = g;
this.filters = k;
this.blendMode = l;
this.cacheAsBitmap = m;
this.visible = n;
this.events = p;
this.variableName = q;
}
a.prototype.canBeAnimated = function(a) {
if (!a._hasFlags(2048) || a._depth !== this.depth) {
return!1;
}
var b = this.symbol;
return!b || !b.dynamic && a._clipDepth === this.clipDepth && b.symbolClass.isType(a) ? !0 : !1;
};
return a;
}();
k.AnimationState = c;
var e = function() {
return function(a, b) {
this.soundId = a;
this.soundInfo = b;
};
}();
k.SoundStart = e;
var q = function() {
function c(a, b) {
this.loaderInfo = a;
this.commands = b;
this._stateAtDepth = null;
this._soundStarts = void 0;
}
Object.defineProperty(c.prototype, "stateAtDepth", {get:function() {
return this._stateAtDepth || this._initialize();
}, enumerable:!0, configurable:!0});
Object.defineProperty(c.prototype, "soundStarts", {get:function() {
void 0 === this._soundStarts && this._initialize();
return this._soundStarts;
}, enumerable:!0, configurable:!0});
c.prototype._initialize = function() {
for (var c = this._stateAtDepth = Object.create(null), f = null, g = this.commands, h = this.loaderInfo, l = 0;l < g.length;l++) {
var m = g[l], n = m.depth;
switch(m.code) {
case 5:
;
case 28:
c[n] = null;
break;
case 15:
f || (f = []);
f.push(new e(m.soundId, m.soundInfo));
break;
default:
var p = null, q = null, E = null, O = null, K = null;
if (m.symbolId && (p = h.getSymbolById(m.symbolId), !p)) {
s("Symbol " + m.symbolId + " is not defined.");
continue;
}
m.flags & 4 && (q = d.geom.Matrix.FromUntyped(m.matrix));
m.flags & 8 && (E = d.geom.ColorTransform.FromCXForm(m.cxform));
if (m.flags & 256) {
for (var O = [], F = m.filters, J = 0;J < F.length;J++) {
var A = F[J], B;
switch(A.type) {
case 0:
B = d.filters.DropShadowFilter.FromUntyped(A);
break;
case 1:
B = d.filters.BlurFilter.FromUntyped(A);
break;
case 2:
B = d.filters.GlowFilter.FromUntyped(A);
break;
case 3:
B = d.filters.BevelFilter.FromUntyped(A);
break;
case 4:
B = d.filters.GradientGlowFilter.FromUntyped(A);
break;
case 5:
B = d.filters.ConvolutionFilter.FromUntyped(A);
break;
case 6:
B = d.filters.ColorMatrixFilter.FromUntyped(A);
break;
case 7:
B = d.filters.GradientBevelFilter.FromUntyped(A);
}
t(B, "Unknown filter type.");
O.push(B);
}
}
if (m.flags & 128 && h._allowCodeExecution && h._actionScriptVersion === a.ACTIONSCRIPT2) {
for (F = m.events, K = [], J = 0;J < F.length;J++) {
A = F[J];
if (A.eoe) {
break;
}
var z = function(a, c) {
return function() {
var d = c._avm1Context, h = b.AVM2.AS.avm1lib.getAVM1Object(this);
return d.executeActions(a, h);
};
}(new b.AVM1.AVM1ActionsData(A.actionsData, "s" + m.symbolId + "e" + J), h), P = [], D;
for (D in A) {
if (0 === D.indexOf("on") && A[D]) {
var L = D[2].toLowerCase() + D.substring(3);
"enterFrame" === L && (L = "frameConstructed");
P.push(L);
}
}
K.push({eventNames:P, handler:z, keyPress:A.keyPress});
}
}
m = new k.AnimationState(p, n, q, E, m.ratio, m.name, m.clipDepth, O, d.display.BlendMode.fromNumber(m.blendMode), !!(m.flags & 1024), m.flags & 512 ? !!m.visibility : !0, K, m.variableName);
c[n] = m;
}
}
this._soundStarts = f;
this.commands = null;
return c;
};
return c;
}();
k.FrameDelta = q;
})(b.Timeline || (b.Timeline = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
function f(a, b, d) {
return{classSimpleName:a, nativeName:b, cls:d};
}
function t(c, d, f) {
Object.defineProperty(c, f, {get:function() {
a(b.AVM2.Runtime.AVM2.instance, "AVM2 needs to be initialized.");
var e = b.AVM2.Runtime.AVM2.instance.systemDomain.getClass(d);
a(e.instanceConstructor);
Object.defineProperty(c, f, {value:e.instanceConstructor, writable:!1});
return c[f];
}, configurable:!0});
}
var s = b.AVM2.Runtime.throwError, m = b.AVM2.AS.flash, d = b.AVM2.ABC.Multiname, a = b.Debug.assert;
jsGlobal.flash = b.AVM2.AS.flash;
g.linkNatives = function(a) {
[f("flash.display.DisplayObject", "DisplayObjectClass", m.display.DisplayObject), f("flash.display.InteractiveObject", "InteractiveObjectClass", m.display.InteractiveObject), f("flash.display.DisplayObjectContainer", "ContainerClass", m.display.DisplayObjectContainer), f("flash.display.Sprite", "SpriteClass", m.display.Sprite), f("flash.display.MovieClip", "MovieClipClass", m.display.MovieClip), f("flash.display.Shape", "ShapeClass", m.display.Shape), f("flash.display.Bitmap", "BitmapClass",
m.display.Bitmap), f("flash.display.BitmapData", "BitmapDataClass", m.display.BitmapData), f("flash.display.Stage", "StageClass", m.display.Stage), f("flash.display.Loader", "LoaderClass", m.display.Loader), f("flash.display.LoaderInfo", "LoaderInfoClass", m.display.LoaderInfo), f("flash.display.Graphics", "GraphicsClass", m.display.Graphics), f("flash.display.SimpleButton", "SimpleButtonClass", m.display.SimpleButton), f("flash.display.MorphShape", "MorphShapeClass", m.display.MorphShape),
f("flash.display.NativeMenu", "MenuClass", m.display.NativeMenu), f("flash.display.NativeMenuItem", "MenuItemClass", m.display.NativeMenuItem), f("flash.display.FrameLabel", "FrameLabelClass", m.display.FrameLabel), f("flash.display.Scene", "SceneClass", m.display.Scene), f("flash.display.AVM1Movie", "AVM1MovieClass", m.display.AVM1Movie), f("flash.filters.BevelFilter", "BevelFilterClass", m.filters.BevelFilter), f("flash.filters.BitmapFilter", "BitmapFilterClass", m.filters.BitmapFilter),
f("flash.filters.BlurFilter", "BlurFilterClass", m.filters.BlurFilter), f("flash.filters.ColorMatrixFilter", "ColorMatrixFilterClass", m.filters.ColorMatrixFilter), f("flash.filters.ConvolutionFilter", "ConvolutionFilterClass", m.filters.ConvolutionFilter), f("flash.filters.DisplacementMapFilter", "DisplacementMapFilterClass", m.filters.DisplacementMapFilter), f("flash.filters.DropShadowFilter", "DropShadowFilterClass", m.filters.DropShadowFilter), f("flash.filters.GlowFilter", "GlowFilterClass",
m.filters.GlowFilter), f("flash.filters.GradientBevelFilter", "GradientBevelFilterClass", m.filters.GradientBevelFilter), f("flash.filters.GradientGlowFilter", "GradientGlowFilterClass", m.filters.GradientGlowFilter), f("flash.geom.Point", "PointClass", m.geom.Point), f("flash.geom.Rectangle", "RectangleClass", m.geom.Rectangle), f("flash.geom.Matrix", "MatrixClass", m.geom.Matrix), f("flash.geom.Matrix3D", "Matrix3DClass", m.geom.Matrix3D), f("flash.geom.Vector3D", "Vector3DClass", m.geom.Vector3D),
f("flash.geom.Transform", "TransformClass", m.geom.Transform), f("flash.geom.ColorTransform", "ColorTransformClass", m.geom.ColorTransform), f("flash.events.EventDispatcher", "EventDispatcherClass", m.events.EventDispatcher), f("flash.events.Event", "EventClass", m.events.Event), f("flash.events.IOErrorEvent"), f("flash.events.KeyboardEvent", "KeyboardEventClass", m.events.KeyboardEvent), f("flash.events.MouseEvent", "MouseEventClass", m.events.MouseEvent), f("flash.events.GestureEvent",
"GestureEventClass", m.events.GestureEvent), f("flash.events.TextEvent", "TextEventClass", m.events.TextEvent), f("flash.events.TimerEvent", "TimerEventClass", m.events.TimerEvent), f("flash.events.ProgressEvent", "ProgressEventClass", m.events.ProgressEvent), f("flash.events.NetStatusEvent"), f("flash.events.HTTPStatusEvent"), f("flash.external.ExternalInterface", "ExternalInterfaceClass", m.external.ExternalInterface), f("flash.ui.ContextMenu", "ContextMenuClass", m.ui.ContextMenu), f("flash.ui.ContextMenuItem",
"ContextMenuItemClass", m.ui.ContextMenuItem), f("flash.ui.Keyboard", "KeyboardClass", m.ui.Keyboard), f("flash.ui.Mouse", "MouseClass", m.ui.Mouse), f("flash.ui.MouseCursorData", "MouseCursorDataClass", m.ui.MouseCursorData), f("flash.ui.GameInput", "GameInputClass", m.ui.GameInput), f("flash.events.GameInputEvent", "GameInputEventClass", m.events.GameInputEvent), f("flash.ui.GameInputControl", "GameInputControlClass", m.ui.GameInputControl), f("flash.ui.GameInputControlType", "GameInputControlTypeClass",
m.ui.GameInputControlType), f("flash.ui.GameInputDevice", "GameInputDeviceClass", m.ui.GameInputDevice), f("flash.ui.GameInputFinger", "GameInputFingerClass", m.ui.GameInputFinger), f("flash.ui.GameInputHand", "GameInputHandClass", m.ui.GameInputHand), f("flash.ui.Multitouch", "MultitouchClass", m.ui.Multitouch), f("flash.ui.MultitouchInputMode", "MultitouchInputModeClass", m.ui.MultitouchInputMode), f("flash.events.TouchEvent", "TouchEventClass", m.events.TouchEvent), f("flash.text.Font",
"FontClass", m.text.Font), f("flash.text.TextField", "TextFieldClass", m.text.TextField), f("flash.text.StaticText", "StaticTextClass", m.text.StaticText), f("flash.text.StyleSheet", "StyleSheetClass", m.text.StyleSheet), f("flash.text.TextFormat", "TextFormatClass", m.text.TextFormat), f("flash.text.TextRun", "TextRunClass", m.text.TextRun), f("flash.text.TextLineMetrics"), f("flash.media.Sound", "SoundClass", m.media.Sound), f("flash.media.SoundChannel", "SoundChannelClass", m.media.SoundChannel),
f("flash.media.SoundMixer", "SoundMixerClass", m.media.SoundMixer), f("flash.media.SoundTransform", "SoundTransformClass", m.media.SoundTransform), f("flash.media.Video", "VideoClass", m.media.Video), f("flash.media.ID3Info", "ID3InfoClass", m.media.ID3Info), f("flash.media.Microphone", "MicrophoneClass", m.media.Microphone), f("flash.net.FileFilter", "FileFilterClass", m.net.FileFilter), f("flash.net.NetConnection", "NetConnectionClass", m.net.NetConnection), f("flash.net.NetStream", "NetStreamClass",
m.net.NetStream), f("flash.net.Responder", "ResponderClass", m.net.Responder), f("flash.net.URLRequest", "URLRequestClass", m.net.URLRequest), f("flash.net.URLRequestHeader"), f("flash.net.URLStream", "URLStreamClass", m.net.URLStream), f("flash.net.URLLoader", "URLLoaderClass", m.net.URLLoader), f("flash.net.SharedObject", "SharedObjectClass", m.net.SharedObject), f("flash.net.ObjectEncoding", "ObjectEncodingClass", m.net.ObjectEncoding), f("flash.net.LocalConnection", "LocalConnectionClass",
m.net.LocalConnection), f("flash.net.Socket", "SocketClass", m.net.Socket), f("flash.net.URLVariables", "URLVariablesClass", m.net.URLVariables), f("packageInternal flash.system.FSCommand", "FSCommandClass", m.system.FSCommand), f("flash.system.Capabilities", "CapabilitiesClass", m.system.Capabilities), f("flash.system.Security", "SecurityClass", m.system.Security), f("flash.system.SecurityDomain", "SecurityDomainClass", m.system.SecurityDomain), f("flash.system.ApplicationDomain", "ApplicationDomainClass",
m.system.ApplicationDomain), f("flash.system.JPEGLoaderContext", "JPEGLoaderContextClass", m.system.JPEGLoaderContext), f("flash.accessibility.Accessibility", "AccessibilityClass", m.accessibility.Accessibility), f("flash.utils.Timer", "TimerClass", m.utils.Timer), f("flash.utils.ByteArray", "ByteArrayClass", m.utils.ByteArray), f("avm1lib.AVM1Utils", "AVM1Utils", b.AVM2.AS.avm1lib.AVM1Utils), f("avm1lib.AVM1Broadcaster"), f("avm1lib.AVM1Key"), f("avm1lib.AVM1Mouse"), f("avm1lib.AVM1MovieClip",
"AVM1MovieClip", b.AVM2.AS.avm1lib.AVM1MovieClip), f("avm1lib.AVM1BitmapData", "AVM1BitmapData", b.AVM2.AS.avm1lib.AVM1BitmapData), f("avm1lib.AVM1Button", "AVM1Button", b.AVM2.AS.avm1lib.AVM1Button), f("avm1lib.AVM1Sound"), f("avm1lib.AVM1TextField", "AVM1TextField", b.AVM2.AS.avm1lib.AVM1TextField), f("avm1lib.AVM1Stage"), f("avm1lib.AVM1System"), f("avm1lib.AVM1Color"), f("avm1lib.AVM1Transform"), f("avm1lib.AVM1Globals", "AVM1Globals", b.AVM2.AS.avm1lib.AVM1Globals), f("avm1lib.AVM1MovieClipLoader",
"AVM1MovieClipLoader", b.AVM2.AS.avm1lib.AVM1MovieClipLoader)].forEach(function(a) {
for (var c = d.fromSimpleName(a.classSimpleName).getOriginalName().split("."), e = b.AVM2.AS, f = 0, k = c.length - 1;f < k;f++) {
e[c[f]] || (e[c[f]] = {}), e = e[c[f]];
}
t(e, a.classSimpleName, c[c.length - 1]);
g.registerNativeClass(a.nativeName, a.cls);
});
g.registerNativeFunction("FlashUtilScript::getDefinitionByName", b.AVM2.AS.Natives.getDefinitionByName);
g.registerNativeFunction("FlashUtilScript::getTimer", function() {
return Date.now() - m.display.Loader.runtimeStartTime;
});
g.registerNativeFunction("FlashUtilScript::escapeMultiByte", escape);
g.registerNativeFunction("FlashUtilScript::unescapeMultiByte", unescape);
g.registerNativeFunction("FlashNetScript::navigateToURL", function(a, c) {
null !== a && void 0 !== a || s("TypeError", k.Errors.NullPointerError, "request");
b.AVM2.Runtime.AVM2.instance.systemDomain.getClass("flash.net.URLRequest").isInstanceOf(a) || s("TypeError", k.Errors.CheckTypeFailedError, a, "flash.net.URLRequest");
var e = a.url;
if (/^fscommand:/i.test(e)) {
b.AVM2.Runtime.AVM2.instance.applicationDomain.getProperty(d.fromSimpleName("flash.system.fscommand"), !0, !0).call(null, e.substring(10), c);
} else {
var f = c || "_parent";
window.open(b.FileLoadingService.instance.resolveUrl(e), f);
}
});
g.registerNativeFunction("FlashNetScript::sendToURL", function(a) {
null !== a && void 0 !== a || s("TypeError", k.Errors.NullPointerError, "request");
b.AVM2.Runtime.AVM2.instance.systemDomain.getClass("flash.net.URLRequest").isInstanceOf(a) || s("TypeError", k.Errors.CheckTypeFailedError, a, "flash.net.URLRequest");
var c = b.FileLoadingService.instance.createSession();
c.onprogress = function() {
};
c.open(a);
});
g.registerNativeFunction("Toplevel::registerClassAlias", function(a, b) {
a || s("TypeError", k.Errors.NullPointerError, "aliasName");
b || s("TypeError", k.Errors.NullPointerError, "classObject");
k.aliasesCache.classes.set(b, a);
k.aliasesCache.names[a] = b;
});
g.registerNativeFunction("Toplevel::getClassByAlias", function(a) {
a || s("TypeError", k.Errors.NullPointerError, "aliasName");
var b = k.aliasesCache.names[a];
b || s("ReferenceError", k.Errors.ClassNotFoundError, a);
return b;
});
g.registerNativeFunction("isFinite", isFinite);
};
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
console.timeEnd("Load Flash TS Dependencies");
console.time("Load AVM1 Dependencies");
(function(b) {
(function(b) {
var g = function() {
function b(f, g) {
this.array = f;
this.position = 0;
this.end = f.length;
this.readANSI = 6 > g;
var k = new ArrayBuffer(4);
(new Int32Array(k))[0] = 1;
if (!(new Uint8Array(k))[0]) {
throw Error("big-endian platform");
}
}
b.prototype.readUI8 = function() {
return this.array[this.position++];
};
b.prototype.readUI16 = function() {
var b = this.position, f = this.array, f = f[b + 1] << 8 | f[b];
this.position = b + 2;
return f;
};
b.prototype.readSI16 = function() {
var b = this.position, f = this.array, f = f[b + 1] << 8 | f[b];
this.position = b + 2;
return 32768 > f ? f : f - 65536;
};
b.prototype.readInteger = function() {
var b = this.position, f = this.array, f = f[b] | f[b + 1] << 8 | f[b + 2] << 16 | f[b + 3] << 24;
this.position = b + 4;
return f;
};
b.prototype.readFloat = function() {
var b = this.position, f = this.array, g = new ArrayBuffer(4), d = new Uint8Array(g);
d[0] = f[b];
d[1] = f[b + 1];
d[2] = f[b + 2];
d[3] = f[b + 3];
this.position = b + 4;
return(new Float32Array(g))[0];
};
b.prototype.readDouble = function() {
var b = this.position, f = this.array, g = new ArrayBuffer(8), d = new Uint8Array(g);
d[4] = f[b];
d[5] = f[b + 1];
d[6] = f[b + 2];
d[7] = f[b + 3];
d[0] = f[b + 4];
d[1] = f[b + 5];
d[2] = f[b + 6];
d[3] = f[b + 7];
this.position = b + 8;
return(new Float64Array(g))[0];
};
b.prototype.readBoolean = function() {
return!!this.readUI8();
};
b.prototype.readANSIString = function() {
for (var b = "", f;f = this.readUI8();) {
b += String.fromCharCode(f);
}
return b;
};
b.prototype.readUTF8String = function() {
for (var b = "", f;f = this.readUI8();) {
if (128 > f) {
b += String.fromCharCode(f);
} else {
if (128 === (f & 192)) {
throw Error("Invalid UTF8 encoding");
}
var g = 192, d = 5;
do {
var a = g >> 1 | 128;
if ((f & a) === g) {
break;
}
g = a;
--d;
} while (0 <= d);
g = f & (1 << d) - 1;
for (a = 5;a >= d;--a) {
f = this.readUI8();
if (128 !== (f & 192)) {
throw Error("Invalid UTF8 encoding");
}
g = g << 6 | f & 63;
}
b = 65536 <= g ? b + String.fromCharCode(g - 65536 >> 10 & 1023 | 55296, g & 1023 | 56320) : b + String.fromCharCode(g);
}
}
return b;
};
b.prototype.readString = function() {
return this.readANSI ? this.readANSIString() : this.readUTF8String();
};
b.prototype.readBytes = function(b) {
var f = this.position, g = Math.max(this.end - f, 0);
g < b && (b = g);
g = this.array.subarray(f, f + b);
this.position = f + b;
return g;
};
return b;
}();
b.ActionsDataStream = g;
})(b.AVM1 || (b.AVM1 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
b[b.None = 0] = "None";
b[b.ActionGotoFrame = 129] = "ActionGotoFrame";
b[b.ActionGetURL = 131] = "ActionGetURL";
b[b.ActionNextFrame = 4] = "ActionNextFrame";
b[b.ActionPreviousFrame = 5] = "ActionPreviousFrame";
b[b.ActionPlay = 6] = "ActionPlay";
b[b.ActionStop = 7] = "ActionStop";
b[b.ActionToggleQuality = 8] = "ActionToggleQuality";
b[b.ActionStopSounds = 9] = "ActionStopSounds";
b[b.ActionWaitForFrame = 138] = "ActionWaitForFrame";
b[b.ActionSetTarget = 139] = "ActionSetTarget";
b[b.ActionGoToLabel = 140] = "ActionGoToLabel";
b[b.ActionPush = 150] = "ActionPush";
b[b.ActionPop = 23] = "ActionPop";
b[b.ActionAdd = 10] = "ActionAdd";
b[b.ActionSubtract = 11] = "ActionSubtract";
b[b.ActionMultiply = 12] = "ActionMultiply";
b[b.ActionDivide = 13] = "ActionDivide";
b[b.ActionEquals = 14] = "ActionEquals";
b[b.ActionLess = 15] = "ActionLess";
b[b.ActionAnd = 16] = "ActionAnd";
b[b.ActionOr = 17] = "ActionOr";
b[b.ActionNot = 18] = "ActionNot";
b[b.ActionStringEquals = 19] = "ActionStringEquals";
b[b.ActionStringLength = 20] = "ActionStringLength";
b[b.ActionMBStringLength = 49] = "ActionMBStringLength";
b[b.ActionStringAdd = 33] = "ActionStringAdd";
b[b.ActionStringExtract = 21] = "ActionStringExtract";
b[b.ActionMBStringExtract = 53] = "ActionMBStringExtract";
b[b.ActionStringLess = 41] = "ActionStringLess";
b[b.ActionToInteger = 24] = "ActionToInteger";
b[b.ActionCharToAscii = 50] = "ActionCharToAscii";
b[b.ActionMBCharToAscii = 54] = "ActionMBCharToAscii";
b[b.ActionAsciiToChar = 51] = "ActionAsciiToChar";
b[b.ActionMBAsciiToChar = 55] = "ActionMBAsciiToChar";
b[b.ActionJump = 153] = "ActionJump";
b[b.ActionIf = 157] = "ActionIf";
b[b.ActionCall = 158] = "ActionCall";
b[b.ActionGetVariable = 28] = "ActionGetVariable";
b[b.ActionSetVariable = 29] = "ActionSetVariable";
b[b.ActionGetURL2 = 154] = "ActionGetURL2";
b[b.ActionGotoFrame2 = 159] = "ActionGotoFrame2";
b[b.ActionSetTarget2 = 32] = "ActionSetTarget2";
b[b.ActionGetProperty = 34] = "ActionGetProperty";
b[b.ActionSetProperty = 35] = "ActionSetProperty";
b[b.ActionCloneSprite = 36] = "ActionCloneSprite";
b[b.ActionRemoveSprite = 37] = "ActionRemoveSprite";
b[b.ActionStartDrag = 39] = "ActionStartDrag";
b[b.ActionEndDrag = 40] = "ActionEndDrag";
b[b.ActionWaitForFrame2 = 141] = "ActionWaitForFrame2";
b[b.ActionTrace = 38] = "ActionTrace";
b[b.ActionGetTime = 52] = "ActionGetTime";
b[b.ActionRandomNumber = 48] = "ActionRandomNumber";
b[b.ActionCallFunction = 61] = "ActionCallFunction";
b[b.ActionCallMethod = 82] = "ActionCallMethod";
b[b.ActionConstantPool = 136] = "ActionConstantPool";
b[b.ActionDefineFunction = 155] = "ActionDefineFunction";
b[b.ActionDefineLocal = 60] = "ActionDefineLocal";
b[b.ActionDefineLocal2 = 65] = "ActionDefineLocal2";
b[b.ActionDelete = 58] = "ActionDelete";
b[b.ActionDelete2 = 59] = "ActionDelete2";
b[b.ActionEnumerate = 70] = "ActionEnumerate";
b[b.ActionEquals2 = 73] = "ActionEquals2";
b[b.ActionGetMember = 78] = "ActionGetMember";
b[b.ActionInitArray = 66] = "ActionInitArray";
b[b.ActionInitObject = 67] = "ActionInitObject";
b[b.ActionNewMethod = 83] = "ActionNewMethod";
b[b.ActionNewObject = 64] = "ActionNewObject";
b[b.ActionSetMember = 79] = "ActionSetMember";
b[b.ActionTargetPath = 69] = "ActionTargetPath";
b[b.ActionWith = 148] = "ActionWith";
b[b.ActionToNumber = 74] = "ActionToNumber";
b[b.ActionToString = 75] = "ActionToString";
b[b.ActionTypeOf = 68] = "ActionTypeOf";
b[b.ActionAdd2 = 71] = "ActionAdd2";
b[b.ActionLess2 = 72] = "ActionLess2";
b[b.ActionModulo = 63] = "ActionModulo";
b[b.ActionBitAnd = 96] = "ActionBitAnd";
b[b.ActionBitLShift = 99] = "ActionBitLShift";
b[b.ActionBitOr = 97] = "ActionBitOr";
b[b.ActionBitRShift = 100] = "ActionBitRShift";
b[b.ActionBitURShift = 101] = "ActionBitURShift";
b[b.ActionBitXor = 98] = "ActionBitXor";
b[b.ActionDecrement = 81] = "ActionDecrement";
b[b.ActionIncrement = 80] = "ActionIncrement";
b[b.ActionPushDuplicate = 76] = "ActionPushDuplicate";
b[b.ActionReturn = 62] = "ActionReturn";
b[b.ActionStackSwap = 77] = "ActionStackSwap";
b[b.ActionStoreRegister = 135] = "ActionStoreRegister";
b[b.ActionInstanceOf = 84] = "ActionInstanceOf";
b[b.ActionEnumerate2 = 85] = "ActionEnumerate2";
b[b.ActionStrictEquals = 102] = "ActionStrictEquals";
b[b.ActionGreater = 103] = "ActionGreater";
b[b.ActionStringGreater = 104] = "ActionStringGreater";
b[b.ActionDefineFunction2 = 142] = "ActionDefineFunction2";
b[b.ActionExtends = 105] = "ActionExtends";
b[b.ActionCastOp = 43] = "ActionCastOp";
b[b.ActionImplementsOp = 44] = "ActionImplementsOp";
b[b.ActionTry = 143] = "ActionTry";
b[b.ActionThrow = 42] = "ActionThrow";
b[b.ActionFSCommand2 = 45] = "ActionFSCommand2";
b[b.ActionStrictMode = 137] = "ActionStrictMode";
})(b.ActionCode || (b.ActionCode = {}));
var g = function() {
return function(b) {
this.registerNumber = b;
};
}();
b.ParsedPushRegisterAction = g;
var f = function() {
return function(b) {
this.constantIndex = b;
};
}();
b.ParsedPushConstantAction = f;
(function(b) {
b[b.None = 0] = "None";
b[b.Argument = 1] = "Argument";
b[b.This = 2] = "This";
b[b.Arguments = 4] = "Arguments";
b[b.Super = 8] = "Super";
b[b.Global = 16] = "Global";
b[b.Parent = 32] = "Parent";
b[b.Root = 64] = "Root";
})(b.ArgumentAssignmentType || (b.ArgumentAssignmentType = {}));
var t = function() {
function m(b) {
this.stream = b;
}
Object.defineProperty(m.prototype, "position", {get:function() {
return this.stream.position;
}, set:function(b) {
this.stream.position = b;
}, enumerable:!0, configurable:!0});
Object.defineProperty(m.prototype, "eof", {get:function() {
return this.stream.position >= this.stream.end;
}, enumerable:!0, configurable:!0});
Object.defineProperty(m.prototype, "length", {get:function() {
return this.stream.end;
}, enumerable:!0, configurable:!0});
m.prototype.readNext = function() {
var d = this.stream, a = d.position, c = d.readUI8(), m = 128 <= c ? d.readUI16() : 0, m = d.position + m, p = null;
switch(c | 0) {
case 129:
var e = d.readUI16(), p = d.readUI8(), q = !1;
6 !== p && 7 !== p ? d.position-- : (m++, q = 6 === p);
p = [e, q];
break;
case 131:
e = d.readString();
p = d.readString();
p = [e, p];
break;
case 138:
var e = d.readUI16(), l = d.readUI8(), p = [e, l];
break;
case 139:
p = [d.readString()];
break;
case 140:
p = [d.readString()];
break;
case 150:
for (p = [];d.position < m;) {
e = d.readUI8();
switch(e | 0) {
case 0:
e = d.readString();
break;
case 1:
e = d.readFloat();
break;
case 2:
e = null;
break;
case 3:
e = void 0;
break;
case 4:
e = new g(d.readUI8());
break;
case 5:
e = d.readBoolean();
break;
case 6:
e = d.readDouble();
break;
case 7:
e = d.readInteger();
break;
case 8:
e = new f(d.readUI8());
break;
case 9:
e = new f(d.readUI16());
break;
default:
console.error("Unknown value type: " + e);
d.position = m;
continue;
}
p.push(e);
}
break;
case 153:
e = d.readSI16();
p = [e];
break;
case 157:
e = d.readSI16();
p = [e];
break;
case 154:
e = d.readUI8();
p = [e];
break;
case 159:
e = d.readUI8();
p = [e];
e & 2 && p.push(d.readUI16());
break;
case 141:
l = d.readUI8();
p = [l];
break;
case 136:
for (var l = d.readUI16(), e = [], u = 0;u < l;u++) {
e.push(d.readString());
}
p = [e];
break;
case 155:
p = d.readString();
l = d.readUI16();
q = [];
for (u = 0;u < l;u++) {
q.push(d.readString());
}
e = d.readUI16();
m += e;
e = new b.AVM1ActionsData(d.readBytes(e), this.dataId + "_f" + d.position);
p = [e, p, q];
break;
case 148:
e = d.readUI16();
m += e;
p = [new b.AVM1ActionsData(d.readBytes(e), this.dataId + "_w" + d.position)];
break;
case 135:
var w = d.readUI8(), p = [w];
break;
case 142:
for (var p = d.readString(), l = d.readUI16(), r = d.readUI8(), e = d.readUI16(), h = [], q = [], u = 0;u < l;u++) {
var w = d.readUI8(), x = d.readString();
q.push(x);
w && (h[w] = {type:1, name:x, index:u});
}
l = 1;
e & 1 && (h[l++] = {type:2});
e & 4 && (h[l++] = {type:4});
e & 16 && (h[l++] = {type:8});
e & 64 && (h[l++] = {type:64});
e & 128 && (h[l++] = {type:32});
e & 256 && (h[l++] = {type:16});
l = 0;
e & 2 && (l |= 2);
e & 8 && (l |= 4);
e & 32 && (l |= 8);
e = d.readUI16();
m += e;
e = new b.AVM1ActionsData(d.readBytes(e), this.dataId + "_f" + d.position);
p = [e, p, q, r, h, l];
break;
case 143:
e = d.readUI8();
p = !!(e & 4);
q = !!(e & 2);
e = !!(e & 1);
l = d.readUI16();
u = d.readUI16();
h = d.readUI16();
r = p ? d.readUI8() : d.readString();
m += l + u + h;
l = new b.AVM1ActionsData(d.readBytes(l), this.dataId + "_t" + d.position);
u = new b.AVM1ActionsData(d.readBytes(u), this.dataId + "_c" + d.position);
h = new b.AVM1ActionsData(d.readBytes(h), this.dataId + "_z" + d.position);
p = [p, r, l, e, u, q, h];
break;
case 137:
p = [d.readUI8()];
}
d.position = m;
return{position:a, actionCode:c, actionName:s[c], args:p};
};
m.prototype.skip = function(b) {
for (var a = this.stream;0 < b && a.position < a.end;) {
var c = 128 <= a.readUI8() ? a.readUI16() : 0;
a.position += c;
b--;
}
};
return m;
}();
b.ActionsDataParser = t;
var s = {0:"EOA", 4:"ActionNextFrame", 5:"ActionPreviousFrame", 6:"ActionPlay", 7:"ActionStop", 8:"ActionToggleQuality", 9:"ActionStopSounds", 10:"ActionAdd", 11:"ActionSubtract", 12:"ActionMultiply", 13:"ActionDivide", 14:"ActionEquals", 15:"ActionLess", 16:"ActionAnd", 17:"ActionOr", 18:"ActionNot", 19:"ActionStringEquals", 20:"ActionStringLength", 21:"ActionStringExtract", 23:"ActionPop", 24:"ActionToInteger", 28:"ActionGetVariable", 29:"ActionSetVariable", 32:"ActionSetTarget2", 33:"ActionStringAdd",
34:"ActionGetProperty", 35:"ActionSetProperty", 36:"ActionCloneSprite", 37:"ActionRemoveSprite", 38:"ActionTrace", 39:"ActionStartDrag", 40:"ActionEndDrag", 41:"ActionStringLess", 42:"ActionThrow", 43:"ActionCastOp", 44:"ActionImplementsOp", 45:"ActionFSCommand2", 48:"ActionRandomNumber", 49:"ActionMBStringLength", 50:"ActionCharToAscii", 51:"ActionAsciiToChar", 52:"ActionGetTime", 53:"ActionMBStringExtract", 54:"ActionMBCharToAscii", 55:"ActionMBAsciiToChar", 58:"ActionDelete", 59:"ActionDelete2",
60:"ActionDefineLocal", 61:"ActionCallFunction", 62:"ActionReturn", 63:"ActionModulo", 64:"ActionNewObject", 65:"ActionDefineLocal2", 66:"ActionInitArray", 67:"ActionInitObject", 68:"ActionTypeOf", 69:"ActionTargetPath", 70:"ActionEnumerate", 71:"ActionAdd2", 72:"ActionLess2", 73:"ActionEquals2", 74:"ActionToNumber", 75:"ActionToString", 76:"ActionPushDuplicate", 77:"ActionStackSwap", 78:"ActionGetMember", 79:"ActionSetMember", 80:"ActionIncrement", 81:"ActionDecrement", 82:"ActionCallMethod",
83:"ActionNewMethod", 84:"ActionInstanceOf", 85:"ActionEnumerate2", 96:"ActionBitAnd", 97:"ActionBitOr", 98:"ActionBitXor", 99:"ActionBitLShift", 100:"ActionBitRShift", 101:"ActionBitURShift", 102:"ActionStrictEquals", 103:"ActionGreater", 104:"ActionStringGreater", 105:"ActionExtends", 129:"ActionGotoFrame", 131:"ActionGetURL", 135:"ActionStoreRegister", 136:"ActionConstantPool", 137:"ActionStrictMode", 138:"ActionWaitForFrame", 139:"ActionSetTarget", 140:"ActionGoToLabel", 141:"ActionWaitForFrame2",
142:"ActionDefineFunction2", 143:"ActionTry", 148:"ActionWith", 150:"ActionPush", 153:"ActionJump", 154:"ActionGetURL2", 155:"ActionDefineFunction", 157:"ActionIf", 158:"ActionCall", 159:"ActionGotoFrame2"};
})(b.AVM1 || (b.AVM1 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
var g = function() {
function b() {
}
b.prototype.analyze = function(b) {
for (var f = [], g = [0], d = [!0], a = [0];0 < a.length;) {
var c = a.shift();
if (!f[c]) {
for (b.position = c;!b.eof && !f[c];) {
var k = b.readNext();
if (0 === k.actionCode) {
break;
}
var p = b.position, e = {action:k, next:p, conditionalJumpTo:-1}, q = 0, l = !1, u = !1;
switch(k.actionCode) {
case 138:
;
case 141:
l = !0;
b.skip(138 === k.actionCode ? k.args[1] : k.args[0]);
q = b.position;
b.position = p;
break;
case 153:
l = u = !0;
q = p + k.args[0];
break;
case 157:
l = !0;
q = p + k.args[0];
break;
case 42:
;
case 62:
;
case 0:
l = u = !0, q = b.length;
}
if (l) {
if (0 > q || q > b.length) {
console.error("jump outside the action block;"), q = b.length;
}
u ? e.next = q : e.conditionalJumpTo = q;
d[q] || (g.push(q), a.push(q), d[q] = !0);
}
f[c] = e;
if (u) {
break;
}
c = p;
}
}
}
var w = [];
g.forEach(function(a) {
if (f[a]) {
var b = [], c = a;
do {
c = f[c], b.push(c), c = c.next;
} while (!d[c] && f[c]);
w.push({label:a, items:b, jump:c});
}
});
return{actions:f, blocks:w, dataId:b.dataId};
};
return b;
}();
b.ActionsDataAnalyzer = g;
})(b.AVM1 || (b.AVM1 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = b.Debug.assert;
k.AVM1ActionsData = function() {
return function(b, f) {
this.bytes = b;
this.id = f;
g(b instanceof Uint8Array);
};
}();
var f = function() {
function b() {
this.root = null;
this.swfVersion = 0;
this.globals = null;
}
b.prototype.flushPendingScripts = function() {
};
b.prototype.addAsset = function(b, f, d) {
};
b.prototype.registerClass = function(b, f) {
};
b.prototype.getAsset = function(b) {
};
b.prototype.resolveTarget = function(b) {
};
b.prototype.resolveLevel = function(b) {
};
b.prototype.addToPendingScripts = function(b) {
};
b.prototype.executeActions = function(b, f) {
};
b.instance = null;
return b;
}();
k.AVM1Context = f;
})(b.AVM1 || (b.AVM1 = {}));
})(Shumway || (Shumway = {}));
__extends = this.__extends || function(b, k) {
function g() {
this.constructor = b;
}
for (var f in k) {
k.hasOwnProperty(f) && (b[f] = k[f]);
}
g.prototype = k.prototype;
b.prototype = new g;
};
(function(b) {
(function(k) {
function g(a) {
for (var b = 0;b < arguments.length - 1;b++) {
}
if (k.avm1ErrorsEnabled.value) {
try {
throw Error(a);
} catch (c) {
}
}
warn.apply(null, arguments);
}
function f(a) {
return "object" === typeof a && a && a instanceof b.AVM2.AS.avm1lib.AVM1MovieClip;
}
function t(a) {
if (null === a) {
return "null";
}
var b = typeof a;
return "function" === b ? "object" : "object" === b && f(a) ? "movieclip" : b;
}
function s(a) {
return "object" !== t(a) ? a : a.valueOf();
}
function m() {
return k.AVM1Context.instance.swfVersion;
}
function d(a) {
return "object" !== t(a) ? a : a instanceof Date && 6 <= m() ? a.toString() : a.valueOf();
}
function a(a) {
switch(t(a)) {
default:
;
case "undefined":
;
case "null":
return!1;
case "boolean":
return a;
case "number":
return 0 !== a && !isNaN(a);
case "string":
return 0 !== a.length;
case "movieclip":
;
case "object":
return!0;
}
}
function c(a) {
a = s(a);
switch(t(a)) {
case "undefined":
;
case "null":
return 7 <= m() ? NaN : 0;
case "boolean":
return a ? 1 : 0;
case "number":
return a;
case "string":
return "" === a && 5 > m() ? 0 : +a;
default:
return 5 <= m() ? NaN : 0;
}
}
function n(a) {
a = c(a);
return isNaN(a) || !isFinite(a) || 0 === a ? 0 : a | 0;
}
function p(a) {
switch(t(a)) {
case "undefined":
return 7 <= m() ? "undefined" : "";
case "null":
return "null";
case "boolean":
return a ? "true" : "false";
case "number":
return a.toString();
case "string":
return a;
case "movieclip":
return a.__targetPath;
case "object":
if ("function" === typeof a && a.asGetPublicProperty("toString") === b.AVM2.AS.ASFunction.traitsPrototype.asGetPublicProperty("toString")) {
return "[type Function]";
}
var c = a.asCallPublicProperty("toString", null);
return "string" === typeof c ? c : "function" === typeof a ? "[type Function]" : "[type Object]";
}
}
function e(a, b) {
var d = s(a), h = s(b);
return "string" === typeof d && "string" === typeof h ? d < h : c(d) < c(h);
}
function q(a, c) {
if (b.isNullOrUndefined(a)) {
return g("AVM1 warning: cannot look up member '" + c + "' on undefined object"), null;
}
a = Object(a);
if (Lb.getPublicQualifiedName(c) in a) {
return c;
}
if (Mb(c)) {
return null;
}
if (f(a) && a.__lookupChild(c)) {
return c;
}
if (6 < m()) {
return null;
}
var d = null, e = c.toLowerCase();
h(a, function(a) {
a.toLowerCase() === e && (d = a);
});
return d;
}
function l(a, c) {
if (b.isNullOrUndefined(a)) {
g("AVM1 warning: cannot get property '" + c + "' on undefined object");
} else {
return a = Object(a), !a.asHasProperty(void 0, c, 0) && f(a) ? a.__lookupChild(c) : a.asGetPublicProperty(c);
}
}
function u(a) {
return a && a.asGetPublicProperty("prototype");
}
function w(a) {
return "undefined" !== typeof InternalError && a instanceof InternalError && "too much recursion" === a.message ? new ua("long running script -- AVM1 recursion limit is reached") : a;
}
function r(a, c) {
var d;
if (a instanceof b.AVM2.AS.ASClass) {
d = Nb(a, c);
} else {
if (!La(a)) {
return;
}
d = Object.create(u(a) || u(Object));
a.apply(d, c);
}
d.constructor = a;
return d;
}
function h(a, b) {
Ob(a, b, null);
if (f(a)) {
for (var c = a._nativeAS3Object, d = 0, h = c._children.length;d < h;d++) {
var e = c._children[d].name;
a.asHasProperty(void 0, e, 0) || b.call(null, e);
}
}
}
function x(a) {
var b = a.asGetPublicProperty("prototype");
return "undefined" === typeof Proxy ? (console.error("ES6 proxies are not found"), b) : Proxy.create({getOwnPropertyDescriptor:function(a) {
return Object.getOwnPropertyDescriptor(b, a);
}, getPropertyDescriptor:function(a) {
for (var c = b;c;c = Object.getPrototypeOf(c)) {
var d = Object.getOwnPropertyDescriptor(c, a);
if (d) {
return d;
}
}
}, getOwnPropertyNames:function() {
return Object.getOwnPropertyNames(b);
}, getPropertyNames:function() {
for (var a = Object.getOwnPropertyNames(b), c = Object.getPrototypeOf(b);c;c = Object.getPrototypeOf(c)) {
a = a.concat(Object.getOwnPropertyNames(c));
}
return a;
}, defineProperty:function(c, d) {
d && ("function" === typeof d.value && "_setClass" in d.value && d.value._setClass(a), "function" === typeof d.get && "_setClass" in d.get && d.get._setClass(a), "function" === typeof d.set && "_setClass" in d.set && d.set._setClass(a));
return Object.defineProperty(b, c, d);
}, delete:function(a) {
return delete b[a];
}, fix:function() {
}});
}
function y(a, b, c) {
if (!b.executionProhibited) {
var d = Va.get(), h = b.initialScope.create(c), e = k.AVM1Context.instance, f;
try {
k.AVM1Context.instance = b, b.isActive = !0, b.abortExecutionAt = k.avm1TimeoutDisabled.value ? Number.MAX_VALUE : Date.now() + 1E3, b.errorsIgnored = 0, b.defaultTarget = c, b.currentTarget = null, d.message("ActionScript Execution Starts"), d.indent(), za(a, h, [], []);
} catch (g) {
f = w(g), f instanceof ua && (b.executionProhibited = !0, console.error("Disabling AVM1 execution"));
}
b.isActive = !1;
b.defaultTarget = null;
b.currentTarget = null;
d.unindent();
d.message("ActionScript Execution Stops");
k.AVM1Context.instance = e;
if (f) {
throw f;
}
}
}
function G(a, b, c) {
var d = a.split(/[\/.]/g);
"" === d[d.length - 1] && d.pop();
if ("" === d[0] || "_level0" === d[0] || "_root" === d[0]) {
b = c, d.shift();
}
for (;0 < d.length;) {
c = b;
b = b.__lookupChild(d[0]);
if (!b) {
throw Error(d[0] + " (expr " + a + ") is not found in " + c._target);
}
d.shift();
}
return b;
}
function I(a, b) {
if (a === Array) {
var c = b;
1 == b.length && "number" === typeof b[0] && (c = [], c.length = b[0]);
return c;
}
if (a === Boolean || a === Number || a === String || a === Function) {
return a.apply(null, b);
}
if (a === Date) {
switch(b.length) {
case 0:
return new Date;
case 1:
return new Date(b[0]);
default:
return new Date(b[0], b[1], 2 < b.length ? b[2] : 1, 3 < b.length ? b[3] : 0, 4 < b.length ? b[4] : 0, 5 < b.length ? b[5] : 0, 6 < b.length ? b[6] : 0);
}
}
if (a === Object) {
return{};
}
}
function C(a, b) {
if (isNaN(a) || 0 > a || a > b || a != (0 | a)) {
throw Error("Invalid number of arguments: " + a);
}
}
function E(a) {
var b = +a.pop();
C(b, a.length);
for (var c = [], d = 0;d < b;d++) {
c.push(a.pop());
}
return c;
}
function O(a, b) {
var c = a.context, d = a.global;
if (b) {
try {
var h = G(b, c.currentTarget || c.defaultTarget, d.asGetPublicProperty("_root"));
c.currentTarget = h;
} catch (e) {
throw c.currentTarget = null, e;
}
} else {
c.currentTarget = null;
}
}
function K(a, b, c, d, h, e, f) {
function g() {
if (!l.executionProhibited) {
var a, c = {};
f & 4 || c.asSetPublicProperty("arguments", arguments);
f & 2 || c.asSetPublicProperty("this", this);
f & 8 || c.asSetPublicProperty("super", Ja);
c.asSetPublicProperty("__class", s);
a = n.create(c);
var h, y = [];
if (e) {
for (h = 0;h < e.length;h++) {
var Ca = e[h];
if (Ca) {
switch(Ca.type) {
case 1:
y[h] = arguments[Ca.index];
break;
case 2:
y[h] = this;
break;
case 4:
y[h] = arguments;
break;
case 8:
y[h] = Ja;
break;
case 16:
y[h] = m;
break;
case 32:
y[h] = r.asGetPublicProperty("_parent");
break;
case 64:
y[h] = m.asGetPublicProperty("_root");
}
}
}
}
for (h = 0;h < arguments.length || h < d.length;h++) {
u && u[h] || c.asSetPublicProperty(d[h], arguments[h]);
}
c = k.AVM1Context.instance;
h = l.isActive;
var Ca = l.defaultTarget, w = l.currentTarget, t, G;
try {
k.AVM1Context.instance = l;
h || (l.abortExecutionAt = k.avm1TimeoutDisabled.value ? Number.MAX_VALUE : Date.now() + 1E3, l.errorsIgnored = 0, l.isActive = !0);
l.defaultTarget = x;
l.currentTarget = null;
p.indent();
if (256 <= ++l.stackDepth) {
throw new ua("long running script -- AVM1 recursion limit is reached");
}
t = za(b, a, q, y);
} catch (E) {
G = E;
}
l.defaultTarget = Ca;
l.currentTarget = w;
l.isActive = h;
l.stackDepth--;
p.unindent();
k.AVM1Context.instance = c;
if (G) {
throw G;
}
return t;
}
}
var l = a.context, m = a.global, n = a.scopeContainer, r = a.scope, p = a.actionTracer, x = l.defaultTarget, q = a.constantPool, u = null;
if (e) {
for (a = 0;a < e.length;a++) {
(h = e[a]) && 1 === h.type && (u || (u = []), u[e[a].index] = !0);
}
}
var s;
s = g;
g._setClass = function(a) {
s = a;
};
g.instanceConstructor = g;
g.debugName = "avm1 " + (c || "<function>");
c && (g.name = c);
return g;
}
function F(a, b, c) {
var d = a.global;
a = a.context;
a = a.currentTarget || a.defaultTarget;
var h, e;
if (0 <= b.indexOf(":")) {
e = b.split(":");
h = G(e[0], a, d.asGetPublicProperty("_root"));
if (!h) {
throw Error(e[0] + " is undefined");
}
e = e[1];
} else {
if (0 <= b.indexOf(".")) {
for (b = b.split("."), e = b.pop(), h = d, d = 0;d < b.length;d++) {
if (h = h.asGetPublicProperty(b[d]) || h[b[d]], !h) {
throw Error(b.slice(0, d + 1) + " is undefined");
}
}
}
}
if (!h) {
return null;
}
d = q(h, e);
return(b = null !== d) || c ? {obj:h, name:d || e, resolved:b} : null;
}
function J(a, b) {
var c = a.scopeContainer, d = a.context, d = d.currentTarget || d.defaultTarget, h = a.scope;
if (h.asHasProperty(void 0, b, 0)) {
return h.asGetPublicProperty(b);
}
var e = F(a, b, !1);
if (e) {
return e.obj.asGetPublicProperty(e.name);
}
if (e = q(h, b)) {
return h.asGetPublicProperty(e);
}
for (;c;c = c.next) {
if (e = q(c.scope, b), null !== e) {
return c.scope.asGetPublicProperty(e);
}
}
if (d.asHasProperty(void 0, b, 0)) {
return d.asGetPublicProperty(b);
}
if ("this" === b) {
return d;
}
if (c = f(d) && d.__lookupChild(b)) {
return c;
}
}
function A(a, b) {
var c = a.global, d = b[0];
b[1] ? c.gotoAndPlay(d + 1) : c.gotoAndStop(d + 1);
}
function B(a, b) {
a.global.getURL(b[0], b[1]);
}
function z(a) {
a.global.nextFrame();
}
function P(a) {
a.global.prevFrame();
}
function D(a) {
a.global.play();
}
function L(a) {
a.global.stop();
}
function M(a) {
a.global.toggleHighQuality();
}
function V(a) {
a.global.stopAllSounds();
}
function Q(a, b) {
return!a.global.ifFrameLoaded(b[0]);
}
function U(a, b) {
O(a, b[0]);
}
function S(a, b) {
a.global.gotoLabel(b[0]);
}
function aa(a, b) {
var c = a.registers, d = a.constantPool, h = a.stack;
b.forEach(function(a) {
a instanceof k.ParsedPushConstantAction ? h.push(d[a.constantIndex]) : a instanceof k.ParsedPushRegisterAction ? h.push(c[a.registerNumber]) : h.push(a);
});
}
function $(a) {
a.stack.pop();
}
function ea(a) {
a = a.stack;
var b = c(a.pop()), d = c(a.pop());
a.push(b + d);
}
function Z(a) {
a = a.stack;
var b = c(a.pop()), d = c(a.pop());
a.push(d - b);
}
function v(a) {
a = a.stack;
var b = c(a.pop()), d = c(a.pop());
a.push(b * d);
}
function X(a) {
var b = a.stack;
a = a.isSwfVersion5;
var d = c(b.pop()), d = c(b.pop()) / d;
b.push(a ? d : isFinite(d) ? d : "#ERROR#");
}
function ba(a) {
var b = a.stack;
a = a.isSwfVersion5;
var d = c(b.pop()), h = c(b.pop()), d = d == h;
b.push(a ? d : d ? 1 : 0);
}
function R(a) {
var b = a.stack;
a = a.isSwfVersion5;
var d = c(b.pop()), d = c(b.pop()) < d;
b.push(a ? d : d ? 1 : 0);
}
function H(b) {
var c = b.stack;
b = b.isSwfVersion5;
var d = a(c.pop()), h = a(c.pop()), d = d && h;
c.push(b ? d : d ? 1 : 0);
}
function Y(b) {
var c = b.stack;
b = b.isSwfVersion5;
var d = a(c.pop()), h = a(c.pop()), d = d || h;
c.push(b ? d : d ? 1 : 0);
}
function ga(b) {
var c = b.stack;
b = b.isSwfVersion5;
var d = !a(c.pop());
c.push(b ? d : d ? 1 : 0);
}
function ca(a) {
var b = a.stack;
a = a.isSwfVersion5;
var c = p(b.pop()), d = p(b.pop()), c = c == d;
b.push(a ? c : c ? 1 : 0);
}
function ka(a) {
var b = a.stack;
a = a.global;
var c = p(b.pop());
b.push(a.length(c));
}
function W(a) {
var b = a.stack;
a = a.global;
var c = p(b.pop());
b.push(a.length(c));
}
function ha(a) {
a = a.stack;
var b = p(a.pop()), c = p(a.pop());
a.push(c + b);
}
function da(a) {
var b = a.stack;
a = a.global;
var c = b.pop(), d = b.pop(), h = p(b.pop());
b.push(a.substring(h, d, c));
}
function ja(a) {
var b = a.stack;
a = a.global;
var c = b.pop(), d = b.pop(), h = p(b.pop());
b.push(a.mbsubstring(h, d, c));
}
function N(a) {
var b = a.stack;
a = a.isSwfVersion5;
var c = p(b.pop()), c = p(b.pop()) < c;
b.push(a ? c : c ? 1 : 0);
}
function ma(a) {
var b = a.stack;
b.push(a.global.int(b.pop()));
}
function T(a) {
var b = a.stack;
a = a.global;
var c = b.pop();
a = a.ord(c);
b.push(a);
}
function oa(a) {
var b = a.stack;
a = a.global;
var c = b.pop();
a = a.mbord(c);
b.push(a);
}
function pa(a) {
var b = a.stack;
a = a.global;
var c = +b.pop();
a = a.chr(c);
b.push(a);
}
function na(a) {
var b = a.stack;
a = a.global;
var c = +b.pop();
a = a.mbchr(c);
b.push(a);
}
function fa(a, b) {
}
function sa(a, b) {
return!!a.stack.pop();
}
function xa(a) {
var b = a.global;
a = a.stack.pop();
b.call(a);
}
function la(a) {
var b = a.stack, c = "" + b.pop(), d = b.length;
b.push(void 0);
b[d] = J(a, c);
}
function qa(a) {
var b = a.stack, c = b.pop();
a: {
var b = "" + b.pop(), d = a.scopeContainer, h = a.context, e = h.currentTarget || h.defaultTarget, f = a.scope;
if (h.currentTarget) {
e.asSetPublicProperty(b, c);
} else {
if (f.asHasProperty(void 0, b, 0)) {
f.asSetPublicProperty(b, c);
} else {
if (a = F(a, b, !0)) {
a.obj.asSetPublicProperty(a.name, c);
} else {
for (a = d;a.next;a = a.next) {
if (d = q(a.scope, b), null !== d) {
a.scope.asSetPublicProperty(d, c);
break a;
}
}
e.asSetPublicProperty(b, c);
}
}
}
}
}
function ia(a, b) {
var c = a.global, d = a.stack, h = b[0], e = d.pop(), d = d.pop(), f;
h & 1 ? f = "GET" : h & 2 && (f = "POST");
h & 64 ? h & 128 ? c.loadVariables(d, e, f) : c.loadMovie(d, e, f) : c.getURL(d, e, f);
}
function wa(a, b) {
var c = a.global, d = b[0], h = [a.stack.pop()];
d & 2 && h.push(b[1]);
(d & 1 ? c.gotoAndPlay : c.gotoAndStop).apply(c, h);
}
function Ia(a) {
var b = a.stack.pop();
O(a, b);
}
function va(a) {
var b = a.global;
a = a.stack;
var c = a.pop(), d = a.pop(), h = a.length;
a.push(void 0);
a[h] = b.getAVM1Property(d, c);
}
function ya(a) {
var b = a.global, c = a.stack;
a = c.pop();
var d = c.pop(), c = c.pop();
b.setAVM1Property(c, d, a);
}
function Ga(a) {
var b = a.global, c = a.stack;
a = c.pop();
var d = c.pop(), c = c.pop();
b.duplicateMovieClip(c, d, a);
}
function Ha(a) {
var b = a.global;
a = a.stack.pop();
b.removeMovieClip(a);
}
function Aa(a) {
var b = a.global, c = a.stack;
a = c.pop();
var d = c.pop(), c = c.pop() ? {y2:c.pop(), x2:c.pop(), y1:c.pop(), x1:c.pop()} : null;
a = [a, d];
c && (a = a.concat(c.x1, c.y1, c.x2, c.y2));
b.startDrag.apply(b, a);
}
function ra(a) {
a.global.stopDrag();
}
function ta(a, b) {
var c = a.global, d = a.stack.pop();
return!c.ifFrameLoaded(d);
}
function Ba(a) {
var b = a.global;
a = a.stack.pop();
b.trace(a);
}
function Ma(a) {
a.stack.push(a.global.getTimer());
}
function Na(a) {
var b = a.stack;
b.push(a.global.random(b.pop()));
}
function Oa(a) {
var b = a.stack, c = a.scope, d = b.pop(), h = E(b), e = b.length;
b.push(void 0);
a = J(a, d);
a instanceof Function ? (Da(b.length === e + 1), b[e] = a.apply(c, h)) : g("AVM1 warning: function '" + d + (a ? "' is not callable" : "' is undefined"));
}
function Pa(a) {
var c = a.stack, d = c.pop(), h = c.pop(), e = E(c), f, k = c.length;
c.push(void 0);
b.isNullOrUndefined(h) ? g("AVM1 warning: method '" + d + "' can't be called on undefined object") : b.isNullOrUndefined(d) || "" === d ? (h === Ja ? (h = J(a, "__class").__super, f = J(a, "this")) : f = h, La(h) ? c[k] = h.apply(f, e) : g("AVM1 warning: obj '" + h + (h ? "' is not callable" : "' is undefined")), Da(c.length === k + 1)) : (h === Ja ? (f = u(J(a, "__class").__super), h = J(a, "this")) : f = h, a = q(f, d), f = f.asGetPublicProperty(a), La(f) ? (Da(c.length === k + 1), c[k] =
f.apply(h, e)) : g("AVM1 warning: method '" + d + "' on object", h, b.isNullOrUndefined(f) ? "is undefined" : "is not callable"));
}
function Qa(a, b) {
a.constantPool = b[0];
}
function Ra(a, b) {
var c = a.stack, d = a.scope, h = b[1], e = K(a, b[0], h, b[2], 0, null, 0);
h ? d.asSetPublicProperty(h, e) : c.push(e);
}
function Sa(a) {
var b = a.stack;
a = a.scope;
var c = b.pop(), b = b.pop();
a.asSetPublicProperty(b, c);
}
function Ta(a) {
var b = a.scope;
a = a.stack.pop();
b.asSetPublicProperty(a, void 0);
}
function Ua(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
c.asSetPublicProperty(b, void 0);
a.push(c.asDeleteProperty(void 0, b, 0));
}
function Wa(a) {
var b = a.stack, c;
a: {
c = b.pop();
for (a = a.scopeContainer;a;a = a.next) {
if (a.scope.asHasProperty(void 0, c, 0)) {
a.scope.asSetPublicProperty(c, void 0);
c = a.scope.asDeleteProperty(void 0, c, 0);
break a;
}
}
c = !1;
}
b.push(c);
}
function Xa(a) {
var c = a.stack, d = c.pop();
c.push(null);
a = J(a, d);
b.isNullOrUndefined(a) || h(a, function(a) {
c.push(a);
});
}
function Ya(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
a.push(b == c);
}
function Za(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
"prototype" === b ? a.push(x(c)) : (b = q(c, b), a.push(null === b ? void 0 : l(c, b)));
}
function $a(a) {
a = a.stack;
var b = E(a);
a.push(b);
}
function ab(a) {
a = a.stack;
var b = +a.pop();
C(b, a.length >> 1);
for (var c = {}, d = 0;d < b;d++) {
var h = a.pop(), e = a.pop();
c.asSetPublicProperty(e, h);
}
a.push(c);
}
function bb(a) {
a = a.stack;
var c = a.pop(), d = a.pop(), h = E(a), e = a.length;
a.push(void 0);
if (b.isNullOrUndefined(d)) {
g("AVM1 warning: method '" + c + "' can't be constructed on undefined object");
} else {
var f;
b.isNullOrUndefined(c) || "" === c ? f = d : (f = q(d, c), f = d.asGetPublicProperty(f));
h = r(f, h);
void 0 === h && g("AVM1 warning: method '" + c + "' on object", d, "is not constructible");
a[e] = h;
Da(a.length === e + 1);
}
}
function cb(a) {
var b = a.stack, c = b.pop(), d = E(b), h = b.length;
b.push(void 0);
a = J(a, c);
var e = I(a, d);
void 0 === e && (e = r(a, d), void 0 === e && g("AVM1 warning: object '" + c + (a ? "' is not constructible" : "' is undefined")));
Da(b.length === h + 1);
b[h] = e;
}
function db(a) {
var c = a.stack;
a = c.pop();
var d = c.pop(), c = c.pop();
b.isNullOrUndefined(c) ? g("AVM1 warning: cannot set member '" + d + "' on undefined object") : c.asSetPublicProperty(d, a);
}
function eb(a) {
a = a.stack;
var b = a.pop();
a.push("movieclip" === t(b) ? b._target : void 0);
}
function fb(a, b) {
var c = b[0], d = a.stack.pop(), h = a.constantPool, e = a.registers, d = a.scopeContainer.create(Object(d));
za(c, d, h, e);
}
function gb(a) {
a = a.stack;
a.push(c(a.pop()));
}
function hb(a) {
a = a.stack;
a.push(p(a.pop()));
}
function ib(a) {
a = a.stack;
var b = a.pop();
a.push(t(b));
}
function jb(a) {
a = a.stack;
var b = d(a.pop()), h = d(a.pop());
"string" === typeof b || "string" === typeof h ? a.push(p(h) + p(b)) : a.push(c(h) + c(b));
}
function kb(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
a.push(e(c, b));
}
function lb(a) {
a = a.stack;
var b = c(a.pop()), d = c(a.pop());
a.push(d % b);
}
function mb(a) {
a = a.stack;
var b = n(a.pop()), c = n(a.pop());
a.push(c & b);
}
function nb(a) {
a = a.stack;
var b = n(a.pop()), c = n(a.pop());
a.push(c << b);
}
function ob(a) {
a = a.stack;
var b = n(a.pop()), c = n(a.pop());
a.push(c | b);
}
function pb(a) {
a = a.stack;
var b = n(a.pop()), c = n(a.pop());
a.push(c >> b);
}
function qb(a) {
a = a.stack;
var b = n(a.pop()), c = n(a.pop());
a.push(c >>> b);
}
function rb(a) {
a = a.stack;
var b = n(a.pop()), c = n(a.pop());
a.push(c ^ b);
}
function sb(a) {
a = a.stack;
var b = c(a.pop());
b--;
a.push(b);
}
function tb(a) {
a = a.stack;
var b = c(a.pop());
b++;
a.push(b);
}
function ub(a) {
a = a.stack;
a.push(a[a.length - 1]);
}
function vb(a) {
a.isEndOfActions = !0;
}
function wb(a) {
a = a.stack;
a.push(a.pop(), a.pop());
}
function xb(a, b) {
var c = a.stack;
a.registers[b[0]] = c[c.length - 1];
}
function yb(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
a.push(c instanceof b ? !0 : !1);
}
function zb(a) {
var c = a.stack;
a = c.pop();
c.push(null);
b.isNullOrUndefined(a) ? g("AVM1 warning: cannot iterate over undefined object") : h(a, function(a) {
c.push(a);
});
}
function Ab(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
a.push(c === b);
}
function Bb(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
a.push(e(b, c));
}
function Cb(a) {
var b = a.stack;
a = a.isSwfVersion5;
var c = p(b.pop()), c = p(b.pop()) > c;
b.push(a ? c : c ? 1 : 0);
}
function Db(a, b) {
var c = a.stack, d = a.scope, h = b[1], e = K(a, b[0], h, b[2], b[3], b[4], b[5]);
h ? d.asSetPublicProperty(h, e) : c.push(e);
}
function Eb(a) {
var b = a.stack;
a = b.pop();
var b = b.pop(), c = Object.create(a.traitsPrototype || u(a), {constructor:{value:b, enumerable:!1}});
b.__super = a;
b.prototype = c;
}
function Fb(a) {
a = a.stack;
var b = a.pop(), c = a.pop();
a.push(b instanceof c ? b : null);
}
function Gb(a) {
a = a.stack;
var b = a.pop(), c = +a.pop();
C(c, a.length);
for (var d = [], h = 0;h < c;h++) {
d.push(a.pop());
}
b._as2Interfaces = d;
}
function Hb(a, b) {
var c = b[5], d = b[3], h = b[1], e = b[2], f = b[4], g = b[6], k = a.context, l = a.scopeContainer, m = a.scope, n = a.constantPool, r = a.registers, p = k.isTryCatchListening, x;
try {
k.isTryCatchListening = !0, za(e, l, n, r);
} catch (q) {
k.isTryCatchListening = p, d && q instanceof Ka ? ("string" === typeof h ? m.asSetPublicProperty(h, q.error) : r[h] = q.error, za(f, l, n, r)) : x = q;
}
k.isTryCatchListening = p;
c && za(g, l, n, r);
if (x) {
throw x;
}
}
function Ib(a) {
a = a.stack.pop();
throw new Ka(a);
}
function Jb(a) {
var b = a.stack, c = a.global, d = E(b);
a = b.length;
b.push(void 0);
c = c.fscommand.apply(null, d);
b[a] = c;
}
function Pb(a, b) {
}
function Qb(a) {
return function(c, d) {
var h;
try {
a(c, d), c.recoveringFromError = !1;
} catch (e) {
h = c.context;
e = w(e);
if (e instanceof ua) {
throw e;
}
if (e instanceof Ka) {
throw e;
}
Kb.instance.reportTelemetry({topic:"error", error:1});
if (!c.recoveringFromError) {
if (1E3 <= h.errorsIgnored++) {
throw new ua("long running script -- AVM1 errors limit is reached");
}
console.log(typeof e);
console.log(Object.getPrototypeOf(e));
console.log(Object.getPrototypeOf(Object.getPrototypeOf(e)));
console.error("AVM1 error: " + e);
b.AVM2.Runtime.AVM2.instance.exceptions.push({source:"avm1", message:e.message, stack:e.stack});
c.recoveringFromError = !0;
}
}
};
}
function Rb() {
var a;
a = k.avm1ErrorsEnabled.value ? function(a) {
return a;
} : Qb;
return{ActionGotoFrame:a(A), ActionGetURL:a(B), ActionNextFrame:a(z), ActionPreviousFrame:a(P), ActionPlay:a(D), ActionStop:a(L), ActionToggleQuality:a(M), ActionStopSounds:a(V), ActionWaitForFrame:a(Q), ActionSetTarget:a(U), ActionGoToLabel:a(S), ActionPush:a(aa), ActionPop:a($), ActionAdd:a(ea), ActionSubtract:a(Z), ActionMultiply:a(v), ActionDivide:a(X), ActionEquals:a(ba), ActionLess:a(R), ActionAnd:a(H), ActionOr:a(Y), ActionNot:a(ga), ActionStringEquals:a(ca), ActionStringLength:a(ka),
ActionMBStringLength:a(W), ActionStringAdd:a(ha), ActionStringExtract:a(da), ActionMBStringExtract:a(ja), ActionStringLess:a(N), ActionToInteger:a(ma), ActionCharToAscii:a(T), ActionMBCharToAscii:a(oa), ActionAsciiToChar:a(pa), ActionMBAsciiToChar:a(na), ActionJump:a(fa), ActionIf:a(sa), ActionCall:a(xa), ActionGetVariable:a(la), ActionSetVariable:a(qa), ActionGetURL2:a(ia), ActionGotoFrame2:a(wa), ActionSetTarget2:a(Ia), ActionGetProperty:a(va), ActionSetProperty:a(ya), ActionCloneSprite:a(Ga),
ActionRemoveSprite:a(Ha), ActionStartDrag:a(Aa), ActionEndDrag:a(ra), ActionWaitForFrame2:a(ta), ActionTrace:a(Ba), ActionGetTime:a(Ma), ActionRandomNumber:a(Na), ActionCallFunction:a(Oa), ActionCallMethod:a(Pa), ActionConstantPool:a(Qa), ActionDefineFunction:a(Ra), ActionDefineLocal:a(Sa), ActionDefineLocal2:a(Ta), ActionDelete:a(Ua), ActionDelete2:a(Wa), ActionEnumerate:a(Xa), ActionEquals2:a(Ya), ActionGetMember:a(Za), ActionInitArray:a($a), ActionInitObject:a(ab), ActionNewMethod:a(bb),
ActionNewObject:a(cb), ActionSetMember:a(db), ActionTargetPath:a(eb), ActionWith:a(fb), ActionToNumber:a(gb), ActionToString:a(hb), ActionTypeOf:a(ib), ActionAdd2:a(jb), ActionLess2:a(kb), ActionModulo:a(lb), ActionBitAnd:a(mb), ActionBitLShift:a(nb), ActionBitOr:a(ob), ActionBitRShift:a(pb), ActionBitURShift:a(qb), ActionBitXor:a(rb), ActionDecrement:a(sb), ActionIncrement:a(tb), ActionPushDuplicate:a(ub), ActionReturn:a(vb), ActionStackSwap:a(wb), ActionStoreRegister:a(xb), ActionInstanceOf:a(yb),
ActionEnumerate2:a(zb), ActionStrictEquals:a(Ab), ActionGreater:a(Bb), ActionStringGreater:a(Cb), ActionDefineFunction2:a(Db), ActionExtends:a(Eb), ActionCastOp:a(Fb), ActionImplementsOp:a(Gb), ActionTry:a(Hb), ActionThrow:a(Ib), ActionFSCommand2:a(Jb), ActionStrictMode:a(Pb)};
}
function za(a, c, d, h) {
var e = k.AVM1Context.instance;
if (!a.ir) {
var f = new k.ActionsDataStream(a.bytes, e.swfVersion), f = new k.ActionsDataParser(f);
f.dataId = a.id;
var g = new k.ActionsDataAnalyzer;
a.ir = g.analyze(f);
if (k.avm1CompilerEnabled.value) {
try {
var l = new Sb;
a.ir.compiled = l.generate(a.ir);
} catch (m) {
console.error("Unable to compile AVM1 function: " + m);
}
}
}
a = a.ir;
var f = a.compiled, l = [], n = 5 <= e.swfVersion, r = Va.get(), g = c.scope;
c = {context:e, global:e.globals, scopeContainer:c, scope:g, actionTracer:r, constantPool:d, registers:h, stack:l, isSwfVersion5:n, recoveringFromError:!1, isEndOfActions:!1};
g._nativeAS3Object && g._nativeAS3Object._deferScriptExecution && (e.deferScriptExecution = !0);
if (f) {
return f(c);
}
d = 0;
e = e.abortExecutionAt;
if (k.avm1DebuggerEnabled.value && (k.Debugger.pause || k.Debugger.breakpoints[a.dataId])) {
debugger;
}
for (h = a.actions[0];h && !c.isEndOfActions;) {
if (0 === d++ % 1E3 && Date.now() >= e) {
throw new ua("long running script -- AVM1 instruction hang timeout");
}
f = c;
g = n = void 0;
try {
var n = f, p = h.action, x = p.actionCode, q = p.args;
n.actionTracer.print(p, n.stack);
r = !1;
switch(x | 0) {
case 129:
A(n, q);
break;
case 131:
B(n, q);
break;
case 4:
z(n);
break;
case 5:
P(n);
break;
case 6:
D(n);
break;
case 7:
L(n);
break;
case 8:
M(n);
break;
case 9:
V(n);
break;
case 138:
r = Q(n, q);
break;
case 139:
U(n, q);
break;
case 140:
S(n, q);
break;
case 150:
aa(n, q);
break;
case 23:
$(n);
break;
case 10:
ea(n);
break;
case 11:
Z(n);
break;
case 12:
v(n);
break;
case 13:
X(n);
break;
case 14:
ba(n);
break;
case 15:
R(n);
break;
case 16:
H(n);
break;
case 17:
Y(n);
break;
case 18:
ga(n);
break;
case 19:
ca(n);
break;
case 20:
ka(n);
break;
case 49:
W(n);
break;
case 33:
ha(n);
break;
case 21:
da(n);
break;
case 53:
ja(n);
break;
case 41:
N(n);
break;
case 24:
ma(n);
break;
case 50:
T(n);
break;
case 54:
oa(n);
break;
case 51:
pa(n);
break;
case 55:
na(n);
break;
case 153:
break;
case 157:
r = sa(n, q);
break;
case 158:
xa(n);
break;
case 28:
la(n);
break;
case 29:
qa(n);
break;
case 154:
ia(n, q);
break;
case 159:
wa(n, q);
break;
case 32:
Ia(n);
break;
case 34:
va(n);
break;
case 35:
ya(n);
break;
case 36:
Ga(n);
break;
case 37:
Ha(n);
break;
case 39:
Aa(n);
break;
case 40:
ra(n);
break;
case 141:
r = ta(n, q);
break;
case 38:
Ba(n);
break;
case 52:
Ma(n);
break;
case 48:
Na(n);
break;
case 61:
Oa(n);
break;
case 82:
Pa(n);
break;
case 136:
Qa(n, q);
break;
case 155:
Ra(n, q);
break;
case 60:
Sa(n);
break;
case 65:
Ta(n);
break;
case 58:
Ua(n);
break;
case 59:
Wa(n);
break;
case 70:
Xa(n);
break;
case 73:
Ya(n);
break;
case 78:
Za(n);
break;
case 66:
$a(n);
break;
case 67:
ab(n);
break;
case 83:
bb(n);
break;
case 64:
cb(n);
break;
case 79:
db(n);
break;
case 69:
eb(n);
break;
case 148:
fb(n, q);
break;
case 74:
gb(n);
break;
case 75:
hb(n);
break;
case 68:
ib(n);
break;
case 71:
jb(n);
break;
case 72:
kb(n);
break;
case 63:
lb(n);
break;
case 96:
mb(n);
break;
case 99:
nb(n);
break;
case 97:
ob(n);
break;
case 100:
pb(n);
break;
case 101:
qb(n);
break;
case 98:
rb(n);
break;
case 81:
sb(n);
break;
case 80:
tb(n);
break;
case 76:
ub(n);
break;
case 62:
vb(n);
break;
case 77:
wb(n);
break;
case 135:
xb(n, q);
break;
case 84:
yb(n);
break;
case 85:
zb(n);
break;
case 102:
Ab(n);
break;
case 103:
Bb(n);
break;
case 104:
Cb(n);
break;
case 142:
Db(n, q);
break;
case 105:
Eb(n);
break;
case 43:
Fb(n);
break;
case 44:
Gb(n);
break;
case 143:
Hb(n, q);
break;
case 42:
Ib(n);
break;
case 45:
Jb(n);
break;
case 137:
break;
case 0:
n.isEndOfActions = !0;
break;
default:
throw Error("Unknown action code: " + x);;
}
g = r;
f.recoveringFromError = !1;
} catch (u) {
n = f.context;
u = w(u);
if (k.avm1ErrorsEnabled.value && !n.isTryCatchListening || u instanceof ua) {
throw u;
}
if (u instanceof Ka) {
throw u;
}
Kb.instance.reportTelemetry({topic:"error", error:1});
if (!f.recoveringFromError) {
if (1E3 <= n.errorsIgnored++) {
throw new ua("long running script -- AVM1 errors limit is reached");
}
console.error("AVM1 error: " + u);
b.AVM2.Runtime.AVM2.instance.exceptions.push({source:"avm1", message:u.message, stack:u.stack});
f.recoveringFromError = !0;
}
}
h = g ? h.conditionalJumpTo : h.next;
h = a.actions[h];
}
return l.pop();
}
var Lb = b.AVM2.ABC.Multiname, Ob = b.AVM2.Runtime.forEachPublicProperty, Nb = b.AVM2.Runtime.construct, Mb = b.isNumeric, La = b.isFunction, Tb = b.Debug.notImplemented, Ea = b.Options.Option, Kb = b.Telemetry, Da = b.Debug.assert, Fa = b.Settings.shumwayOptions.register(new b.Options.OptionSet("AVM1"));
k.avm1TraceEnabled = Fa.register(new Ea("t1", "traceAvm1", "boolean", !1, "trace AVM1 execution"));
k.avm1ErrorsEnabled = Fa.register(new Ea("e1", "errorsAvm1", "boolean", !1, "fail on AVM1 warnings and errors"));
k.avm1TimeoutDisabled = Fa.register(new Ea("ha1", "nohangAvm1", "boolean", !1, "disable fail on AVM1 hang"));
k.avm1CompilerEnabled = Fa.register(new Ea("ca1", "compileAvm1", "boolean", !0, "compiles AVM1 code"));
k.avm1DebuggerEnabled = Fa.register(new Ea("da1", "debugAvm1", "boolean", !1, "allows AVM1 code debugging"));
k.Debugger = {pause:!1, breakpoints:{}};
var Ub = function() {
function a(b, c) {
this.scope = b;
this.next = c;
}
a.prototype.create = function(b) {
return new a(b, this);
};
return a;
}(), Vb = function(a) {
function c(d) {
a.call(this);
this.swfVersion = d;
this.globals = new b.AVM2.AS.avm1lib.AVM1Globals;
8 <= d && this.globals.asSetPublicProperty("flash", b.AVM2.AS.avm1lib.createFlashObject());
this.initialScope = new Ub(this.globals, null);
this.assets = {};
this.assetsSymbols = [];
this.assetsClasses = [];
this.executionProhibited = this.isActive = !1;
this.stackDepth = this.abortExecutionAt = 0;
this.isTryCatchListening = !1;
this.errorsIgnored = 0;
this.deferScriptExecution = !0;
this.pendingScripts = [];
}
__extends(c, a);
c.prototype.addAsset = function(a, c, d) {
this.assets[a] = c;
this.assetsSymbols[c] && b.Debug.warning("Symbol " + c + " was exported already under different name");
this.assetsSymbols[c] = d;
};
c.prototype.registerClass = function(a, c) {
var d = this.assets[a];
void 0 === d ? b.Debug.error("Cannot register " + a + " class for symbol") : this.assetsClasses[d] = c;
};
c.prototype.getAsset = function(a) {
a = this.assets[a];
return void 0 === a ? void 0 : {symbolId:a, symbolProps:this.assetsSymbols[a], theClass:this.assetsClasses[a]};
};
c.prototype.resolveTarget = function(a) {
var b = this.currentTarget || this.defaultTarget;
a ? "string" === typeof a && (a = G(a, b, this.globals.asGetPublicProperty("_root"))) : a = b;
if ("object" !== typeof a || null === a || !("_nativeAS3Object" in a)) {
throw Error("Invalid AVM1 target object: " + Object.prototype.toString.call(a));
}
return a;
};
c.prototype.resolveLevel = function(a) {
return this.resolveTarget(this.globals["_level" + a]);
};
c.prototype.addToPendingScripts = function(a) {
this.deferScriptExecution ? this.pendingScripts.push(a) : a();
};
c.prototype.flushPendingScripts = function() {
for (var a = this.pendingScripts;a.length;) {
a.shift()();
}
this.deferScriptExecution = !1;
};
c.prototype.executeActions = function(a, b) {
y(a, this, b);
};
return c;
}(k.AVM1Context);
k.AVM1Context.create = function(a) {
return new Vb(a);
};
var Ka = function() {
return function(a) {
this.error = a;
};
}(), ua = function(a) {
function b(c, d) {
a.call(this, c);
this.error = d;
}
__extends(b, a);
return b;
}(Error);
k.executeActions = y;
var Ja = {}, Sb = function() {
function a() {
a.cachedCalls || (a.cachedCalls = Rb());
}
a.prototype.convertArgs = function(a, b, c) {
for (var d = [], h = 0;h < a.length;h++) {
var e = a[h];
if ("object" !== typeof e || null === e || Array.isArray(e)) {
void 0 === e ? d.push("undefined") : d.push(JSON.stringify(e));
} else {
if (e instanceof k.ParsedPushConstantAction) {
var f = "", g = c.constantPool;
g && (f = g[e.constantIndex], f = void 0 === f ? "undefined" : JSON.stringify(f), f = 0 <= f.indexOf("*/") ? "" : " /* " + f + " */");
d.push("constantPool[" + e.constantIndex + "]" + f);
} else {
e instanceof k.ParsedPushRegisterAction ? d.push("registers[" + e.registerNumber + "]") : e instanceof k.AVM1ActionsData ? (f = "code_" + b + "_" + h, c[f] = e, d.push("res." + f)) : Tb("Unknown AVM1 action argument type");
}
}
}
return d.join(",");
};
a.prototype.convertAction = function(a, b, c) {
switch(a.action.actionCode) {
case 153:
;
case 62:
return "";
case 136:
return c.constantPool = a.action.args[0], " constantPool = [" + this.convertArgs(a.action.args[0], b, c) + "];\n ectx.constantPool = constantPool;\n";
case 150:
return " stack.push(" + this.convertArgs(a.action.args, b, c) + ");\n";
case 138:
;
case 141:
return " if (calls." + a.action.actionName + "(ectx,[" + this.convertArgs(a.action.args, b, c) + "])) { position = " + a.conditionalJumpTo + "; break; }\n";
case 157:
return " if (!!stack.pop()) { position = " + a.conditionalJumpTo + "; break; }\n";
default:
return " calls." + a.action.actionName + "(ectx" + (a.action.args ? ",[" + this.convertArgs(a.action.args, b, c) + "]" : "") + ");\n";
}
};
a.prototype.checkAvm1Timeout = function(a) {
if (Date.now() >= a.context.abortExecutionAt) {
throw new ua("long running script -- AVM1 instruction hang timeout");
}
};
a.prototype.generate = function(b) {
var c = this, d = b.blocks, h = {}, e = 0;
b = b.dataId;
var f = "return function avm1gen_" + b + "(ectx) {\nvar position = 0;\nvar checkTimeAfter = 0;\nvar constantPool = ectx.constantPool, registers = ectx.registers, stack = ectx.stack;\n";
k.avm1DebuggerEnabled.value && (f += "/* Running " + b + " */ if (Shumway.AVM1.Debugger.pause || Shumway.AVM1.Debugger.breakpoints." + b + ") { debugger; }\n");
f += "while (!ectx.isEndOfActions) {\nif (checkTimeAfter <= 0) { checkTimeAfter = 1000; checkTimeout(ectx); }\nswitch(position) {\n";
d.forEach(function(a) {
f += " case " + a.label + ":\n";
a.items.forEach(function(a) {
f += c.convertAction(a, e++, h);
});
f += " position = " + a.jump + ";\n checkTimeAfter -= " + a.items.length + ";\n break;\n";
});
f += " default: ectx.isEndOfActions = true; break;\n}\n}\nreturn stack.pop();};";
return(new Function("calls", "res", "checkTimeout", f))(a.cachedCalls, h, this.checkAvm1Timeout);
};
return a;
}(), Va = function() {
function a() {
}
a.get = function() {
return k.avm1TraceEnabled.value ? a.tracer : a.nullTracer;
};
a.tracer = function() {
var a = 0;
return{print:function(b, c) {
for (var d = b.position, h = b.actionCode, e = b.actionName, f = [], g = 0;g < c.length;g++) {
var k = c[g];
f.push(k && "object" === typeof k ? "[" + (k.constructor && k.constructor.name ? k.constructor.name : "Object") + "]" : k);
}
g = Array(a + 1).join("..");
console.log("AVM1 trace: " + g + d + ": " + e + "(" + h.toString(16) + "), stack=" + f);
}, indent:function() {
a++;
}, unindent:function() {
a--;
}, message:function(a) {
console.log("AVM1 trace: ------- " + a);
}};
}();
a.nullTracer = {print:function(a, b) {
}, indent:function() {
}, unindent:function() {
}, message:function(a) {
}};
return a;
}();
})(b.AVM1 || (b.AVM1 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var g = b.AVM2.AS.ASObject, k = b.AVM2.AS.flash, m = b.AVM1.AVM1Context, d = function(a) {
function b() {
}
__extends(b, a);
b.addProperty = function(a, b, c, d, f) {
"undefined" === typeof f && (f = !0);
a.asDefinePublicProperty(b, {get:c, set:d || void 0, enumerable:f, configurable:!0});
};
b.resolveTarget = function(a) {
"undefined" === typeof a && (a = void 0);
return m.instance.resolveTarget(a);
};
b.resolveLevel = function(a) {
return m.instance.resolveLevel(+a);
};
Object.defineProperty(b, "currentStage", {get:function() {
return f.getAVM1Object(m.instance.root._nativeAS3Object.stage);
}, enumerable:!0, configurable:!0});
Object.defineProperty(b, "swfVersion", {get:function() {
return m.instance.swfVersion;
}, enumerable:!0, configurable:!0});
b.getAVM1Object = function(a) {
return f.getAVM1Object(a);
};
b._installObjectMethods = function() {
var a = g.asGetPublicProperty("prototype");
g.asSetPublicProperty("registerClass", function(a, b) {
m.instance.registerClass(a, b);
});
a.asDefinePublicProperty("addProperty", {value:function(a, b, c) {
if ("string" !== typeof a || "" === a || "function" !== typeof b || "function" !== typeof c && null !== c) {
return!1;
}
this.asDefinePublicProperty(a, {get:b, set:c || void 0, configurable:!0, enumerable:!0});
return!0;
}, writable:!1, enumerable:!1, configurable:!1});
};
b.classInitializer = null;
b.initializer = null;
b.classSymbols = ["createFlashObject!"];
b.instanceSymbols = null;
return b;
}(b.AVM2.AS.ASNative);
f.AVM1Utils = d;
f.initDefaultListeners = function(a) {
var b = a.asGetPublicProperty("_as2DefaultListeners");
if (b) {
for (var d = 0;d < b.length;d++) {
var f = b[d];
f.asGetPublicProperty("setter").call(a, f.value);
}
}
};
f.createFlashObject = function() {
return d.createFlashObject();
};
f.getAVM1Object = function(a) {
return a ? a._as2Object ? a._as2Object : k.display.MovieClip.isType(a) ? a._avm1SymbolClass ? b.AVM2.AS.avm1lib.AVM1MovieClip._initFromConstructor(a._avm1SymbolClass, a) : new b.AVM2.AS.avm1lib.AVM1MovieClip(a) : k.display.SimpleButton.isType(a) ? new b.AVM2.AS.avm1lib.AVM1Button(a) : k.text.TextField.isType(a) ? new b.AVM2.AS.avm1lib.AVM1TextField(a) : k.display.BitmapData.isType(a) ? new a : null : null;
};
})(g.avm1lib || (g.avm1lib = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var k = b.Debug.somewhatImplemented, s;
(function(b) {
b[b.IdleToOverUp = 1] = "IdleToOverUp";
b[b.OverUpToIdle = 2] = "OverUpToIdle";
b[b.OverUpToOverDown = 4] = "OverUpToOverDown";
b[b.OverDownToOverUp = 8] = "OverDownToOverUp";
b[b.OverDownToOutDown = 16] = "OverDownToOutDown";
b[b.OutDownToOverDown = 32] = "OutDownToOverDown";
b[b.OutDownToIdle = 64] = "OutDownToIdle";
b[b.IdleToOverDown = 128] = "IdleToOverDown";
b[b.OverDownToIdle = 256] = "OverDownToIdle";
})(s || (s = {}));
var m = [-1, 37, 39, 36, 35, 45, 46, -1, 8, -1, -1, -1, -1, 13, 38, 40, 33, 34, 9, 27];
s = function(d) {
function a(a) {
a && this._init(a);
}
__extends(a, d);
a.prototype._init = function(a) {
this._nativeAS3Object = a;
f.initDefaultListeners(this);
if (a._symbol && a._symbol.buttonActions) {
this._nativeAS3Object.addEventListener("addedToStage", this._addListeners.bind(this));
this._nativeAS3Object.addEventListener("removedFromStage", this._removeListeners.bind(this));
var d = this._requiredListeners = Object.create(null);
a = this._actions = a._symbol.buttonActions;
for (var g = 0;g < a.length;g++) {
var e = a[g];
e.actionsBlock || (e.actionsBlock = new b.AVM1.AVM1ActionsData(e.actionsData, "i" + g));
if (e.keyCode) {
d.keyDown = this._keyDownHandler.bind(this);
} else {
var m;
switch(e.stateTransitionFlags) {
case 64:
m = "releaseOutside";
break;
case 1:
m = "rollOver";
break;
case 2:
m = "rollOut";
break;
case 4:
m = "mouseDown";
break;
case 8:
m = "mouseUp";
break;
case 16:
;
case 32:
k("AVM1 drag over/out button actions");
break;
case 128:
;
case 256:
k("AVM1 drag trackAsMenu over/out button actions");
break;
default:
warn("Unknown AVM1 button action type: " + e.stateTransitionFlags);
continue;
}
d[m] = this._mouseEventHandler.bind(this, e.stateTransitionFlags);
}
}
}
};
a.prototype._addListeners = function() {
for (var a in this._requiredListeners) {
("keyDown" === a ? this._nativeAS3Object.stage : this._nativeAS3Object).addEventListener(a, this._requiredListeners[a]);
}
};
a.prototype._removeListeners = function() {
for (var a in this._requiredListeners) {
("keyDown" === a ? this._nativeAS3Object.stage : this._nativeAS3Object).removeEventListener(a, this._requiredListeners[a]);
}
};
a.prototype._keyDownHandler = function(a) {
for (var b = this._actions, d = 0;d < b.length;d++) {
var e = b[d];
e.keyCode && (32 > e.keyCode && m[e.keyCode] === a.asGetPublicProperty("keyCode") || e.keyCode === a.asGetPublicProperty("charCode")) && this._runAction(e);
}
};
a.prototype._mouseEventHandler = function(a) {
for (var b = this._actions, d = 0;d < b.length;d++) {
var e = b[d];
e.stateTransitionFlags === a && this._runAction(e);
}
};
a.prototype._runAction = function(a) {
this._nativeAS3Object.loaderInfo._avm1Context.executeActions(a.actionsBlock, f.getAVM1Object(this._nativeAS3Object._parent));
};
Object.defineProperty(a.prototype, "_as3Object", {get:function() {
return this._nativeAS3Object;
}, enumerable:!0, configurable:!0});
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(g.ASNative);
f.AVM1Button = s;
})(g.avm1lib || (g.avm1lib = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var k = b.Debug.assert, s = b.Debug.notImplemented, m = b.AVM2.AS.flash.text.TextFormat, d = b.AVM1.AVM1Context, a = b.AVM2.AS.Natives, c = function(b) {
function c() {
s("Dummy Constructor: public avm1lib.AVM1Globals");
}
__extends(c, b);
c._addInternalClasses = function(a) {
a.asSetPublicProperty("Object", g.ASObject);
a.asSetPublicProperty("Function", g.ASFunction);
a.asSetPublicProperty("Array", g.ASArray);
a.asSetPublicProperty("Number", g.ASNumber);
a.asSetPublicProperty("Math", g.ASMath);
a.asSetPublicProperty("Boolean", g.ASBoolean);
a.asSetPublicProperty("Date", g.ASDate);
a.asSetPublicProperty("RegExp", g.ASRegExp);
a.asSetPublicProperty("String", g.ASString);
};
c.prototype.ASSetPropFlags = function(a, b, c, d) {
};
c.prototype._addToPendingScripts = function(a, b, c) {
"undefined" === typeof c && (c = null);
k(b, "invalid function in _addToPendingScripts");
d.instance.addToPendingScripts(function() {
b.apply(a, c);
});
};
c.prototype.escape = function(a) {
return encodeURIComponent(a).replace(/\!|'|\(|\)|\*|-|\.|_|~/g, function(a) {
switch(a) {
case "*":
return "%2A";
case "-":
return "%2D";
case ".":
return "%2E";
case "_":
return "%5F";
default:
return globalEscape(a);
}
});
};
c.prototype.unescape = function(a) {
return decodeURIComponent(a);
};
c.prototype._setLevel = function(a, b) {
};
c.prototype.trace = function(b) {
a.print(b);
};
c.classInitializer = null;
c.initializer = function() {
m.prototype.asDefinePublicProperty("getTextExtent", {value:f.AVM1TextFormat.prototype._as2GetTextExtent, writable:!1, enumerable:!1, configurable:!1});
};
c.classSymbols = null;
c.instanceSymbols = "_global! flash $asfunction call! chr! clearInterval! clearTimeout! duplicateMovieClip! fscommand! getAVM1Property! getTimer! getURL! getVersion! gotoAndPlay! gotoAndStop! gotoLabel! ifFrameLoaded! int! length! loadMovie! loadMovieNum! loadVariables! mbchr! mblength! mbord! mbsubstring! nextFrame! nextScene! ord! play! prevFrame! prevScene! print! printAsBitmap! printAsBitmapNum! printNum! random! removeMovieClip! setInterval! setAVM1Property! setTimeout! showRedrawRegions! startDrag! stop! stopAllSounds! stopDrag! substring! targetPath! toggleHighQuality! unloadMovie! unloadMovieNum! updateAfterEvent!".split(" ");
return c;
}(g.ASNative);
f.AVM1Globals = c;
})(g.avm1lib || (g.avm1lib = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
var globalEscape = this.escape;
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var k = b.Debug.assert, s = b.AVM2.Runtime.construct, m = b.AVM1.AVM1Context, d = function(a) {
function c(a) {
this._nativeAS3Object = a;
this._boundExecuteFrameScripts = this._frameScripts = null;
}
__extends(c, a);
c.prototype._init = function(a) {
!this._nativeAS3Object && a && (this._nativeAS3Object = a, a._as2Object = this, f.initDefaultListeners(this));
};
Object.defineProperty(c.prototype, "context", {set:function(a) {
k(!this._context);
this._context = a;
}, enumerable:!0, configurable:!0});
c._initFromConstructor = function(a, b) {
var c = Object.create(a.asGetPublicProperty("prototype"));
c._nativeAS3Object = b;
b._as2Object = c;
f.initDefaultListeners(c);
a.call(c);
return c;
};
Object.defineProperty(c.prototype, "_as3Object", {get:function() {
return this._nativeAS3Object;
}, enumerable:!0, configurable:!0});
c.prototype.attachBitmap = function(a, b, c, d) {
"undefined" === typeof c && (c = "auto");
"undefined" === typeof d && (d = !1);
a = s(g.flash.display.Bitmap, [a, c, d]);
this._insertChildAtDepth(a, b);
};
c.prototype._constructMovieClipSymbol = function(a, b) {
var c = m.instance.getAsset(a), d = Object.create(c.symbolProps);
d.avm1Name = b;
d.avm1SymbolClass = c.theClass;
c = g.flash.display.MovieClip.initializeFrom(d);
g.flash.display.MovieClip.instanceConstructorNoInitialize.call(c);
return c;
};
c.prototype.addFrameActionBlocks = function(a, b) {
var c = b.initActionBlocks, d = b.actionBlocks;
c && this._addInitActionBlocks(a, c);
if (d) {
for (c = 0;c < d.length;c++) {
this.addFrameScript(a, d[c]);
}
}
};
c.prototype.addFrameScript = function(a, c) {
var d = this._frameScripts;
d || (k(!this._boundExecuteFrameScripts), this._boundExecuteFrameScripts = this._executeFrameScripts.bind(this), d = this._frameScripts = []);
var f = d[a + 1];
f || (f = d[a + 1] = [], this._nativeAS3Object.addFrameScript(a, this._boundExecuteFrameScripts));
d = new b.AVM1.AVM1ActionsData(c, "f" + a + "i" + f.length);
f.push(d);
};
c.prototype._addInitActionBlocks = function(a, c) {
function d(k) {
if (f.currentFrame === a + 1) {
f.removeEventListener("enterFrame", d);
k = g._context;
for (var m = 0;m < c.length;m++) {
var r = new b.AVM1.AVM1ActionsData(c[m].actionsData, "f" + a + "i" + m);
k.executeActions(r, g);
}
}
}
var f = this._nativeAS3Object, g = this;
f.addEventListener("enterFrame", d);
};
c.prototype._executeFrameScripts = function() {
var a = this._context, b = this._frameScripts[this._nativeAS3Object.currentFrame];
k(b && b.length);
for (var c = 0;c < b.length;c++) {
a.executeActions(b[c], this);
}
};
c.prototype._callFrame = function(a) {
};
c.prototype._insertChildAtDepth = function(a, b) {
var c = this._nativeAS3Object;
c.addTimelineObjectAtDepth(a, Math.min(c.numChildren, b));
if (!g.flash.display.Bitmap.isType(a)) {
var c = f.getAVM1Object(a), d = a.name;
d && void 0 === this.asGetPublicProperty(d) && this.asSetPublicProperty(d, c);
}
};
c.prototype.getInstanceAtDepth = function(a) {
for (var b = this._nativeAS3Object, c = 0, d = b.numChildren;c < d;c++) {
var k = b.getChildAt(c);
if (k && k._depth === a) {
return g.flash.display.Bitmap.isType(k) ? this : f.getAVM1Object(k);
}
}
return null;
};
c.prototype.getNextHighestDepth = function() {
for (var a = this._nativeAS3Object, b = 0, c = 0, d = a.numChildren;c < d;c++) {
var f = a.getChildAt(c);
f._depth > b && (b = f._depth);
}
return b + 1;
};
c.prototype._duplicate = function(a, b, c) {
};
c.prototype._gotoLabel = function(a) {
this._nativeAS3Object._gotoFrame(a, null);
};
c.classInitializer = null;
c.initializer = null;
c.classSymbols = null;
c.instanceSymbols = ["__lookupChild!", "__targetPath!"];
return c;
}(g.ASNative);
f.AVM1MovieClip = d;
})(g.avm1lib || (g.avm1lib = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
var k = function(b) {
function f() {
}
__extends(f, b);
Object.defineProperty(f.prototype, "_as3Object", {get:function() {
return this._nativeAS3Object;
}, enumerable:!0, configurable:!0});
f.prototype._setAS3Object = function(b) {
this._nativeAS3Object = b;
};
Object.defineProperty(f.prototype, "_bytesLoaded", {get:function() {
return this._nativeAS3Object._contentLoaderInfo._bytesLoaded;
}, enumerable:!0, configurable:!0});
f.classInitializer = null;
f.initializer = null;
f.classSymbols = null;
f.instanceSymbols = null;
return f;
}(b.ASNative);
f.AVM1MovieClipLoader = k;
})(b.avm1lib || (b.avm1lib = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var g = b.AVM2.Runtime.asCoerceString, k = b.AVM1.AVM1Context, m = function(d) {
function a(a, b, d) {
}
__extends(a, d);
a.loadBitmap = function(c) {
c = g(c);
return(c = k.instance.getAsset(c)) && c.symbolProps instanceof b.Timeline.BitmapSymbol ? (c = a.initializeFrom(c), c.class.instanceConstructorNoInitialize.call(c), c) : null;
};
a.classInitializer = null;
a.initializer = null;
a.classSymbols = null;
a.instanceSymbols = null;
return a;
}(b.AVM2.AS.flash.display.BitmapData);
f.AVM1BitmapData = m;
})(g.avm1lib || (g.avm1lib = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
(function(f) {
var k = function(b) {
function g(b) {
this._variable = "";
this._init(b);
}
__extends(g, b);
g.prototype._init = function(b) {
this._nativeAS3Object = b;
b._as2Object = this;
f.initDefaultListeners(this);
};
Object.defineProperty(g.prototype, "_as3Object", {get:function() {
return this._nativeAS3Object;
}, enumerable:!0, configurable:!0});
Object.defineProperty(g.prototype, "variable", {get:function() {
return this._variable;
}, set:function(b) {
if (b !== this._variable) {
this._variable = b;
var a = this._nativeAS3Object, c;
if (0 <= b.indexOf(".") || 0 <= b.indexOf(":")) {
var g = b.split(/[.:\/]/g);
b = g.pop();
"_root" == g[0] || "" === g[0] ? (c = f.getAVM1Object(a.root), g.shift(), "" === g[0] && g.shift()) : c = f.getAVM1Object(a._parent);
for (;0 < g.length;) {
var k = g.shift();
c = c.asGetPublicProperty(k) || c[k];
if (!c) {
throw Error("Cannot find " + k + " variable");
}
}
} else {
c = f.getAVM1Object(a._parent);
}
c.asHasProperty(void 0, b, 0) || c.asSetPublicProperty(b, a.text);
a._addEventListener("advanceFrame", function() {
a.text = "" + c.asGetPublicProperty(b);
});
}
}, enumerable:!0, configurable:!0});
g.classInitializer = null;
g.initializer = null;
g.classSymbols = null;
g.instanceSymbols = null;
return g;
}(b.ASNative);
f.AVM1TextField = k;
})(b.avm1lib || (b.avm1lib = {}));
})(b.AS || (b.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
(function(f) {
var g = b.AVM2.AS.flash.text.TextField, k = function(b) {
function d() {
b.apply(this, arguments);
}
__extends(d, b);
d.prototype._as2GetTextExtent = function(a, b) {
var f = d._measureTextField;
f || (f = new g, f.multiline = !0, d._measureTextField = f);
!isNaN(b) && 0 < b ? (f.width = b + 4, f.wordWrap = !0) : f.wordWrap = !1;
f.defaultTextFormat = this;
f.text = a;
var k = {}, e = f.textWidth, m = f.textHeight;
k.asSetPublicProperty("width", e);
k.asSetPublicProperty("height", m);
k.asSetPublicProperty("textFieldWidth", e + 4);
k.asSetPublicProperty("textFieldHeight", m + 4);
f = f.getLineMetrics();
k.asSetPublicProperty("ascent", f.asGetPublicProperty("ascent"));
k.asSetPublicProperty("descent", f.asGetPublicProperty("descent"));
return k;
};
return d;
}(b.AVM2.AS.flash.text.TextFormat);
f.AVM1TextFormat = k;
})(g.avm1lib || (g.avm1lib = {}));
})(k.AS || (k.AS = {}));
})(b.AVM2 || (b.AVM2 = {}));
})(Shumway || (Shumway = {}));
console.timeEnd("Load AVM1 Dependencies");
(function(b) {
(function(k) {
function g(a, d, h) {
return c && h ? "string" === typeof d ? (a = b.ColorUtilities.cssStyleToRGBA(d), b.ColorUtilities.rgbaToCSSStyle(h.transformRGBA(a))) : d instanceof CanvasGradient && d._template ? d._template.createCanvasGradient(a, h) : d : d;
}
var f = b.Debug.assert, t = b.NumberUtilities.clamp;
(function(a) {
a[a.None = 0] = "None";
a[a.Brief = 1] = "Brief";
a[a.Verbose = 2] = "Verbose";
})(k.TraceLevel || (k.TraceLevel = {}));
var s = b.Metrics.Counter.instance;
k.frameCounter = new b.Metrics.Counter(!0);
k.traceLevel = 2;
k.writer = null;
k.frameCount = function(a) {
s.count(a);
k.frameCounter.count(a);
};
k.timelineBuffer = new b.Tools.Profiler.TimelineBuffer("GFX");
k.enterTimeline = function(a, b) {
};
k.leaveTimeline = function(a, b) {
};
var m = null, d = null, a = null, c = !0;
c && "undefined" !== typeof CanvasRenderingContext2D && (m = CanvasGradient.prototype.addColorStop, d = CanvasRenderingContext2D.prototype.createLinearGradient, a = CanvasRenderingContext2D.prototype.createRadialGradient, CanvasRenderingContext2D.prototype.createLinearGradient = function(a, b, c, d) {
return(new p(a, b, c, d)).createCanvasGradient(this, null);
}, CanvasRenderingContext2D.prototype.createRadialGradient = function(a, b, c, d, h, f) {
return(new e(a, b, c, d, h, f)).createCanvasGradient(this, null);
}, CanvasGradient.prototype.addColorStop = function(a, b) {
m.call(this, a, b);
this._template.addColorStop(a, b);
});
var n = function() {
return function(a, b) {
this.offset = a;
this.color = b;
};
}(), p = function() {
function a(b, c, d, h) {
this.x0 = b;
this.y0 = c;
this.x1 = d;
this.y1 = h;
this.colorStops = [];
}
a.prototype.addColorStop = function(a, b) {
this.colorStops.push(new n(a, b));
};
a.prototype.createCanvasGradient = function(a, b) {
for (var c = d.call(a, this.x0, this.y0, this.x1, this.y1), h = this.colorStops, e = 0;e < h.length;e++) {
var f = h[e], k = f.offset, f = f.color, f = b ? g(a, f, b) : f;
m.call(c, k, f);
}
c._template = this;
c._transform = this._transform;
return c;
};
return a;
}(), e = function() {
function b(a, c, d, h, f, e) {
this.x0 = a;
this.y0 = c;
this.r0 = d;
this.x1 = h;
this.y1 = f;
this.r1 = e;
this.colorStops = [];
}
b.prototype.addColorStop = function(a, b) {
this.colorStops.push(new n(a, b));
};
b.prototype.createCanvasGradient = function(b, c) {
for (var d = a.call(b, this.x0, this.y0, this.r0, this.x1, this.y1, this.r1), h = this.colorStops, f = 0;f < h.length;f++) {
var e = h[f], k = e.offset, e = e.color, e = c ? g(b, e, c) : e;
m.call(d, k, e);
}
d._template = this;
d._transform = this._transform;
return d;
};
return b;
}(), q;
(function(a) {
a[a.ClosePath = 1] = "ClosePath";
a[a.MoveTo = 2] = "MoveTo";
a[a.LineTo = 3] = "LineTo";
a[a.QuadraticCurveTo = 4] = "QuadraticCurveTo";
a[a.BezierCurveTo = 5] = "BezierCurveTo";
a[a.ArcTo = 6] = "ArcTo";
a[a.Rect = 7] = "Rect";
a[a.Arc = 8] = "Arc";
a[a.Save = 9] = "Save";
a[a.Restore = 10] = "Restore";
a[a.Transform = 11] = "Transform";
})(q || (q = {}));
var l = function() {
function a(b) {
this._commands = new Uint8Array(a._arrayBufferPool.acquire(8), 0, 8);
this._commandPosition = 0;
this._data = new Float64Array(a._arrayBufferPool.acquire(8 * Float64Array.BYTES_PER_ELEMENT), 0, 8);
this._dataPosition = 0;
b instanceof a && this.addPath(b);
}
a._apply = function(a, b) {
var c = a._commands, d = a._data, h = 0, e = 0;
b.beginPath();
for (var f = a._commandPosition;h < f;) {
switch(c[h++]) {
case 1:
b.closePath();
break;
case 2:
b.moveTo(d[e++], d[e++]);
break;
case 3:
b.lineTo(d[e++], d[e++]);
break;
case 4:
b.quadraticCurveTo(d[e++], d[e++], d[e++], d[e++]);
break;
case 5:
b.bezierCurveTo(d[e++], d[e++], d[e++], d[e++], d[e++], d[e++]);
break;
case 6:
b.arcTo(d[e++], d[e++], d[e++], d[e++], d[e++]);
break;
case 7:
b.rect(d[e++], d[e++], d[e++], d[e++]);
break;
case 8:
b.arc(d[e++], d[e++], d[e++], d[e++], d[e++], !!d[e++]);
break;
case 9:
b.save();
break;
case 10:
b.restore();
break;
case 11:
b.transform(d[e++], d[e++], d[e++], d[e++], d[e++], d[e++]);
}
}
};
a.prototype._ensureCommandCapacity = function(b) {
this._commands = a._arrayBufferPool.ensureUint8ArrayLength(this._commands, b);
};
a.prototype._ensureDataCapacity = function(b) {
this._data = a._arrayBufferPool.ensureFloat64ArrayLength(this._data, b);
};
a.prototype._writeCommand = function(a) {
this._commandPosition >= this._commands.length && this._ensureCommandCapacity(this._commandPosition + 1);
this._commands[this._commandPosition++] = a;
};
a.prototype._writeData = function(a, b, c, d, h, e) {
var g = arguments.length;
f(6 >= g && (0 === g % 2 || 5 === g));
this._dataPosition + g >= this._data.length && this._ensureDataCapacity(this._dataPosition + g);
var k = this._data, l = this._dataPosition;
k[l] = a;
k[l + 1] = b;
2 < g && (k[l + 2] = c, k[l + 3] = d, 4 < g && (k[l + 4] = h, 6 === g && (k[l + 5] = e)));
this._dataPosition += g;
};
a.prototype.closePath = function() {
this._writeCommand(1);
};
a.prototype.moveTo = function(a, b) {
this._writeCommand(2);
this._writeData(a, b);
};
a.prototype.lineTo = function(a, b) {
this._writeCommand(3);
this._writeData(a, b);
};
a.prototype.quadraticCurveTo = function(a, b, c, d) {
this._writeCommand(4);
this._writeData(a, b, c, d);
};
a.prototype.bezierCurveTo = function(a, b, c, d, h, e) {
this._writeCommand(5);
this._writeData(a, b, c, d, h, e);
};
a.prototype.arcTo = function(a, b, c, d, h) {
this._writeCommand(6);
this._writeData(a, b, c, d, h);
};
a.prototype.rect = function(a, b, c, d) {
this._writeCommand(7);
this._writeData(a, b, c, d);
};
a.prototype.arc = function(a, b, c, d, h, e) {
this._writeCommand(8);
this._writeData(a, b, c, d, h, +e);
};
a.prototype.addPath = function(a, b) {
b && (this._writeCommand(9), this._writeCommand(11), this._writeData(b.a, b.b, b.c, b.d, b.e, b.f));
var c = this._commandPosition + a._commandPosition;
c >= this._commands.length && this._ensureCommandCapacity(c);
for (var d = this._commands, h = a._commands, e = this._commandPosition, f = 0;e < c;e++) {
d[e] = h[f++];
}
this._commandPosition = c;
c = this._dataPosition + a._dataPosition;
c >= this._data.length && this._ensureDataCapacity(c);
d = this._data;
h = a._data;
e = this._dataPosition;
for (f = 0;e < c;e++) {
d[e] = h[f++];
}
this._dataPosition = c;
b && this._writeCommand(10);
};
a._arrayBufferPool = new b.ArrayBufferPool;
return a;
}();
k.Path = l;
if ("undefined" !== typeof CanvasRenderingContext2D && ("undefined" === typeof Path2D || !Path2D.prototype.addPath)) {
var u = CanvasRenderingContext2D.prototype.fill;
CanvasRenderingContext2D.prototype.fill = function(a, b) {
arguments.length && (a instanceof l ? l._apply(a, this) : b = a);
b ? u.call(this, b) : u.call(this);
};
var w = CanvasRenderingContext2D.prototype.stroke;
CanvasRenderingContext2D.prototype.stroke = function(a, b) {
arguments.length && (a instanceof l ? l._apply(a, this) : b = a);
b ? w.call(this, b) : w.call(this);
};
var r = CanvasRenderingContext2D.prototype.clip;
CanvasRenderingContext2D.prototype.clip = function(a, b) {
arguments.length && (a instanceof l ? l._apply(a, this) : b = a);
b ? r.call(this, b) : r.call(this);
};
window.Path2D = l;
}
if ("undefined" !== typeof CanvasPattern && Path2D.prototype.addPath) {
q = function(a) {
this._transform = a;
this._template && (this._template._transform = a);
};
CanvasPattern.prototype.setTransform || (CanvasPattern.prototype.setTransform = q);
CanvasGradient.prototype.setTransform || (CanvasGradient.prototype.setTransform = q);
var h = CanvasRenderingContext2D.prototype.fill, x = CanvasRenderingContext2D.prototype.stroke;
CanvasRenderingContext2D.prototype.fill = function(a, b) {
var c = !!this.fillStyle._transform;
if ((this.fillStyle instanceof CanvasPattern || this.fillStyle instanceof CanvasGradient) && c && a instanceof Path2D) {
var c = this.fillStyle._transform, d;
try {
d = c.inverse();
} catch (e) {
d = c = k.Geometry.Matrix.createIdentitySVGMatrix();
}
this.transform(c.a, c.b, c.c, c.d, c.e, c.f);
c = new Path2D;
c.addPath(a, d);
h.call(this, c, b);
this.transform(d.a, d.b, d.c, d.d, d.e, d.f);
} else {
0 === arguments.length ? h.call(this) : 1 === arguments.length ? h.call(this, a) : 2 === arguments.length && h.call(this, a, b);
}
};
CanvasRenderingContext2D.prototype.stroke = function(a) {
var b = !!this.strokeStyle._transform;
if ((this.strokeStyle instanceof CanvasPattern || this.strokeStyle instanceof CanvasGradient) && b && a instanceof Path2D) {
var c = this.strokeStyle._transform, b = c.inverse();
this.transform(c.a, c.b, c.c, c.d, c.e, c.f);
c = new Path2D;
c.addPath(a, b);
var d = this.lineWidth;
this.lineWidth *= (b.a + b.d) / 2;
x.call(this, c);
this.transform(b.a, b.b, b.c, b.d, b.e, b.f);
this.lineWidth = d;
} else {
0 === arguments.length ? x.call(this) : 1 === arguments.length && x.call(this, a);
}
};
}
"undefined" !== typeof CanvasRenderingContext2D && function() {
function a(b) {
return b.a;
}
function b(a) {
return a.d;
}
CanvasRenderingContext2D.prototype.flashStroke = function(c, d) {
var h = this.currentTransform;
if (!h) {
if (h = this.mozCurrentTransform) {
h = k.Geometry.Matrix.createSVGMatrixFromArray(h);
} else {
this.stroke(c);
return;
}
}
var e = new Path2D;
e.addPath(c, h);
var f = this.lineWidth;
this.setTransform(1, 0, 0, 1, 0, 0);
switch(d) {
case 1:
this.lineWidth = t(f * (a(h) + b(h)) / 2, 1, 1024);
break;
case 2:
this.lineWidth = t(f * b(h), 1, 1024);
break;
case 3:
this.lineWidth = t(f * a(h), 1, 1024);
}
this.stroke(e);
this.setTransform(h.a, h.b, h.c, h.d, h.e, h.f);
this.lineWidth = f;
};
}();
if ("undefined" !== typeof CanvasRenderingContext2D && void 0 === CanvasRenderingContext2D.prototype.globalColorMatrix) {
var y = CanvasRenderingContext2D.prototype.fill, G = CanvasRenderingContext2D.prototype.stroke, I = CanvasRenderingContext2D.prototype.fillText, C = CanvasRenderingContext2D.prototype.strokeText;
Object.defineProperty(CanvasRenderingContext2D.prototype, "globalColorMatrix", {get:function() {
return this._globalColorMatrix ? this._globalColorMatrix.clone() : null;
}, set:function(a) {
a ? this._globalColorMatrix ? this._globalColorMatrix.set(a) : this._globalColorMatrix = a.clone() : this._globalColorMatrix = null;
}, enumerable:!0, configurable:!0});
CanvasRenderingContext2D.prototype.fill = function(a, b) {
var c = null;
this._globalColorMatrix && (c = this.fillStyle, this.fillStyle = g(this, this.fillStyle, this._globalColorMatrix));
0 === arguments.length ? y.call(this) : 1 === arguments.length ? y.call(this, a) : 2 === arguments.length && y.call(this, a, b);
c && (this.fillStyle = c);
};
CanvasRenderingContext2D.prototype.stroke = function(a, b) {
var c = null;
this._globalColorMatrix && (c = this.strokeStyle, this.strokeStyle = g(this, this.strokeStyle, this._globalColorMatrix));
0 === arguments.length ? G.call(this) : 1 === arguments.length && G.call(this, a);
c && (this.strokeStyle = c);
};
CanvasRenderingContext2D.prototype.fillText = function(a, c, d, h) {
var e = null;
this._globalColorMatrix && (e = this.fillStyle, this.fillStyle = g(this, this.fillStyle, this._globalColorMatrix));
3 === arguments.length ? I.call(this, a, c, d) : 4 === arguments.length ? I.call(this, a, c, d, h) : b.Debug.unexpected();
e && (this.fillStyle = e);
};
CanvasRenderingContext2D.prototype.strokeText = function(a, c, d, h) {
var e = null;
this._globalColorMatrix && (e = this.strokeStyle, this.strokeStyle = g(this, this.strokeStyle, this._globalColorMatrix));
3 === arguments.length ? C.call(this, a, c, d) : 4 === arguments.length ? C.call(this, a, c, d, h) : b.Debug.unexpected();
e && (this.strokeStyle = e);
};
}
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
var k = b.Debug.assert, g = function() {
function b() {
this._count = 0;
this._head = this._tail = null;
}
Object.defineProperty(b.prototype, "count", {get:function() {
return this._count;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "head", {get:function() {
return this._head;
}, enumerable:!0, configurable:!0});
b.prototype._unshift = function(b) {
k(!b.next && !b.previous);
0 === this._count ? this._head = this._tail = b : (b.next = this._head, this._head = b.next.previous = b);
this._count++;
};
b.prototype._remove = function(b) {
k(0 < this._count);
b === this._head && b === this._tail ? this._head = this._tail = null : b === this._head ? (this._head = b.next, this._head.previous = null) : b == this._tail ? (this._tail = b.previous, this._tail.next = null) : (b.previous.next = b.next, b.next.previous = b.previous);
b.previous = b.next = null;
this._count--;
};
b.prototype.use = function(b) {
this._head !== b && ((b.next || b.previous || this._tail === b) && this._remove(b), this._unshift(b));
};
b.prototype.pop = function() {
if (!this._tail) {
return null;
}
var b = this._tail;
this._remove(b);
return b;
};
b.prototype.visit = function(b, f) {
"undefined" === typeof f && (f = !0);
for (var g = f ? this._head : this._tail;g && b(g);) {
g = f ? g.next : g.previous;
}
};
return b;
}();
b.LRUList = g;
})(Shumway || (Shumway = {}));
var Shumway$$inline_404 = Shumway || (Shumway = {}), GFX$$inline_405 = Shumway$$inline_404.GFX || (Shumway$$inline_404.GFX = {}), Option$$inline_406 = Shumway$$inline_404.Options.Option, OptionSet$$inline_407 = Shumway$$inline_404.Options.OptionSet, shumwayOptions$$inline_408 = Shumway$$inline_404.Settings.shumwayOptions, rendererOptions$$inline_409 = shumwayOptions$$inline_408.register(new OptionSet$$inline_407("Renderer Options"));
GFX$$inline_405.imageUpdateOption = rendererOptions$$inline_409.register(new Option$$inline_406("", "imageUpdate", "boolean", !0, "Enable image updating."));
GFX$$inline_405.imageConvertOption = rendererOptions$$inline_409.register(new Option$$inline_406("", "imageConvert", "boolean", !0, "Enable image conversion."));
GFX$$inline_405.stageOptions = shumwayOptions$$inline_408.register(new OptionSet$$inline_407("Stage Renderer Options"));
GFX$$inline_405.forcePaint = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "forcePaint", "boolean", !1, "Force repainting."));
GFX$$inline_405.ignoreViewport = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "ignoreViewport", "boolean", !1, "Cull elements outside of the viewport."));
GFX$$inline_405.viewportLoupeDiameter = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "viewportLoupeDiameter", "number", 256, "Size of the viewport loupe.", {range:{min:1, max:1024, step:1}}));
GFX$$inline_405.disableClipping = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "disableClipping", "boolean", !1, "Disable clipping."));
GFX$$inline_405.debugClipping = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "debugClipping", "boolean", !1, "Disable clipping."));
GFX$$inline_405.backend = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "backend", "number", 0, "Backends", {choices:{Canvas2D:0, WebGL:1, Both:2}}));
GFX$$inline_405.hud = GFX$$inline_405.stageOptions.register(new Option$$inline_406("", "hud", "boolean", !1, "Enable HUD."));
var webGLOptions$$inline_410 = GFX$$inline_405.stageOptions.register(new OptionSet$$inline_407("WebGL Options"));
GFX$$inline_405.perspectiveCamera = webGLOptions$$inline_410.register(new Option$$inline_406("", "pc", "boolean", !1, "Use perspective camera."));
GFX$$inline_405.perspectiveCameraFOV = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcFOV", "number", 60, "Perspective Camera FOV."));
GFX$$inline_405.perspectiveCameraDistance = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcDistance", "number", 2, "Perspective Camera Distance."));
GFX$$inline_405.perspectiveCameraAngle = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcAngle", "number", 0, "Perspective Camera Angle."));
GFX$$inline_405.perspectiveCameraAngleRotate = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcRotate", "boolean", !1, "Rotate Use perspective camera."));
GFX$$inline_405.perspectiveCameraSpacing = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcSpacing", "number", .01, "Element Spacing."));
GFX$$inline_405.perspectiveCameraSpacingInflate = webGLOptions$$inline_410.register(new Option$$inline_406("", "pcInflate", "boolean", !1, "Rotate Use perspective camera."));
GFX$$inline_405.drawTiles = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawTiles", "boolean", !1, "Draw WebGL Tiles"));
GFX$$inline_405.drawSurfaces = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawSurfaces", "boolean", !1, "Draw WebGL Surfaces."));
GFX$$inline_405.drawSurface = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawSurface", "number", -1, "Draw WebGL Surface #"));
GFX$$inline_405.drawElements = webGLOptions$$inline_410.register(new Option$$inline_406("", "drawElements", "boolean", !0, "Actually call gl.drawElements. This is useful to test if the GPU is the bottleneck."));
GFX$$inline_405.disableSurfaceUploads = webGLOptions$$inline_410.register(new Option$$inline_406("", "disableSurfaceUploads", "boolean", !1, "Disable surface uploads."));
GFX$$inline_405.premultipliedAlpha = webGLOptions$$inline_410.register(new Option$$inline_406("", "premultipliedAlpha", "boolean", !1, "Set the premultipliedAlpha flag on getContext()."));
GFX$$inline_405.unpackPremultiplyAlpha = webGLOptions$$inline_410.register(new Option$$inline_406("", "unpackPremultiplyAlpha", "boolean", !0, "Use UNPACK_PREMULTIPLY_ALPHA_WEBGL in pixelStorei."));
var factorChoices$$inline_411 = {ZERO:0, ONE:1, SRC_COLOR:768, ONE_MINUS_SRC_COLOR:769, DST_COLOR:774, ONE_MINUS_DST_COLOR:775, SRC_ALPHA:770, ONE_MINUS_SRC_ALPHA:771, DST_ALPHA:772, ONE_MINUS_DST_ALPHA:773, SRC_ALPHA_SATURATE:776, CONSTANT_COLOR:32769, ONE_MINUS_CONSTANT_COLOR:32770, CONSTANT_ALPHA:32771, ONE_MINUS_CONSTANT_ALPHA:32772};
GFX$$inline_405.sourceBlendFactor = webGLOptions$$inline_410.register(new Option$$inline_406("", "sourceBlendFactor", "number", factorChoices$$inline_411.ONE, "", {choices:factorChoices$$inline_411}));
GFX$$inline_405.destinationBlendFactor = webGLOptions$$inline_410.register(new Option$$inline_406("", "destinationBlendFactor", "number", factorChoices$$inline_411.ONE_MINUS_SRC_ALPHA, "", {choices:factorChoices$$inline_411}));
var canvas2DOptions$$inline_412 = GFX$$inline_405.stageOptions.register(new OptionSet$$inline_407("Canvas2D Options"));
GFX$$inline_405.clipDirtyRegions = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "clipDirtyRegions", "boolean", !1, "Clip dirty regions."));
GFX$$inline_405.clipCanvas = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "clipCanvas", "boolean", !1, "Clip Regions."));
GFX$$inline_405.cull = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cull", "boolean", !1, "Enable culling."));
GFX$$inline_405.compositeMask = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "compositeMask", "boolean", !1, "Composite Mask."));
GFX$$inline_405.snapToDevicePixels = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "snapToDevicePixels", "boolean", !1, ""));
GFX$$inline_405.imageSmoothing = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "imageSmoothing", "boolean", !1, ""));
GFX$$inline_405.blending = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "blending", "boolean", !0, ""));
GFX$$inline_405.cacheShapes = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cacheShapes", "boolean", !1, ""));
GFX$$inline_405.cacheShapesMaxSize = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cacheShapesMaxSize", "number", 256, "", {range:{min:1, max:1024, step:1}}));
GFX$$inline_405.cacheShapesThreshold = canvas2DOptions$$inline_412.register(new Option$$inline_406("", "cacheShapesThreshold", "number", 256, "", {range:{min:1, max:1024, step:1}}));
var GFX$$inline_413 = Shumway$$inline_404.GFX;
(function(b) {
(function(k) {
(function(g) {
function f(a, b, c, d) {
var e = 1 - d;
return a * e * e + 2 * b * e * d + c * d * d;
}
function t(a, b, c, d, e) {
var f = e * e, g = 1 - e, k = g * g;
return a * g * k + 3 * b * e * k + 3 * c * g * f + d * e * f;
}
var s = b.NumberUtilities.clamp, m = b.NumberUtilities.pow2, d = b.NumberUtilities.epsilonEquals, a = b.Debug.assert;
g.radianToDegrees = function(a) {
return 180 * a / Math.PI;
};
g.degreesToRadian = function(a) {
return a * Math.PI / 180;
};
g.quadraticBezier = f;
g.quadraticBezierExtreme = function(a, b, c) {
var d = (a - b) / (a - 2 * b + c);
return 0 > d ? a : 1 < d ? c : f(a, b, c, d);
};
g.cubicBezier = t;
g.cubicBezierExtremes = function(a, b, c, d) {
var e = b - a, f;
f = 2 * (c - b);
var g = d - c;
e + g === f && (g *= 1.0001);
var k = 2 * e - f, l = f - 2 * e, l = Math.sqrt(l * l - 4 * e * (e - f + g));
f = 2 * (e - f + g);
e = (k + l) / f;
k = (k - l) / f;
l = [];
0 <= e && 1 >= e && l.push(t(a, b, c, d, e));
0 <= k && 1 >= k && l.push(t(a, b, c, d, k));
return l;
};
var c = function() {
function a(b, c) {
this.x = b;
this.y = c;
}
a.prototype.setElements = function(a, b) {
this.x = a;
this.y = b;
return this;
};
a.prototype.set = function(a) {
this.x = a.x;
this.y = a.y;
return this;
};
a.prototype.dot = function(a) {
return this.x * a.x + this.y * a.y;
};
a.prototype.squaredLength = function() {
return this.dot(this);
};
a.prototype.distanceTo = function(a) {
return Math.sqrt(this.dot(a));
};
a.prototype.sub = function(a) {
this.x -= a.x;
this.y -= a.y;
return this;
};
a.prototype.mul = function(a) {
this.x *= a;
this.y *= a;
return this;
};
a.prototype.clone = function() {
return new a(this.x, this.y);
};
a.prototype.toString = function() {
return "{x: " + this.x + ", y: " + this.y + "}";
};
a.prototype.inTriangle = function(a, b, c) {
var d = a.y * c.x - a.x * c.y + (c.y - a.y) * this.x + (a.x - c.x) * this.y, e = a.x * b.y - a.y * b.x + (a.y - b.y) * this.x + (b.x - a.x) * this.y;
if (0 > d != 0 > e) {
return!1;
}
a = -b.y * c.x + a.y * (c.x - b.x) + a.x * (b.y - c.y) + b.x * c.y;
0 > a && (d = -d, e = -e, a = -a);
return 0 < d && 0 < e && d + e < a;
};
a.createEmpty = function() {
return new a(0, 0);
};
a.createEmptyPoints = function(b) {
for (var c = [], d = 0;d < b;d++) {
c.push(new a(0, 0));
}
return c;
};
return a;
}();
g.Point = c;
var n = function() {
function a(b, c, d) {
this.x = b;
this.y = c;
this.z = d;
}
a.prototype.setElements = function(a, b, c) {
this.x = a;
this.y = b;
this.z = c;
return this;
};
a.prototype.set = function(a) {
this.x = a.x;
this.y = a.y;
this.z = a.z;
return this;
};
a.prototype.dot = function(a) {
return this.x * a.x + this.y * a.y + this.z * a.z;
};
a.prototype.cross = function(a) {
var b = this.z * a.x - this.x * a.z, c = this.x * a.y - this.y * a.x;
this.x = this.y * a.z - this.z * a.y;
this.y = b;
this.z = c;
return this;
};
a.prototype.squaredLength = function() {
return this.dot(this);
};
a.prototype.sub = function(a) {
this.x -= a.x;
this.y -= a.y;
this.z -= a.z;
return this;
};
a.prototype.mul = function(a) {
this.x *= a;
this.y *= a;
this.z *= a;
return this;
};
a.prototype.normalize = function() {
var a = Math.sqrt(this.squaredLength());
1E-5 < a ? this.mul(1 / a) : this.setElements(0, 0, 0);
return this;
};
a.prototype.clone = function() {
return new a(this.x, this.y, this.z);
};
a.prototype.toString = function() {
return "{x: " + this.x + ", y: " + this.y + ", z: " + this.z + "}";
};
a.createEmpty = function() {
return new a(0, 0, 0);
};
a.createEmptyPoints = function(b) {
for (var c = [], d = 0;d < b;d++) {
c.push(new a(0, 0, 0));
}
return c;
};
return a;
}();
g.Point3D = n;
var p = function() {
function a(b, c, d, e) {
this.setElements(b, c, d, e);
}
a.prototype.setElements = function(a, b, c, d) {
this.x = a;
this.y = b;
this.w = c;
this.h = d;
};
a.prototype.set = function(a) {
this.x = a.x;
this.y = a.y;
this.w = a.w;
this.h = a.h;
};
a.prototype.contains = function(a) {
var b = a.x + a.w, c = a.y + a.h, d = this.x + this.w, e = this.y + this.h;
return a.x >= this.x && a.x < d && a.y >= this.y && a.y < e && b > this.x && b <= d && c > this.y && c <= e;
};
a.prototype.containsPoint = function(a) {
return a.x >= this.x && a.x < this.x + this.w && a.y >= this.y && a.y < this.y + this.h;
};
a.prototype.isContained = function(a) {
for (var b = 0;b < a.length;b++) {
if (a[b].contains(this)) {
return!0;
}
}
return!1;
};
a.prototype.isSmallerThan = function(a) {
return this.w < a.w && this.h < a.h;
};
a.prototype.isLargerThan = function(a) {
return this.w > a.w && this.h > a.h;
};
a.prototype.union = function(a) {
if (this.isEmpty()) {
this.set(a);
} else {
var b = this.x, c = this.y;
this.x > a.x && (b = a.x);
this.y > a.y && (c = a.y);
var d = this.x + this.w;
d < a.x + a.w && (d = a.x + a.w);
var e = this.y + this.h;
e < a.y + a.h && (e = a.y + a.h);
this.x = b;
this.y = c;
this.w = d - b;
this.h = e - c;
}
};
a.prototype.isEmpty = function() {
return 0 >= this.w || 0 >= this.h;
};
a.prototype.setEmpty = function() {
this.h = this.w = 0;
};
a.prototype.intersect = function(b) {
var c = a.createEmpty();
if (this.isEmpty() || b.isEmpty()) {
return c.setEmpty(), c;
}
c.x = Math.max(this.x, b.x);
c.y = Math.max(this.y, b.y);
c.w = Math.min(this.x + this.w, b.x + b.w) - c.x;
c.h = Math.min(this.y + this.h, b.y + b.h) - c.y;
c.isEmpty() && c.setEmpty();
this.set(c);
};
a.prototype.intersects = function(a) {
if (this.isEmpty() || a.isEmpty()) {
return!1;
}
var b = Math.max(this.x, a.x), c = Math.max(this.y, a.y), b = Math.min(this.x + this.w, a.x + a.w) - b;
a = Math.min(this.y + this.h, a.y + a.h) - c;
return!(0 >= b || 0 >= a);
};
a.prototype.intersectsTransformedAABB = function(b, c) {
var d = a._temporary;
d.set(b);
c.transformRectangleAABB(d);
return this.intersects(d);
};
a.prototype.intersectsTranslated = function(a, b, c) {
if (this.isEmpty() || a.isEmpty()) {
return!1;
}
var d = Math.max(this.x, a.x + b), e = Math.max(this.y, a.y + c);
b = Math.min(this.x + this.w, a.x + b + a.w) - d;
a = Math.min(this.y + this.h, a.y + c + a.h) - e;
return!(0 >= b || 0 >= a);
};
a.prototype.area = function() {
return this.w * this.h;
};
a.prototype.clone = function() {
return new a(this.x, this.y, this.w, this.h);
};
a.prototype.snap = function() {
var a = Math.ceil(this.x + this.w), b = Math.ceil(this.y + this.h);
this.x = Math.floor(this.x);
this.y = Math.floor(this.y);
this.w = a - this.x;
this.h = b - this.y;
return this;
};
a.prototype.scale = function(a, b) {
this.x *= a;
this.y *= b;
this.w *= a;
this.h *= b;
return this;
};
a.prototype.offset = function(a, b) {
this.x += a;
this.y += b;
return this;
};
a.prototype.resize = function(a, b) {
this.w += a;
this.h += b;
return this;
};
a.prototype.expand = function(a, b) {
this.offset(-a, -b).resize(2 * a, 2 * b);
return this;
};
a.prototype.getCenter = function() {
return new c(this.x + this.w / 2, this.y + this.h / 2);
};
a.prototype.getAbsoluteBounds = function() {
return new a(0, 0, this.w, this.h);
};
a.prototype.toString = function() {
return "{" + this.x + ", " + this.y + ", " + this.w + ", " + this.h + "}";
};
a.createEmpty = function() {
return new a(0, 0, 0, 0);
};
a.createSquare = function() {
return new a(-512, -512, 1024, 1024);
};
a.createMaxI16 = function() {
return new a(b.Numbers.MinI16, b.Numbers.MinI16, 65535, 65535);
};
a.prototype.getCorners = function(a) {
a[0].x = this.x;
a[0].y = this.y;
a[1].x = this.x + this.w;
a[1].y = this.y;
a[2].x = this.x + this.w;
a[2].y = this.y + this.h;
a[3].x = this.x;
a[3].y = this.y + this.h;
};
a._temporary = a.createEmpty();
return a;
}();
g.Rectangle = p;
var e = function() {
function a(b) {
this.corners = b.map(function(a) {
return a.clone();
});
this.axes = [b[1].clone().sub(b[0]), b[3].clone().sub(b[0])];
this.origins = [];
for (var c = 0;2 > c;c++) {
this.axes[c].mul(1 / this.axes[c].squaredLength()), this.origins.push(b[0].dot(this.axes[c]));
}
}
a.prototype.getBounds = function() {
return a.getBounds(this.corners);
};
a.getBounds = function(a) {
for (var b = new c(Number.MAX_VALUE, Number.MAX_VALUE), d = new c(Number.MIN_VALUE, Number.MIN_VALUE), e = 0;4 > e;e++) {
var f = a[e].x, g = a[e].y;
b.x = Math.min(b.x, f);
b.y = Math.min(b.y, g);
d.x = Math.max(d.x, f);
d.y = Math.max(d.y, g);
}
return new p(b.x, b.y, d.x - b.x, d.y - b.y);
};
a.prototype.intersects = function(a) {
return this.intersectsOneWay(a) && a.intersectsOneWay(this);
};
a.prototype.intersectsOneWay = function(a) {
for (var b = 0;2 > b;b++) {
for (var c = 0;4 > c;c++) {
var d = a.corners[c].dot(this.axes[b]), e, f;
0 === c ? f = e = d : d < e ? e = d : d > f && (f = d);
}
if (e > 1 + this.origins[b] || f < this.origins[b]) {
return!1;
}
}
return!0;
};
return a;
}();
g.OBB = e;
var q = function() {
function a(b, c, d, e, f, g) {
this._data = new Float64Array(6);
this.setElements(b, c, d, e, f, g);
}
Object.defineProperty(a.prototype, "a", {get:function() {
return this._data[0];
}, set:function(a) {
this._data[0] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "b", {get:function() {
return this._data[1];
}, set:function(a) {
this._data[1] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "c", {get:function() {
return this._data[2];
}, set:function(a) {
this._data[2] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "d", {get:function() {
return this._data[3];
}, set:function(a) {
this._data[3] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "tx", {get:function() {
return this._data[4];
}, set:function(a) {
this._data[4] = a;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "ty", {get:function() {
return this._data[5];
}, set:function(a) {
this._data[5] = a;
}, enumerable:!0, configurable:!0});
a.prototype.setElements = function(a, b, c, d, e, f) {
var g = this._data;
g[0] = a;
g[1] = b;
g[2] = c;
g[3] = d;
g[4] = e;
g[5] = f;
};
a.prototype.set = function(a) {
var b = this._data;
a = a._data;
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
b[3] = a[3];
b[4] = a[4];
b[5] = a[5];
};
a.prototype.emptyArea = function(a) {
a = this._data;
return 0 === a[0] || 0 === a[3] ? !0 : !1;
};
a.prototype.infiniteArea = function(a) {
a = this._data;
return Infinity === Math.abs(a[0]) || Infinity === Math.abs(a[3]) ? !0 : !1;
};
a.prototype.isEqual = function(a) {
var b = this._data;
a = a._data;
return b[0] === a[0] && b[1] === a[1] && b[2] === a[2] && b[3] === a[3] && b[4] === a[4] && b[5] === a[5];
};
a.prototype.clone = function() {
var b = this._data;
return new a(b[0], b[1], b[2], b[3], b[4], b[5]);
};
a.prototype.transform = function(a, b, c, d, e, f) {
var g = this._data, k = g[0], l = g[1], m = g[2], n = g[3], r = g[4], p = g[5];
g[0] = k * a + m * b;
g[1] = l * a + n * b;
g[2] = k * c + m * d;
g[3] = l * c + n * d;
g[4] = k * e + m * f + r;
g[5] = l * e + n * f + p;
return this;
};
a.prototype.transformRectangle = function(a, b) {
var c = this._data, d = c[0], e = c[1], f = c[2], g = c[3], k = c[4], c = c[5], l = a.x, m = a.y, n = a.w, r = a.h;
b[0].x = d * l + f * m + k;
b[0].y = e * l + g * m + c;
b[1].x = d * (l + n) + f * m + k;
b[1].y = e * (l + n) + g * m + c;
b[2].x = d * (l + n) + f * (m + r) + k;
b[2].y = e * (l + n) + g * (m + r) + c;
b[3].x = d * l + f * (m + r) + k;
b[3].y = e * l + g * (m + r) + c;
};
a.prototype.isTranslationOnly = function() {
var a = this._data;
return 1 === a[0] && 0 === a[1] && 0 === a[2] && 1 === a[3] || d(a[0], 1) && d(a[1], 0) && d(a[2], 0) && d(a[3], 1) ? !0 : !1;
};
a.prototype.transformRectangleAABB = function(a) {
var b = this._data, c = b[0], d = b[1], e = b[2], f = b[3], g = b[4], k = b[5], l = a.x, m = a.y, n = a.w, r = a.h, b = c * l + e * m + g, p = d * l + f * m + k, q = c * (l + n) + e * m + g, u = d * (l + n) + f * m + k, s = c * (l + n) + e * (m + r) + g, n = d * (l + n) + f * (m + r) + k, c = c * l + e * (m + r) + g, d = d * l + f * (m + r) + k, f = 0;
b > q && (f = b, b = q, q = f);
s > c && (f = s, s = c, c = f);
a.x = b < s ? b : s;
a.w = (q > c ? q : c) - a.x;
p > u && (f = p, p = u, u = f);
n > d && (f = n, n = d, d = f);
a.y = p < n ? p : n;
a.h = (u > d ? u : d) - a.y;
};
a.prototype.scale = function(a, b) {
var c = this._data;
c[0] *= a;
c[1] *= b;
c[2] *= a;
c[3] *= b;
c[4] *= a;
c[5] *= b;
return this;
};
a.prototype.scaleClone = function(a, b) {
return 1 === a && 1 === b ? this : this.clone().scale(a, b);
};
a.prototype.rotate = function(a) {
var b = this._data, c = b[0], d = b[1], e = b[2], f = b[3], g = b[4], k = b[5], l = Math.cos(a);
a = Math.sin(a);
b[0] = l * c - a * d;
b[1] = a * c + l * d;
b[2] = l * e - a * f;
b[3] = a * e + l * f;
b[4] = l * g - a * k;
b[5] = a * g + l * k;
return this;
};
a.prototype.concat = function(a) {
var b = this._data;
a = a._data;
var c = b[0] * a[0], d = 0, e = 0, f = b[3] * a[3], g = b[4] * a[0] + a[4], k = b[5] * a[3] + a[5];
if (0 !== b[1] || 0 !== b[2] || 0 !== a[1] || 0 !== a[2]) {
c += b[1] * a[2], f += b[2] * a[1], d += b[0] * a[1] + b[1] * a[3], e += b[2] * a[0] + b[3] * a[2], g += b[5] * a[2], k += b[4] * a[1];
}
b[0] = c;
b[1] = d;
b[2] = e;
b[3] = f;
b[4] = g;
b[5] = k;
};
a.prototype.preMultiply = function(a) {
var b = this._data;
a = a._data;
var c = a[0] * b[0], d = 0, e = 0, f = a[3] * b[3], g = a[4] * b[0] + b[4], k = a[5] * b[3] + b[5];
if (0 !== a[1] || 0 !== a[2] || 0 !== b[1] || 0 !== b[2]) {
c += a[1] * b[2], f += a[2] * b[1], d += a[0] * b[1] + a[1] * b[3], e += a[2] * b[0] + a[3] * b[2], g += a[5] * b[2], k += a[4] * b[1];
}
b[0] = c;
b[1] = d;
b[2] = e;
b[3] = f;
b[4] = g;
b[5] = k;
};
a.prototype.translate = function(a, b) {
var c = this._data;
c[4] += a;
c[5] += b;
return this;
};
a.prototype.setIdentity = function() {
var a = this._data;
a[0] = 1;
a[1] = 0;
a[2] = 0;
a[3] = 1;
a[4] = 0;
a[5] = 0;
};
a.prototype.isIdentity = function() {
var a = this._data;
return 1 === a[0] && 0 === a[1] && 0 === a[2] && 1 === a[3] && 0 === a[4] && 0 === a[5];
};
a.prototype.transformPoint = function(a) {
var b = this._data, c = a.x, d = a.y;
a.x = b[0] * c + b[2] * d + b[4];
a.y = b[1] * c + b[3] * d + b[5];
};
a.prototype.transformPoints = function(a) {
for (var b = 0;b < a.length;b++) {
this.transformPoint(a[b]);
}
};
a.prototype.deltaTransformPoint = function(a) {
var b = this._data, c = a.x, d = a.y;
a.x = b[0] * c + b[2] * d;
a.y = b[1] * c + b[3] * d;
};
a.prototype.inverse = function(a) {
var b = this._data, c = a._data, d = b[1], e = b[2], f = b[4], g = b[5];
if (0 === d && 0 === e) {
var k = c[0] = 1 / b[0], b = c[3] = 1 / b[3];
c[1] = 0;
c[2] = 0;
c[4] = -k * f;
c[5] = -b * g;
} else {
var k = b[0], b = b[3], l = k * b - d * e;
0 === l ? a.setIdentity() : (l = 1 / l, c[0] = b * l, d = c[1] = -d * l, e = c[2] = -e * l, b = c[3] = k * l, c[4] = -(c[0] * f + e * g), c[5] = -(d * f + b * g));
}
};
a.prototype.getTranslateX = function() {
return this._data[4];
};
a.prototype.getTranslateY = function() {
return this._data[4];
};
a.prototype.getScaleX = function() {
var a = this._data;
if (1 === a[0] && 0 === a[1]) {
return 1;
}
var b = Math.sqrt(a[0] * a[0] + a[1] * a[1]);
return 0 < a[0] ? b : -b;
};
a.prototype.getScaleY = function() {
var a = this._data;
if (0 === a[2] && 1 === a[3]) {
return 1;
}
var b = Math.sqrt(a[2] * a[2] + a[3] * a[3]);
return 0 < a[3] ? b : -b;
};
a.prototype.getAbsoluteScaleX = function() {
return Math.abs(this.getScaleX());
};
a.prototype.getAbsoluteScaleY = function() {
return Math.abs(this.getScaleY());
};
a.prototype.getRotation = function() {
var a = this._data;
return 180 * Math.atan(a[1] / a[0]) / Math.PI;
};
a.prototype.isScaleOrRotation = function() {
var a = this._data;
return.01 > Math.abs(a[0] * a[2] + a[1] * a[3]);
};
a.prototype.toString = function() {
var a = this._data;
return "{" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " + a[4] + ", " + a[5] + "}";
};
a.prototype.toWebGLMatrix = function() {
var a = this._data;
return new Float32Array([a[0], a[1], 0, a[2], a[3], 0, a[4], a[5], 1]);
};
a.prototype.toCSSTransform = function() {
var a = this._data;
return "matrix(" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " + a[4] + ", " + a[5] + ")";
};
a.createIdentity = function() {
return new a(1, 0, 0, 1, 0, 0);
};
a.prototype.toSVGMatrix = function() {
var b = this._data, c = a._svg.createSVGMatrix();
c.a = b[0];
c.b = b[1];
c.c = b[2];
c.d = b[3];
c.e = b[4];
c.f = b[5];
return c;
};
a.prototype.snap = function() {
var a = this._data;
return this.isTranslationOnly() ? (a[0] = 1, a[1] = 0, a[2] = 0, a[3] = 1, a[4] = Math.round(a[4]), a[5] = Math.round(a[5]), !0) : !1;
};
a.createIdentitySVGMatrix = function() {
return a._svg.createSVGMatrix();
};
a.createSVGMatrixFromArray = function(b) {
var c = a._svg.createSVGMatrix();
c.a = b[0];
c.b = b[1];
c.c = b[2];
c.d = b[3];
c.e = b[4];
c.f = b[5];
return c;
};
a._svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
a.multiply = function(a, b) {
var c = b._data;
a.transform(c[0], c[1], c[2], c[3], c[4], c[5]);
};
return a;
}();
g.Matrix = q;
q = function() {
function a(b) {
this._m = new Float32Array(b);
}
a.prototype.asWebGLMatrix = function() {
return this._m;
};
a.createCameraLookAt = function(b, c, d) {
c = b.clone().sub(c).normalize();
d = d.clone().cross(c).normalize();
var e = c.clone().cross(d);
return new a([d.x, d.y, d.z, 0, e.x, e.y, e.z, 0, c.x, c.y, c.z, 0, b.x, b.y, b.z, 1]);
};
a.createLookAt = function(b, c, d) {
c = b.clone().sub(c).normalize();
d = d.clone().cross(c).normalize();
var e = c.clone().cross(d);
return new a([d.x, e.x, c.x, 0, e.x, e.y, c.y, 0, c.x, e.z, c.z, 0, -d.dot(b), -e.dot(b), -c.dot(b), 1]);
};
a.prototype.mul = function(a) {
a = [a.x, a.y, a.z, 0];
for (var b = this._m, c = [], d = 0;4 > d;d++) {
c[d] = 0;
for (var e = 4 * d, f = 0;4 > f;f++) {
c[d] += b[e + f] * a[f];
}
}
return new n(c[0], c[1], c[2]);
};
a.create2DProjection = function(b, c, d) {
return new a([2 / b, 0, 0, 0, 0, -2 / c, 0, 0, 0, 0, 2 / d, 0, -1, 1, 0, 1]);
};
a.createPerspective = function(b, c, d, e) {
b = Math.tan(.5 * Math.PI - .5 * b);
var f = 1 / (d - e);
return new a([b / c, 0, 0, 0, 0, b, 0, 0, 0, 0, (d + e) * f, -1, 0, 0, d * e * f * 2, 0]);
};
a.createIdentity = function() {
return a.createTranslation();
};
a.createTranslation = function() {
return new a([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
};
a.createXRotation = function(b) {
var c = Math.cos(b);
b = Math.sin(b);
return new a([1, 0, 0, 0, 0, c, b, 0, 0, -b, c, 0, 0, 0, 0, 1]);
};
a.createYRotation = function(b) {
var c = Math.cos(b);
b = Math.sin(b);
return new a([c, 0, -b, 0, 0, 1, 0, 0, b, 0, c, 0, 0, 0, 0, 1]);
};
a.createZRotation = function(b) {
var c = Math.cos(b);
b = Math.sin(b);
return new a([c, b, 0, 0, -b, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
};
a.createScale = function(b, c, d) {
return new a([b, 0, 0, 0, 0, c, 0, 0, 0, 0, d, 0, 0, 0, 0, 1]);
};
a.createMultiply = function(b, c) {
var d = b._m, e = c._m, f = d[0], g = d[1], k = d[2], l = d[3], m = d[4], n = d[5], p = d[6], q = d[7], u = d[8], s = d[9], w = d[10], t = d[11], L = d[12], M = d[13], V = d[14], d = d[15], Q = e[0], U = e[1], S = e[2], aa = e[3], $ = e[4], ea = e[5], Z = e[6], v = e[7], X = e[8], ba = e[9], R = e[10], H = e[11], Y = e[12], ga = e[13], ca = e[14], e = e[15];
return new a([f * Q + g * $ + k * X + l * Y, f * U + g * ea + k * ba + l * ga, f * S + g * Z + k * R + l * ca, f * aa + g * v + k * H + l * e, m * Q + n * $ + p * X + q * Y, m * U + n * ea + p * ba + q * ga, m * S + n * Z + p * R + q * ca, m * aa + n * v + p * H + q * e, u * Q + s * $ + w * X + t * Y, u * U + s * ea + w * ba + t * ga, u * S + s * Z + w * R + t * ca, u * aa + s * v + w * H + t * e, L * Q + M * $ + V * X + d * Y, L * U + M * ea + V * ba + d * ga, L * S + M * Z + V * R + d *
ca, L * aa + M * v + V * H + d * e]);
};
a.createInverse = function(b) {
var c = b._m;
b = c[0];
var d = c[1], e = c[2], f = c[3], g = c[4], k = c[5], l = c[6], m = c[7], n = c[8], p = c[9], q = c[10], u = c[11], s = c[12], w = c[13], t = c[14], c = c[15], L = q * c, M = t * u, V = l * c, Q = t * m, U = l * u, S = q * m, aa = e * c, $ = t * f, ea = e * u, Z = q * f, v = e * m, X = l * f, ba = n * w, R = s * p, H = g * w, Y = s * k, ga = g * p, ca = n * k, ka = b * w, W = s * d, ha = b * p, da = n * d, ja = b * k, N = g * d, ma = L * k + Q * p + U * w - (M * k + V * p + S * w), T =
M * d + aa * p + Z * w - (L * d + $ * p + ea * w), w = V * d + $ * k + v * w - (Q * d + aa * k + X * w), d = S * d + ea * k + X * p - (U * d + Z * k + v * p), k = 1 / (b * ma + g * T + n * w + s * d);
return new a([k * ma, k * T, k * w, k * d, k * (M * g + V * n + S * s - (L * g + Q * n + U * s)), k * (L * b + $ * n + ea * s - (M * b + aa * n + Z * s)), k * (Q * b + aa * g + X * s - (V * b + $ * g + v * s)), k * (U * b + Z * g + v * n - (S * b + ea * g + X * n)), k * (ba * m + Y * u + ga * c - (R * m + H * u + ca * c)), k * (R * f + ka * u + da * c - (ba * f + W * u + ha * c)), k * (H * f + W * m + ja * c - (Y * f + ka * m + N * c)), k * (ca * f + ha * m + N * u - (ga * f + da * m +
ja * u)), k * (H * q + ca * t + R * l - (ga * t + ba * l + Y * q)), k * (ha * t + ba * e + W * q - (ka * q + da * t + R * e)), k * (ka * l + N * t + Y * e - (ja * t + H * e + W * l)), k * (ja * q + ga * e + da * l - (ha * l + N * q + ca * e))]);
};
return a;
}();
g.Matrix3D = q;
q = function() {
function a(b, c, d) {
"undefined" === typeof d && (d = 7);
var e = this.size = 1 << d;
this.sizeInBits = d;
this.w = b;
this.h = c;
this.c = Math.ceil(b / e);
this.r = Math.ceil(c / e);
this.grid = [];
for (b = 0;b < this.r;b++) {
for (this.grid.push([]), c = 0;c < this.c;c++) {
this.grid[b][c] = new a.Cell(new p(c * e, b * e, e, e));
}
}
}
a.prototype.clear = function() {
for (var a = 0;a < this.r;a++) {
for (var b = 0;b < this.c;b++) {
this.grid[a][b].clear();
}
}
};
a.prototype.getBounds = function() {
return new p(0, 0, this.w, this.h);
};
a.prototype.addDirtyRectangle = function(a) {
var b = a.x >> this.sizeInBits, c = a.y >> this.sizeInBits;
if (!(b >= this.c || c >= this.r)) {
0 > b && (b = 0);
0 > c && (c = 0);
var d = this.grid[c][b];
a = a.clone();
a.snap();
if (d.region.contains(a)) {
d.bounds.isEmpty() ? d.bounds.set(a) : d.bounds.contains(a) || d.bounds.union(a);
} else {
for (var e = Math.min(this.c, Math.ceil((a.x + a.w) / this.size)) - b, f = Math.min(this.r, Math.ceil((a.y + a.h) / this.size)) - c, g = 0;g < e;g++) {
for (var k = 0;k < f;k++) {
d = this.grid[c + k][b + g], d = d.region.clone(), d.intersect(a), d.isEmpty() || this.addDirtyRectangle(d);
}
}
}
}
};
a.prototype.gatherRegions = function(a) {
for (var b = 0;b < this.r;b++) {
for (var c = 0;c < this.c;c++) {
this.grid[b][c].bounds.isEmpty() || a.push(this.grid[b][c].bounds);
}
}
};
a.prototype.gatherOptimizedRegions = function(a) {
this.gatherRegions(a);
};
a.prototype.getDirtyRatio = function() {
var a = this.w * this.h;
if (0 === a) {
return 0;
}
for (var b = 0, c = 0;c < this.r;c++) {
for (var d = 0;d < this.c;d++) {
b += this.grid[c][d].region.area();
}
}
return b / a;
};
a.prototype.render = function(a, b) {
function c(b) {
a.rect(b.x, b.y, b.w, b.h);
}
if (b && b.drawGrid) {
a.strokeStyle = "white";
for (var d = 0;d < this.r;d++) {
for (var e = 0;e < this.c;e++) {
var f = this.grid[d][e];
a.beginPath();
c(f.region);
a.closePath();
a.stroke();
}
}
}
a.strokeStyle = "#E0F8D8";
for (d = 0;d < this.r;d++) {
for (e = 0;e < this.c;e++) {
f = this.grid[d][e], a.beginPath(), c(f.bounds), a.closePath(), a.stroke();
}
}
};
a.tmpRectangle = p.createEmpty();
return a;
}();
g.DirtyRegion = q;
(function(a) {
var b = function() {
function a(b) {
this.region = b;
this.bounds = p.createEmpty();
}
a.prototype.clear = function() {
this.bounds.setEmpty();
};
return a;
}();
a.Cell = b;
})(g.DirtyRegion || (g.DirtyRegion = {}));
var q = g.DirtyRegion, l = function() {
function a(b, c, d, e, f, g) {
this.index = b;
this.x = c;
this.y = d;
this.scale = g;
this.bounds = new p(c * e, d * f, e, f);
}
a.prototype.getOBB = function() {
if (this._obb) {
return this._obb;
}
this.bounds.getCorners(a.corners);
return this._obb = new e(a.corners);
};
a.corners = c.createEmptyPoints(4);
return a;
}();
g.Tile = l;
var u = function() {
function b(c, d, e, f, g) {
this.tileW = e;
this.tileH = f;
this.scale = g;
this.w = c;
this.h = d;
this.rows = Math.ceil(d / f);
this.columns = Math.ceil(c / e);
a(2048 > this.rows && 2048 > this.columns);
this.tiles = [];
for (d = c = 0;d < this.rows;d++) {
for (var k = 0;k < this.columns;k++) {
this.tiles.push(new l(c++, k, d, e, f, g));
}
}
}
b.prototype.getTiles = function(a, b) {
if (b.emptyArea(a)) {
return[];
}
if (b.infiniteArea(a)) {
return this.tiles;
}
var c = this.columns * this.rows;
return 40 > c && b.isScaleOrRotation() ? this.getFewTiles(a, b, 10 < c) : this.getManyTiles(a, b);
};
b.prototype.getFewTiles = function(a, c, d) {
"undefined" === typeof d && (d = !0);
if (c.isTranslationOnly() && 1 === this.tiles.length) {
return this.tiles[0].bounds.intersectsTranslated(a, c.tx, c.ty) ? [this.tiles[0]] : [];
}
c.transformRectangle(a, b._points);
var f;
a = new p(0, 0, this.w, this.h);
d && (f = new e(b._points));
a.intersect(e.getBounds(b._points));
if (a.isEmpty()) {
return[];
}
var g = a.x / this.tileW | 0;
c = a.y / this.tileH | 0;
var k = Math.ceil((a.x + a.w) / this.tileW) | 0, l = Math.ceil((a.y + a.h) / this.tileH) | 0, g = s(g, 0, this.columns), k = s(k, 0, this.columns);
c = s(c, 0, this.rows);
for (var l = s(l, 0, this.rows), m = [];g < k;g++) {
for (var n = c;n < l;n++) {
var q = this.tiles[n * this.columns + g];
q.bounds.intersects(a) && (d ? q.getOBB().intersects(f) : 1) && m.push(q);
}
}
return m;
};
b.prototype.getManyTiles = function(a, c) {
function d(a, b, c) {
return(a - b.x) * (c.y - b.y) / (c.x - b.x) + b.y;
}
function e(a, b, c, d, f) {
if (!(0 > c || c >= b.columns)) {
for (d = s(d, 0, b.rows), f = s(f + 1, 0, b.rows);d < f;d++) {
a.push(b.tiles[d * b.columns + c]);
}
}
}
var f = b._points;
c.transformRectangle(a, f);
for (var g = f[0].x < f[1].x ? 0 : 1, k = f[2].x < f[3].x ? 2 : 3, k = f[g].x < f[k].x ? g : k, g = [], l = 0;5 > l;l++, k++) {
g.push(f[k % 4]);
}
(g[1].x - g[0].x) * (g[3].y - g[0].y) < (g[1].y - g[0].y) * (g[3].x - g[0].x) && (f = g[1], g[1] = g[3], g[3] = f);
var f = [], m, n, k = Math.floor(g[0].x / this.tileW), l = (k + 1) * this.tileW;
if (g[2].x < l) {
m = Math.min(g[0].y, g[1].y, g[2].y, g[3].y);
n = Math.max(g[0].y, g[1].y, g[2].y, g[3].y);
var p = Math.floor(m / this.tileH), q = Math.floor(n / this.tileH);
e(f, this, k, p, q);
return f;
}
var u = 0, w = 4, t = !1;
if (g[0].x === g[1].x || g[0].x === g[3].x) {
g[0].x === g[1].x ? (t = !0, u++) : w--, m = d(l, g[u], g[u + 1]), n = d(l, g[w], g[w - 1]), p = Math.floor(g[u].y / this.tileH), q = Math.floor(g[w].y / this.tileH), e(f, this, k, p, q), k++;
}
do {
var D, L, M, V;
g[u + 1].x < l ? (D = g[u + 1].y, M = !0) : (D = d(l, g[u], g[u + 1]), M = !1);
g[w - 1].x < l ? (L = g[w - 1].y, V = !0) : (L = d(l, g[w], g[w - 1]), V = !1);
p = Math.floor((g[u].y < g[u + 1].y ? m : D) / this.tileH);
q = Math.floor((g[w].y > g[w - 1].y ? n : L) / this.tileH);
e(f, this, k, p, q);
if (M && t) {
break;
}
M ? (t = !0, u++, m = d(l, g[u], g[u + 1])) : m = D;
V ? (w--, n = d(l, g[w], g[w - 1])) : n = L;
k++;
l = (k + 1) * this.tileW;
} while (u < w);
return f;
};
b._points = c.createEmptyPoints(4);
return b;
}();
g.TileCache = u;
q = function() {
function b(a, c, d) {
this._cacheLevels = [];
this._source = a;
this._tileSize = c;
this._minUntiledSize = d;
}
b.prototype._getTilesAtScale = function(b, c, d) {
var e = Math.max(c.getAbsoluteScaleX(), c.getAbsoluteScaleY()), f = 0;
1 !== e && (f = s(Math.round(Math.log(1 / e) / Math.LN2), -5, 3));
e = m(f);
if (this._source.hasFlags(1)) {
for (;;) {
e = m(f);
if (d.contains(this._source.getBounds().getAbsoluteBounds().clone().scale(e, e))) {
break;
}
f--;
a(-5 <= f);
}
}
this._source.hasFlags(4) || (f = s(f, -5, 0));
e = m(f);
d = 5 + f;
f = this._cacheLevels[d];
if (!f) {
var f = this._source.getBounds().getAbsoluteBounds().clone().scale(e, e), g, k;
this._source.hasFlags(1) || !this._source.hasFlags(8) || Math.max(f.w, f.h) <= this._minUntiledSize ? (g = f.w, k = f.h) : g = k = this._tileSize;
f = this._cacheLevels[d] = new u(f.w, f.h, g, k, e);
}
return f.getTiles(b, c.scaleClone(e, e));
};
b.prototype.fetchTiles = function(a, b, c, d) {
var e = new p(0, 0, c.canvas.width, c.canvas.height);
a = this._getTilesAtScale(a, b, e);
var f;
b = this._source;
for (var g = 0;g < a.length;g++) {
var k = a[g];
k.cachedSurfaceRegion && k.cachedSurfaceRegion.surface && !b.hasFlags(3) || (f || (f = []), f.push(k));
}
f && this._cacheTiles(c, f, d, e);
b.removeFlags(2);
return a;
};
b.prototype._getTileBounds = function(a) {
for (var b = p.createEmpty(), c = 0;c < a.length;c++) {
b.union(a[c].bounds);
}
return b;
};
b.prototype._cacheTiles = function(b, c, d, e, f) {
"undefined" === typeof f && (f = 4);
a(0 < f, "Infinite recursion is likely.");
var g = this._getTileBounds(c);
b.save();
b.setTransform(1, 0, 0, 1, 0, 0);
b.clearRect(0, 0, e.w, e.h);
b.translate(-g.x, -g.y);
b.scale(c[0].scale, c[0].scale);
var l = this._source.getBounds();
b.translate(-l.x, -l.y);
2 <= k.traceLevel && k.writer && k.writer.writeLn("Rendering Tiles: " + g);
this._source.render(b);
b.restore();
for (var l = null, m = 0;m < c.length;m++) {
var n = c[m], p = n.bounds.clone();
p.x -= g.x;
p.y -= g.y;
e.contains(p) || (l || (l = []), l.push(n));
n.cachedSurfaceRegion = d(n.cachedSurfaceRegion, b, p);
}
l && (2 <= l.length ? (c = l.slice(0, l.length / 2 | 0), g = l.slice(c.length), this._cacheTiles(b, c, d, e, f - 1), this._cacheTiles(b, g, d, e, f - 1)) : this._cacheTiles(b, l, d, e, f - 1));
};
return b;
}();
g.RenderableTileCache = q;
var w = function() {
return function(a, b) {
this.surfaceRegion = a;
this.scale = b;
};
}();
g.MipMapLevel = w;
q = function() {
function a(b, c, d) {
this._source = b;
this._levels = [];
this._surfaceRegionAllocator = c;
this._size = d;
}
a.prototype.render = function(a) {
};
a.prototype.getLevel = function(a) {
a = Math.max(a.getAbsoluteScaleX(), a.getAbsoluteScaleY());
var b = 0;
1 !== a && (b = s(Math.round(Math.log(a) / Math.LN2), -5, 3));
this._source.hasFlags(4) || (b = s(b, -5, 0));
a = m(b);
var c = 5 + b, d = this._levels[c];
if (!d) {
b = this._source.getBounds().clone();
b.scale(a, a);
b.snap();
var d = this._surfaceRegionAllocator.allocate(b.w, b.h), e = d.region, d = this._levels[c] = new w(d, a), c = d.surfaceRegion.surface.context;
c.save();
c.beginPath();
c.rect(e.x, e.y, e.w, e.h);
c.clip();
c.setTransform(a, 0, 0, a, e.x - b.x, e.y - b.y);
this._source.render(c);
c.restore();
}
return d;
};
return a;
}();
g.MipMap = q;
})(k.Geometry || (k.Geometry = {}));
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
__extends = this.__extends || function(b, k) {
function g() {
this.constructor = b;
}
for (var f in k) {
k.hasOwnProperty(f) && (b[f] = k[f]);
}
g.prototype = k.prototype;
b.prototype = new g;
};
(function(b) {
(function(k) {
var g = b.IntegerUtilities.roundToMultipleOfPowerOfTwo, f = b.Debug.assert, t = k.Geometry.Rectangle;
(function(b) {
var m = function(a) {
function b() {
a.apply(this, arguments);
}
__extends(b, a);
return b;
}(k.Geometry.Rectangle);
b.Region = m;
var d = function() {
function b(c, d) {
this._root = new a(0, 0, c | 0, d | 0, !1);
}
b.prototype.allocate = function(a, b) {
a = Math.ceil(a);
b = Math.ceil(b);
f(0 < a && 0 < b);
var c = this._root.insert(a, b);
c && (c.allocator = this, c.allocated = !0);
return c;
};
b.prototype.free = function(a) {
f(a.allocator === this);
a.clear();
a.allocated = !1;
};
b.RANDOM_ORIENTATION = !0;
b.MAX_DEPTH = 256;
return b;
}();
b.CompactAllocator = d;
var a = function(a) {
function b(c, d, e, f, g) {
a.call(this, c, d, e, f);
this._children = null;
this._horizontal = g;
this.allocated = !1;
}
__extends(b, a);
b.prototype.clear = function() {
this._children = null;
this.allocated = !1;
};
b.prototype.insert = function(a, b) {
return this._insert(a, b, 0);
};
b.prototype._insert = function(a, c, e) {
if (!(e > d.MAX_DEPTH || this.allocated || this.w < a || this.h < c)) {
if (this._children) {
var f;
if ((f = this._children[0]._insert(a, c, e + 1)) || (f = this._children[1]._insert(a, c, e + 1))) {
return f;
}
} else {
return f = !this._horizontal, d.RANDOM_ORIENTATION && (f = .5 <= Math.random()), this._children = this._horizontal ? [new b(this.x, this.y, this.w, c, !1), new b(this.x, this.y + c, this.w, this.h - c, f)] : [new b(this.x, this.y, a, this.h, !0), new b(this.x + a, this.y, this.w - a, this.h, f)], f = this._children[0], f.w === a && f.h === c ? (f.allocated = !0, f) : this._insert(a, c, e + 1);
}
}
};
return b;
}(b.Region), c = function() {
function a(b, c, d, e) {
this._columns = b / d | 0;
this._rows = c / e | 0;
this._sizeW = d;
this._sizeH = e;
this._freeList = [];
this._index = 0;
this._total = this._columns * this._rows;
}
a.prototype.allocate = function(a, b) {
a = Math.ceil(a);
b = Math.ceil(b);
f(0 < a && 0 < b);
var c = this._sizeW, d = this._sizeH;
if (a > c || b > d) {
return null;
}
var e = this._freeList, g = this._index;
return 0 < e.length ? (c = e.pop(), f(!1 === c.allocated), c.allocated = !0, c) : g < this._total ? (e = g / this._columns | 0, c = new n((g - e * this._columns) * c, e * d, a, b), c.index = g, c.allocator = this, c.allocated = !0, this._index++, c) : null;
};
a.prototype.free = function(a) {
f(a.allocator === this);
a.allocated = !1;
this._freeList.push(a);
};
return a;
}();
b.GridAllocator = c;
var n = function(a) {
function b(c, d, e, f) {
a.call(this, c, d, e, f);
this.index = -1;
}
__extends(b, a);
return b;
}(b.Region);
b.GridCell = n;
var p = function() {
return function(a, b, c) {
this.size = a;
this.region = b;
this.allocator = c;
};
}(), e = function(a) {
function b(c, d, e, f, g) {
a.call(this, c, d, e, f);
this.region = g;
}
__extends(b, a);
return b;
}(b.Region);
b.BucketCell = e;
m = function() {
function a(b, c) {
f(0 < b && 0 < c);
this._buckets = [];
this._w = b | 0;
this._h = c | 0;
this._filled = 0;
}
a.prototype.allocate = function(a, b) {
a = Math.ceil(a);
b = Math.ceil(b);
f(0 < a && 0 < b);
var d = Math.max(a, b);
if (a > this._w || b > this._h) {
return null;
}
var k = null, h, m = this._buckets;
do {
for (var n = 0;n < m.length && !(m[n].size >= d && (h = m[n], k = h.allocator.allocate(a, b)));n++) {
}
if (!k) {
var q = this._h - this._filled;
if (q < b) {
return null;
}
var n = g(d, 2), s = 2 * n;
s > q && (s = q);
if (s < n) {
return null;
}
q = new t(0, this._filled, this._w, s);
this._buckets.push(new p(n, q, new c(q.w, q.h, n, n)));
this._filled += s;
}
} while (!k);
return new e(h.region.x + k.x, h.region.y + k.y, k.w, k.h, k);
};
a.prototype.free = function(a) {
a.region.allocator.free(a.region);
};
return a;
}();
b.BucketAllocator = m;
})(k.RegionAllocator || (k.RegionAllocator = {}));
(function(b) {
var f = function() {
function b(a) {
this._createSurface = a;
this._surfaces = [];
}
Object.defineProperty(b.prototype, "surfaces", {get:function() {
return this._surfaces;
}, enumerable:!0, configurable:!0});
b.prototype._createNewSurface = function(a, b) {
var d = this._createSurface(a, b);
this._surfaces.push(d);
return d;
};
b.prototype.addSurface = function(a) {
this._surfaces.push(a);
};
b.prototype.allocate = function(a, b) {
for (var d = 0;d < this._surfaces.length;d++) {
var f = this._surfaces[d].allocate(a, b);
if (f) {
return f;
}
}
return this._createNewSurface(a, b).allocate(a, b);
};
b.prototype.free = function(a) {
};
return b;
}();
b.SimpleAllocator = f;
})(k.SurfaceRegionAllocator || (k.SurfaceRegionAllocator = {}));
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = k.Geometry.Point, f = k.Geometry.Matrix, t = b.Debug.assert, s = b.Debug.unexpected;
(function(a) {
a[a.None = 0] = "None";
a[a.Upward = 1] = "Upward";
a[a.Downward = 2] = "Downward";
})(k.Direction || (k.Direction = {}));
(function(a) {
a[a.Never = 0] = "Never";
a[a.Always = 1] = "Always";
a[a.Auto = 2] = "Auto";
})(k.PixelSnapping || (k.PixelSnapping = {}));
(function(a) {
a[a.Never = 0] = "Never";
a[a.Always = 1] = "Always";
})(k.Smoothing || (k.Smoothing = {}));
(function(a) {
a[a.Empty = 0] = "Empty";
a[a.Dirty = 1] = "Dirty";
a[a.IsMask = 2] = "IsMask";
a[a.IgnoreMask = 8] = "IgnoreMask";
a[a.IgnoreQuery = 16] = "IgnoreQuery";
a[a.InvalidBounds = 32] = "InvalidBounds";
a[a.InvalidConcatenatedMatrix = 64] = "InvalidConcatenatedMatrix";
a[a.InvalidInvertedConcatenatedMatrix = 128] = "InvalidInvertedConcatenatedMatrix";
a[a.InvalidConcatenatedColorMatrix = 256] = "InvalidConcatenatedColorMatrix";
a[a.InvalidPaint = 512] = "InvalidPaint";
a[a.EnterClip = 4096] = "EnterClip";
a[a.LeaveClip = 8192] = "LeaveClip";
a[a.Visible = 16384] = "Visible";
a[a.Transparent = 32768] = "Transparent";
})(k.FrameFlags || (k.FrameFlags = {}));
(function(a) {
a[a.None = 0] = "None";
a[a.AllowMatrixWrite = 1] = "AllowMatrixWrite";
a[a.AllowColorMatrixWrite = 2] = "AllowColorMatrixWrite";
a[a.AllowBlendModeWrite = 4] = "AllowBlendModeWrite";
a[a.AllowFiltersWrite = 8] = "AllowFiltersWrite";
a[a.AllowMaskWrite = 16] = "AllowMaskWrite";
a[a.AllowChildrenWrite = 32] = "AllowChildrenWrite";
a[a.AllowClipWrite = 64] = "AllowClipWrite";
a[a.AllowAllWrite = a.AllowMatrixWrite | a.AllowColorMatrixWrite | a.AllowBlendModeWrite | a.AllowFiltersWrite | a.AllowMaskWrite | a.AllowChildrenWrite | a.AllowClipWrite] = "AllowAllWrite";
})(k.FrameCapabilityFlags || (k.FrameCapabilityFlags = {}));
var m = k.FrameCapabilityFlags, d = function() {
function a() {
this._id = a._nextID++;
this._flags = 17376;
this._capability = m.AllowAllWrite;
this._parent = null;
this._clip = -1;
this._blendMode = 1;
this._filters = [];
this._mask = null;
this._matrix = f.createIdentity();
this._concatenatedMatrix = f.createIdentity();
this._invertedConcatenatedMatrix = null;
this._colorMatrix = k.ColorMatrix.createIdentity();
this._concatenatedColorMatrix = k.ColorMatrix.createIdentity();
this._pixelSnapping = this._smoothing = 0;
}
a._getAncestors = function(b, d) {
"undefined" === typeof d && (d = null);
var f = a._path;
for (f.length = 0;b && b !== d;) {
t(b !== b._parent), f.push(b), b = b._parent;
}
t(b === d, "Last ancestor is not an ancestor.");
return f;
};
Object.defineProperty(a.prototype, "parent", {get:function() {
return this._parent;
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "id", {get:function() {
return this._id;
}, enumerable:!0, configurable:!0});
a.prototype._setFlags = function(a) {
this._flags |= a;
};
a.prototype._removeFlags = function(a) {
this._flags &= ~a;
};
a.prototype._hasFlags = function(a) {
return(this._flags & a) === a;
};
a.prototype._toggleFlags = function(a, b) {
this._flags = b ? this._flags | a : this._flags & ~a;
};
a.prototype._hasAnyFlags = function(a) {
return!!(this._flags & a);
};
a.prototype._findClosestAncestor = function(a) {
for (var b = this;b;) {
if (!1 === b._hasFlags(a)) {
return b;
}
t(b !== b._parent);
b = b._parent;
}
return null;
};
a.prototype._isAncestor = function(a) {
for (;a;) {
if (a === this) {
return!0;
}
t(a !== a._parent);
a = a._parent;
}
return!1;
};
a.prototype.setCapability = function(a, b, d) {
"undefined" === typeof b && (b = !0);
"undefined" === typeof d && (d = 0);
this._capability = b ? this._capability | a : this._capability & ~a;
if (1 === d && this._parent) {
this._parent.setCapability(a, b, d);
} else {
if (2 === d && this instanceof k.FrameContainer) {
for (var e = this._children, f = 0;f < e.length;f++) {
e[f].setCapability(a, b, d);
}
}
}
};
a.prototype.removeCapability = function(a) {
this.setCapability(a, !1);
};
a.prototype.hasCapability = function(a) {
return this._capability & a;
};
a.prototype.checkCapability = function(a) {
this._capability & a || s("Frame doesn't have capability: " + m[a]);
};
a.prototype._propagateFlagsUp = function(a) {
if (!this._hasFlags(a)) {
this._setFlags(a);
var b = this._parent;
b && b._propagateFlagsUp(a);
}
};
a.prototype._propagateFlagsDown = function(a) {
this._setFlags(a);
};
a.prototype._invalidatePosition = function() {
this._propagateFlagsDown(192);
this._parent && this._parent._invalidateBounds();
this._invalidateParentPaint();
};
a.prototype.invalidatePaint = function() {
this._propagateFlagsUp(512);
};
a.prototype._invalidateParentPaint = function() {
this._parent && this._parent._propagateFlagsUp(512);
};
a.prototype._invalidateBounds = function() {
this._propagateFlagsUp(32);
};
Object.defineProperty(a.prototype, "properties", {get:function() {
return this._properties || (this._properties = Object.create(null));
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "x", {get:function() {
return this._matrix.tx;
}, set:function(a) {
this.checkCapability(1);
this._matrix.tx = a;
this._invalidatePosition();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "y", {get:function() {
return this._matrix.ty;
}, set:function(a) {
this.checkCapability(1);
this._matrix.ty = a;
this._invalidatePosition();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "matrix", {get:function() {
return this._matrix;
}, set:function(a) {
this.checkCapability(1);
this._matrix.set(a);
this._invalidatePosition();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "blendMode", {get:function() {
return this._blendMode;
}, set:function(a) {
a |= 0;
this.checkCapability(4);
this._blendMode = a;
this._invalidateParentPaint();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "filters", {get:function() {
return this._filters;
}, set:function(a) {
this.checkCapability(8);
this._filters = a;
this._invalidateParentPaint();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "colorMatrix", {get:function() {
return this._colorMatrix;
}, set:function(a) {
this.checkCapability(2);
this._colorMatrix.set(a);
this._propagateFlagsDown(256);
this._invalidateParentPaint();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "mask", {get:function() {
return this._mask;
}, set:function(a) {
this.checkCapability(16);
this._mask && this._mask !== a && this._mask._removeFlags(2);
if (this._mask = a) {
this._mask._setFlags(2), this._mask.invalidate();
}
this.invalidate();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "clip", {get:function() {
return this._clip;
}, set:function(a) {
this.checkCapability(64);
this._clip = a;
}, enumerable:!0, configurable:!0});
a.prototype.getBounds = function() {
t(!1, "Override this.");
return null;
};
a.prototype.gatherPreviousDirtyRegions = function() {
var a = this.stage;
a.trackDirtyRegions && this.visit(function(b) {
if (b instanceof k.FrameContainer) {
return 0;
}
b._previouslyRenderedAABB && a.dirtyRegion.addDirtyRectangle(b._previouslyRenderedAABB);
return 0;
});
};
a.prototype.getConcatenatedColorMatrix = function() {
if (!this._parent) {
return this._colorMatrix;
}
if (this._hasFlags(256)) {
for (var b = this._findClosestAncestor(256), d = a._getAncestors(this, b), f = b ? b._concatenatedColorMatrix.clone() : k.ColorMatrix.createIdentity(), e = d.length - 1;0 <= e;e--) {
b = d[e], t(b._hasFlags(256)), f.multiply(b._colorMatrix), b._concatenatedColorMatrix.set(f), b._removeFlags(256);
}
}
return this._concatenatedColorMatrix;
};
a.prototype.getConcatenatedAlpha = function(a) {
"undefined" === typeof a && (a = null);
for (var b = this, d = 1;b && b !== a;) {
d *= b._colorMatrix.alphaMultiplier, b = b._parent;
}
return d;
};
Object.defineProperty(a.prototype, "stage", {get:function() {
for (var a = this;a._parent;) {
a = a._parent;
}
return a instanceof k.Stage ? a : null;
}, enumerable:!0, configurable:!0});
a.prototype.getConcatenatedMatrix = function() {
if (this._hasFlags(64)) {
for (var b = this._findClosestAncestor(64), d = a._getAncestors(this, b), g = b ? b._concatenatedMatrix.clone() : f.createIdentity(), e = d.length - 1;0 <= e;e--) {
b = d[e], t(b._hasFlags(64)), g.preMultiply(b._matrix), b._concatenatedMatrix.set(g), b._removeFlags(64);
}
}
return this._concatenatedMatrix;
};
a.prototype._getInvertedConcatenatedMatrix = function() {
this._hasFlags(128) && (this._invertedConcatenatedMatrix || (this._invertedConcatenatedMatrix = f.createIdentity()), this._invertedConcatenatedMatrix.set(this.getConcatenatedMatrix()), this._invertedConcatenatedMatrix.inverse(this._invertedConcatenatedMatrix), this._removeFlags(128));
return this._invertedConcatenatedMatrix;
};
a.prototype.invalidate = function() {
this._setFlags(1);
};
a.prototype.visit = function(a, b, d, e) {
"undefined" === typeof d && (d = 0);
"undefined" === typeof e && (e = 0);
var f, g, m = e & 8;
f = [this];
var s, r = !!b;
r && (s = [b.clone()]);
for (var h = [d];0 < f.length;) {
g = f.pop();
r && (b = s.pop());
d = h.pop() | g._flags;
var x = a(g, b, d);
if (0 === x) {
if (g instanceof k.FrameContainer) {
var y = g._children.length;
if (e & 16 && !k.disableClipping.value) {
for (var x = g.gatherLeaveClipEvents(), G = y - 1;0 <= G;G--) {
if (x && x[G]) {
for (;x[G].length;) {
if (y = x[G].shift(), f.push(y), h.push(8192), r) {
var I = b.clone();
I.preMultiply(y.matrix);
s.push(I);
}
}
}
var C = g._children[G];
t(C);
f.push(C);
r && (I = b.clone(), I.preMultiply(C.matrix), s.push(I));
0 <= C.clip ? h.push(d | 4096) : h.push(d);
}
} else {
for (G = 0;G < y;G++) {
if (C = g._children[m ? G : y - 1 - G]) {
f.push(C), r && (I = b.clone(), I.preMultiply(C.matrix), s.push(I)), h.push(d);
}
}
}
}
} else {
if (1 === x) {
break;
}
}
}
};
a.prototype.getDepth = function() {
for (var a = 0, b = this;b._parent;) {
a++, b = b._parent;
}
return a;
};
Object.defineProperty(a.prototype, "smoothing", {get:function() {
return this._smoothing;
}, set:function(a) {
this._smoothing = a;
this.invalidate();
}, enumerable:!0, configurable:!0});
Object.defineProperty(a.prototype, "pixelSnapping", {get:function() {
return this._pixelSnapping;
}, set:function(a) {
this._pixelSnapping = a;
this.invalidate();
}, enumerable:!0, configurable:!0});
a.prototype.queryFramesByPoint = function(a, b, d) {
"undefined" === typeof b && (b = !1);
"undefined" === typeof d && (d = !1);
var e = f.createIdentity(), m = g.createEmpty(), l = [];
this.visit(function(f, g, r) {
if (r & 16) {
return 2;
}
g.inverse(e);
m.set(a);
e.transformPoint(m);
if (f.getBounds().containsPoint(m)) {
if (f instanceof k.FrameContainer) {
if (d && (l.push(f), !b)) {
return 1;
}
} else {
if (l.push(f), !b) {
return 1;
}
}
return 0;
}
return 2;
}, f.createIdentity(), 0);
l.reverse();
return l;
};
a._path = [];
a._nextID = 0;
return a;
}();
k.Frame = d;
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = k.Geometry.Rectangle, f = b.Debug.assert, t = function(b) {
function k() {
b.call(this);
this._children = [];
}
__extends(k, b);
k.prototype.addChild = function(b) {
this.checkCapability(32);
b && (f(b !== this), b._parent = this, b._invalidatePosition());
this._children.push(b);
return b;
};
k.prototype.addChildAt = function(b, a) {
this.checkCapability(32);
f(0 <= a && a <= this._children.length);
a === this._children.length ? this._children.push(b) : this._children.splice(a, 0, b);
b && (f(b !== this), b._parent = this, b._invalidatePosition());
return b;
};
k.prototype.removeChild = function(b) {
this.checkCapability(32);
b._parent === this && (b = this._children.indexOf(b), this.removeChildAt(b));
};
k.prototype.removeChildAt = function(b) {
this.checkCapability(32);
f(0 <= b && b < this._children.length);
if (b = this._children.splice(b, 1)[0]) {
b._parent = null, b._invalidatePosition();
}
};
k.prototype.clearChildren = function() {
this.checkCapability(32);
for (var b = 0;b < this._children.length;b++) {
var a = this._children[b];
a && a._invalidatePosition();
}
this._children.length = 0;
};
k.prototype._propagateFlagsDown = function(b) {
if (!this._hasFlags(b)) {
this._setFlags(b);
for (var a = this._children, c = 0;c < a.length;c++) {
a[c]._propagateFlagsDown(b);
}
}
};
k.prototype.getBounds = function() {
if (!this._hasFlags(32)) {
return this._bounds;
}
for (var b = g.createEmpty(), a = 0;a < this._children.length;a++) {
var c = this._children[a], f = c.getBounds().clone();
c.matrix.transformRectangleAABB(f);
b.union(f);
}
this._bounds = b;
this._removeFlags(32);
return b;
};
k.prototype.gatherLeaveClipEvents = function() {
for (var b = this._children.length, a = null, c = 0;c < b;c++) {
var f = this._children[c];
if (0 <= f.clip) {
var g = c + f.clip, a = a || [];
a[g] || (a[g] = []);
a[g].push(f);
}
}
return a;
};
return k;
}(k.Frame);
k.FrameContainer = t;
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = k.Geometry.Rectangle, f = k.Geometry.DirtyRegion, t = b.Debug.assert;
(function(b) {
b[b.Normal = 1] = "Normal";
b[b.Layer = 2] = "Layer";
b[b.Multiply = 3] = "Multiply";
b[b.Screen = 4] = "Screen";
b[b.Lighten = 5] = "Lighten";
b[b.Darken = 6] = "Darken";
b[b.Difference = 7] = "Difference";
b[b.Add = 8] = "Add";
b[b.Subtract = 9] = "Subtract";
b[b.Invert = 10] = "Invert";
b[b.Alpha = 11] = "Alpha";
b[b.Erase = 12] = "Erase";
b[b.Overlay = 13] = "Overlay";
b[b.HardLight = 14] = "HardLight";
})(k.BlendMode || (k.BlendMode = {}));
(function(b) {
b[b.None = 0] = "None";
b[b.Continue = 0] = "Continue";
b[b.Stop = 1] = "Stop";
b[b.Skip = 2] = "Skip";
b[b.FrontToBack = 8] = "FrontToBack";
b[b.Clips = 16] = "Clips";
})(k.VisitorFlags || (k.VisitorFlags = {}));
k.StageRendererOptions = function() {
return function() {
this.debug = !1;
this.paintRenderable = !0;
this.paintViewport = this.paintFlashing = this.paintBounds = !1;
};
}();
(function(b) {
b[b.Canvas2D = 0] = "Canvas2D";
b[b.WebGL = 1] = "WebGL";
b[b.Both = 2] = "Both";
b[b.DOM = 3] = "DOM";
b[b.SVG = 4] = "SVG";
})(k.Backend || (k.Backend = {}));
var s = function() {
function b(d, a, c) {
this._canvas = d;
this._stage = a;
this._options = c;
this._viewport = g.createSquare();
}
Object.defineProperty(b.prototype, "viewport", {set:function(b) {
this._viewport.set(b);
}, enumerable:!0, configurable:!0});
b.prototype.render = function() {
};
b.prototype.resize = function() {
};
return b;
}();
k.StageRenderer = s;
s = function(b) {
function d(a, c, d) {
"undefined" === typeof d && (d = !1);
b.call(this);
this.w = a;
this.h = c;
this.dirtyRegion = new f(a, c);
this.trackDirtyRegions = d;
this._setFlags(1);
}
__extends(d, b);
d.prototype.readyToRender = function(a) {
"undefined" === typeof a && (a = !0);
if (!this._hasFlags(512)) {
return!1;
}
a && (k.enterTimeline("readyToRender"), this.visit(function(a) {
return a._hasFlags(512) ? (a._toggleFlags(512, !1), 0) : 2;
}), k.leaveTimeline());
return!0;
};
d.prototype.gatherMarkedDirtyRegions = function(a) {
var b = this;
this.visit(function(a, d, e) {
a._removeFlags(1);
if (a instanceof k.FrameContainer) {
return 0;
}
e & 1 && (e = a.getBounds().clone(), d.transformRectangleAABB(e), b.dirtyRegion.addDirtyRectangle(e), a._previouslyRenderedAABB && b.dirtyRegion.addDirtyRectangle(a._previouslyRenderedAABB));
return 0;
}, a, 0);
};
d.prototype.gatherFrames = function() {
var a = [];
this.visit(function(b, d) {
b instanceof k.FrameContainer || a.push(b);
return 0;
}, this.matrix);
return a;
};
d.prototype.gatherLayers = function() {
var a = [], b;
this.visit(function(d, f) {
if (d instanceof k.FrameContainer) {
return 0;
}
var e = d.getBounds().clone();
f.transformRectangleAABB(e);
d._hasFlags(1) ? (b && a.push(b), a.push(e.clone()), b = null) : b ? b.union(e) : b = e.clone();
return 0;
}, this.matrix);
b && a.push(b);
return a;
};
return d;
}(k.FrameContainer);
k.Stage = s;
s = function(f) {
function d(a, c) {
f.call(this);
this.color = b.Color.None;
this._bounds = new g(0, 0, a, c);
}
__extends(d, f);
d.prototype.setBounds = function(a) {
this._bounds.set(a);
};
d.prototype.getBounds = function() {
return this._bounds;
};
return d;
}(k.FrameContainer);
k.ClipRectangle = s;
s = function(b) {
function d(a) {
b.call(this);
t(a);
this._source = a;
}
__extends(d, b);
Object.defineProperty(d.prototype, "source", {get:function() {
return this._source;
}, enumerable:!0, configurable:!0});
d.prototype.getBounds = function() {
return this.source.getBounds();
};
return d;
}(k.Frame);
k.Shape = s;
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = k.Geometry.Rectangle, f = k.Geometry.Matrix, t = b.Debug.assertUnreachable, s = b.Debug.assert, m = b.Debug.unexpected, d = b.ArrayUtilities.indexOf;
(function(a) {
a[a.None = 0] = "None";
a[a.Dynamic = 1] = "Dynamic";
a[a.Dirty = 2] = "Dirty";
a[a.Scalable = 4] = "Scalable";
a[a.Tileable = 8] = "Tileable";
a[a.Loading = 16] = "Loading";
})(k.RenderableFlags || (k.RenderableFlags = {}));
var a = function() {
function a(b) {
this._flags = 0;
this.properties = {};
this._frameReferrers = [];
this._renderableReferrers = [];
this._bounds = b.clone();
}
a.prototype.setFlags = function(a) {
this._flags |= a;
};
a.prototype.hasFlags = function(a) {
return(this._flags & a) === a;
};
a.prototype.removeFlags = function(a) {
this._flags &= ~a;
};
a.prototype.addFrameReferrer = function(a) {
d(this._frameReferrers, a);
this._frameReferrers.push(a);
};
a.prototype.addRenderableReferrer = function(a) {
d(this._renderableReferrers, a);
this._renderableReferrers.push(a);
};
a.prototype.invalidatePaint = function() {
this.setFlags(2);
for (var a = this._frameReferrers, b = 0;b < a.length;b++) {
a[b].invalidatePaint();
}
a = this._renderableReferrers;
for (b = 0;b < a.length;b++) {
a[b].invalidatePaint();
}
};
a.prototype.getBounds = function() {
return this._bounds;
};
a.prototype.render = function(a, b, c) {
};
return a;
}();
k.Renderable = a;
var c = function(a) {
function b(c, d) {
a.call(this, c);
this.render = d;
}
__extends(b, a);
return b;
}(a);
k.CustomRenderable = c;
c = function(a) {
function b(c, d) {
a.call(this, d);
this._flags = 3;
this._lastCurrentTime = 0;
this._video = document.createElement("video");
this._video.src = c;
this._video.loop = !0;
this._video.play();
b._renderableVideos.push(this);
}
__extends(b, a);
b.prototype.invalidatePaintCheck = function() {
this._lastCurrentTime !== this._video.currentTime && this.invalidatePaint();
this._lastCurrentTime = this._video.currentTime;
};
b.invalidateVideos = function() {
for (var a = b._renderableVideos, c = 0;c < a.length;c++) {
a[c].invalidatePaintCheck();
}
};
b.prototype.render = function(a, b) {
k.enterTimeline("RenderableVideo.render");
this._video && a.drawImage(this._video, 0, 0);
k.leaveTimeline("RenderableVideo.render");
};
b._renderableVideos = [];
return b;
}(a);
k.RenderableVideo = c;
c = function(a) {
function c(b, d) {
a.call(this, d);
this._flags = 3;
this.properties = {};
this._canvas = b;
this._context = this._canvas.getContext("2d");
this._imageData = this._context.createImageData(this._bounds.w, this._bounds.h);
}
__extends(c, a);
c.FromDataBuffer = function(a, b, d) {
k.enterTimeline("RenderableBitmap.FromDataBuffer");
var e = document.createElement("canvas");
e.width = d.w;
e.height = d.h;
d = new c(e, d);
d.updateFromDataBuffer(a, b);
k.leaveTimeline("RenderableBitmap.FromDataBuffer");
return d;
};
c.FromFrame = function(a, b, d, e, f) {
k.enterTimeline("RenderableBitmap.FromFrame");
var g = document.createElement("canvas"), l = a.getBounds();
g.width = l.w;
g.height = l.h;
g = new c(g, l);
g.drawFrame(a, b, d, e, f);
k.leaveTimeline("RenderableBitmap.FromFrame");
return g;
};
c.prototype.updateFromDataBuffer = function(a, c) {
if (k.imageUpdateOption.value) {
k.enterTimeline("RenderableBitmap.updateFromDataBuffer", {length:c.length});
if (4 === a || 5 === a || 6 === a) {
var d = this;
d.setFlags(16);
var e = new Image;
e.src = URL.createObjectURL(c.toBlob());
e.onload = function() {
d._context.drawImage(e, 0, 0);
d.removeFlags(16);
d.invalidatePaint();
};
e.onerror = function() {
m("Image loading error: " + b.ImageType[a]);
};
} else {
k.imageConvertOption.value && (k.enterTimeline("ColorUtilities.convertImage"), b.ColorUtilities.convertImage(a, 3, new Int32Array(c.buffer), new Int32Array(this._imageData.data.buffer)), k.leaveTimeline("ColorUtilities.convertImage")), k.enterTimeline("putImageData"), this._context.putImageData(this._imageData, 0, 0), k.leaveTimeline("putImageData");
}
this.invalidatePaint();
k.leaveTimeline("RenderableBitmap.updateFromDataBuffer");
}
};
c.prototype.readImageData = function(a) {
var b = this._context.getImageData(0, 0, this._canvas.width, this._canvas.height).data;
a.writeRawBytes(b);
};
c.prototype.render = function(a, b) {
k.enterTimeline("RenderableBitmap.render");
this._canvas ? a.drawImage(this._canvas, 0, 0) : this._renderFallback(a);
k.leaveTimeline("RenderableBitmap.render");
};
c.prototype.drawFrame = function(a, b, c, d, e) {
k.enterTimeline("RenderableBitmap.drawFrame");
c = k.Canvas2D;
d = this.getBounds();
var f = new c.Canvas2DStageRendererOptions;
f.cacheShapes = !0;
(new c.Canvas2DStageRenderer(this._canvas, null, f)).renderFrame(a, e || d, b);
k.leaveTimeline("RenderableBitmap.drawFrame");
};
c.prototype._renderFallback = function(a) {
this.fillStyle || (this.fillStyle = b.ColorStyle.randomStyle());
var c = this._bounds;
a.save();
a.beginPath();
a.lineWidth = 2;
a.fillStyle = this.fillStyle;
a.fillRect(c.x, c.y, c.w, c.h);
a.restore();
};
return c;
}(a);
k.RenderableBitmap = c;
var n;
(function(a) {
a[a.Fill = 0] = "Fill";
a[a.Stroke = 1] = "Stroke";
a[a.StrokeFill = 2] = "StrokeFill";
})(n || (n = {}));
var p = function() {
return function(a, b, c, d) {
this.type = a;
this.style = b;
this.smoothImage = c;
this.strokeProperties = d;
this.path = new Path2D;
s(1 === a === !!d);
};
}(), e = function() {
return function(a, b, c, d, e) {
this.thickness = a;
this.scaleMode = b;
this.capsStyle = c;
this.jointsStyle = d;
this.miterLimit = e;
};
}();
n = function(a) {
function c(b, d, e, f) {
a.call(this, f);
this._flags = 14;
this.properties = {};
this._id = b;
this._pathData = d;
this._textures = e;
e.length && this.setFlags(1);
}
__extends(c, a);
c.prototype.update = function(a, b, c) {
this._bounds = c;
this._pathData = a;
this._paths = null;
this._textures = b;
};
c.prototype.getBounds = function() {
return this._bounds;
};
c.prototype.render = function(a, b, c) {
"undefined" === typeof c && (c = !1);
a.fillStyle = a.strokeStyle = "transparent";
var d = this._textures;
for (b = 0;b < d.length;b++) {
if (d[b].hasFlags(16)) {
return;
}
}
(b = this._pathData) && this._deserializePaths(b, a);
d = this._paths;
s(d);
k.enterTimeline("RenderableShape.render", this);
for (b = 0;b < d.length;b++) {
var e = d[b];
a.mozImageSmoothingEnabled = a.msImageSmoothingEnabled = a.imageSmoothingEnabled = e.smoothImage;
if (0 === e.type) {
a.fillStyle = e.style, c ? a.clip(e.path, "evenodd") : a.fill(e.path, "evenodd"), a.fillStyle = "transparent";
} else {
if (!c) {
a.strokeStyle = e.style;
var f = 1;
e.strokeProperties && (f = e.strokeProperties.scaleMode, a.lineWidth = e.strokeProperties.thickness, a.lineCap = e.strokeProperties.capsStyle, a.lineJoin = e.strokeProperties.jointsStyle, a.miterLimit = e.strokeProperties.miterLimit);
var g = a.lineWidth;
(g = 1 === g || 3 === g) && a.translate(.5, .5);
a.flashStroke(e.path, f);
g && a.translate(-.5, -.5);
a.strokeStyle = "transparent";
}
}
}
k.leaveTimeline("RenderableShape.render");
};
c.prototype._deserializePaths = function(a, d) {
s(!this._paths);
k.enterTimeline("RenderableShape.deserializePaths");
this._paths = [];
for (var f = null, g = null, l = 0, m = 0, n, p, q = !1, u = 0, F = 0, J = a.commands, A = a.coordinates, B = a.styles, z = B.position = 0, P = a.commandsPosition, D = 0;D < P;D++) {
switch(n = J[D], n) {
case 9:
s(z <= a.coordinatesPosition - 2);
q && f && (f.lineTo(u, F), g && g.lineTo(u, F));
q = !0;
l = u = A[z++] / 20;
m = F = A[z++] / 20;
f && f.moveTo(l, m);
g && g.moveTo(l, m);
break;
case 10:
s(z <= a.coordinatesPosition - 2);
l = A[z++] / 20;
m = A[z++] / 20;
f && f.lineTo(l, m);
g && g.lineTo(l, m);
break;
case 11:
s(z <= a.coordinatesPosition - 4);
n = A[z++] / 20;
p = A[z++] / 20;
l = A[z++] / 20;
m = A[z++] / 20;
f && f.quadraticCurveTo(n, p, l, m);
g && g.quadraticCurveTo(n, p, l, m);
break;
case 12:
s(z <= a.coordinatesPosition - 6);
n = A[z++] / 20;
p = A[z++] / 20;
var L = A[z++] / 20, M = A[z++] / 20, l = A[z++] / 20, m = A[z++] / 20;
f && f.bezierCurveTo(n, p, L, M, l, m);
g && g.bezierCurveTo(n, p, L, M, l, m);
break;
case 1:
s(4 <= B.bytesAvailable);
f = this._createPath(0, b.ColorUtilities.rgbaToCSSStyle(B.readUnsignedInt()), !1, null, l, m);
break;
case 3:
n = this._readBitmap(B, d);
f = this._createPath(0, n.style, n.smoothImage, null, l, m);
break;
case 2:
f = this._createPath(0, this._readGradient(B, d), !1, null, l, m);
break;
case 4:
f = null;
break;
case 5:
g = b.ColorUtilities.rgbaToCSSStyle(B.readUnsignedInt());
B.position += 1;
n = B.readByte();
p = c.LINE_CAPS_STYLES[B.readByte()];
L = c.LINE_JOINTS_STYLES[B.readByte()];
n = new e(A[z++] / 20, n, p, L, B.readByte());
g = this._createPath(1, g, !1, n, l, m);
break;
case 6:
g = this._createPath(2, this._readGradient(B, d), !1, null, l, m);
break;
case 7:
n = this._readBitmap(B, d);
g = this._createPath(2, n.style, n.smoothImage, null, l, m);
break;
case 8:
g = null;
break;
default:
t("Invalid command " + n + " encountered at index" + D + " of " + P);
}
}
s(0 === B.bytesAvailable);
s(D === P);
s(z === a.coordinatesPosition);
q && f && (f.lineTo(u, F), g && g.lineTo(u, F));
this._pathData = null;
k.leaveTimeline("RenderableShape.deserializePaths");
};
c.prototype._createPath = function(a, b, c, d, e, f) {
a = new p(a, b, c, d);
this._paths.push(a);
a.path.moveTo(e, f);
return a.path;
};
c.prototype._readMatrix = function(a) {
return new f(a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat(), a.readFloat());
};
c.prototype._readGradient = function(a, c) {
s(34 <= a.bytesAvailable);
var d = a.readUnsignedByte(), e = 2 * a.readShort() / 255;
s(-1 <= e && 1 >= e);
var f = this._readMatrix(a), d = 16 === d ? c.createLinearGradient(-1, 0, 1, 0) : c.createRadialGradient(e, 0, 0, 0, 0, 1);
d.setTransform && d.setTransform(f.toSVGMatrix());
f = a.readUnsignedByte();
for (e = 0;e < f;e++) {
var g = a.readUnsignedByte() / 255, k = b.ColorUtilities.rgbaToCSSStyle(a.readUnsignedInt());
d.addColorStop(g, k);
}
a.position += 2;
return d;
};
c.prototype._readBitmap = function(a, b) {
s(30 <= a.bytesAvailable);
var c = a.readUnsignedInt(), d = this._readMatrix(a), e = a.readBoolean() ? "repeat" : "no-repeat", f = a.readBoolean(), c = this._textures[c];
s(c._canvas);
e = b.createPattern(c._canvas, e);
e.setTransform(d.toSVGMatrix());
return{style:e, smoothImage:f};
};
c.prototype._renderFallback = function(a) {
this.fillStyle || (this.fillStyle = b.ColorStyle.randomStyle());
var c = this._bounds;
a.save();
a.beginPath();
a.lineWidth = 2;
a.fillStyle = this.fillStyle;
a.fillRect(c.x, c.y, c.w, c.h);
a.restore();
};
c.LINE_CAPS_STYLES = ["round", "butt", "square"];
c.LINE_JOINTS_STYLES = ["round", "bevel", "miter"];
return c;
}(a);
k.RenderableShape = n;
var q = function() {
function a() {
this.align = this.leading = this.descent = this.ascent = this.width = this.y = this.x = 0;
this.runs = [];
}
a.prototype.addRun = function(b, c, d, e) {
if (d) {
a._measureContext.font = b;
var f = a._measureContext.measureText(d).width | 0;
this.runs.push(new l(b, c, d, f, e));
this.width += f;
}
};
a.prototype.wrap = function(b) {
var c = [this], d = this.runs, e = this;
e.width = 0;
e.runs = [];
for (var f = a._measureContext, g = 0;g < d.length;g++) {
var k = d[g], m = k.text;
k.text = "";
k.width = 0;
f.font = k.font;
for (var n = b, p = m.split(/[\s.-]/), q = 0, s = 0;s < p.length;s++) {
var t = p[s], A = m.substr(q, t.length + 1), B = f.measureText(A).width | 0;
if (B > n) {
do {
if (e.runs.push(k), e.width += k.width, k = new l(k.font, k.fillStyle, "", 0, k.underline), n = new a, n.y = e.y + e.descent + e.leading + e.ascent | 0, n.ascent = e.ascent, n.descent = e.descent, n.leading = e.leading, n.align = e.align, c.push(n), e = n, n = b - B, 0 > n) {
var B = A.length, z, P;
do {
B--, z = A.substr(0, B), P = f.measureText(z).width | 0;
} while (P > b);
k.text = z;
k.width = P;
A = A.substr(B);
B = f.measureText(A).width | 0;
}
} while (0 > n);
} else {
n -= B;
}
k.text += A;
k.width += B;
q += t.length + 1;
}
e.runs.push(k);
e.width += k.width;
}
return c;
};
a._measureContext = document.createElement("canvas").getContext("2d");
return a;
}();
k.TextLine = q;
var l = function() {
return function(a, b, c, d, e) {
"undefined" === typeof a && (a = "");
"undefined" === typeof b && (b = "");
"undefined" === typeof c && (c = "");
"undefined" === typeof d && (d = 0);
"undefined" === typeof e && (e = !1);
this.font = a;
this.fillStyle = b;
this.text = c;
this.width = d;
this.underline = e;
};
}();
k.TextRun = l;
n = function(a) {
function c(b) {
a.call(this, b);
this._flags = 3;
this.properties = {};
this._textBounds = b.clone();
this._textRunData = null;
this._plainText = "";
this._borderColor = this._backgroundColor = 0;
this._matrix = f.createIdentity();
this._coords = null;
this.textRect = b.clone();
this.lines = [];
}
__extends(c, a);
c.prototype.setBounds = function(a) {
this._bounds.set(a);
this._textBounds.set(a);
this.textRect.setElements(a.x + 2, a.y + 2, a.x - 2, a.x - 2);
};
c.prototype.setContent = function(a, b, c, d) {
this._textRunData = b;
this._plainText = a;
this._matrix.set(c);
this._coords = d;
this.lines = [];
};
c.prototype.setStyle = function(a, b) {
this._backgroundColor = a;
this._borderColor = b;
};
c.prototype.reflow = function(a, c) {
var d = this._textRunData;
if (d) {
var e = this._bounds, f = e.w - 4, g = this._plainText, l = this.lines, m = new q, n = 0, p = 0, s = 0, u = 0, w = 0, t = -1;
for (k.enterTimeline("RenderableText.reflow");d.position < d.length;) {
var z = d.readInt(), P = d.readInt(), D = d.readInt(), L = d.readInt(), L = L ? "swffont" + L : d.readUTF(), M = d.readInt(), V = d.readInt(), Q = d.readInt();
M > s && (s = M);
V > u && (u = V);
Q > w && (w = Q);
M = d.readBoolean();
V = "";
d.readBoolean() && (V += "italic");
M && (V += " bold");
D = V + " " + D + "px " + L;
L = d.readInt();
L = b.ColorUtilities.rgbToHex(L);
M = d.readInt();
-1 === t && (t = M);
d.readBoolean();
d.readInt();
d.readInt();
d.readInt();
d.readInt();
d.readInt();
for (var M = d.readBoolean(), U = "", V = !1;!V;z++) {
V = z >= P - 1;
Q = g[z];
if ("\r" !== Q && "\n" !== Q && (U += Q, z < g.length - 1)) {
continue;
}
m.addRun(D, L, U, M);
if (m.runs.length) {
n += s;
m.y = n | 0;
n += u + w;
m.ascent = s;
m.descent = u;
m.leading = w;
m.align = t;
if (c && m.width > f) {
for (m = m.wrap(f), U = 0;U < m.length;U++) {
var S = m[U], n = S.y + S.descent + S.leading;
l.push(S);
S.width > p && (p = S.width);
}
} else {
l.push(m), m.width > p && (p = m.width);
}
m = new q;
} else {
n += s + u + w;
}
U = "";
if (V) {
w = u = s = 0;
t = -1;
break;
}
"\r" === Q && "\n" === g[z + 1] && z++;
}
m.addRun(D, L, U, M);
}
d = this.textRect;
d.w = p;
d.h = n;
if (a) {
if (!c) {
f = p;
p = e.w;
switch(a) {
case 1:
d.x = p - (f + 4) >> 1;
break;
case 3:
d.x = p - (f + 4);
}
this._textBounds.setElements(d.x - 2, d.y - 2, d.w + 4, d.h + 4);
}
e.h = n + 4;
} else {
this._textBounds = e;
}
for (z = 0;z < l.length;z++) {
if (e = l[z], e.width < f) {
switch(e.align) {
case 1:
e.x = f - e.width | 0;
break;
case 2:
e.x = (f - e.width) / 2 | 0;
}
}
}
this.invalidatePaint();
k.leaveTimeline("RenderableText.reflow");
}
};
c.prototype.getBounds = function() {
return this._bounds;
};
c.prototype.render = function(a) {
k.enterTimeline("RenderableText.render");
a.save();
var c = this._textBounds;
this._backgroundColor && (a.fillStyle = b.ColorUtilities.rgbaToCSSStyle(this._backgroundColor), a.fillRect(c.x, c.y, c.w, c.h));
this._borderColor && (a.strokeStyle = b.ColorUtilities.rgbaToCSSStyle(this._borderColor), a.lineCap = "square", a.lineWidth = 1, a.strokeRect(c.x, c.y, c.w, c.h));
this._coords ? this._renderChars(a) : this._renderLines(a);
a.restore();
k.leaveTimeline("RenderableText.render");
};
c.prototype._renderChars = function(a) {
if (this._matrix) {
var b = this._matrix;
a.transform(b.a, b.b, b.c, b.d, b.tx, b.ty);
}
for (var b = this.lines, c = this._coords, d = c.position = 0;d < b.length;d++) {
for (var e = b[d].runs, f = 0;f < e.length;f++) {
var g = e[f];
a.font = g.font;
a.fillStyle = g.fillStyle;
for (var g = g.text, k = 0;k < g.length;k++) {
var l = c.readInt() / 20, m = c.readInt() / 20;
a.fillText(g[k], l, m);
}
}
}
};
c.prototype._renderLines = function(a) {
var b = this._textBounds;
a.beginPath();
a.rect(b.x, b.y, b.w, b.h);
a.clip();
a.translate(b.x + 2, b.y + 2);
for (var b = this.lines, c = 0;c < b.length;c++) {
for (var d = b[c], e = d.x, f = d.y, g = d.runs, k = 0;k < g.length;k++) {
var l = g[k];
a.font = l.font;
a.fillStyle = l.fillStyle;
l.underline && a.fillRect(e, f + d.descent / 2 | 0, l.width, 1);
a.fillText(l.text, e, f);
e += l.width;
}
}
};
return c;
}(a);
k.RenderableText = n;
n = function(a) {
function b(c, d) {
a.call(this, new g(0, 0, c, d));
this._flags = 5;
this.properties = {};
}
__extends(b, a);
Object.defineProperty(b.prototype, "text", {get:function() {
return this._text;
}, set:function(a) {
this._text = a;
}, enumerable:!0, configurable:!0});
b.prototype.render = function(a, b) {
a.save();
a.textBaseline = "top";
a.fillStyle = "white";
a.fillText(this.text, 0, 0);
a.restore();
};
return b;
}(a);
k.Label = n;
a = function(a) {
function c() {
a.call(this, g.createMaxI16());
this._flags = 14;
this.properties = {};
}
__extends(c, a);
c.prototype.render = function(a, c) {
function d(b) {
for (var c = Math.ceil((e.x + e.w) / b) * b, f = Math.floor(e.x / b) * b;f < c;f += b) {
a.moveTo(f + .5, e.y), a.lineTo(f + .5, e.y + e.h);
}
c = Math.ceil((e.y + e.h) / b) * b;
for (f = Math.floor(e.y / b) * b;f < c;f += b) {
a.moveTo(e.x, f + .5), a.lineTo(e.x + e.w, f + .5);
}
}
a.save();
var e = c || this.getBounds();
a.fillStyle = b.ColorStyle.VeryDark;
a.fillRect(e.x, e.y, e.w, e.h);
a.beginPath();
d(100);
a.lineWidth = 1;
a.strokeStyle = b.ColorStyle.Dark;
a.stroke();
a.beginPath();
d(500);
a.lineWidth = 1;
a.strokeStyle = b.ColorStyle.TabToolbar;
a.stroke();
a.beginPath();
d(1E3);
a.lineWidth = 3;
a.strokeStyle = b.ColorStyle.Toolbars;
a.stroke();
a.lineWidth = 3;
a.beginPath();
a.moveTo(-1048576, .5);
a.lineTo(1048576, .5);
a.moveTo(.5, -1048576);
a.lineTo(.5, 1048576);
a.strokeStyle = b.ColorStyle.Orange;
a.stroke();
a.restore();
};
return c;
}(a);
k.Grid = a;
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = b.ColorUtilities.clampByte, f = b.Debug.assert, t = function() {
return function() {
};
}();
k.Filter = t;
var s = function(b) {
function d(a, c, d) {
b.call(this);
this.blurX = a;
this.blurY = c;
this.quality = d;
}
__extends(d, b);
return d;
}(t);
k.BlurFilter = s;
s = function(b) {
function d(a, c, d, f, e, g, k, s, w, r, h) {
b.call(this);
this.alpha = a;
this.angle = c;
this.blurX = d;
this.blurY = f;
this.color = e;
this.distance = g;
this.hideObject = k;
this.inner = s;
this.knockout = w;
this.quality = r;
this.strength = h;
}
__extends(d, b);
return d;
}(t);
k.DropshadowFilter = s;
t = function(b) {
function d(a, c, d, f, e, g, k, s) {
b.call(this);
this.alpha = a;
this.blurX = c;
this.blurY = d;
this.color = f;
this.inner = e;
this.knockout = g;
this.quality = k;
this.strength = s;
}
__extends(d, b);
return d;
}(t);
k.GlowFilter = t;
t = function() {
function b(d) {
f(20 === d.length);
this._m = new Float32Array(d);
}
b.prototype.clone = function() {
return new b(this._m);
};
b.prototype.set = function(b) {
this._m.set(b._m);
};
b.prototype.toWebGLMatrix = function() {
return new Float32Array(this._m);
};
b.prototype.asWebGLMatrix = function() {
return this._m.subarray(0, 16);
};
b.prototype.asWebGLVector = function() {
return this._m.subarray(16, 20);
};
b.prototype.getColorMatrix = function() {
var b = new Float32Array(20), a = this._m;
b[0] = a[0];
b[1] = a[4];
b[2] = a[8];
b[3] = a[12];
b[4] = 255 * a[16];
b[5] = a[1];
b[6] = a[5];
b[7] = a[9];
b[8] = a[13];
b[9] = 255 * a[17];
b[10] = a[2];
b[11] = a[6];
b[12] = a[10];
b[13] = a[14];
b[14] = 255 * a[18];
b[15] = a[3];
b[16] = a[7];
b[17] = a[11];
b[18] = a[15];
b[19] = 255 * a[19];
return b;
};
b.prototype.getColorTransform = function() {
var b = new Float32Array(8), a = this._m;
b[0] = a[0];
b[1] = a[5];
b[2] = a[10];
b[3] = a[15];
b[4] = 255 * a[16];
b[5] = 255 * a[17];
b[6] = 255 * a[18];
b[7] = 255 * a[19];
return b;
};
b.prototype.isIdentity = function() {
var b = this._m;
return 1 == b[0] && 0 == b[1] && 0 == b[2] && 0 == b[3] && 0 == b[4] && 1 == b[5] && 0 == b[6] && 0 == b[7] && 0 == b[8] && 0 == b[9] && 1 == b[10] && 0 == b[11] && 0 == b[12] && 0 == b[13] && 0 == b[14] && 1 == b[15] && 0 == b[16] && 0 == b[17] && 0 == b[18] && 0 == b[19];
};
b.createIdentity = function() {
return new b([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0]);
};
b.prototype.setMultipliersAndOffsets = function(b, a, c, f, g, e, k, l) {
for (var m = this._m, s = 0;s < m.length;s++) {
m[s] = 0;
}
m[0] = b;
m[5] = a;
m[10] = c;
m[15] = f;
m[16] = g;
m[17] = e;
m[18] = k;
m[19] = l;
};
b.prototype.transformRGBA = function(b) {
var a = b >> 24 & 255, c = b >> 16 & 255, f = b >> 8 & 255, k = b & 255, e = this._m;
b = g(a * e[0] + c * e[1] + f * e[2] + k * e[3] + e[16]);
var m = g(a * e[4] + c * e[5] + f * e[6] + k * e[7] + e[17]), l = g(a * e[8] + c * e[9] + f * e[10] + k * e[11] + e[18]), a = g(a * e[12] + c * e[13] + f * e[14] + k * e[15] + e[19]);
return b << 24 | m << 16 | l << 8 | a;
};
b.prototype.multiply = function(b) {
var a = this._m, c = b._m;
b = a[0];
var f = a[1], g = a[2], e = a[3], k = a[4], l = a[5], m = a[6], s = a[7], r = a[8], h = a[9], t = a[10], y = a[11], G = a[12], I = a[13], C = a[14], E = a[15], O = a[16], K = a[17], F = a[18], J = a[19], A = c[0], B = c[1], z = c[2], P = c[3], D = c[4], L = c[5], M = c[6], V = c[7], Q = c[8], U = c[9], S = c[10], aa = c[11], $ = c[12], ea = c[13], Z = c[14], v = c[15], X = c[16], ba = c[17], R = c[18], c = c[19];
a[0] = b * A + k * B + r * z + G * P;
a[1] = f * A + l * B + h * z + I * P;
a[2] = g * A + m * B + t * z + C * P;
a[3] = e * A + s * B + y * z + E * P;
a[4] = b * D + k * L + r * M + G * V;
a[5] = f * D + l * L + h * M + I * V;
a[6] = g * D + m * L + t * M + C * V;
a[7] = e * D + s * L + y * M + E * V;
a[8] = b * Q + k * U + r * S + G * aa;
a[9] = f * Q + l * U + h * S + I * aa;
a[10] = g * Q + m * U + t * S + C * aa;
a[11] = e * Q + s * U + y * S + E * aa;
a[12] = b * $ + k * ea + r * Z + G * v;
a[13] = f * $ + l * ea + h * Z + I * v;
a[14] = g * $ + m * ea + t * Z + C * v;
a[15] = e * $ + s * ea + y * Z + E * v;
a[16] = b * X + k * ba + r * R + G * c + O;
a[17] = f * X + l * ba + h * R + I * c + K;
a[18] = g * X + m * ba + t * R + C * c + F;
a[19] = e * X + s * ba + y * R + E * c + J;
};
Object.defineProperty(b.prototype, "alphaMultiplier", {get:function() {
return this._m[15];
}, enumerable:!0, configurable:!0});
b.prototype.hasOnlyAlphaMultiplier = function() {
var b = this._m;
return 1 == b[0] && 0 == b[1] && 0 == b[2] && 0 == b[3] && 0 == b[4] && 1 == b[5] && 0 == b[6] && 0 == b[7] && 0 == b[8] && 0 == b[9] && 1 == b[10] && 0 == b[11] && 0 == b[12] && 0 == b[13] && 0 == b[14] && 0 == b[16] && 0 == b[17] && 0 == b[18] && 0 == b[19];
};
b.prototype.equals = function(b) {
if (!b) {
return!1;
}
var a = this._m;
b = b._m;
for (var c = 0;20 > c;c++) {
if (.001 < Math.abs(a[c] - b[c])) {
return!1;
}
}
return!0;
};
return b;
}();
k.ColorMatrix = t;
})(b.GFX || (b.GFX = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
k.timelineBuffer = new b.Tools.Profiler.TimelineBuffer("Player");
k.counter = new b.Metrics.Counter(!0);
k.writer = null;
k.enterTimeline = function(b, f) {
k.writer && k.writer.enter(b);
};
k.leaveTimeline = function(b, f) {
k.writer && k.writer.leave(b);
};
})(b.Player || (b.Player = {}));
})(Shumway || (Shumway = {}));
var Shumway$$inline_284 = Shumway || (Shumway = {});
Shumway$$inline_284.playerOptions = Shumway$$inline_284.Settings.shumwayOptions.register(new Shumway$$inline_284.Options.OptionSet("Player Options"));
Shumway$$inline_284.frameEnabledOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Enable Frame Execution", "boolean", !0, "Enable frame execution."));
Shumway$$inline_284.timerEnabledOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Enable Timers", "boolean", !0, "Enable timer events."));
Shumway$$inline_284.pumpEnabledOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Enable Pump", "boolean", !0, "Enable display tree serialization."));
Shumway$$inline_284.pumpRateOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Pump Rate", "number", 80, "Number of times / second that the display list is synchronized.", {range:{min:1, max:120, step:1}}));
Shumway$$inline_284.frameRateOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Frame Rate", "number", -1, "Override a movie's frame rate, set to -1 to use the movies default frame rate.", {range:{min:-1, max:120, step:1}}));
Shumway$$inline_284.tracePlayerOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("tp", "Trace Player", "number", 0, "Trace player every n frames.", {range:{min:0, max:512, step:1}}));
Shumway$$inline_284.traceMouseEventOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("tme", "Trace Mouse Events", "boolean", !1, "Trace mouse events."));
Shumway$$inline_284.frameRateMultiplierOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Frame Rate Multiplier", "number", 1, "Play frames at a faster rate.", {range:{min:1, max:16, step:1}}));
Shumway$$inline_284.dontSkipFramesOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Disables Frame Skipping", "boolean", !1, "Play all frames, e.g. no skipping frame during throttle."));
Shumway$$inline_284.playAllSymbolsOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbols", "boolean", !1, "Plays all SWF symbols automatically."));
Shumway$$inline_284.playSymbolOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbol Number", "number", 0, "Select symbol by Id.", {range:{min:0, max:2E4, step:1}}));
Shumway$$inline_284.playSymbolFrameDurationOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbol Duration", "number", 0, "How many frames to play, 0 for all frames of the movie clip.", {range:{min:0, max:128, step:1}}));
Shumway$$inline_284.playSymbolCountOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Play Symbol Count", "number", -1, "Select symbol count.", {range:{min:0, max:2E4, step:1}}));
Shumway$$inline_284.stageScaleOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("", "Stage Scale", "number", 1, "Scales the symbols.", {range:{min:.1, max:16, step:.01}}));
Shumway$$inline_284.useParsingWorkerOption = Shumway$$inline_284.playerOptions.register(new Shumway$$inline_284.Options.Option("useWorker", "Use Parsing Worker", "boolean", !0, "Determines whether to spawn a DOM worker thread for parsing"));
(function(b) {
var k = function() {
function b() {
this._expectedNextFrameAt = performance.now();
this._drawStats = [];
this._drawsSkipped = this._drawStarted = this._drawStatsSum = 0;
this._expectedNextFrameAt = performance.now();
this._onTime = !0;
this._trackDelta = !1;
this._onTimeDelta = this._delta = 0;
}
Object.defineProperty(b.prototype, "shallSkipDraw", {get:function() {
if (this._drawsSkipped >= b.MAX_DRAWS_TO_SKIP) {
return!1;
}
var f = this._drawStats.length < b.STATS_TO_REMEMBER ? 0 : this._drawStatsSum / this._drawStats.length;
return performance.now() + f + b.INTERVAL_PADDING_MS > this._expectedNextFrameAt;
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "nextFrameIn", {get:function() {
return Math.max(0, this._expectedNextFrameAt - performance.now());
}, enumerable:!0, configurable:!0});
Object.defineProperty(b.prototype, "isOnTime", {get:function() {
return this._onTime;
}, enumerable:!0, configurable:!0});
b.prototype.startFrame = function(f) {
var k = f = 1E3 / f, s = this._onTimeDelta + this._delta;
0 !== s && (0 > s ? k *= b.SPEED_ADJUST_RATE : 0 < s && (k /= b.SPEED_ADJUST_RATE), this._onTimeDelta += f - k);
this._expectedNextFrameAt += k;
this._onTime = !0;
};
b.prototype.endFrame = function() {
var f = performance.now() + b.INTERVAL_PADDING_MS;
f > this._expectedNextFrameAt && (this._trackDelta && (this._onTimeDelta += this._expectedNextFrameAt - f, console.log(this._onTimeDelta)), this._expectedNextFrameAt = f, this._onTime = !1);
};
b.prototype.startDraw = function() {
this._drawsSkipped = 0;
this._drawStarted = performance.now();
};
b.prototype.endDraw = function() {
var f = performance.now() - this._drawStarted;
this._drawStats.push(f);
for (this._drawStatsSum += f;this._drawStats.length > b.STATS_TO_REMEMBER;) {
this._drawStatsSum -= this._drawStats.shift();
}
};
b.prototype.skipDraw = function() {
this._drawsSkipped++;
};
b.prototype.setDelta = function(b) {
this._trackDelta && (this._delta = b);
};
b.prototype.startTrackDelta = function() {
this._trackDelta = !0;
};
b.prototype.endTrackDelta = function() {
this._trackDelta && (this._trackDelta = !1, this._onTimeDelta = this._delta = 0);
};
b.STATS_TO_REMEMBER = 50;
b.MAX_DRAWS_TO_SKIP = 2;
b.INTERVAL_PADDING_MS = 4;
b.SPEED_ADJUST_RATE = .9;
return b;
}();
b.FrameScheduler = k;
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.AVM2.AS.flash, k = b.AVM2.AS.flash.display, s = b.AVM2.AS.flash.display.BitmapData, m = b.AVM2.AS.flash.display.DisplayObjectFlags, d = b.AVM2.AS.flash.display.BlendMode, a = b.AVM2.AS.flash.display.PixelSnapping, c = b.AVM2.AS.flash.geom.Point, n = b.Bounds, p = b.Debug.assert, e = b.Player.writer, q = function() {
function c() {
this.phase = 0;
this.roots = null;
}
c.prototype.begin = function(a) {
this.roots = [a];
};
c.prototype.remoteObjects = function() {
this.phase = 0;
for (var a = this.roots, c = 0;c < a.length;c++) {
b.Player.enterTimeline("remoting objects"), this.writeDisplayObject(a[c]), b.Player.leaveTimeline("remoting objects");
}
};
c.prototype.remoteReferences = function() {
this.phase = 1;
for (var a = this.roots, c = 0;c < a.length;c++) {
b.Player.enterTimeline("remoting references"), this.writeDisplayObject(a[c]), b.Player.leaveTimeline("remoting references");
}
};
c.prototype.writeDisplayObject = function(a) {
var c = this, d = this.roots;
a.visit(function(a) {
c.writeUpdateFrame(a);
d && a.mask && b.ArrayUtilities.pushUnique(d, a.mask._findFurthestAncestorOrSelf());
return 0;
}, 16, m.Dirty);
};
c.prototype.writeStage = function(a) {
e && e.writeLn("Sending Stage");
this.output.writeInt(104);
this.output.writeInt(a._id);
this.output.writeInt(a.color);
this._writeRectangle(new n(0, 0, 20 * a.stageWidth, 20 * a.stageHeight));
};
c.prototype.writeGraphics = function(a) {
if (a._isDirty) {
e && e.writeLn("Sending Graphics: " + a._id);
for (var b = a._textures, c = b.length, d = 0;d < c;d++) {
this.writeBitmapData(b[d]);
}
this.output.writeInt(101);
this.output.writeInt(a._id);
this.output.writeInt(-1);
this._writeRectangle(a._getContentBounds());
this._writeAsset(a._graphicsData.toPlainObject());
this.output.writeInt(c);
for (d = 0;d < c;d++) {
this.output.writeInt(b[d]._id);
}
a._isDirty = !1;
}
};
c.prototype.writeNetStream = function(a) {
a._isDirty && (e && e.writeLn("Sending NetStream: " + a._id), this.output.writeInt(105), this.output.writeInt(a._id), this.output.writeUTF(a._url), a._isDirty = !1);
};
c.prototype.writeBitmapData = function(a) {
a._isDirty && (e && e.writeLn("Sending BitmapData: " + a._id), this.output.writeInt(102), this.output.writeInt(a._id), this.output.writeInt(a._symbol ? a._symbol.id : -1), this._writeRectangle(a._getContentBounds()), this.output.writeInt(a._type), this._writeAsset(a._dataBuffer.toPlainObject()), a._isDirty = !1);
};
c.prototype.writeTextContent = function(a) {
if (a.flags & b.TextContentFlags.Dirty) {
e && e.writeLn("Sending TextContent: " + a._id);
this.output.writeInt(103);
this.output.writeInt(a._id);
this.output.writeInt(-1);
this._writeRectangle(a.bounds);
this._writeMatrix(a.matrix || f.geom.Matrix.FROZEN_IDENTITY_MATRIX);
this.output.writeInt(a.backgroundColor);
this.output.writeInt(a.borderColor);
this.output.writeInt(a.autoSize);
this.output.writeBoolean(a.wordWrap);
this._writeAsset(a.plainText);
this._writeAsset(a.textRunData.toPlainObject());
var c = a.coords;
if (c) {
var d = c.length;
this.output.writeInt(d);
for (var g = 0;g < d;g++) {
this.output.writeInt(c[g]);
}
} else {
this.output.writeInt(0);
}
a.flags &= ~b.TextContentFlags.Dirty;
}
};
c.prototype.writeFont = function(a) {
if ("embedded" === a.fontType) {
e && e.writeLn("Sending Font: " + a._id);
var b = a._symbol;
p(b);
this.output.writeInt(200);
this.output.writeInt(a._id);
this.output.writeBoolean(b.bold);
this.output.writeBoolean(b.italic);
this._writeAsset(b.data);
}
};
c.prototype.writeClip = function(a) {
if (0 <= a._clipDepth && a._parent) {
var b = a._parent.getChildIndex(a);
a = a._parent.getClipDepthIndex(a._clipDepth);
for (var c = b + 1;c <= b;c++) {
}
p(0 <= a - b);
this.output.writeInt(a - b);
} else {
this.output.writeInt(-1);
}
};
c.prototype.writeUpdateFrame = function(b) {
this.output.writeInt(100);
this.output.writeInt(b._id);
e && e.writeLn("Sending UpdateFrame: " + b.debugName());
var c = !1, g = b._hasFlags(1048576), h = b._hasFlags(67108864), l = b._hasFlags(536870912), n = null;
f.media.Video.isType(b) && (n = b);
var p = !1;
1 === this.phase && (p = b._hasAnyFlags(65011712), c = b._hasFlags(134217728));
var q = null;
k.Bitmap.isType(b) && (q = b);
var s = b._hasFlags(268435456), E;
E = 0 | (g ? 1 : 0) | (h ? 8 : 0);
E |= c ? 64 : 0;
E |= s ? 128 : 0;
E |= l ? 32 : 0;
E |= p ? 4 : 0;
this.output.writeInt(E);
g && this._writeMatrix(b._getMatrix());
h && this._writeColorTransform(b._colorTransform);
c && this.output.writeInt(b.mask ? b.mask._id : -1);
s && this.writeClip(b);
l && (this.output.writeInt(d.toNumber(b._blendMode)), this.output.writeBoolean(b._hasFlags(1)), q ? (this.output.writeInt(a.toNumber(q.pixelSnapping)), this.output.writeInt(q.smoothing ? 1 : 0)) : (this.output.writeInt(a.toNumber(a.AUTO)), this.output.writeInt(1)));
c = b._getGraphics();
g = b._getTextContent();
if (p) {
e && e.enter("Children: {");
if (q) {
q.bitmapData ? (this.output.writeInt(1), this.output.writeInt(134217728 | q.bitmapData._id)) : this.output.writeInt(0);
} else {
if (n) {
n._netStream ? (this.output.writeInt(1), this.output.writeInt(134217728 | n._netStream._id)) : this.output.writeInt(0);
} else {
if (h = c || g ? 1 : 0, (p = b._children) && (h += p.length), this.output.writeInt(h), c ? (e && e.writeLn("Reference Graphics: " + c._id), this.output.writeInt(134217728 | c._id)) : g && (e && e.writeLn("Reference TextContent: " + g._id), this.output.writeInt(134217728 | g._id)), p) {
for (h = 0;h < p.length;h++) {
e && e.writeLn("Reference DisplayObject: " + p[h].debugName()), this.output.writeInt(p[h]._id), 0 <= p[h]._clipDepth && p[h]._setFlags(268435456);
}
}
}
}
e && e.leave("}");
}
1 === this.phase && b._removeFlags(m.Dirty);
c ? this.writeGraphics(c) : g ? this.writeTextContent(g) : q ? q.bitmapData && this.writeBitmapData(q.bitmapData) : n && n._netStream && this.writeNetStream(n._netStream);
};
c.prototype.writeDrawToBitmap = function(a, b, c, e, f, g, k) {
"undefined" === typeof c && (c = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof f && (f = null);
"undefined" === typeof g && (g = null);
"undefined" === typeof k && (k = !1);
this.output.writeInt(201);
this.output.writeInt(a._id);
s.isType(b) ? this.output.writeInt(134217728 | b._id) : this.output.writeInt(b._id);
a = 0 | (c ? 1 : 0) | (e ? 8 : 0);
a |= g ? 16 : 0;
this.output.writeInt(a);
c && this._writeMatrix(c);
e && this._writeColorTransform(e);
g && this._writeRectangle(n.FromRectangle(g));
this.output.writeInt(d.toNumber(f));
this.output.writeBoolean(k);
};
c.prototype._writeMatrix = function(a) {
this.output.write6Floats(a.a, a.b, a.c, a.d, a.tx, a.ty);
};
c.prototype._writeRectangle = function(a) {
this.output.write4Ints(a.xMin, a.yMin, a.width, a.height);
};
c.prototype._writeAsset = function(a) {
this.output.writeInt(this.outputAssets.length);
this.outputAssets.push(a);
};
c.prototype._writeColorTransform = function(a) {
var b = this.output, c = a.redMultiplier, d = a.greenMultiplier, e = a.blueMultiplier, f = a.alphaMultiplier, g = a.redOffset, k = a.greenOffset, l = a.blueOffset;
a = a.alphaOffset;
g === k && k === l && l === a && 0 === a && c === d && d === e && 1 === e ? 1 === f ? b.writeInt(0) : (b.writeInt(1), b.writeFloat(f)) : (b.writeInt(2), b.writeFloat(c), b.writeFloat(d), b.writeFloat(e), b.writeFloat(f), b.writeInt(g), b.writeInt(k), b.writeInt(l), b.writeInt(a));
};
c.prototype.writeRequestBitmapData = function(a) {
e && e.writeLn("Sending BitmapData Request");
this.output.writeInt(106);
this.output.writeInt(a._id);
};
c.prototype.writeDecodeImage = function(a, b, c) {
e && e.writeLn("Sending DecodeImage");
this.output.writeInt(107);
this.output.writeInt(a);
this.output.writeInt(b);
this._writeAsset(c);
};
return c;
}();
g.PlayerChannelSerializer = q;
q = function() {
function a() {
}
a.prototype._readAsset = function() {
var a = this.input.readInt(), b = this.inputAssets[a];
this.inputAssets[a] = null;
return b;
};
a.prototype.read = function() {
var a = this.input.readInt();
switch(a) {
case 300:
return this._readMouseEvent();
case 301:
return this._readKeyboardEvent();
case 302:
return this._readFocusEvent();
case 108:
return this._readDecodeImageResponse();
}
p(!1, "Unknown MessageReader tag: " + a);
};
a.prototype._readDecodeImageResponse = function() {
var a = this.input, b = a.readInt(), c = a.readInt(), d = this._readAsset(), e = a.readInt(), a = a.readInt();
return{tag:108, promiseId:b, type:c, data:d, width:e, height:a};
};
a.prototype._readFocusEvent = function() {
return{tag:302, type:this.input.readInt()};
};
a.prototype._readMouseEvent = function() {
var a = this.input, d = a.readInt(), d = b.Remoting.MouseEventNames[d], e = a.readFloat(), f = a.readFloat(), g = a.readInt(), a = a.readInt();
return{tag:300, type:d, point:new c(e, f), ctrlKey:!!(a & 1), altKey:!!(a & 2), shiftKey:!!(a & 4), buttons:g};
};
a.prototype._readKeyboardEvent = function() {
var a = this.input, c = a.readInt(), c = b.Remoting.KeyboardEventNames[c], d = a.readInt(), e = a.readInt(), f = a.readInt(), a = a.readInt();
return{tag:301, type:c, keyCode:d, charCode:e, location:f, ctrlKey:!!(a & 1), altKey:!!(a & 2), shiftKey:!!(a & 4)};
};
return a;
}();
g.PlayerChannelDeserializer = q;
})(k.Player || (k.Player = {}));
})(b.Remoting || (b.Remoting = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
var g = b.Debug.assert, f = b.AVM2.AS.flash, t = b.ArrayUtilities.DataBuffer, s = b.AVM2.Runtime.AVM2, m = b.AVM2.AS.avm1lib, d = b.AVM2.AS.flash.events.Event, a = b.AVM2.AS.flash.display.DisplayObject, c = b.AVM2.AS.flash.events.EventDispatcher, n = b.AVM2.AS.flash.display.MovieClip, p = b.AVM2.AS.flash.display.Loader, e = b.AVM2.AS.flash.ui.MouseEventDispatcher, q = b.AVM2.AS.flash.ui.KeyboardEventDispatcher, l = function() {
function l() {
this._framesPlayed = 0;
this._pendingPromises = [];
this.externalCallback = null;
this._lastPumpTime = 0;
this._hasFocus = this._isPageVisible = !0;
this._keyboardEventDispatcher = new q;
this._mouseEventDispatcher = new e;
this._writer = new b.IndentingWriter;
s.instance.globals["Shumway.Player.Utils"] = this;
}
l.prototype._getNextAvailablePromiseId = function() {
for (var a = this._pendingPromises.length, b = 0;b < a;b++) {
if (!this._pendingPromises[b]) {
return b;
}
}
return a;
};
l.prototype.onSendUpdates = function(a, b, c) {
throw Error("This method is abstract");
};
l.prototype._shouldThrottleDownRendering = function() {
return!this._isPageVisible;
};
l.prototype._shouldThrottleDownFrameExecution = function() {
return!this._isPageVisible;
};
l.prototype.load = function(a, c) {
g(!this._loader, "Can't load twice.");
var d = this, e = this._stage = new f.display.Stage, k = this._loader = f.display.Loader.getRootLoader(), l = this._loaderInfo = k.contentLoaderInfo;
b.playAllSymbolsOption.value ? (this._playAllSymbols(), l._allowCodeExecution = !1) : k._startPromise.then(function() {
l.actionScriptVersion === f.display.ActionScriptVersion.ACTIONSCRIPT2 ? (m.AVM1Key.asCallPublicProperty("__bind", [e]), m.AVM1Mouse.asCallPublicProperty("__bind", [e]), n.frameNavigationModel = 1) : 10 > l.swfVersion && (n.frameNavigationModel = 2);
var a = void 0 !== d.defaultStageColor ? d.defaultStageColor : l._colorRGBA, c = k.content;
e._loaderInfo = l;
e.frameRate = l.frameRate;
e.setStageWidth(l.width);
e.setStageHeight(l.height);
e.setStageColor(b.ColorUtilities.RGBAToARGB(a));
e.addTimelineObjectAtDepth(c, 0);
d._enterLoops();
});
if (c) {
var p = b.Timeline.BinarySymbol.FromData({id:-1, data:c}), q = p.symbolClass.initializeFrom(p);
p.symbolClass.instanceConstructorNoInitialize.call(q);
this._loader.loadBytes(q);
} else {
this._loader.load(new f.net.URLRequest(a));
}
};
l.prototype.processUpdates = function(a, e) {
var f = new b.Remoting.Player.PlayerChannelDeserializer;
f.input = a;
f.inputAssets = e;
f = f.read();
switch(f.tag) {
case 301:
var k = this._stage.focus ? this._stage.focus : this._stage;
this._keyboardEventDispatcher.target = k;
this._keyboardEventDispatcher.dispatchKeyboardEvent(f);
break;
case 300:
this._mouseEventDispatcher.stage = this._stage;
k = this._mouseEventDispatcher.handleMouseEvent(f);
b.traceMouseEventOption.value && this._writer.writeLn("Mouse Event: type: " + f.type + ", target: " + k + ", name: " + k._name);
break;
case 302:
switch(f.type) {
case 0:
this._isPageVisible = !1;
break;
case 1:
this._isPageVisible = !0;
break;
case 2:
this._hasFocus = !1;
break;
case 3:
c.broadcastEventDispatchQueue.dispatchEvent(d.getBroadcastInstance(d.ACTIVATE)), this._hasFocus = !0;
}
break;
case 108:
var k = f.promiseId, l = this._pendingPromises[k];
g(l, "We should be resolving an unresolved decode image promise at this point.");
l.resolve(f);
this._pendingPromises[k] = null;
}
};
l.prototype._enterLoops = function() {
this._enterEventLoop();
};
l.prototype._pumpDisplayListUpdates = function() {
this.syncDisplayObject(this._stage);
};
l.prototype.syncDisplayObject = function(a, c) {
"undefined" === typeof c && (c = !0);
var d = new t, e = [], g = new b.Remoting.Player.PlayerChannelSerializer;
g.output = d;
g.outputAssets = e;
f.display.Stage.isType(a) && g.writeStage(a);
g.begin(a);
g.remoteObjects();
g.remoteReferences();
d.writeInt(0);
k.enterTimeline("remoting assets");
d = this.onSendUpdates(d, e, c);
k.leaveTimeline("remoting assets");
return d;
};
l.prototype.requestBitmapData = function(a) {
var c = new t, d = [], e = new b.Remoting.Player.PlayerChannelSerializer;
e.output = c;
e.outputAssets = d;
e.writeRequestBitmapData(a);
c.writeInt(0);
return this.onSendUpdates(c, d, !1);
};
l.prototype.decodeImage = function(a, c) {
g(5 === a.type || 6 === a.type || 4 === a.type, "No need to decode any other image formats.");
var d = new t, e = [], f = new b.Remoting.Player.PlayerChannelSerializer;
f.output = d;
f.outputAssets = e;
var k = this._getNextAvailablePromiseId();
f.writeDecodeImage(k, a.type, a.data);
d.writeInt(0);
this.onSendUpdates(d, e);
(this._pendingPromises[k] = new b.PromiseWrapper).promise.then(function(b) {
a.data = b.data;
a.type = b.type;
a.width = b.width;
a.height = b.height;
c(void 0);
});
};
l.prototype.registerFont = function(a) {
var c = new t, d = [], e = new b.Remoting.Player.PlayerChannelSerializer;
e.output = c;
e.outputAssets = d;
e.writeFont(a);
this.onSendUpdates(c, d);
};
l.prototype.drawToBitmap = function(a, c, d, e, g, l, m) {
"undefined" === typeof d && (d = null);
"undefined" === typeof e && (e = null);
"undefined" === typeof g && (g = null);
"undefined" === typeof l && (l = null);
"undefined" === typeof m && (m = !1);
var n = new t, p = [], q = new b.Remoting.Player.PlayerChannelSerializer;
q.output = n;
q.outputAssets = p;
q.writeBitmapData(a);
f.display.BitmapData.isType(c) ? q.writeBitmapData(c) : (q.begin(c), q.remoteObjects(), q.remoteReferences());
q.writeDrawToBitmap(a, c, d, e, g, l, m);
n.writeInt(0);
k.enterTimeline("sendUpdates");
this.onSendUpdates(n, p, !1);
k.leaveTimeline("sendUpdates");
};
l.prototype.executeFSCommand = function(a, b) {
switch(a) {
case "quit":
this._leaveEventLoop();
}
this.onFSCommand(a, b);
};
l.prototype.requestRendering = function() {
this._pumpDisplayListUpdates();
};
l.prototype._pumpUpdates = function() {
if (b.dontSkipFramesOption.value || !(this._shouldThrottleDownRendering() || performance.now() - this._lastPumpTime < 1E3 / b.pumpRateOption.value)) {
k.enterTimeline("pump"), b.pumpEnabledOption.value && (this._pumpDisplayListUpdates(), this._lastPumpTime = performance.now()), k.leaveTimeline("pump");
}
};
l.prototype._leaveSyncLoop = function() {
g(-1 < this._frameTimeout);
clearInterval(this._frameTimeout);
};
l.prototype._getFrameInterval = function() {
var a = b.frameRateOption.value;
0 > a && (a = this._stage.frameRate);
return Math.floor(1E3 / a);
};
l.prototype._enterEventLoop = function() {
this._eventLoopIsRunning = !0;
this._eventLoopTick = this._eventLoopTick.bind(this);
this._eventLoopTick();
};
l.prototype._eventLoopTick = function() {
var c = !b.playAllSymbolsOption.value, d = b.dontSkipFramesOption.value;
this._frameTimeout = setTimeout(this._eventLoopTick, this._getFrameInterval());
if (d || !(!b.frameEnabledOption.value && c || this._shouldThrottleDownFrameExecution())) {
this._stage.scaleX = this._stage.scaleY = b.stageScaleOption.value;
a._stage = this._stage;
for (d = 0;d < b.frameRateMultiplierOption.value;d++) {
k.enterTimeline("eventLoop");
var e = performance.now();
a.performFrameNavigation(!0, c);
k.counter.count("performFrameNavigation", 1, performance.now() - e);
this._framesPlayed++;
p.progress();
0 < b.tracePlayerOption.value && 0 === this._framesPlayed % b.tracePlayerOption.value && this._tracePlayer();
k.leaveTimeline("eventLoop");
}
this._rootInitialized ? this._stage.render() : this._rootInitialized = !0;
this._pumpUpdates();
this.onFrameProcessed();
}
};
l.prototype._tracePlayer = function() {
var a = this._writer;
a.enter("Frame: " + this._framesPlayed);
b.AVM2.counter.traceSorted(a);
b.AVM2.counter.clear();
b.Player.counter.traceSorted(a);
b.Player.counter.clear();
a.writeLn("advancableInstances: " + f.display.DisplayObject._advancableInstances.length);
a.outdent();
};
l.prototype._leaveEventLoop = function() {
g(this._eventLoopIsRunning);
clearTimeout(this._frameTimeout);
this._eventLoopIsRunning = !1;
};
l.prototype._playAllSymbols = function() {
var a = this._stage, c = this._loader, d = this._loaderInfo, e = this;
d.addEventListener(f.events.ProgressEvent.PROGRESS, function G() {
c.content && (d.removeEventListener(f.events.ProgressEvent.PROGRESS, G), e._enterLoops());
});
d.addEventListener(f.events.Event.COMPLETE, function() {
function c() {
var l;
0 < b.playSymbolOption.value ? (l = d.getSymbolById(b.playSymbolOption.value), l instanceof b.Timeline.DisplaySymbol || (l = null)) : (l = g[k++], k === g.length && (k = 0), 0 <= b.playSymbolCountOption.value && k > b.playSymbolCountOption.value && (k = 0));
var m = 1;
if (l && 0 < l.id) {
var n = l;
f.display.DisplayObject.reset();
f.display.MovieClip.reset();
var p = n.symbolClass.initializeFrom(n);
n.symbolClass.instanceConstructorNoInitialize.call(p);
for (n instanceof b.Timeline.BitmapSymbol && (p = new f.display.Bitmap(p));0 < a.numChildren;) {
a.removeChildAt(0);
}
a.addChild(p);
l instanceof b.Timeline.SpriteSymbol && (m = l.numFrames);
}
0 < b.playSymbolFrameDurationOption.value && (m = b.playSymbolFrameDurationOption.value);
setTimeout(c, e._getFrameInterval() * m);
}
a.setStageWidth(1024);
a.setStageHeight(1024);
var g = [];
d._dictionary.forEach(function(a, c) {
a instanceof b.Timeline.DisplaySymbol && g.push(a);
});
var k = 0;
setTimeout(c, e._getFrameInterval());
});
};
l.prototype.processExternalCallback = function(a) {
if (this.externalCallback) {
try {
a.result = this.externalCallback(a.functionName, a.args);
} catch (b) {
a.error = b.message;
}
}
};
l.prototype.onExternalCommand = function(a) {
throw Error("This method is abstract");
};
l.prototype.onFSCommand = function(a, b) {
throw Error("This method is abstract");
};
l.prototype.onFrameProcessed = function() {
throw Error("This method is abstract");
};
l.prototype.createExternalInterfaceService = function() {
var a, b = this;
return{get enabled() {
if (void 0 === a) {
var c = {action:"isEnabled"};
b.onExternalCommand(c);
a = c.result;
}
return a;
}, initJS:function(a) {
b.externalCallback = a;
b.onExternalCommand({action:"initJS"});
}, registerCallback:function(a) {
b.onExternalCommand({action:"register", functionName:a, remove:!1});
}, unregisterCallback:function(a) {
b.onExternalCommand({action:"register", functionName:a, remove:!0});
}, eval:function(a) {
a = {action:"eval", expression:a};
b.onExternalCommand(a);
return a.result;
}, call:function(a) {
a = {action:"call", request:a};
b.onExternalCommand(a);
return a.result;
}, getId:function() {
var a = {action:"getId"};
b.onExternalCommand(a);
return a.result;
}};
};
return l;
}();
k.Player = l;
})(b.Player || (b.Player = {}));
})(Shumway || (Shumway = {}));
(function(b) {
var k = b.BinaryFileReader, g = b.AVM2.ABC.AbcFile, f = b.AVM2.Runtime.AVM2, t = b.Debug.assert;
b.createAVM2 = function(s, m, d, a, c, n) {
function p(a) {
(new k(d)).readAll(function(b) {
e.systemDomain.executeAbc(new g(new Uint8Array(b), d));
a();
});
}
var e;
t(s);
(new k(s)).readAll(function(q) {
f.initialize(a, c, d ? p : null);
e = f.instance;
b.AVM2.AS.linkNatives(e);
console.time("Execute builtin.abc");
e.builtinsLoaded = !1;
e.systemDomain.executeAbc(new g(new Uint8Array(q), "builtin.abc"));
e.builtinsLoaded = !0;
console.timeEnd("Execute builtin.abc");
"string" === typeof m ? (new k(m)).readAll(function(a) {
e.systemDomain.executeAbc(new g(new Uint8Array(a), m));
n(e);
}) : f.isPlayerglobalLoaded() || f.loadPlayerglobal(m.abcs, m.catalog).then(function() {
n(e);
});
});
};
})(Shumway || (Shumway = {}));
__extends = this.__extends || function(b, k) {
function g() {
this.constructor = b;
}
for (var f in k) {
k.hasOwnProperty(f) && (b[f] = k[f]);
}
g.prototype = k.prototype;
b.prototype = new g;
};
(function(b) {
(function(k) {
(function(g) {
var f = b.ArrayUtilities.DataBuffer, k = function(g) {
function k(b, a) {
g.call(this);
this._window = b;
this._parent = a || b.parent;
this._window.addEventListener("message", function(a) {
this.onWindowMessage(a.data, !0);
}.bind(this));
this._window.addEventListener("syncmessage", function(a) {
this.onWindowMessage(a.detail, !1);
}.bind(this));
}
__extends(k, g);
k.prototype.onSendUpdates = function(b, a, c) {
"undefined" === typeof c && (c = !0);
b = b.getBytes();
a = {type:"player", updates:b, assets:a, result:void 0};
b = [b.buffer];
if (!c) {
return c = this._parent.document.createEvent("CustomEvent"), c.initCustomEvent("syncmessage", !1, !1, a), this._parent.dispatchEvent(c), f.FromPlainObject(a.result);
}
this._parent.postMessage(a, "*", b);
return null;
};
k.prototype.onExternalCommand = function(b) {
var a = this._parent.document.createEvent("CustomEvent");
a.initCustomEvent("syncmessage", !1, !1, {type:"external", request:b});
this._parent.dispatchEvent(a);
};
k.prototype.onFSCommand = function(b, a) {
this._parent.postMessage({type:"fscommand", command:b, args:a}, "*");
};
k.prototype.onFrameProcessed = function() {
this._parent.postMessage({type:"frame"}, "*");
};
k.prototype.onWindowMessage = function(d, a) {
if ("object" === typeof d && null !== d) {
switch(d.type) {
case "gfx":
var c = b.ArrayUtilities.DataBuffer.FromArrayBuffer(d.updates.buffer);
this.processUpdates(c, d.assets);
break;
case "externalCallback":
this.processExternalCallback(d.request);
break;
case "options":
b.Settings.setSettings(d.settings);
break;
case "timeline":
switch(d.request) {
case "AVM2":
if ("clear" === d.cmd) {
b.AVM2.timelineBuffer.reset();
break;
}
this._parent.postMessage({type:"timelineResponse", request:d.request, timeline:b.AVM2.timelineBuffer}, "*");
break;
case "Player":
if ("clear" === d.cmd) {
b.Player.timelineBuffer.reset();
break;
}
this._parent.postMessage({type:"timelineResponse", request:d.request, timeline:b.Player.timelineBuffer}, "*");
break;
case "SWF":
if ("clear" === d.cmd) {
b.SWF.timelineBuffer.reset();
break;
}
this._parent.postMessage({type:"timelineResponse", request:d.request, timeline:b.SWF.timelineBuffer}, "*");
}
;
}
}
};
return k;
}(b.Player.Player);
g.WindowPlayer = k;
})(k.Window || (k.Window = {}));
})(b.Player || (b.Player = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(k) {
(function(g) {
var f = b.ArrayUtilities.DataBuffer, k = function(g) {
function k() {
g.call(this);
this._worker = b.Player.Test.FakeSyncWorker.instance;
this._worker.addEventListener("message", this._onWorkerMessage.bind(this));
this._worker.addEventListener("syncmessage", this._onSyncWorkerMessage.bind(this));
}
__extends(k, g);
k.prototype.onSendUpdates = function(b, a, c) {
"undefined" === typeof c && (c = !0);
b = b.getBytes();
a = {type:"player", updates:b, assets:a};
b = [b.buffer];
if (!c) {
return c = this._worker.postSyncMessage(a, b), f.FromPlainObject(c);
}
this._worker.postMessage(a, b);
return null;
};
k.prototype.onExternalCommand = function(b) {
this._worker.postSyncMessage({type:"external", command:b});
};
k.prototype.onFSCommand = function(b, a) {
this._worker.postMessage({type:"fscommand", command:b, args:a});
};
k.prototype.onFrameProcessed = function() {
this._worker.postMessage({type:"frame"});
};
k.prototype._onWorkerMessage = function(b) {
var a = b.data;
if ("object" === typeof a && null !== a) {
switch(a.type) {
case "gfx":
a = f.FromArrayBuffer(b.data.updates.buffer);
this.processUpdates(a, b.data.assets);
break;
case "externalCallback":
this.processExternalCallback(a.request), b.handled = !0;
}
}
};
k.prototype._onSyncWorkerMessage = function(b) {
return this._onWorkerMessage(b);
};
return k;
}(b.Player.Player);
g.TestPlayer = k;
})(k.Test || (k.Test = {}));
})(b.Player || (b.Player = {}));
})(Shumway || (Shumway = {}));
(function(b) {
(function(b) {
(function(b) {
var f = function() {
function b() {
this._worker = new Worker(b.WORKER_PATH);
this._onsyncmessageListeners = [];
}
Object.defineProperty(b, "instance", {get:function() {
b._singelton || (b._singelton = new b);
return b._singelton;
}, enumerable:!0, configurable:!0});
b.prototype.addEventListener = function(b, f, d) {
"syncmessage" !== b ? this._worker.addEventListener(b, f, d) : this._onsyncmessageListeners.push(f);
};
b.prototype.removeEventListener = function(b, f, d) {
"syncmessage" === b ? (b = this._onsyncmessageListeners.indexOf(f), 0 <= b && this._onsyncmessageListeners.splice(b, 1)) : this._worker.removeEventListener(b, f, d);
};
b.prototype.postMessage = function(b, f) {
this._worker.postMessage(b, f);
};
b.prototype.postSyncMessage = function(b, f) {
var d;
this._onsyncmessageListeners.some(function(a) {
var c = {data:b, result:void 0, handled:!1};
"function" === typeof a ? a(c) : a.handleEvent(c);
if (!c.handled) {
return!1;
}
d = c.result;
return!0;
});
return d;
};
b.WORKER_PATH = "../../src/player/fakechannel.js";
return b;
}();
b.FakeSyncWorker = f;
})(b.Test || (b.Test = {}));
})(b.Player || (b.Player = {}));
})(Shumway || (Shumway = {}));
console.timeEnd("Load Player Dependencies");