STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228072
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/51395599?noj=FRM51395599-29DC" width="1" height="1"></div>

Magnetic Draw.swf

This is the info page for
Flash #132982

(Click the ID number above for more basic data on this flash file.)


Text
© www.spilgames.com

© www.spilgames.com

BR

<p align="center"><font face="verdana" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>fill in the text below to ad it to the photo</b></font></p>

<p align="center"></p>

<p align="center"><font face="verdana" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>photo description</b></font></p>

ActionScript [AS3]

Section 1
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import flash.utils.*; import com.adobe.utils.*; public class MD5 { public static var digest:ByteArray; private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int; _local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hash(_arg1:String):String{ var _local2:ByteArray; _local2 = new ByteArray(); _local2.writeUTFBytes(_arg1); return (hashBinary(_local2)); } private static function createBlocks(_arg1:ByteArray):Array{ var _local2:Array; var _local3:int; var _local4:int; var _local5:int; _local2 = new Array(); _local3 = (_arg1.length * 8); _local4 = 0xFF; _local5 = 0; while (_local5 < _local3) { _local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32))); _local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3; return (_local2); } public static function hashBinary(_arg1:ByteArray):String{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local10:Array; var _local11:int; var _local12:int; _local2 = 1732584193; _local3 = -271733879; _local4 = -1732584194; _local5 = 271733878; _local10 = createBlocks(_arg1); _local11 = _local10.length; _local12 = 0; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; digest = new ByteArray(); digest.writeInt(_local2); digest.writeInt(_local3); digest.writeInt(_local4); digest.writeInt(_local5); digest.position = 0; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } public static function hashBytes(_arg1:ByteArray):String{ return (hashBinary(_arg1)); } } }//package com.adobe.crypto
Section 2
//BitString (com.adobe.images.BitString) package com.adobe.images { public class BitString { public var val:int;// = 0 public var len:int;// = 0 public function BitString(){ len = 0; val = 0; super(); } } }//package com.adobe.images
Section 3
//JPGEncoder (com.adobe.images.JPGEncoder) package com.adobe.images { import flash.display.*; import flash.geom.*; import flash.utils.*; public class JPGEncoder { private var fdtbl_UV:Array; private var std_ac_chrominance_values:Array; private var std_dc_chrominance_nrcodes:Array; private var std_dc_chrominance_values:Array; private var ZigZag:Array; private var YDC_HT:Array; private var bytenew:int;// = 0 private var fdtbl_Y:Array; private var YAC_HT:Array; private var std_ac_chrominance_nrcodes:Array; private var DU:Array; private var std_ac_luminance_values:Array; private var UVTable:Array; private var UDU:Array; private var YDU:Array; private var byteout:ByteArray; private var UVAC_HT:Array; private var UVDC_HT:Array; private var bytepos:int;// = 7 private var VDU:Array; private var std_ac_luminance_nrcodes:Array; private var std_dc_luminance_values:Array; private var YTable:Array; private var std_dc_luminance_nrcodes:Array; private var bitcode:Array; private var category:Array; public function JPGEncoder(_arg1:Number=50){ var _local2:int; ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63]; YTable = new Array(64); UVTable = new Array(64); fdtbl_Y = new Array(64); fdtbl_UV = new Array(64); std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]; std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 125]; std_ac_luminance_values = [1, 2, 3, 0, 4, 17, 5, 18, 33, 49, 65, 6, 19, 81, 97, 7, 34, 113, 20, 50, 129, 145, 161, 8, 35, 66, 177, 193, 21, 82, 209, 240, 36, 51, 98, 114, 130, 9, 10, 22, 23, 24, 25, 26, 37, 38, 39, 40, 41, 42, 52, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250]; std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0]; std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 119]; std_ac_chrominance_values = [0, 1, 2, 3, 17, 4, 5, 33, 49, 6, 18, 65, 81, 7, 97, 113, 19, 34, 50, 129, 8, 20, 66, 145, 161, 177, 193, 9, 35, 51, 82, 240, 21, 98, 114, 209, 10, 22, 36, 52, 225, 37, 241, 23, 24, 25, 26, 38, 39, 40, 41, 42, 53, 54, 55, 56, 57, 58, 67, 68, 69, 70, 71, 72, 73, 74, 83, 84, 85, 86, 87, 88, 89, 90, 99, 100, 101, 102, 103, 104, 105, 106, 115, 116, 117, 118, 119, 120, 121, 122, 130, 131, 132, 133, 134, 135, 136, 137, 138, 146, 147, 148, 149, 150, 151, 152, 153, 154, 162, 163, 164, 165, 166, 167, 168, 169, 170, 178, 179, 180, 181, 182, 183, 184, 185, 186, 194, 195, 196, 197, 198, 199, 200, 201, 202, 210, 211, 212, 213, 214, 215, 216, 217, 218, 226, 227, 228, 229, 230, 231, 232, 233, 234, 242, 243, 244, 245, 246, 247, 248, 249, 250]; bitcode = new Array(0xFFFF); category = new Array(0xFFFF); bytenew = 0; bytepos = 7; DU = new Array(64); YDU = new Array(64); UDU = new Array(64); VDU = new Array(64); super(); if (_arg1 <= 0){ _arg1 = 1; }; if (_arg1 > 100){ _arg1 = 100; }; _local2 = 0; if (_arg1 < 50){ _local2 = int((5000 / _arg1)); } else { _local2 = int((200 - (_arg1 * 2))); }; initHuffmanTbl(); initCategoryNumber(); initQuantTables(_local2); } private function RGB2YUV(_arg1:BitmapData, _arg2:int, _arg3:int):void{ var _local4:int; var _local5:int; var _local6:int; var _local7:uint; var _local8:Number; var _local9:Number; var _local10:Number; _local4 = 0; _local5 = 0; while (_local5 < 8) { _local6 = 0; while (_local6 < 8) { _local7 = _arg1.getPixel32((_arg2 + _local6), (_arg3 + _local5)); _local8 = Number(((_local7 >> 16) & 0xFF)); _local9 = Number(((_local7 >> 8) & 0xFF)); _local10 = Number((_local7 & 0xFF)); YDU[_local4] = ((((0.299 * _local8) + (0.587 * _local9)) + (0.114 * _local10)) - 128); UDU[_local4] = (((-0.16874 * _local8) + (-0.33126 * _local9)) + (0.5 * _local10)); VDU[_local4] = (((0.5 * _local8) + (-0.41869 * _local9)) + (-0.08131 * _local10)); _local4++; _local6++; }; _local5++; }; } private function writeWord(_arg1:int):void{ writeByte(((_arg1 >> 8) & 0xFF)); writeByte((_arg1 & 0xFF)); } private function writeByte(_arg1:int):void{ byteout.writeByte(_arg1); } private function writeDHT():void{ var _local1:int; writeWord(65476); writeWord(418); writeByte(0); _local1 = 0; while (_local1 < 16) { writeByte(std_dc_luminance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 11) { writeByte(std_dc_luminance_values[_local1]); _local1++; }; writeByte(16); _local1 = 0; while (_local1 < 16) { writeByte(std_ac_luminance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 161) { writeByte(std_ac_luminance_values[_local1]); _local1++; }; writeByte(1); _local1 = 0; while (_local1 < 16) { writeByte(std_dc_chrominance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 11) { writeByte(std_dc_chrominance_values[_local1]); _local1++; }; writeByte(17); _local1 = 0; while (_local1 < 16) { writeByte(std_ac_chrominance_nrcodes[(_local1 + 1)]); _local1++; }; _local1 = 0; while (_local1 <= 161) { writeByte(std_ac_chrominance_values[_local1]); _local1++; }; } private function writeBits(_arg1:BitString):void{ var _local2:int; var _local3:int; _local2 = _arg1.val; _local3 = (_arg1.len - 1); while (_local3 >= 0) { if ((_local2 & uint((1 << _local3)))){ bytenew = (bytenew | uint((1 << bytepos))); }; _local3--; bytepos--; if (bytepos < 0){ if (bytenew == 0xFF){ writeByte(0xFF); writeByte(0); } else { writeByte(bytenew); }; bytepos = 7; bytenew = 0; }; }; } private function initHuffmanTbl():void{ YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values); UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values); YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values); UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values); } public function encode(_arg1:BitmapData):ByteArray{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:int; var _local6:int; var _local7:BitString; byteout = new ByteArray(); bytenew = 0; bytepos = 7; writeWord(65496); writeAPP0(); writeDQT(); writeSOF0(_arg1.width, _arg1.height); writeDHT(); writeSOS(); _local2 = 0; _local3 = 0; _local4 = 0; bytenew = 0; bytepos = 7; _local5 = 0; while (_local5 < _arg1.height) { _local6 = 0; while (_local6 < _arg1.width) { RGB2YUV(_arg1, _local6, _local5); _local2 = processDU(YDU, fdtbl_Y, _local2, YDC_HT, YAC_HT); _local3 = processDU(UDU, fdtbl_UV, _local3, UVDC_HT, UVAC_HT); _local4 = processDU(VDU, fdtbl_UV, _local4, UVDC_HT, UVAC_HT); _local6 = (_local6 + 8); }; _local5 = (_local5 + 8); }; if (bytepos >= 0){ _local7 = new BitString(); _local7.len = (bytepos + 1); _local7.val = ((1 << (bytepos + 1)) - 1); writeBits(_local7); }; writeWord(65497); return (byteout); } private function initCategoryNumber():void{ var _local1:int; var _local2:int; var _local3:int; var _local4:int; _local1 = 1; _local2 = 2; _local4 = 1; while (_local4 <= 15) { _local3 = _local1; while (_local3 < _local2) { category[(32767 + _local3)] = _local4; bitcode[(32767 + _local3)] = new BitString(); bitcode[(32767 + _local3)].len = _local4; bitcode[(32767 + _local3)].val = _local3; _local3++; }; _local3 = -((_local2 - 1)); while (_local3 <= -(_local1)) { category[(32767 + _local3)] = _local4; bitcode[(32767 + _local3)] = new BitString(); bitcode[(32767 + _local3)].len = _local4; bitcode[(32767 + _local3)].val = ((_local2 - 1) + _local3); _local3++; }; _local1 = (_local1 << 1); _local2 = (_local2 << 1); _local4++; }; } private function writeDQT():void{ var _local1:int; writeWord(65499); writeWord(132); writeByte(0); _local1 = 0; while (_local1 < 64) { writeByte(YTable[_local1]); _local1++; }; writeByte(1); _local1 = 0; while (_local1 < 64) { writeByte(UVTable[_local1]); _local1++; }; } private function writeAPP0():void{ writeWord(65504); writeWord(16); writeByte(74); writeByte(70); writeByte(73); writeByte(70); writeByte(0); writeByte(1); writeByte(1); writeByte(0); writeWord(1); writeWord(1); writeByte(0); writeByte(0); } private function writeSOS():void{ writeWord(65498); writeWord(12); writeByte(3); writeByte(1); writeByte(0); writeByte(2); writeByte(17); writeByte(3); writeByte(17); writeByte(0); writeByte(63); writeByte(0); } private function processDU(_arg1:Array, _arg2:Array, _arg3:Number, _arg4:Array, _arg5:Array):Number{ var _local6:BitString; var _local7:BitString; var _local8:int; var _local9:Array; var _local10:int; var _local11:int; var _local12:int; var _local13:int; var _local14:int; _local6 = _arg5[0]; _local7 = _arg5[240]; _local9 = fDCTQuant(_arg1, _arg2); _local8 = 0; while (_local8 < 64) { DU[ZigZag[_local8]] = _local9[_local8]; _local8++; }; _local10 = (DU[0] - _arg3); _arg3 = DU[0]; if (_local10 == 0){ writeBits(_arg4[0]); } else { writeBits(_arg4[category[(32767 + _local10)]]); writeBits(bitcode[(32767 + _local10)]); }; _local11 = 63; while ((((_local11 > 0)) && ((DU[_local11] == 0)))) { _local11--; }; if (_local11 == 0){ writeBits(_local6); return (_arg3); }; _local8 = 1; while (_local8 <= _local11) { _local12 = _local8; while ((((DU[_local8] == 0)) && ((_local8 <= _local11)))) { _local8++; }; _local13 = (_local8 - _local12); if (_local13 >= 16){ _local14 = 1; while (_local14 <= (_local13 / 16)) { writeBits(_local7); _local14++; }; _local13 = int((_local13 & 15)); }; writeBits(_arg5[((_local13 * 16) + category[(32767 + DU[_local8])])]); writeBits(bitcode[(32767 + DU[_local8])]); _local8++; }; if (_local11 != 63){ writeBits(_local6); }; return (_arg3); } private function initQuantTables(_arg1:int):void{ var _local2:int; var _local3:Number; var _local4:Array; var _local5:Array; var _local6:Array; var _local7:int; var _local8:int; _local4 = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99]; _local2 = 0; while (_local2 < 64) { _local3 = Math.floor((((_local4[_local2] * _arg1) + 50) / 100)); if (_local3 < 1){ _local3 = 1; } else { if (_local3 > 0xFF){ _local3 = 0xFF; }; }; YTable[ZigZag[_local2]] = _local3; _local2++; }; _local5 = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99]; _local2 = 0; while (_local2 < 64) { _local3 = Math.floor((((_local5[_local2] * _arg1) + 50) / 100)); if (_local3 < 1){ _local3 = 1; } else { if (_local3 > 0xFF){ _local3 = 0xFF; }; }; UVTable[ZigZag[_local2]] = _local3; _local2++; }; _local6 = [1, 1.387039845, 1.306562965, 1.175875602, 1, 0.785694958, 0.5411961, 0.275899379]; _local2 = 0; _local7 = 0; while (_local7 < 8) { _local8 = 0; while (_local8 < 8) { fdtbl_Y[_local2] = (1 / (((YTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8)); fdtbl_UV[_local2] = (1 / (((UVTable[ZigZag[_local2]] * _local6[_local7]) * _local6[_local8]) * 8)); _local2++; _local8++; }; _local7++; }; } private function writeSOF0(_arg1:int, _arg2:int):void{ writeWord(65472); writeWord(17); writeByte(8); writeWord(_arg2); writeWord(_arg1); writeByte(3); writeByte(1); writeByte(17); writeByte(0); writeByte(2); writeByte(17); writeByte(1); writeByte(3); writeByte(17); writeByte(1); } private function computeHuffmanTbl(_arg1:Array, _arg2:Array):Array{ var _local3:int; var _local4:int; var _local5:Array; var _local6:int; var _local7:int; _local3 = 0; _local4 = 0; _local5 = new Array(); _local6 = 1; while (_local6 <= 16) { _local7 = 1; while (_local7 <= _arg1[_local6]) { _local5[_arg2[_local4]] = new BitString(); _local5[_arg2[_local4]].val = _local3; _local5[_arg2[_local4]].len = _local6; _local4++; _local3++; _local7++; }; _local3 = (_local3 * 2); _local6++; }; return (_local5); } private function fDCTQuant(_arg1:Array, _arg2:Array):Array{ var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; var _local18:Number; var _local19:Number; var _local20:Number; var _local21:Number; var _local22:int; var _local23:int; _local23 = 0; _local22 = 0; while (_local22 < 8) { _local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 7)]); _local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 7)]); _local4 = (_arg1[(_local23 + 1)] + _arg1[(_local23 + 6)]); _local9 = (_arg1[(_local23 + 1)] - _arg1[(_local23 + 6)]); _local5 = (_arg1[(_local23 + 2)] + _arg1[(_local23 + 5)]); _local8 = (_arg1[(_local23 + 2)] - _arg1[(_local23 + 5)]); _local6 = (_arg1[(_local23 + 3)] + _arg1[(_local23 + 4)]); _local7 = (_arg1[(_local23 + 3)] - _arg1[(_local23 + 4)]); _local11 = (_local3 + _local6); _local14 = (_local3 - _local6); _local12 = (_local4 + _local5); _local13 = (_local4 - _local5); _arg1[(_local23 + 0)] = (_local11 + _local12); _arg1[(_local23 + 4)] = (_local11 - _local12); _local15 = ((_local13 + _local14) * 0.707106781); _arg1[(_local23 + 2)] = (_local14 + _local15); _arg1[(_local23 + 6)] = (_local14 - _local15); _local11 = (_local7 + _local8); _local12 = (_local8 + _local9); _local13 = (_local9 + _local10); _local19 = ((_local11 - _local13) * 0.382683433); _local16 = ((0.5411961 * _local11) + _local19); _local18 = ((1.306562965 * _local13) + _local19); _local17 = (_local12 * 0.707106781); _local20 = (_local10 + _local17); _local21 = (_local10 - _local17); _arg1[(_local23 + 5)] = (_local21 + _local16); _arg1[(_local23 + 3)] = (_local21 - _local16); _arg1[(_local23 + 1)] = (_local20 + _local18); _arg1[(_local23 + 7)] = (_local20 - _local18); _local23 = (_local23 + 8); _local22++; }; _local23 = 0; _local22 = 0; while (_local22 < 8) { _local3 = (_arg1[(_local23 + 0)] + _arg1[(_local23 + 56)]); _local10 = (_arg1[(_local23 + 0)] - _arg1[(_local23 + 56)]); _local4 = (_arg1[(_local23 + 8)] + _arg1[(_local23 + 48)]); _local9 = (_arg1[(_local23 + 8)] - _arg1[(_local23 + 48)]); _local5 = (_arg1[(_local23 + 16)] + _arg1[(_local23 + 40)]); _local8 = (_arg1[(_local23 + 16)] - _arg1[(_local23 + 40)]); _local6 = (_arg1[(_local23 + 24)] + _arg1[(_local23 + 32)]); _local7 = (_arg1[(_local23 + 24)] - _arg1[(_local23 + 32)]); _local11 = (_local3 + _local6); _local14 = (_local3 - _local6); _local12 = (_local4 + _local5); _local13 = (_local4 - _local5); _arg1[(_local23 + 0)] = (_local11 + _local12); _arg1[(_local23 + 32)] = (_local11 - _local12); _local15 = ((_local13 + _local14) * 0.707106781); _arg1[(_local23 + 16)] = (_local14 + _local15); _arg1[(_local23 + 48)] = (_local14 - _local15); _local11 = (_local7 + _local8); _local12 = (_local8 + _local9); _local13 = (_local9 + _local10); _local19 = ((_local11 - _local13) * 0.382683433); _local16 = ((0.5411961 * _local11) + _local19); _local18 = ((1.306562965 * _local13) + _local19); _local17 = (_local12 * 0.707106781); _local20 = (_local10 + _local17); _local21 = (_local10 - _local17); _arg1[(_local23 + 40)] = (_local21 + _local16); _arg1[(_local23 + 24)] = (_local21 - _local16); _arg1[(_local23 + 8)] = (_local20 + _local18); _arg1[(_local23 + 56)] = (_local20 - _local18); _local23++; _local22++; }; _local22 = 0; while (_local22 < 64) { _arg1[_local22] = Math.round((_arg1[_local22] * _arg2[_local22])); _local22++; }; return (_arg1); } } }//package com.adobe.images
Section 4
//PNGEncoder (com.adobe.images.PNGEncoder) package com.adobe.images { import flash.display.*; import flash.utils.*; public class PNGEncoder { private static var crcTableComputed:Boolean = false; private static var crcTable:Array; private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{ var _local4:uint; var _local5:uint; var _local6:uint; var _local7:int; var _local8:uint; var _local9:uint; var _local10:uint; if (!crcTableComputed){ crcTableComputed = true; crcTable = []; _local9 = 0; while (_local9 < 0x0100) { _local8 = _local9; _local10 = 0; while (_local10 < 8) { if ((_local8 & 1)){ _local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1)))); } else { _local8 = uint((_local8 >>> 1)); }; _local10++; }; crcTable[_local9] = _local8; _local9++; }; }; _local4 = 0; if (_arg3 != null){ _local4 = _arg3.length; }; _arg1.writeUnsignedInt(_local4); _local5 = _arg1.position; _arg1.writeUnsignedInt(_arg2); if (_arg3 != null){ _arg1.writeBytes(_arg3); }; _local6 = _arg1.position; _arg1.position = _local5; _local8 = 4294967295; _local7 = 0; while (_local7 < (_local6 - _local5)) { _local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8)))); _local7++; }; _local8 = uint((_local8 ^ uint(4294967295))); _arg1.position = _local6; _arg1.writeUnsignedInt(_local8); } public static function encode(_arg1:BitmapData):ByteArray{ var _local2:ByteArray; var _local3:ByteArray; var _local4:ByteArray; var _local5:int; var _local6:uint; var _local7:int; _local2 = new ByteArray(); _local2.writeUnsignedInt(2303741511); _local2.writeUnsignedInt(218765834); _local3 = new ByteArray(); _local3.writeInt(_arg1.width); _local3.writeInt(_arg1.height); _local3.writeUnsignedInt(134610944); _local3.writeByte(0); writeChunk(_local2, 1229472850, _local3); _local4 = new ByteArray(); _local5 = 0; while (_local5 < _arg1.height) { _local4.writeByte(0); if (!_arg1.transparent){ _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF))); _local7++; }; } else { _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel32(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24)))); _local7++; }; }; _local5++; }; _local4.compress(); writeChunk(_local2, 1229209940, _local4); writeChunk(_local2, 1229278788, null); return (_local2); } } }//package com.adobe.images
Section 5
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function decode(_arg1:String){ var _local2:JSONDecoder; _local2 = new JSONDecoder(_arg1); return (_local2.getValue()); } public static function encode(_arg1:Object):String{ var _local2:JSONEncoder; _local2 = new JSONEncoder(_arg1); return (_local2.getString()); } } }//package com.adobe.serialization.json
Section 6
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ tokenizer = new JSONTokenizer(_arg1); nextToken(); value = parseValue(); } private function nextToken():JSONToken{ return ((token = tokenizer.getNextToken())); } private function parseObject():Object{ var _local1:Object; var _local2:String; _local1 = new Object(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (token.type == JSONTokenType.STRING){ _local2 = String(token.value); nextToken(); if (token.type == JSONTokenType.COLON){ nextToken(); _local1[_local2] = parseValue(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting } or , but found " + token.value)); }; } else { tokenizer.parseError(("Expecting : but found " + token.value)); }; } else { tokenizer.parseError(("Expecting string but found " + token.value)); }; }; return (null); } private function parseArray():Array{ var _local1:Array; _local1 = new Array(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(parseValue()); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting ] or , but found " + token.value)); }; }; return (null); } public function getValue(){ return (value); } private function parseValue():Object{ if (token == null){ tokenizer.parseError("Unexpected end of input"); }; switch (token.type){ case JSONTokenType.LEFT_BRACE: return (parseObject()); case JSONTokenType.LEFT_BRACKET: return (parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (token.value); default: tokenizer.parseError(("Unexpected " + token.value)); }; return (null); } } }//package com.adobe.serialization.json
Section 7
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ jsonString = convertToString(_arg1); } private function arrayToString(_arg1:Array):String{ var _local2:String; var _local3:int; _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (objectToString(_arg1)); }; }; }; return ("null"); } private function escapeString(_arg1:String):String{ var _local2:String; var _local3:String; var _local4:Number; var _local5:int; var _local6:String; var _local7:String; _local2 = ""; _local4 = _arg1.length; _local5 = 0; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function objectToString(_arg1:Object):String{ var s:String; var classInfo:XML; var value:Object; var key:String; var v:XML; var o = _arg1; s = ""; classInfo = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(key) + ":") + convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } public function getString():String{ return (jsonString); } } }//package com.adobe.serialization.json
Section 8
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _text:String; private var _location:int; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; _location = _arg2; _text = _arg3; } public function get text():String{ return (_text); } public function get location():int{ return (_location); } } }//package com.adobe.serialization.json
Section 9
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _value:Object; private var _type:int; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ _type = _arg1; _value = _arg2; } public function set value(_arg1:Object):void{ _value = _arg1; } public function get value():Object{ return (_value); } public function set type(_arg1:int):void{ _type = _arg1; } public function get type():int{ return (_type); } } }//package com.adobe.serialization.json
Section 10
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var loc:int; private var ch:String; private var obj:Object; private var jsonString:String; public function JSONTokenizer(_arg1:String){ jsonString = _arg1; loc = 0; nextChar(); } private function skipComments():void{ if (ch == "/"){ nextChar(); switch (ch){ case "/": do { nextChar(); } while (((!((ch == "\n"))) && (!((ch == ""))))); nextChar(); break; case "*": nextChar(); while (true) { if (ch == "*"){ nextChar(); if (ch == "/"){ nextChar(); break; }; } else { nextChar(); }; if (ch == ""){ parseError("Multi-line comment not closed"); }; }; break; default: parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )")); }; }; } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function readNumber():JSONToken{ var _local1:JSONToken; var _local2:String; var _local3:Number; _local1 = new JSONToken(); _local1.type = JSONTokenType.NUMBER; _local2 = ""; if (ch == "-"){ _local2 = (_local2 + "-"); nextChar(); }; if (!isDigit(ch)){ parseError("Expecting a digit"); }; if (ch == "0"){ _local2 = (_local2 + ch); nextChar(); if (isDigit(ch)){ parseError("A digit cannot immediately follow 0"); }; } else { while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if (ch == "."){ _local2 = (_local2 + "."); nextChar(); if (!isDigit(ch)){ parseError("Expecting a digit"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if ((((ch == "e")) || ((ch == "E")))){ _local2 = (_local2 + "e"); nextChar(); if ((((ch == "+")) || ((ch == "-")))){ _local2 = (_local2 + ch); nextChar(); }; if (!isDigit(ch)){ parseError("Scientific notation number needs exponent value"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; _local3 = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; parseError((("Number " + _local3) + " is not valid!")); return (null); } private function nextChar():String{ return ((ch = jsonString.charAt(loc++))); } public function getNextToken():JSONToken{ var _local1:JSONToken; var _local2:String; var _local3:String; var _local4:String; _local1 = new JSONToken(); skipIgnored(); switch (ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; nextChar(); break; case "t": _local2 = ((("t" + nextChar()) + nextChar()) + nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; nextChar(); } else { parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; nextChar(); } else { parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + nextChar()) + nextChar()) + nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; nextChar(); } else { parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = readString(); break; default: if (((isDigit(ch)) || ((ch == "-")))){ _local1 = readNumber(); } else { if (ch == ""){ return (null); }; parseError((("Unexpected " + ch) + " encountered")); }; }; return (_local1); } private function skipWhite():void{ while (isWhiteSpace(ch)) { nextChar(); }; } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, loc, jsonString)); } private function skipIgnored():void{ var _local1:int; do { _local1 = loc; skipWhite(); skipComments(); } while (_local1 != loc); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String; _local2 = _arg1.toUpperCase(); return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } private function readString():JSONToken{ var _local1:JSONToken; var _local2:String; var _local3:String; var _local4:int; _local1 = new JSONToken(); _local1.type = JSONTokenType.STRING; _local2 = ""; nextChar(); while (((!((ch == "\""))) && (!((ch == ""))))) { if (ch == "\\"){ nextChar(); switch (ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!isHexDigit(nextChar())){ parseError((" Excepted a hex digit, but found: " + ch)); }; _local3 = (_local3 + ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + ch)); }; } else { _local2 = (_local2 + ch); }; nextChar(); }; if (ch == ""){ parseError("Unterminated string literal"); }; nextChar(); _local1.value = _local2; return (_local1); } } }//package com.adobe.serialization.json
Section 11
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const NUMBER:int = 11; public static const FALSE:int = 8; public static const RIGHT_BRACKET:int = 4; public static const NULL:int = 9; public static const TRUE:int = 7; public static const RIGHT_BRACE:int = 2; public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACKET:int = 3; public static const STRING:int = 10; public static const LEFT_BRACE:int = 1; public static const COLON:int = 6; } }//package com.adobe.serialization.json
Section 12
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local3:String; var _local4:int; var _local5:int; _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int; _local3 = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } } }//package com.adobe.utils
Section 13
//CreateToken (com.facebook.commands.auth.CreateToken) package com.facebook.commands.auth { import com.facebook.net.*; public class CreateToken extends FacebookCall { public static const SCHEMA:Array = []; public static const METHOD_NAME:String = "auth.createToken"; public function CreateToken(){ super(METHOD_NAME); } } }//package com.facebook.commands.auth
Section 14
//ExpireSession (com.facebook.commands.auth.ExpireSession) package com.facebook.commands.auth { import com.facebook.net.*; public class ExpireSession extends FacebookCall { public static const SCHEMA:Array = []; public static const METHOD_NAME:String = "auth.expireSession"; public function ExpireSession(){ super(METHOD_NAME); } } }//package com.facebook.commands.auth
Section 15
//GetSession (com.facebook.commands.auth.GetSession) package com.facebook.commands.auth { import com.facebook.net.*; import com.facebook.*; public class GetSession extends FacebookCall { public var auth_token:String; public static const SCHEMA:Array = ["auth_token"]; public static const METHOD_NAME:String = "auth.getSession"; public function GetSession(_arg1:String){ super(METHOD_NAME); this.auth_token = _arg1; } override facebook_internal function initialize():void{ applySchema(SCHEMA, auth_token); super.initialize(); } } }//package com.facebook.commands.auth
Section 16
//GetCookiesData (com.facebook.commands.data.GetCookiesData) package com.facebook.commands.data { import com.facebook.data.*; public class GetCookiesData extends FacebookData { public var name:String; public var uid:String; public var path:String; public var value:String; public var expires:Number; } }//package com.facebook.commands.data
Section 17
//UploadPhoto (com.facebook.commands.photos.UploadPhoto) package com.facebook.commands.photos { import com.facebook.net.*; import com.facebook.data.photos.*; import com.facebook.*; public class UploadPhoto extends FacebookCall implements IUploadPhoto { protected var _data:Object; public var uploadedPhoto:FacebookPhoto; public var aid:String; protected var _uploadQuality:uint;// = 80 public var uid:String; public var caption:String; protected var _uploadType:String;// = "png" public static const SCHEMA:Array = ["data", "aid", "caption", "uid"]; public static const METHOD_NAME:String = "photos.upload"; public function UploadPhoto(_arg1:Object, _arg2:String=null, _arg3:String=null, _arg4:String=null){ _uploadType = UploadPhotoTypes.PNG; _uploadQuality = 80; super(METHOD_NAME); this.data = _arg1; this.aid = _arg2; this.caption = _arg3; this.uid = _arg4; } override facebook_internal function initialize():void{ applySchema(SCHEMA, data, aid, caption, uid); super.initialize(); } public function get data():Object{ return (_data); } public function set uploadType(_arg1:String):void{ _uploadType = _arg1; } public function get uploadQuality():uint{ return (_uploadQuality); } public function set data(_arg1:Object):void{ _data = _arg1; } public function get uploadType():String{ return (_uploadType); } public function set uploadQuality(_arg1:uint):void{ _uploadQuality = _arg1; } } }//package com.facebook.commands.photos
Section 18
//UploadPhotoTypes (com.facebook.commands.photos.UploadPhotoTypes) package com.facebook.commands.photos { public class UploadPhotoTypes { public static const JPEG:String = "jpeg"; public static const PNG:String = "png"; } }//package com.facebook.commands.photos
Section 19
//GetLoggedInUser (com.facebook.commands.users.GetLoggedInUser) package com.facebook.commands.users { import com.facebook.net.*; public class GetLoggedInUser extends FacebookCall { public static const SCHEMA:Array = []; public static const METHOD_NAME:String = "users.getLoggedInUser"; public function GetLoggedInUser(){ super(METHOD_NAME); } } }//package com.facebook.commands.users
Section 20
//HasAppPermission (com.facebook.commands.users.HasAppPermission) package com.facebook.commands.users { import com.facebook.net.*; import com.facebook.*; public class HasAppPermission extends FacebookCall { public var uid:String; public var ext_perm:String; public static const SCHEMA:Array = ["ext_perm", "uid"]; public static const METHOD_NAME:String = "users.hasAppPermission"; public function HasAppPermission(_arg1:String, _arg2:String=null){ super(METHOD_NAME); this.ext_perm = _arg1; this.uid = _arg2; } override facebook_internal function initialize():void{ applySchema(SCHEMA, ext_perm, uid); super.initialize(); } } }//package com.facebook.commands.users
Section 21
//UploadVideo (com.facebook.commands.video.UploadVideo) package com.facebook.commands.video { import com.facebook.net.*; import com.facebook.*; public class UploadVideo extends FacebookCall implements IUploadVideo { protected var _data:Object; protected var _description:String; protected var _title:String; protected var _ext:String; public static const SCHEMA:Array = ["data", "title", "description"]; public static const METHOD_NAME:String = "video.upload"; public function UploadVideo(_arg1:String, _arg2:Object, _arg3:String=null, _arg4:String=null){ super(METHOD_NAME); this.ext = _arg1; this.data = _arg2; this.title = _arg3; this.description = _arg4; } override facebook_internal function initialize():void{ applySchema(SCHEMA, data, title, description); super.initialize(); } public function get ext():String{ return (_ext); } public function set title(_arg1:String):void{ _title = _arg1; } public function get data():Object{ return (_data); } public function set ext(_arg1:String):void{ _ext = _arg1; } public function set data(_arg1:Object):void{ _data = _arg1; } public function get title():String{ return (_title); } public function set description(_arg1:String):void{ _description = _arg1; } public function get description():String{ return (_description); } } }//package com.facebook.commands.video
Section 22
//GetAllocationData (com.facebook.data.admin.GetAllocationData) package com.facebook.data.admin { import com.facebook.data.*; public class GetAllocationData extends FacebookData { public var allocationLimit:Number; } }//package com.facebook.data.admin
Section 23
//GetAppPropertiesData (com.facebook.data.admin.GetAppPropertiesData) package com.facebook.data.admin { import com.facebook.data.*; public class GetAppPropertiesData extends FacebookData { public var appProperties:Object; } }//package com.facebook.data.admin
Section 24
//GetMetricsData (com.facebook.data.admin.GetMetricsData) package com.facebook.data.admin { import com.facebook.data.*; public class GetMetricsData extends FacebookData { public var metricsCollection:MetricsDataCollection; } }//package com.facebook.data.admin
Section 25
//MetricsData (com.facebook.data.admin.MetricsData) package com.facebook.data.admin { public class MetricsData { public var end_time:Date; public var canvas_page_views:Number; public var active_users:Number; } }//package com.facebook.data.admin
Section 26
//MetricsDataCollection (com.facebook.data.admin.MetricsDataCollection) package com.facebook.data.admin { import com.facebook.utils.*; public class MetricsDataCollection extends FacebookArrayCollection { public function MetricsDataCollection(){ super(null, MetricsData); } } }//package com.facebook.data.admin
Section 27
//GetPublicInfoData (com.facebook.data.application.GetPublicInfoData) package com.facebook.data.application { import com.facebook.data.*; public class GetPublicInfoData extends FacebookData { public var monthly_active_users:Number; public var canvas_name:String; public var logo_url:String; public var company_name:String; public var display_name:String; public var icon_url:String; public var weekly_active_users:Number; public var developers:String; public var daily_active_users:Number; public var app_id:String; public var api_key:String; public var description:String; } }//package com.facebook.data.application
Section 28
//ExtendedPermissionValues (com.facebook.data.auth.ExtendedPermissionValues) package com.facebook.data.auth { public class ExtendedPermissionValues { public static const READ_STREAM:String = "read_stream"; public static const PHOTO_UPLOAD:String = "photo_upload"; public static const PUBLISH_STREAM:String = "publish_stream"; public static const SHARE_ITEM:String = "share_item"; public static const CREATE_NOTE:String = "create_note"; public static const OFFLINE_ACCESS:String = "offline_access"; public static const CREATE_LISTING:String = "create_listing"; public static const VIDEO_UPLOAD:String = "video_upload"; public static const READ_MAILBOX:String = "read_mailbox"; public static const RSVP_EVENT:String = "rsvp_event"; public static const CREATE_EVENT:String = "create_event"; public static const SMS:String = "sms"; public static const EMAIL:String = "email"; public static const STATUS_UPDATE:String = "status_update"; } }//package com.facebook.data.auth
Section 29
//GetSessionData (com.facebook.data.auth.GetSessionData) package com.facebook.data.auth { import com.facebook.data.*; public class GetSessionData extends FacebookData { public var uid:String; public var secret:String; public var expires:Date; public var session_key:String; } }//package com.facebook.data.auth
Section 30
//BatchResult (com.facebook.data.batch.BatchResult) package com.facebook.data.batch { import com.facebook.data.*; public class BatchResult extends FacebookData { public var results:Array; } }//package com.facebook.data.batch
Section 31
//GetObjectTypeData (com.facebook.data.data.GetObjectTypeData) package com.facebook.data.data { import com.facebook.data.*; public class GetObjectTypeData extends FacebookData { public var name:String; public var data_type:Number; public var index_type:Number; } }//package com.facebook.data.data
Section 32
//GetObjectTypesData (com.facebook.data.data.GetObjectTypesData) package com.facebook.data.data { import com.facebook.data.*; public class GetObjectTypesData extends FacebookData { public var objectTypeCollection:ObjectTypesCollection; } }//package com.facebook.data.data
Section 33
//GetUserPreferencesData (com.facebook.data.data.GetUserPreferencesData) package com.facebook.data.data { import com.facebook.data.*; public class GetUserPreferencesData extends FacebookData { public var perferenceCollection:PreferenceCollection; } }//package com.facebook.data.data
Section 34
//ObjectTypesCollection (com.facebook.data.data.ObjectTypesCollection) package com.facebook.data.data { import com.facebook.utils.*; public class ObjectTypesCollection extends FacebookArrayCollection { public function ObjectTypesCollection(){ super(null, ObjectTypesData); } } }//package com.facebook.data.data
Section 35
//ObjectTypesData (com.facebook.data.data.ObjectTypesData) package com.facebook.data.data { public class ObjectTypesData { public var object_class:String; public var name:String; } }//package com.facebook.data.data
Section 36
//PreferenceCollection (com.facebook.data.data.PreferenceCollection) package com.facebook.data.data { import com.facebook.utils.*; public class PreferenceCollection extends FacebookArrayCollection { public function PreferenceCollection(){ super(null, PreferenceData); } } }//package com.facebook.data.data
Section 37
//PreferenceData (com.facebook.data.data.PreferenceData) package com.facebook.data.data { public class PreferenceData { public var value:String; public var pref_id:Number; } }//package com.facebook.data.data
Section 38
//EventCollection (com.facebook.data.events.EventCollection) package com.facebook.data.events { import com.facebook.utils.*; public class EventCollection extends FacebookArrayCollection { public function EventCollection(){ super(null, EventData); } } }//package com.facebook.data.events
Section 39
//EventData (com.facebook.data.events.EventData) package com.facebook.data.events { import com.facebook.data.*; public class EventData { public var eid:String; public var update_time:Date; public var nid:Number; public var pic:String; public var name:String; public var tagline:String; public var start_time:Date; public var end_time:Date; public var event_subtype:String; public var pic_small:String; public var pic_big:String; public var host:String; public var creator:Number; public var venue:FacebookLocation; public var location:String; public var description:String; public var event_type:String; } }//package com.facebook.data.events
Section 40
//GetEventsData (com.facebook.data.events.GetEventsData) package com.facebook.data.events { import com.facebook.data.*; public class GetEventsData extends FacebookData { public var eventCollection:EventCollection; } }//package com.facebook.data.events
Section 41
//GetMembersData (com.facebook.data.events.GetMembersData) package com.facebook.data.events { import com.facebook.data.*; public class GetMembersData extends FacebookData { public var attending:Array; public var not_replied:Array; public var declined:Array; public var unsure:Array; } }//package com.facebook.data.events
Section 42
//AbstractTagData (com.facebook.data.fbml.AbstractTagData) package com.facebook.data.fbml { public class AbstractTagData { public var description:String; public var name:String; public var header_fbml:String; public var attributes:AttributeCollection; public var type:String; public var is_public:String; public var footer_fbml:String; public function AbstractTagData(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String="", _arg6:String="", _arg7:AttributeCollection=null){ this.name = _arg1; this.type = _arg4; this.description = _arg5; this.is_public = _arg6; this.header_fbml = _arg2; this.footer_fbml = _arg3; this.attributes = _arg7; } } }//package com.facebook.data.fbml
Section 43
//AttributeCollection (com.facebook.data.fbml.AttributeCollection) package com.facebook.data.fbml { import com.facebook.utils.*; public class AttributeCollection extends FacebookArrayCollection { public function AttributeCollection(){ super(null, AttributeData); } } }//package com.facebook.data.fbml
Section 44
//AttributeData (com.facebook.data.fbml.AttributeData) package com.facebook.data.fbml { public class AttributeData { public var default_value:String; public var name:String; public var description:String; } }//package com.facebook.data.fbml
Section 45
//ContainerTagData (com.facebook.data.fbml.ContainerTagData) package com.facebook.data.fbml { public class ContainerTagData extends AbstractTagData { public var close_tag_fbml:String; public var open_tag_fbml:String; public function ContainerTagData(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String, _arg7:String="", _arg8:String="", _arg9:AttributeCollection=null){ this.open_tag_fbml = _arg5; this.close_tag_fbml = _arg6; super(_arg1, _arg2, _arg3, _arg4, _arg7, _arg8, _arg9); } } }//package com.facebook.data.fbml
Section 46
//GetCustomTagsData (com.facebook.data.fbml.GetCustomTagsData) package com.facebook.data.fbml { import com.facebook.data.*; public class GetCustomTagsData extends FacebookData { public var tagCollection:TagCollection; } }//package com.facebook.data.fbml
Section 47
//LeafTagData (com.facebook.data.fbml.LeafTagData) package com.facebook.data.fbml { public class LeafTagData extends AbstractTagData { public var fbml:String; public function LeafTagData(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String="", _arg7:String="", _arg8:AttributeCollection=null){ super(_arg1, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); this.fbml = _arg2; } } }//package com.facebook.data.fbml
Section 48
//TagCollection (com.facebook.data.fbml.TagCollection) package com.facebook.data.fbml { import com.facebook.utils.*; public class TagCollection extends FacebookArrayCollection { public function TagCollection(){ super(null, AbstractTagData); } } }//package com.facebook.data.fbml
Section 49
//GetRegisteredTemplateBundleByIDData (com.facebook.data.feed.GetRegisteredTemplateBundleByIDData) package com.facebook.data.feed { import com.facebook.data.*; public class GetRegisteredTemplateBundleByIDData extends FacebookData { public var templateCollection:TemplateCollection; } }//package com.facebook.data.feed
Section 50
//GetRegisteredTemplateBundleData (com.facebook.data.feed.GetRegisteredTemplateBundleData) package com.facebook.data.feed { import com.facebook.data.*; public class GetRegisteredTemplateBundleData extends FacebookData { public var bundleCollection:TemplateCollection; } }//package com.facebook.data.feed
Section 51
//TemplateBundleCollection (com.facebook.data.feed.TemplateBundleCollection) package com.facebook.data.feed { import com.facebook.utils.*; public class TemplateBundleCollection extends FacebookArrayCollection { public function TemplateBundleCollection(){ super(null, TemplateData); } } }//package com.facebook.data.feed
Section 52
//TemplateCollection (com.facebook.data.feed.TemplateCollection) package com.facebook.data.feed { import com.facebook.utils.*; public class TemplateCollection extends FacebookArrayCollection { public var template_bundle_id:Number; public var time_created:Date; public function TemplateCollection(){ super(null, TemplateData); } public function addTemplateData(_arg1:TemplateData):void{ this.addItem(_arg1); } } }//package com.facebook.data.feed
Section 53
//TemplateData (com.facebook.data.feed.TemplateData) package com.facebook.data.feed { public class TemplateData { public var template_title:String; public var template_body:String; public var type:String; } }//package com.facebook.data.feed
Section 54
//AreFriendsData (com.facebook.data.friends.AreFriendsData) package com.facebook.data.friends { import com.facebook.data.*; public class AreFriendsData extends FacebookData { public var friendsCollection:FriendsCollection; } }//package com.facebook.data.friends
Section 55
//FriendsCollection (com.facebook.data.friends.FriendsCollection) package com.facebook.data.friends { import com.facebook.utils.*; public class FriendsCollection extends FacebookArrayCollection { public function FriendsCollection(){ super(null, FriendsData); } } }//package com.facebook.data.friends
Section 56
//FriendsData (com.facebook.data.friends.FriendsData) package com.facebook.data.friends { public class FriendsData { public var uid1:Number; public var uid2:Number; public var are_friends:Boolean; } }//package com.facebook.data.friends
Section 57
//GetAppUserData (com.facebook.data.friends.GetAppUserData) package com.facebook.data.friends { import com.facebook.data.*; public class GetAppUserData extends FacebookData { public var uids:Array; } }//package com.facebook.data.friends
Section 58
//GetFriendsData (com.facebook.data.friends.GetFriendsData) package com.facebook.data.friends { import com.facebook.data.*; import com.facebook.data.users.*; public class GetFriendsData extends FacebookData { public var friends:FacebookUserCollection; } }//package com.facebook.data.friends
Section 59
//GetListsData (com.facebook.data.friends.GetListsData) package com.facebook.data.friends { import com.facebook.data.*; public class GetListsData extends FacebookData { public var lists:Array; } }//package com.facebook.data.friends
Section 60
//ListsData (com.facebook.data.friends.ListsData) package com.facebook.data.friends { public class ListsData { public var flid:Number; public var name:String; } }//package com.facebook.data.friends
Section 61
//GetGroupData (com.facebook.data.groups.GetGroupData) package com.facebook.data.groups { import com.facebook.data.*; public class GetGroupData extends FacebookData { public var groups:GroupCollection; } }//package com.facebook.data.groups
Section 62
//GetMemberData (com.facebook.data.groups.GetMemberData) package com.facebook.data.groups { import com.facebook.data.*; public class GetMemberData extends FacebookData { public var admins:Array; public var members:Array; public var notReplied:Array; public var officers:Array; } }//package com.facebook.data.groups
Section 63
//GroupCollection (com.facebook.data.groups.GroupCollection) package com.facebook.data.groups { import com.facebook.utils.*; public class GroupCollection extends FacebookArrayCollection { public function GroupCollection(){ super(null, GroupData); } public function addGroup(_arg1:GroupData):void{ this.addItem(_arg1); } } }//package com.facebook.data.groups
Section 64
//GroupData (com.facebook.data.groups.GroupData) package com.facebook.data.groups { import com.facebook.data.*; public class GroupData { public var gid:String; public var update_time:Date; public var privacy:String; public var nid:Number; public var pic:String; public var name:String; public var pic_big:String; public var website:String; public var group_type:String; public var office:String; public var pic_small:String; public var creator:String; public var venue:FacebookLocation; public var recent_news:String; public var group_subtype:String; public var description:String; } }//package com.facebook.data.groups
Section 65
//GetNotesData (com.facebook.data.notes.GetNotesData) package com.facebook.data.notes { import com.facebook.data.*; public class GetNotesData extends FacebookData { public var notesCollection:NotesCollection; } }//package com.facebook.data.notes
Section 66
//NoteData (com.facebook.data.notes.NoteData) package com.facebook.data.notes { public class NoteData { public var note_id:String; public var created_time:Date; public var updated_time:Date; public var title:String; public var content:String; public var uid:String; } }//package com.facebook.data.notes
Section 67
//NotesCollection (com.facebook.data.notes.NotesCollection) package com.facebook.data.notes { import com.facebook.utils.*; public class NotesCollection extends FacebookArrayCollection { public function NotesCollection(){ super(null, NoteData); } } }//package com.facebook.data.notes
Section 68
//GetNotificationData (com.facebook.data.notifications.GetNotificationData) package com.facebook.data.notifications { import com.facebook.data.*; public class GetNotificationData extends FacebookData { public var group_invites:Array; public var notificationCollection:NotificationCollection; public var friendsRequests:Array; public var event_invites:Array; } }//package com.facebook.data.notifications
Section 69
//NotificationCollection (com.facebook.data.notifications.NotificationCollection) package com.facebook.data.notifications { import com.facebook.utils.*; public class NotificationCollection extends FacebookArrayCollection { public function NotificationCollection(){ super(null, null); } } }//package com.facebook.data.notifications
Section 70
//NotificationMessageData (com.facebook.data.notifications.NotificationMessageData) package com.facebook.data.notifications { public class NotificationMessageData { public var most_recent:Number; public var unread:Number; } }//package com.facebook.data.notifications
Section 71
//NotificationPokeData (com.facebook.data.notifications.NotificationPokeData) package com.facebook.data.notifications { public class NotificationPokeData { public var most_recent:Number; public var unread:Number; } }//package com.facebook.data.notifications
Section 72
//NotificationShareData (com.facebook.data.notifications.NotificationShareData) package com.facebook.data.notifications { public class NotificationShareData { public var most_recent:Number; public var unread:Number; } }//package com.facebook.data.notifications
Section 73
//GetPageInfoData (com.facebook.data.pages.GetPageInfoData) package com.facebook.data.pages { import com.facebook.data.*; public class GetPageInfoData extends FacebookData { public var pageInfoCollection:PageInfoCollection; } }//package com.facebook.data.pages
Section 74
//PageInfoCollection (com.facebook.data.pages.PageInfoCollection) package com.facebook.data.pages { import com.facebook.utils.*; public class PageInfoCollection extends FacebookArrayCollection { public function PageInfoCollection(){ super(null, PageInfoData); } public function addPageInfo(_arg1:PageInfoData):void{ this.addItem(_arg1); } } }//package com.facebook.data.pages
Section 75
//PageInfoData (com.facebook.data.pages.PageInfoData) package com.facebook.data.pages { import flash.events.*; import com.facebook.data.*; public class PageInfoData extends EventDispatcher { public var starring:String; public var genre:String; public var season:String; public var bio:String; public var name:String; public var pic_small:String; public var schedule:String; public var website:String; public var founded:String; public var influences:String; public var hours:String; public var record_label:String; public var band_members:String; public var location:FacebookLocation; public var mission:String; public var directed_by:String; public var type:String; public var awards:String; public var pic_large:String; public var page_id:Number; public var network:String; public var pic_big:String; public var studio:String; public var release_date:String; public var products:String; public var hometown:String; public var pic_square:String; public var produced_by:String; public var company_overview:String; public var plot_outline:String; public var has_added_app:Boolean; public var written_by:String; } }//package com.facebook.data.pages
Section 76
//AlbumCollection (com.facebook.data.photos.AlbumCollection) package com.facebook.data.photos { import com.facebook.utils.*; public class AlbumCollection extends FacebookArrayCollection { public function AlbumCollection(){ super(null, AlbumData); } public function addAlbum(_arg1:AlbumData):void{ this.addItem(_arg1); } } }//package com.facebook.data.photos
Section 77
//AlbumData (com.facebook.data.photos.AlbumData) package com.facebook.data.photos { public class AlbumData { public var cover_pid:String; public var size:Number; public var modified:Date; public var modified_major:Date; public var name:String; public var aid:String; public var type:String; public var edit_link:String; public var created:Date; public var visible:String; public var owner:String; public var location:String; public var link:String; public var description:String; } }//package com.facebook.data.photos
Section 78
//FacebookPhoto (com.facebook.data.photos.FacebookPhoto) package com.facebook.data.photos { import com.facebook.data.*; public class FacebookPhoto extends FacebookData { public var src_small:String; public var pid:String; public var tags:Array; public var src:String; public var src_big:String; public var created:Date; public var caption:String; public var owner:Number; public var link:String; public var aid:String; public function FacebookPhoto(){ tags = []; super(); } } }//package com.facebook.data.photos
Section 79
//GetAlbumsData (com.facebook.data.photos.GetAlbumsData) package com.facebook.data.photos { import com.facebook.data.*; public class GetAlbumsData extends FacebookData { public var albumCollection:AlbumCollection; } }//package com.facebook.data.photos
Section 80
//GetCreateAlbumData (com.facebook.data.photos.GetCreateAlbumData) package com.facebook.data.photos { import com.facebook.data.*; public class GetCreateAlbumData extends FacebookData { public var albumData:AlbumData; } }//package com.facebook.data.photos
Section 81
//GetPhotosData (com.facebook.data.photos.GetPhotosData) package com.facebook.data.photos { import com.facebook.data.*; public class GetPhotosData extends FacebookData { public var photoCollection:PhotoCollection; } }//package com.facebook.data.photos
Section 82
//GetTagsData (com.facebook.data.photos.GetTagsData) package com.facebook.data.photos { import com.facebook.data.*; public class GetTagsData extends FacebookData { public var photoTagsCollection:PhotoTagCollection; } }//package com.facebook.data.photos
Section 83
//PhotoCollection (com.facebook.data.photos.PhotoCollection) package com.facebook.data.photos { import com.facebook.utils.*; public class PhotoCollection extends FacebookArrayCollection { public function PhotoCollection(){ super(null, PhotoData); } public function addPhoto(_arg1:PhotoData):void{ this.addItem(_arg1); } } }//package com.facebook.data.photos
Section 84
//PhotoData (com.facebook.data.photos.PhotoData) package com.facebook.data.photos { public class PhotoData { public var src:String; public var src_big:String; public var pid:String; public var src_small:String; public var caption:String; public var owner:String; public var created:Date; public var link:String; public var aid:String; } }//package com.facebook.data.photos
Section 85
//PhotoTagCollection (com.facebook.data.photos.PhotoTagCollection) package com.facebook.data.photos { import com.facebook.utils.*; public class PhotoTagCollection extends FacebookArrayCollection { public function PhotoTagCollection(_arg1:Array=null){ super(_arg1, TagData); } public function addPhotoTag(_arg1:TagData):void{ this.addItem(_arg1); } } }//package com.facebook.data.photos
Section 86
//TagData (com.facebook.data.photos.TagData) package com.facebook.data.photos { public class TagData { protected var _actualText:String; public var pid:String; protected var _actualY:Number; protected var _actualX:Number; public var created:Date; public var tag_uid:String; public var subject:String; public function set y(_arg1:Number):void{ _actualY = _arg1; } public function set text(_arg1:String):void{ _actualText = _arg1; } public function get ycoord():Number{ return (_actualY); } public function set tag_text(_arg1:String):void{ _actualText = _arg1; } public function get text():String{ return (_actualText); } public function set x(_arg1:Number):void{ _actualX = _arg1; } public function get tag_text():String{ return (_actualText); } public function set ycoord(_arg1:Number):void{ _actualY = _arg1; } public function get y():Number{ return (_actualY); } public function set xcoord(_arg1:Number):void{ _actualX = _arg1; } public function get xcoord():Number{ return (_actualX); } public function get x():Number{ return (_actualX); } } }//package com.facebook.data.photos
Section 87
//GetStatusData (com.facebook.data.status.GetStatusData) package com.facebook.data.status { import com.facebook.data.*; public class GetStatusData extends FacebookData { public var status:Array; } }//package com.facebook.data.status
Section 88
//Status (com.facebook.data.status.Status) package com.facebook.data.status { public class Status { public var message:String; public var status_id:String; public var time:Date; public var uid:String; public var source:String; } }//package com.facebook.data.status
Section 89
//ActionLinkData (com.facebook.data.stream.ActionLinkData) package com.facebook.data.stream { public class ActionLinkData { public var href:String; public var text:String; } }//package com.facebook.data.stream
Section 90
//AttachmentData (com.facebook.data.stream.AttachmentData) package com.facebook.data.stream { public class AttachmentData { public var name:String; public var title:String; public var body:String; public var media:Array; public var caption:String; public var href:String; public var text:String; public var properties:Array; public var label:String; public var icon:String; public var description:String; } }//package com.facebook.data.stream
Section 91
//CommentsData (com.facebook.data.stream.CommentsData) package com.facebook.data.stream { public class CommentsData { public var posts:Array; public var can_post:Boolean; public var count:uint; public var can_remove:Boolean; } }//package com.facebook.data.stream
Section 92
//FlashMedia (com.facebook.data.stream.FlashMedia) package com.facebook.data.stream { public class FlashMedia { public var source_url:String; public var preview_img:String; } }//package com.facebook.data.stream
Section 93
//GetCommentsData (com.facebook.data.stream.GetCommentsData) package com.facebook.data.stream { import com.facebook.data.*; public class GetCommentsData extends FacebookData { public var comments:Array; } }//package com.facebook.data.stream
Section 94
//GetFiltersData (com.facebook.data.stream.GetFiltersData) package com.facebook.data.stream { import com.facebook.data.*; public class GetFiltersData extends FacebookData { public var filters:StreamFilterCollection; } }//package com.facebook.data.stream
Section 95
//GetStreamData (com.facebook.data.stream.GetStreamData) package com.facebook.data.stream { import com.facebook.data.*; import com.facebook.data.photos.*; public class GetStreamData extends FacebookData { public var profiles:ProfileCollection; public var albums:AlbumCollection; public var stories:StreamStoryCollection; } }//package com.facebook.data.stream
Section 96
//LikesData (com.facebook.data.stream.LikesData) package com.facebook.data.stream { public class LikesData { public var can_like:Boolean; public var user_likes:Boolean; public var href:String; public var count:uint; public var friends:Array; public var sample:Array; } }//package com.facebook.data.stream
Section 97
//MusicMedia (com.facebook.data.stream.MusicMedia) package com.facebook.data.stream { public class MusicMedia { public var title:String; public var source_url:String; public var artist:String; } }//package com.facebook.data.stream
Section 98
//PhotoMedia (com.facebook.data.stream.PhotoMedia) package com.facebook.data.stream { public class PhotoMedia { public var pid:String; public var index:uint; public var owner:String; public var aid:String; } }//package com.facebook.data.stream
Section 99
//PostCommentData (com.facebook.data.stream.PostCommentData) package com.facebook.data.stream { public class PostCommentData { public var fromid:String; public var text:String; public var time:Date; public var id:String; } }//package com.facebook.data.stream
Section 100
//ProfileCollection (com.facebook.data.stream.ProfileCollection) package com.facebook.data.stream { import com.facebook.utils.*; public class ProfileCollection extends FacebookArrayCollection { public function ProfileCollection(){ super(null, ProfileData); } } }//package com.facebook.data.stream
Section 101
//ProfileData (com.facebook.data.stream.ProfileData) package com.facebook.data.stream { public class ProfileData { public var name:String; public var url:String; public var pic_square:String; public var id:String; } }//package com.facebook.data.stream
Section 102
//StreamFilterCollection (com.facebook.data.stream.StreamFilterCollection) package com.facebook.data.stream { import com.facebook.utils.*; public class StreamFilterCollection extends FacebookArrayCollection { public function StreamFilterCollection(){ super(null, StreamFilterData); } } }//package com.facebook.data.stream
Section 103
//StreamFilterData (com.facebook.data.stream.StreamFilterData) package com.facebook.data.stream { public class StreamFilterData { public var icon_url:String; public var name:String; public var rank:uint; public var uid:String; public var value:String; public var filter_key:String; public var type:String; public var is_visible:Boolean; } }//package com.facebook.data.stream
Section 104
//StreamMediaData (com.facebook.data.stream.StreamMediaData) package com.facebook.data.stream { public class StreamMediaData { public var src:String; public var music:MusicMedia; public var alt:String; public var href:String; public var flash:FlashMedia; public var photo:PhotoMedia; public var type:String; public var video:VideoMedia; public function toString():String{ return ([("type: " + type), ("href: " + href), ("src: " + src), ("alt: " + alt), ("photo: " + photo), ("video: " + video), ("flash: " + flash)].join(": ")); } } }//package com.facebook.data.stream
Section 105
//StreamStoryCollection (com.facebook.data.stream.StreamStoryCollection) package com.facebook.data.stream { import com.facebook.utils.*; public class StreamStoryCollection extends FacebookArrayCollection { public function StreamStoryCollection(){ super(null, StreamStoryData); } } }//package com.facebook.data.stream
Section 106
//StreamStoryData (com.facebook.data.stream.StreamStoryData) package com.facebook.data.stream { public class StreamStoryData { public var comments:CommentsData; public var created_time:Date; public var target_id:String; public var sourceXML:XML; public var message:String; public var updated_time:Date; public var source_id:String; public var filter_key:String; public var post_id:String; public var action_links:Array; public var privacy:String; public var attachment:AttachmentData; public var actor_id:String; public var is_hidden:Boolean; public var viewer_id:String; public var permalink:String; public var metadata:Object; public var app_id:String; public var type:uint; public var likes:LikesData; public var attribution:String; } }//package com.facebook.data.stream
Section 107
//VideoMedia (com.facebook.data.stream.VideoMedia) package com.facebook.data.stream { public class VideoMedia { public var permalink:String; public var preview_img:String; public var display_url:String; public var owner:String; public var source_url:String; } }//package com.facebook.data.stream
Section 108
//AffiliationCollection (com.facebook.data.users.AffiliationCollection) package com.facebook.data.users { import com.facebook.utils.*; public class AffiliationCollection extends FacebookArrayCollection { public function AffiliationCollection(){ super(null, AffiliationData); } public function addAffiliation(_arg1:AffiliationData):void{ this.addItem(_arg1); } } }//package com.facebook.data.users
Section 109
//AffiliationData (com.facebook.data.users.AffiliationData) package com.facebook.data.users { public class AffiliationData { public var nid:Number; public var name:String; public var status:String; public var type:String; public var year:String; } }//package com.facebook.data.users
Section 110
//FacebookUser (com.facebook.data.users.FacebookUser) package com.facebook.data.users { import com.facebook.data.*; public class FacebookUser extends FacebookData { public var isLoggedInUser:Boolean; public var status:StatusData; public var education_history:Array; public var pic_big_with_logo:String; public var notes_count:int; public var pic_small:String; public var has_added_app:Boolean; public var pic_with_logo:String; public var music:String; public var religion:String; public var significant_other_id:int; public var email_hashes:Array; public var hs2_name:String; public var movies:String; public var uid:String; public var hometown_location:FacebookLocation; public var wall_count:int; public var proxied_email:String; public var meeting_sex:Array; public var sex:String; public var work_history:Array; public var hs_info:String; public var pic_square:String; public var hs1_id:int; public var quotes:String; public var locale:String; public var birthday:String; public var tv:String; public var affiliations:Array; public var interests:String; public var pic:String; public var name:String;// = "" public var grad_year:String; public var about_me:String; public var last_name:String;// = "" public var pic_small_with_logo:String; public var is_app_user:Boolean; public var hs1_name:String; public var books:String; public var first_name:String;// = "" public var current_location:FacebookLocation; public var meeting_for:Array; public var pic_big:String; public var networkAffiliations:Array; public var birthdayDate:Date; public var hs2_id:int; public var relationship_status:String; public var profile_url:String; public var profile_update_time:Date; public var pic_square_with_logo:String; public var timezone:int; public var activities:String; public var political:String; public function FacebookUser():void{ name = ""; first_name = ""; last_name = ""; super(); } } }//package com.facebook.data.users
Section 111
//FacebookUserCollection (com.facebook.data.users.FacebookUserCollection) package com.facebook.data.users { import com.facebook.utils.*; public class FacebookUserCollection extends FacebookArrayCollection { public function FacebookUserCollection(){ super(null, FacebookUser); } public function getUserById(_arg1:String):FacebookUser{ return ((findItemByProperty("uid", _arg1) as FacebookUser)); } public function addUser(_arg1:FacebookUser):void{ addItem(_arg1); } } }//package com.facebook.data.users
Section 112
//GetInfoData (com.facebook.data.users.GetInfoData) package com.facebook.data.users { import com.facebook.data.*; public class GetInfoData extends FacebookData { public var userCollection:FacebookUserCollection; } }//package com.facebook.data.users
Section 113
//GetStandardInfoData (com.facebook.data.users.GetStandardInfoData) package com.facebook.data.users { import com.facebook.data.*; public class GetStandardInfoData extends FacebookData { public var userCollection:UserCollection; } }//package com.facebook.data.users
Section 114
//HasAppPermissionValues (com.facebook.data.users.HasAppPermissionValues) package com.facebook.data.users { public class HasAppPermissionValues { public static const CREATE_LISTING:String = "create_listing"; public static const EMAIL:String = "email"; public static const OFFLINE_ACCESS:String = "offline_access"; public static const PHOTO_UPLOAD:String = "photo_upload"; public static const PUBLISH_STREAM:String = "publish_stream"; public static const STATUS_UPDATE:String = "status_update"; public static const CREATE_EVENT:String = "create_event"; public static const SMS:String = "sms"; public static const SHARE_ITEM:String = "share_item"; public static const RSVP_EVENT:String = "rsvp_event"; } }//package com.facebook.data.users
Section 115
//StatusData (com.facebook.data.users.StatusData) package com.facebook.data.users { public class StatusData { public var message:String; public var time:Date; } }//package com.facebook.data.users
Section 116
//UserCollection (com.facebook.data.users.UserCollection) package com.facebook.data.users { import com.facebook.utils.*; public class UserCollection extends FacebookArrayCollection { public function UserCollection(_arg1:Array=null){ super(null, UserData); } } }//package com.facebook.data.users
Section 117
//UserData (com.facebook.data.users.UserData) package com.facebook.data.users { public class UserData { public var affiations:AffiliationCollection; public var name:String; public var uid:String; public var timezone:Number; public var first_name:String; public var last_name:String; public function toString():String{ return ((((((((((((("[ UserData uid: " + uid) + " affiation:") + affiations) + " first_name:") + first_name) + " last_name:") + last_name) + " name:") + name) + " timezone: ") + timezone) + "]")); } } }//package com.facebook.data.users
Section 118
//ArrayResultData (com.facebook.data.ArrayResultData) package com.facebook.data { public class ArrayResultData extends FacebookData { public var arrayResult:Array; } }//package com.facebook.data
Section 119
//BooleanResultData (com.facebook.data.BooleanResultData) package com.facebook.data { public class BooleanResultData extends FacebookData { public var value:Boolean; } }//package com.facebook.data
Section 120
//FacebookData (com.facebook.data.FacebookData) package com.facebook.data { import flash.events.*; public class FacebookData extends EventDispatcher { public var rawResult:String; } }//package com.facebook.data
Section 121
//FacebookEducationInfo (com.facebook.data.FacebookEducationInfo) package com.facebook.data { public class FacebookEducationInfo { public var concentrations:Array; public var name:String; public var degree:String; public var year:String; public function FacebookEducationInfo(){ concentrations = []; } } }//package com.facebook.data
Section 122
//FacebookErrorCodes (com.facebook.data.FacebookErrorCodes) package com.facebook.data { public class FacebookErrorCodes { public static const API_EC_VERSION:Number = 12; public static const API_EC_PERMISSION_DENIED:Number = 10; public static const API_EC_HOST_UP:Number = 7; public static const API_EC_SERVICE:Number = 2; public static const API_EC_RATE:Number = 9; public static const API_EC_METHOD:Number = 3; public static const API_EC_HOST_API:Number = 6; public static const API_EC_SUCCESS:Number = 0; public static const SERVER_ERROR:Number = -1; public static const API_EC_UNKNOWN:Number = 1; public static const API_EC_DEPRECATED:Number = 11; public static const API_EC_SECURE:Number = 8; public static const API_EC_TOO_MANY_CALLS:Number = 4; public static const API_EC_BAD_IP:Number = 5; } }//package com.facebook.data
Section 123
//FacebookLocation (com.facebook.data.FacebookLocation) package com.facebook.data { public class FacebookLocation extends FacebookData { public var street:String; public var country:String; public var state:String; public var zip:String; public var city:String; } }//package com.facebook.data
Section 124
//FacebookNetwork (com.facebook.data.FacebookNetwork) package com.facebook.data { public class FacebookNetwork { public var nid:int; public var name:String; public var status:String; public var type:String; public var year:String; } }//package com.facebook.data
Section 125
//FacebookWorkInfo (com.facebook.data.FacebookWorkInfo) package com.facebook.data { public class FacebookWorkInfo { public var position:String; public var start_date:Date; public var company_name:String; public var location:FacebookLocation; public var end_date:Date; public var description:String; } }//package com.facebook.data
Section 126
//JSONResultData (com.facebook.data.JSONResultData) package com.facebook.data { public class JSONResultData extends FacebookData { public var result:Object; } }//package com.facebook.data
Section 127
//NumberResultData (com.facebook.data.NumberResultData) package com.facebook.data { public class NumberResultData extends FacebookData { public var value:Number; } }//package com.facebook.data
Section 128
//StringResultData (com.facebook.data.StringResultData) package com.facebook.data { public class StringResultData extends FacebookData { public var value:String; } }//package com.facebook.data
Section 129
//XMLDataParser (com.facebook.data.XMLDataParser) package com.facebook.data { import flash.events.*; import com.facebook.errors.*; import com.adobe.serialization.json.*; import com.facebook.data.fbml.*; import com.facebook.data.photos.*; import com.facebook.data.users.*; import com.facebook.utils.*; import com.facebook.data.status.*; import com.facebook.data.data.*; import com.facebook.data.notes.*; import com.facebook.commands.data.*; import com.facebook.data.application.*; import com.facebook.data.feed.*; import com.facebook.data.admin.*; import com.facebook.data.events.*; import com.facebook.data.friends.*; import com.facebook.data.pages.*; import com.facebook.data.notifications.*; import com.facebook.data.groups.*; import com.facebook.data.auth.*; import com.facebook.data.batch.*; public class XMLDataParser implements IFacebookResultParser { protected var fb_namespace:Namespace; public function XMLDataParser(){ fb_namespace = new Namespace("http://api.facebook.com/1.0/"); } protected function parseGetPhotos(_arg1:XML):GetPhotosData{ var _local2:GetPhotosData; var _local3:PhotoCollection; var _local4:*; var _local5:PhotoData; _local2 = new GetPhotosData(); _local3 = new PhotoCollection(); for each (_local4 in _arg1..fb_namespace::photo) { _local5 = new PhotoData(); _local5.pid = _local4.fb_namespace::pid; _local5.aid = _local4.fb_namespace::aid; _local5.owner = _local4.fb_namespace::owner; _local5.src = _local4.fb_namespace::src; _local5.src_big = _local4.fb_namespace::src_big; _local5.src_small = _local4.fb_namespace::src_small; _local5.caption = _local4.fb_namespace::caption; _local5.created = FacebookXMLParserUtils.toDate(_local4.fb_namespace::created); _local3.addPhoto(_local5); }; _local2.photoCollection = _local3; return (_local2); } protected function parseGetNotifications(_arg1:XML):GetNotificationData{ var _local2:GetNotificationData; var _local3:NotificationCollection; var _local4:*; var _local5:*; var _local6:*; var _local7:NotificationMessageData; var _local8:NotificationPokeData; var _local9:NotificationShareData; _local2 = new GetNotificationData(); _local3 = new NotificationCollection(); for each (_local4 in _arg1.fb_namespace::messages) { _local7 = new NotificationMessageData(); _local7.unread = _local4.fb_namespace::unread; _local7.most_recent = _local4.fb_namespace::most_recent; _local3.addItem(_local7); }; for each (_local5 in _arg1.fb_namespace::pokes) { _local8 = new NotificationPokeData(); _local8.unread = _local5.fb_namespace::unread; _local8.most_recent = _local5.fb_namespace::most_recent; _local3.addItem(_local8); }; for each (_local6 in _arg1.fb_namespace::shares) { _local9 = new NotificationShareData(); _local9.unread = _local6.fb_namespace::unread; _local9.most_recent = _local6.fb_namespace::most_recent; _local3.addItem(_local9); }; _local2.friendsRequests = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::friend_requests[0]); _local2.group_invites = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::group_invites[0]); _local2.event_invites = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::event_invites[0]); _local2.notificationCollection = _local3; return (_local2); } public function createFacebookError(_arg1:Object, _arg2:String):FacebookError{ var _local3:FacebookError; _local3 = new FacebookError(); _local3.rawResult = _arg2; _local3.errorCode = FacebookErrorCodes.SERVER_ERROR; if ((_arg1 is Error)){ _local3.error = (_arg1 as Error); } else { _local3.errorEvent = (_arg1 as ErrorEvent); }; return (_local3); } protected function parseSendEmail(_arg1:XML):ArrayResultData{ var _local2:ArrayResultData; _local2 = new ArrayResultData(); _local2.arrayResult = FacebookXMLParserUtils.toArray(_arg1); return (_local2); } protected function getAffiliation(_arg1:XML):AffiliationCollection{ var _local2:AffiliationCollection; var _local3:*; var _local4:AffiliationData; _local2 = new AffiliationCollection(); for each (_local3 in _arg1..fb_namespace::afflication) { _local4 = new AffiliationData(); _local4.nid = _local3.fb_namespace::nid; _local4.name = _local3.fb_namespace::name; _local4.type = _local3.fb_namespace::type; _local4.status = _local3.fb_namespace::status; _local4.year = _local3.fb_namespace::year; _local2.addAffiliation(_local4); }; return (_local2); } protected function parseGetUserPreferences(_arg1:XML):GetUserPreferencesData{ var _local2:GetUserPreferencesData; var _local3:PreferenceCollection; var _local4:*; var _local5:PreferenceData; _local2 = new GetUserPreferencesData(); _local3 = new PreferenceCollection(); for each (_local4 in _arg1..fb_namespace::preference) { _local5 = new PreferenceData(); _local5.pref_id = _local4.fb_namespace::pref_id; _local5.value = _local4.fb_namespace::value; _local3.addItem(_local5); }; _local2.perferenceCollection = _local3; return (_local2); } protected function parseGetStandardInfo(_arg1:XML):GetStandardInfoData{ var _local2:GetStandardInfoData; var _local3:UserCollection; var _local4:*; var _local5:UserData; _local2 = new GetStandardInfoData(); _local3 = new UserCollection(); for each (_local4 in _arg1..fb_namespace::user) { _local5 = new UserData(); _local5.uid = _local4.fb_namespace::uid; _local5.affiations = getAffiliation(XML(_local4.fb_namespace::affiliations.toXMLString())); _local5.first_name = _local4.fb_namespace::first_name; _local5.last_name = _local4.fb_namespace::last_name; _local5.name = _local4.fb_namespace::name; _local5.timezone = _local4.fb_namespace::timezone; _local3.addItem(_local5); }; _local2.userCollection = _local3; return (_local2); } protected function parseGetAppProperties(_arg1:XML):GetAppPropertiesData{ var _local2:GetAppPropertiesData; _local2 = new GetAppPropertiesData(); _local2.appProperties = JSON.decode(_arg1.toString()); return (_local2); } protected function parseGetRegisteredTemplateBundles(_arg1:XML):GetRegisteredTemplateBundleData{ var _local2:GetRegisteredTemplateBundleData; var _local3:TemplateBundleCollection; var _local4:TemplateCollection; var _local5:*; _local2 = new GetRegisteredTemplateBundleData(); _local3 = new TemplateBundleCollection(); _local4 = new TemplateCollection(); for each (_local5 in _arg1..fb_namespace::template_bundle) { getTemplate(_local5.fb_namespace::one_line_story_template, _local4); getTemplate(_local5.fb_namespace::short_story_templates, _local4); getTemplate(_local5.fb_namespace::full_story_template, _local4); _local4.template_bundle_id = _local5.fb_namespace::template_bundle_id; _local4.time_created = FacebookXMLParserUtils.toDate(_local5.fb_namespace::time_created); }; _local2.bundleCollection = _local4; return (_local2); } protected function parseGetRegisteredTemplateBundleByID(_arg1:XML):GetRegisteredTemplateBundleByIDData{ var _local2:GetRegisteredTemplateBundleByIDData; var _local3:TemplateCollection; _local2 = new GetRegisteredTemplateBundleByIDData(); _local3 = new TemplateCollection(); getTemplate(_arg1.fb_namespace::one_line_story_template, _local3); getTemplate(_arg1.fb_namespace::short_story_templates, _local3); getTemplate(_arg1.fb_namespace::full_story_template, _local3); _local3.template_bundle_id = _arg1.fb_namespace::template_bundle_id; _local3.time_created = FacebookXMLParserUtils.toDate(_arg1.fb_namespace::time_created); _local2.templateCollection = _local3; return (_local2); } protected function responseNodeNameToMethodName(_arg1:String):String{ var _local2:Array; _local2 = _arg1.split("_"); _local2.pop(); return (_local2.join(".")); } protected function parseGetObjectTypes(_arg1:XML):GetObjectTypesData{ var _local2:GetObjectTypesData; var _local3:ObjectTypesCollection; var _local4:*; var _local5:ObjectTypesData; _local2 = new GetObjectTypesData(); _local3 = new ObjectTypesCollection(); for each (_local4 in _arg1..fb_namespace::object_type_info) { _local5 = new ObjectTypesData(); _local5.name = _local4.fb_namespace::name; _local5.object_class = _local4.fb_namespace::object_class; _local3.addItem(_local5); }; _local2.objectTypeCollection = _local3; return (_local2); } protected function parseFacebookPhoto(_arg1:XML):FacebookPhoto{ var _local2:FacebookPhoto; _local2 = new FacebookPhoto(); _local2.pid = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::pid[0]); _local2.aid = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::aid[0]); _local2.owner = FacebookXMLParserUtils.toNumber(_arg1.fb_namespace::owner[0]); _local2.src = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::src[0]); _local2.src_big = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::src_big[0]); _local2.src_small = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::src_small[0]); _local2.link = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::link[0]); _local2.caption = FacebookXMLParserUtils.toStringValue(_arg1.fb_namespace::caption[0]); return (_local2); } protected function parseGetObjectType(_arg1:XML):GetObjectTypeData{ var _local2:GetObjectTypeData; _local2 = new GetObjectTypeData(); _local2.name = _arg1.fb_namespace::name; _local2.data_type = _arg1.fb_namespace::data_type; _local2.index_type = _arg1.fb_namespace::index_type; return (_local2); } protected function createTagObject(_arg1:XML, _arg2:Array){ var _local3:Number; var _local4:String; var _local5:AbstractTagData; var _local6:Number; var _local7:Object; _local3 = _arg1.children().length(); _local4 = _arg1.children()[0].toLowerCase(); if (_local4 == "leaf"){ _local5 = new LeafTagData(null, null, null, null, null); (_local5 as LeafTagData).fbml = _arg1.children()[9]; } else { _local5 = new ContainerTagData(null, null, null, null, null, null, null); (_local5 as ContainerTagData).open_tag_fbml = _arg1.children()[2]; (_local5 as ContainerTagData).close_tag_fbml = _arg1.children()[4]; }; _local6 = 0; while (_local6 < _local3) { _local7 = _arg1.children()[_local6]; switch (_arg2[_local6]){ case "name": case "type": case "description": case "is_public": case "header_fbml": case "footer_fbml": _local5[_arg2[_local6]] = _local7.text(); break; case "attributes": if ((_local7.children() is XMLList)){ if (_local7.children().length() == 0){ _local5[_arg2[_local6]] = null; }; }; break; }; _local6++; }; return (_local5); } protected function parseGetNotes(_arg1:XML):GetNotesData{ var _local2:GetNotesData; var _local3:NotesCollection; var _local4:*; var _local5:NoteData; _local2 = new GetNotesData(); _local3 = new NotesCollection(); for each (_local4 in _arg1..fb_namespace::note) { _local5 = new NoteData(); _local5.note_id = _local4.fb_namespace::note_id; _local5.title = _local4.fb_namespace::title; _local5.content = _local4.fb_namespace::content; _local5.created_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::created_time); _local5.updated_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::updated_time); _local5.uid = _local4.fb_namespace::uid; _local3.addItem(_local5); }; _local2.notesCollection = _local3; return (_local2); } protected function parseGetMetrics(_arg1:XML):GetMetricsData{ var _local2:GetMetricsData; var _local3:MetricsDataCollection; var _local4:*; var _local5:MetricsData; _local2 = new GetMetricsData(); _local3 = new MetricsDataCollection(); for each (_local4 in _arg1..fb_namespace::metrics) { _local5 = new MetricsData(); _local5.end_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::end_time); _local5.active_users = _local4.fb_namespace::active_users; _local5.canvas_page_views = _local4.fb_namespace::canvas_page_views; _local3.addItem(_local5); }; _local2.metricsCollection = _local3; return (_local2); } protected function parsePageGetInfo(_arg1:XML):GetPageInfoData{ var _local2:GetPageInfoData; var _local3:PageInfoCollection; var _local4:XMLList; var _local5:Object; var _local6:PageInfoData; _local2 = new GetPageInfoData(); _local3 = new PageInfoCollection(); _local4 = _arg1.fb_namespace::page; for each (_local5 in _local4) { _local6 = new PageInfoData(); _local6.page_id = _local5.fb_namespace::page_id; _local6.name = _local5.fb_namespace::name; _local6.pic_small = _local5.fb_namespace::pic_small; _local6.pic_big = _local5.fb_namespace::pic_big; _local6.pic_square = _local5.fb_namespace::pic_square; _local6.pic_large = _local5.fb_namespace::pic_large; _local6.type = _local5.fb_namespace::type; _local6.website = _local5.fb_namespace::website; _local6.location = FacebookXMLParserUtils.createLocation(_local5.fb_namespace::location[0], fb_namespace); _local6.hours = _local5.fb_namespace::hours; _local6.band_members = _local5.fb_namespace::band_members; _local6.bio = _local5.fb_namespace::bio; _local6.hometown = _local5.fb_namespace::hometown; _local6.genre = FacebookXMLParserUtils.toStringValue(_local5.fb_namespace::genre[0]); _local6.record_label = _local5.fb_namespace::record_label; _local6.influences = _local5.fb_namespace::influences; _local6.has_added_app = FacebookXMLParserUtils.toBoolean(_local5.fb_namespace::has_added_app[0]); _local6.founded = _local5.fb_namespace::founded; _local6.company_overview = _local5.fb_namespace::company_overview; _local6.mission = _local5.fb_namespace::mission; _local6.products = _local5.fb_namespace::products; _local6.release_date = _local5.fb_namespace::release_date; _local6.starring = _local5.fb_namespace::starring; _local6.written_by = _local5.fb_namespace::written_by; _local6.directed_by = _local5.fb_namespace::directed_by; _local6.produced_by = _local5.fb_namespace::produced_by; _local6.studio = _local5.fb_namespace::studio; _local6.awards = _local5.fb_namespace::awards; _local6.plot_outline = _local5.fb_namespace::plot_outline; _local6.network = _local5.fb_namespace::network; _local6.season = _local5.fb_namespace::season; _local6.schedule = _local5.fb_namespace::schedule; _local3.addPageInfo(_local6); }; _local2.pageInfoCollection = _local3; return (_local2); } protected function parseGetTags(_arg1:XML):GetTagsData{ var _local2:GetTagsData; var _local3:PhotoTagCollection; var _local4:*; var _local5:TagData; _local2 = new GetTagsData(); _local3 = new PhotoTagCollection(); for each (_local4 in _arg1..fb_namespace::photo_tag) { _local5 = new TagData(); _local5.text = _local4.fb_namespace::text; _local5.pid = _local4.fb_namespace::pid; _local5.subject = _local4.fb_namespace::subject; _local5.xcoord = _local4.fb_namespace::xcoord; _local5.ycoord = _local4.fb_namespace::ycoord; _local5.created = FacebookXMLParserUtils.toDate(_local4.fb_namespace::created); _local3.addPhotoTag(_local5); }; _local2.photoTagsCollection = _local3; return (_local2); } protected function parseGetGroupMembers(_arg1:XML):GetMemberData{ var _local2:GetMemberData; _local2 = new GetMemberData(); _local2.members = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::members[0]); _local2.admins = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::admins[0]); _local2.officers = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::officers[0]); _local2.notReplied = FacebookXMLParserUtils.toUIDArray(_arg1.fb_namespace::not_replied[0]); return (_local2); } protected function parseGetGroups(_arg1:XML):GetGroupData{ var _local2:GetGroupData; var _local3:GroupCollection; var _local4:*; var _local5:GroupData; _local2 = new GetGroupData(); _local3 = new GroupCollection(); for each (_local4 in _arg1..fb_namespace::group) { _local5 = new GroupData(); _local5.gid = _local4.fb_namespace::gid; _local5.name = _local4.fb_namespace::name; _local5.nid = _local4.fb_namespace::nid; _local5.description = _local4.fb_namespace::description; _local5.group_type = _local4.fb_namespace::group_type; _local5.group_subtype = _local4.fb_namespace::group_subtype; _local5.recent_news = _local4.fb_namespace::recent_news; _local5.pic = _local4.fb_namespace::pic; _local5.pic_big = _local4.fb_namespace::pic_big; _local5.pic_small = _local4.fb_namespace::pic_small; _local5.creator = _local4.fb_namespace::creator; _local5.update_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::update_time); _local5.office = _local4.fb_namespace::office; _local5.website = _local4.fb_namespace::website; _local5.venue = FacebookXMLParserUtils.createLocation(_local4.fb_namespace::venue[0], fb_namespace); _local5.privacy = _local4.fb_namespace::privacy; _local3.addGroup(_local5); }; _local2.groups = _local3; return (_local2); } protected function parseCreateAlbum(_arg1:XML):GetCreateAlbumData{ var _local2:GetCreateAlbumData; var _local3:AlbumData; _local2 = new GetCreateAlbumData(); _local3 = new AlbumData(); _local3.aid = _arg1.fb_namespace::aid; _local3.cover_pid = _arg1.fb_namespace::cover_pid; _local3.owner = _arg1.fb_namespace::owner; _local3.name = _arg1.fb_namespace::name; _local3.created = FacebookXMLParserUtils.toDate(_arg1.fb_namespace::created); _local3.modified = FacebookXMLParserUtils.toDate(_arg1.fb_namespace::modified); _local3.description = _arg1.fb_namespace::description; _local3.location = _arg1.fb_namespace::location; _local3.link = _arg1.fb_namespace::link; _local3.size = _arg1.fb_namespace::size; _local3.visible = _arg1.fb_namespace::visible; _local2.albumData = _local3; return (_local2); } protected function parseGetAllocation(_arg1:XML):GetAllocationData{ var _local2:GetAllocationData; _local2 = new GetAllocationData(); _local2.allocationLimit = Number(_arg1.toString()); return (_local2); } protected function parseGetCookies(_arg1:XML):GetCookiesData{ var _local2:GetCookiesData; _local2 = new GetCookiesData(); _local2.uid = _arg1.fb_namespace::uid; _local2.name = _arg1.fb_namespace::name; _local2.value = _arg1.fb_namespace::value; _local2.expires = _arg1.fb_namespace::expires; _local2.path = _arg1.fb_namespace::path; return (_local2); } protected function parseGetCustomTags(_arg1:XML):GetCustomTagsData{ var _local2:Array; var _local3:GetCustomTagsData; var _local4:TagCollection; var _local5:*; _local2 = ["type", "name", "open_tag_fbml", "description", "close_tag_fbml", "is_public", "attributes", "header_fbml", "footer_fbml", "fbml"]; _local3 = new GetCustomTagsData(); _local4 = new TagCollection(); for each (_local5 in _arg1..fb_namespace::custom_tag) { _local4.addItem(createTagObject(_local5, _local2)); }; _local3.tagCollection = _local4; return (_local3); } protected function parseGetAlbums(_arg1:XML):GetAlbumsData{ var _local2:GetAlbumsData; _local2 = new GetAlbumsData(); _local2.albumCollection = FacebookXMLParserUtils.createAlbumCollection(_arg1, fb_namespace); return (_local2); } protected function parseGetInfo(_arg1:XML):GetInfoData{ var _local2:FacebookUserCollection; var _local3:XMLList; var _local4:uint; var _local5:uint; var _local6:GetInfoData; var _local7:FacebookUser; _local2 = new FacebookUserCollection(); _local3 = _arg1..fb_namespace::user; _local4 = _local3.length(); _local5 = 0; while (_local5 < _local4) { _local7 = FacebookUserXMLParser.createFacebookUser(_local3[_local5], fb_namespace); _local2.addItem(_local7); _local5++; }; _local6 = new GetInfoData(); _local6.userCollection = _local2; return (_local6); } protected function parseGetLists(_arg1:XML):GetListsData{ var _local2:GetListsData; var _local3:Array; var _local4:*; var _local5:ListsData; _local2 = new GetListsData(); _local3 = []; for each (_local4 in _arg1..fb_namespace::friendlist) { _local5 = new ListsData(); _local5.flid = _local4.fb_namespace::flid; _local5.name = _local4.fb_namespace::name; _local3.push(_local5); }; _local2.lists = _local3; return (_local2); } public function parse(_arg1:String, _arg2:String):FacebookData{ var _local3:FacebookData; var _local4:XML; _local4 = new XML(_arg1); switch (_arg2){ case "application.getPublicInfo": _local3 = parseGetPublicInfo(_local4); break; case "data.getCookies": _local3 = parseGetCookies(_local4); break; case "admin.getAllocation": _local3 = parseGetAllocation(_local4); break; case "admin.getAppProperties": _local3 = parseGetAppProperties(_local4); break; case "admin.getMetrics": _local3 = parseGetMetrics(_local4); break; case "auth.getSession": _local3 = new GetSessionData(); (_local3 as GetSessionData).expires = FacebookXMLParserUtils.toDate(_local4.fb_namespace::expires); (_local3 as GetSessionData).uid = FacebookXMLParserUtils.toStringValue(_local4.fb_namespace::uid[0]); (_local3 as GetSessionData).session_key = _local4.fb_namespace::session_key.toString(); (_local3 as GetSessionData).secret = String(_local4.fb_namespace::secret); break; case "feed.getRegisteredTemplateBundles": _local3 = parseGetRegisteredTemplateBundles(_local4); break; case "friends.areFriends": _local3 = parseAreFriends(_local4); break; case "notes.get": _local3 = parseGetNotes(_local4); break; case "friends.get": _local3 = parseGetFriends(_local4); break; case "friends.getAppUsers": _local3 = parseGetAppUsersData(_local4); break; case "friends.getLists": _local3 = parseGetLists(_local4); break; case "groups.get": _local3 = parseGetGroups(_local4); break; case "data.getAssociationDefinitions": _local3 = new FacebookData(); break; case "data.getAssociationDefinition": _local3 = new FacebookData(); break; case "data.getObject": case "data.getObjects": _local3 = new FacebookData(); break; case "groups.getMembers": _local3 = parseGetGroupMembers(_local4); break; case "users.getInfo": _local3 = parseGetInfo(_local4); break; case "data.createObject": case "data.setHashValue": case "connect.getUnconnectedFriendsCount": case "feed.registerTemplateBundle": _local3 = new NumberResultData(); (_local3 as NumberResultData).value = FacebookXMLParserUtils.toNumber(_local4); break; case "notifications.get": _local3 = parseGetNotifications(_local4); break; case "feed.getRegisteredTemplateBundleByID": _local3 = parseGetRegisteredTemplateBundleByID(_local4); break; case "users.getStandardInfo": _local3 = parseGetStandardInfo(_local4); break; case "feed.getRegisteredTemplateBundles": _local3 = parseGetRegisteredTemplateBundles(_local4); break; case "data.getUserPreferences": _local3 = parseGetUserPreferences(_local4); break; case "users.isAppUser": case "users.hasAppPermission": case "users.setStatus": case "pages.isFan": case "pages.isAppAdded": case "pages.isAdmin": case "admin.setAppProperties": case "auth.expireSession": case "auth.revokeAuthorization": case "events.cancel": case "events.edit": case "events.rsvp": case "liveMessage.send": case "data.undefineAssociation": case "data.defineAssociation": case "data.removeHashKeys": case "data.removeHashKey": case "data.incHashValue": case "data.updateObject": case "data.deleteObject": case "data.deleteObjects": case "data.renameAssociation": case "data.setObjectProperty": case "profile.setInfo": case "profile.setInfoOptions": case "feed.deactivateTemplateBundleByID": case "feed.publishTemplatizedAction": case "admin.setRestrictionInfo": case "data.setCookie": case "data.createObjectType": case "notes.delete": case "notes.edit": case "data.setUserPreference": case "data.dropObjectType": case "data.renameObjectType": case "fbml.registerCustomTags": case "fbml.deleteCustomTags": case "fbml.refreshRefUrl": case "fbml.refreshImgSrc": case "fbml.setRefHandle": case "data.setUserPreferences": case "data.defineObjectProperty": case "photos.addTag": case "stream.addLike": case "stream.removeLike": case "stream.removeComment": case "sms.canSend": _local3 = new BooleanResultData(); (_local3 as BooleanResultData).value = FacebookXMLParserUtils.toBoolean(_local4); break; case "feed.publishUserAction": _local3 = new BooleanResultData(); (_local3 as BooleanResultData).value = FacebookXMLParserUtils.toBoolean(_local4.children()[0]); break; case "notifications.sendEmail": _local3 = parseSendEmail(_local4); break; case "data.getObjectTypes": _local3 = parseGetObjectTypes(_local4); break; case "users.getStandardInfo": _local3 = parseGetStandardInfo(_local4); break; case "data.getObjectType": _local3 = parseGetObjectType(_local4); break; case "events.get": _local3 = parseGetEvent(_local4); break; case "events.getMembers": _local3 = parseGetMembers(_local4); break; case "fql.multiquery": _local3 = new FacebookData(); break; case "fql.query": _local3 = new FacebookData(); break; case "photos.createAlbum": _local3 = parseCreateAlbum(_local4); break; case "photos.get": _local3 = parseGetPhotos(_local4); break; case "photos.getTags": _local3 = parseGetTags(_local4); break; case "photos.getAlbums": _local3 = parseGetAlbums(_local4); break; case "photos.upload": _local3 = parseFacebookPhoto(_local4); break; case "pages.getInfo": _local3 = parsePageGetInfo(_local4); break; case "batch.run": _local3 = parseBatchRun(_local4); break; case "fbml.getCustomTags": _local3 = parseGetCustomTags(_local4); break; case "connect.unregisterUsers": case "connect.registerUsers": _local3 = new ArrayResultData(); (_local3 as ArrayResultData).arrayResult = FacebookXMLParserUtils.toArray(_local4); break; case "status.get": _local3 = parseGetStatus(_local4); break; case "stream.get": _local3 = FacebookStreamXMLParser.createStream(_local4, fb_namespace); break; case "stream.getComments": _local3 = FacebookStreamXMLParser.createGetCommentsData(_local4, fb_namespace); break; case "stream.getFilters": _local3 = FacebookStreamXMLParser.createStreamFilterCollection(_local4, fb_namespace); break; case "auth.createToken": case "events.create": case "links.post": case "auth.promoteSession": case "admin.getRestrictionInfo": case "data.getObjectProperty": case "notifications.send": case "notes.create": case "data.getUserPreference": case "profile.setFBML": case "users.getLoggedInUser": case "stream.addComment": default: _local3 = new StringResultData(); (_local3 as StringResultData).value = FacebookXMLParserUtils.toStringValue(_local4); break; }; _local3.rawResult = _arg1; return (_local3); } protected function parseGetAppUsersData(_arg1:XML):GetAppUserData{ var _local2:Array; var _local3:GetAppUserData; _local2 = FacebookXMLParserUtils.toUIDArray(_arg1); _local3 = new GetAppUserData(); _local3.uids = _local2; return (_local3); } protected function parseGetStatus(_arg1:XML):GetStatusData{ var _local2:GetStatusData; var _local3:Array; var _local4:XMLList; var _local5:uint; var _local6:uint; var _local7:XML; var _local8:Status; _local2 = new GetStatusData(); _local3 = []; _local4 = _arg1.children(); _local5 = _local4.length(); _local6 = 0; while (_local6 < _local5) { _local7 = _local4[_local6]; _local8 = new Status(); _local8.uid = FacebookXMLParserUtils.toStringValue(_local7.fb_namespace::uid[0]); _local8.status_id = FacebookXMLParserUtils.toStringValue(_local7.fb_namespace::status_id[0]); _local8.time = FacebookXMLParserUtils.toDate(_local7.fb_namespace::time[0]); _local8.source = FacebookXMLParserUtils.toStringValue(_local7.fb_namespace::source[0]); _local8.message = FacebookXMLParserUtils.toStringValue(_local7.fb_namespace::message[0]); _local3.push(_local8); _local6++; }; _local2.status = _local3; return (_local2); } protected function parseGetMembers(_arg1:XML):GetMembersData{ var _local2:GetMembersData; _local2 = new GetMembersData(); _local2.attending = FacebookXMLParserUtils.toUIDArray(_arg1..fb_namespace::attending[0]); _local2.unsure = FacebookXMLParserUtils.toUIDArray(_arg1..fb_namespace::unsure[0]); _local2.declined = FacebookXMLParserUtils.toUIDArray(_arg1..fb_namespace::declined[0]); _local2.not_replied = FacebookXMLParserUtils.toUIDArray(_arg1..fb_namespace::not_replied[0]); return (_local2); } protected function parseGetEvent(_arg1:XML):GetEventsData{ var _local2:GetEventsData; var _local3:EventCollection; var _local4:*; var _local5:EventData; _local2 = new GetEventsData(); _local3 = new EventCollection(); for each (_local4 in _arg1..fb_namespace::event) { _local5 = new EventData(); _local5.eid = _local4.fb_namespace::eid; _local5.name = _local4.fb_namespace::name; _local5.tagline = _local4.fb_namespace::tagline; _local5.nid = _local4.fb_namespace::nid; _local5.pic = _local4.fb_namespace::pic; _local5.pic_big = _local4.fb_namespace::pic_big; _local5.pic_small = _local4.fb_namespace::pic_small; _local5.host = _local4.fb_namespace::host; _local5.description = _local4.fb_namespace::description; _local5.event_type = _local4.fb_namespace::event_type; _local5.event_subtype = _local4.fb_namespace::event_subtype; _local5.start_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::start_time); _local5.end_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::end_time); _local5.creator = _local4.fb_namespace::end_time; _local5.update_time = FacebookXMLParserUtils.toDate(_local4.fb_namespace::update_time); _local5.location = _local4.fb_namespace::location; _local5.venue = FacebookXMLParserUtils.createLocation(_local4.fb_namespace::venue[0], fb_namespace); _local3.addItem(_local5); }; _local2.eventCollection = _local3; return (_local2); } protected function parseGetFriends(_arg1:XML):GetFriendsData{ var _local2:GetFriendsData; var _local3:FacebookUserCollection; var _local4:*; var _local5:FacebookUser; _local2 = new GetFriendsData(); _local3 = new FacebookUserCollection(); for each (_local4 in _arg1..fb_namespace::uid) { _local5 = new FacebookUser(); _local5.uid = _local4; _local3.addItem(_local5); }; _local2.friends = _local3; return (_local2); } protected function parseGetPublicInfo(_arg1:XML):GetPublicInfoData{ var _local2:GetPublicInfoData; _local2 = new GetPublicInfoData(); _local2.app_id = _arg1.fb_namespace::app_id; _local2.api_key = _arg1.fb_namespace::api_key; _local2.canvas_name = _arg1.fb_namespace::canvas_name; _local2.display_name = _arg1.fb_namespace::display_name; _local2.icon_url = _arg1.fb_namespace::icon_url; _local2.logo_url = _arg1.fb_namespace::logo_url; _local2.developers = _arg1.fb_namespace::developers; _local2.company_name = _arg1.fb_namespace::company_name; _local2.developers = _arg1.fb_namespace::developers; _local2.daily_active_users = _arg1.fb_namespace::daily_active_users; _local2.weekly_active_users = _arg1.fb_namespace::weekly_active_users; _local2.monthly_active_users = _arg1.fb_namespace::monthly_active_users; _local2.description = _arg1.fb_namespace::description; return (_local2); } protected function parseAreFriends(_arg1:XML):AreFriendsData{ var _local2:AreFriendsData; var _local3:FriendsCollection; var _local4:*; var _local5:FriendsData; _local2 = new AreFriendsData(); _local3 = new FriendsCollection(); for each (_local4 in _arg1..fb_namespace::friend_info) { _local5 = new FriendsData(); _local5.uid1 = _local4.fb_namespace::uid1; _local5.uid2 = _local4.fb_namespace::uid2; _local5.are_friends = FacebookXMLParserUtils.toBoolean(XML(_local4.fb_namespace::are_friends.toXMLString())); _local3.addItem(_local5); }; _local2.friendsCollection = _local3; return (_local2); } public function validateFacebookResponce(_arg1:String):FacebookError{ var error:FacebookError; var xml:XML; var xmlError:Error; var hasXMLError:Boolean; var result = _arg1; error = null; hasXMLError = false; try { xml = new XML(result); } catch(e) { xmlError = e; hasXMLError = true; }; if (hasXMLError == false){ if (xml.localName() == "error_response"){ error = new FacebookError(); error.rawResult = result; error.errorCode = Number(xml.fb_namespace::error_code); error.errorMsg = xml.fb_namespace::error_msg; error.requestArgs = FacebookXMLParserUtils.xmlToUrlVariables(xml..arg); }; return (error); }; if (hasXMLError == true){ error = new FacebookError(); error.error = xmlError; error.errorCode = -1; }; return (error); } protected function parseBatchRun(_arg1:XML):FacebookData{ var _local2:XMLList; var _local3:uint; var _local4:Array; var _local5:uint; var _local6:BatchResult; var _local7:String; var _local8:XML; var _local9:FacebookError; var _local10:String; var _local11:FacebookData; _local2 = _arg1..fb_namespace::batch_run_response_elt; _local3 = _local2.length(); _local4 = []; _local5 = 0; while (_local5 < _local3) { _local7 = _local2[_local5].toString(); _local8 = new XML(_local7); _local9 = validateFacebookResponce(_local7); if (_local9 === null){ _local10 = responseNodeNameToMethodName(_local8.localName().toString()); _local11 = parse(_local7, _local10); _local4.push(_local11); } else { _local4.push(_local9); }; _local5++; }; _local6 = new BatchResult(); _local6.results = _local4; return (_local6); } protected function getTemplate(_arg1:XMLList, _arg2:TemplateCollection):void{ var _local3:*; var _local4:TemplateData; for each (_local3 in _arg1) { _local4 = new TemplateData(); _local4.type = _local3.localName(); _local4.template_body = _local3.fb_namespace::template_body; _local4.template_title = _local3.fb_namespace::template_title; _arg2.addTemplateData(_local4); }; } } }//package com.facebook.data
Section 130
//AbstractFileUploadDelegate (com.facebook.delegates.AbstractFileUploadDelegate) package com.facebook.delegates { import flash.events.*; import flash.utils.*; import com.facebook.net.*; import flash.net.*; import com.facebook.utils.*; import com.facebook.session.*; public class AbstractFileUploadDelegate extends WebDelegate { protected var ba:ByteArray; public function AbstractFileUploadDelegate(_arg1:FacebookCall, _arg2:WebSession){ super(_arg1, _arg2); ba = new ByteArray(); } override protected function onDataComplete(_arg1:Event):void{ var _local2:ByteArray; var _local3:String; _local2 = (_arg1.target.data as ByteArray); if (_local2 == null){ super.onDataComplete(_arg1); } else { _local3 = _local2.readUTFBytes(_local2.length); _local2.length = 0; _local2 = null; handleResult(_local3); }; } protected function getContentType():String{ return (null); } protected function uploadByteArray(_arg1:ByteArray):void{ var _local2:PostRequest; var _local3:String; var _local4:URLRequest; _local2 = new PostRequest(); for (_local3 in call.args) { if (_local3 != "data"){ _local2.writePostData(_local3, call.args[_local3]); }; }; _local2.writeFileData(((("fn" + call.args["call_id"]) + ".") + getExt()), _arg1, getContentType()); _local2.close(); _local4 = new URLRequest(); _local4.method = URLRequestMethod.POST; _local4.contentType = ("multipart/form-data; boundary=" + _local2.boundary); _local4.data = _local2.getPostData(); _local4.url = _session.rest_url; createURLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.load(_local4); } protected function getExt():String{ return (null); } protected function onFileRefComplete(_arg1:Event):void{ fileRef = (call.args.data as FileReference); uploadByteArray(fileRef["data"]); } } }//package com.facebook.delegates
Section 131
//DesktopDelegate (com.facebook.delegates.DesktopDelegate) package com.facebook.delegates { import com.facebook.net.*; import com.facebook.session.*; public class DesktopDelegate extends WebDelegate { public function DesktopDelegate(_arg1:FacebookCall, _arg2:DesktopSession){ super(_arg1, _arg2); } override protected function addOptionalArguments():void{ } } }//package com.facebook.delegates
Section 132
//IFacebookCallDelegate (com.facebook.delegates.IFacebookCallDelegate) package com.facebook.delegates { import flash.events.*; import com.facebook.net.*; import com.facebook.session.*; public interface IFacebookCallDelegate extends IEventDispatcher { function set session(_arg1:IFacebookSession):void; function get session():IFacebookSession; function close():void; function set call(_arg1:FacebookCall):void; function get call():FacebookCall; } }//package com.facebook.delegates
Section 133
//JSDelegate (com.facebook.delegates.JSDelegate) package com.facebook.delegates { import flash.events.*; import com.facebook.net.*; import com.facebook.data.*; import com.facebook.errors.*; import com.adobe.serialization.json.*; import com.facebook.utils.*; import com.facebook.session.*; import com.facebook.*; import flash.external.*; public class JSDelegate extends EventDispatcher implements IFacebookCallDelegate { protected var _session:JSSession; protected var _call:FacebookCall; protected static var externalInterfaceCalls:Object = {}; protected static var externalInterfaceCallId:Number = 0; public function JSDelegate(_arg1:FacebookCall, _arg2:JSSession){ this.call = _arg1; this.session = _arg2; execute(); } public function set session(_arg1:IFacebookSession):void{ this._session = (_arg1 as JSSession); } protected function onReceiveStatus(_arg1:StatusEvent):void{ var _local2:FacebookError; switch ((_arg1.level == "error")){ case "error": _local2 = new FacebookError(); _local2.rawResult = _arg1.level; var _local3 = call; _local3.facebook_internal::handleError(_local2); break; case "warning": case "status": break; }; } public function get session():IFacebookSession{ return (_session); } protected function onReceiveError(_arg1:ErrorEvent):void{ var _local2:FacebookError; _local2 = new FacebookError(); _local2.errorEvent = _arg1; var _local3 = call; _local3.facebook_internal::handleError(_local2); } public function get call():FacebookCall{ return (_call); } protected function buildCall():String{ var _local1:String; var _local2:Object; var _local3:String; var _local4:String; _local1 = ("bridgeFacebookCall_" + externalInterfaceCallId); RequestHelper.formatRequest(call); _local2 = {}; for (_local3 in call.args) { _local2[_local3] = call.args[_local3]; }; _local4 = (((((((((((((((("function " + _local1) + "() { ") + "FB.Facebook.apiClient.callMethod(\"") + call.method) + "\", ") + JavascriptRequestHelper.formatURLVariables(call.args)) + ", ") + "function(result, exception) {") + "document.") + (_session as JSSession).as_swf_name) + ".bridgeFacebookReply(result, exception, ") + externalInterfaceCallId) + ")") + "}") + ");") + "}"); return (_local4); } protected function execute():void{ var _local1:Array; var _local2:Object; var _local3:String; _local1 = []; for each (_local2 in call.args) { _local1.push(_local2); }; var _local4 = ++externalInterfaceCallId; externalInterfaceCalls[_local4] = call; _local3 = buildCall(); ExternalInterface.addCallback("bridgeFacebookReply", postBridgeAsyncReply); ExternalInterface.call(_local3); } protected function postBridgeAsyncReply(_arg1:Object, _arg2:Object, _arg3:uint):void{ var _local4:FacebookCall; var _local5:JSONResultData; var _local6:FacebookError; _local4 = externalInterfaceCalls[_arg3]; if (_arg1){ _local5 = new JSONResultData(); _local5.result = _arg1; var _local7 = _local4; _local7.facebook_internal::handleResult(_local5); } else { _local6 = new FacebookError(); _local6.rawResult = JSON.encode(_arg2); _local7 = _local4; _local7.facebook_internal::handleError(_local6); }; delete externalInterfaceCalls[_arg3]; } public function set call(_arg1:FacebookCall):void{ this._call = _arg1; } public function close():void{ } } }//package com.facebook.delegates
Section 134
//RequestHelper (com.facebook.delegates.RequestHelper) package com.facebook.delegates { import flash.display.*; import flash.utils.*; import com.facebook.net.*; import flash.net.*; import com.facebook.session.*; import com.adobe.crypto.*; public class RequestHelper { protected static var callID:int = 0; public static function formatRequest(_arg1:FacebookCall):void{ var _local2:IFacebookSession; var _local3:String; _local2 = _arg1.session; _arg1.setRequestArgument("v", _local2.api_version); if (_local2.api_key != null){ _arg1.setRequestArgument("api_key", _local2.api_key); }; if (((!((_local2.session_key == null))) && (_arg1.useSession))){ _arg1.setRequestArgument("session_key", _local2.session_key); }; _local3 = (new Date().time.toString() + callID++.toString()); _arg1.setRequestArgument("call_id", _local3); _arg1.setRequestArgument("method", _arg1.method); _arg1.setRequestArgument("sig", formatSig(_arg1)); } public static function formatSig(_arg1:FacebookCall):String{ var _local2:IFacebookSession; var _local3:Array; var _local4:String; var _local5:String; var _local6:*; _local2 = _arg1.session; _local3 = []; for (_local4 in _arg1.args) { _local6 = _arg1.args[_local4]; if (((((((((!((_local4 === "sig"))) && (!((_local6 is ByteArray))))) && (!((_local6 is FileReference))))) && (!((_local6 is BitmapData))))) && (!((_local6 is Bitmap))))){ _local3.push(((_local4 + "=") + _local6.toString())); }; }; _local3.sort(); _local5 = _local3.join(""); if (_local2.secret != null){ _local5 = (_local5 + _local2.secret); }; return (MD5.hash(_local5)); } } }//package com.facebook.delegates
Section 135
//WebDelegate (com.facebook.delegates.WebDelegate) package com.facebook.delegates { import flash.events.*; import com.facebook.net.*; import flash.net.*; import com.facebook.data.*; import com.facebook.errors.*; import com.facebook.session.*; import com.facebook.events.*; public class WebDelegate extends EventDispatcher implements IFacebookCallDelegate { protected var loader:URLLoader; protected var _session:WebSession; protected var parser:XMLDataParser; protected var fileRef:FileReference; protected var _call:FacebookCall; public function WebDelegate(_arg1:FacebookCall, _arg2:WebSession){ this.call = _arg1; this.session = _arg2; parser = new XMLDataParser(); execute(); } protected function addOptionalArguments():void{ call.setRequestArgument("ss", true); } protected function clean():void{ if (loader == null){ return; }; loader.removeEventListener(Event.COMPLETE, onDataComplete); loader.removeEventListener(IOErrorEvent.IO_ERROR, onError); loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onError); } protected function handleResult(_arg1:String):void{ var _local2:FacebookError; var _local3:FacebookData; clean(); _local2 = parser.validateFacebookResponce(_arg1); if (_local2 == null){ _local3 = parser.parse(_arg1, call.method); call.handleResult(_local3); } else { call.handleError(_local2); }; } public function get session():IFacebookSession{ return (_session); } protected function onDataComplete(_arg1:Event):void{ handleResult((_arg1.target.data as String)); } public function get call():FacebookCall{ return (_call); } protected function post():void{ addOptionalArguments(); RequestHelper.formatRequest(call); sendRequest(); } protected function execute():void{ if (call == null){ throw (new Error("No call defined.")); }; post(); } protected function sendRequest():void{ var _local1:URLRequest; createURLLoader(); _local1 = new URLRequest(_session.rest_url); _local1.contentType = "application/x-www-form-urlencoded"; _local1.method = URLRequestMethod.POST; _local1.data = call.args; trace(((_local1.url + "?") + unescape(call.args.toString()))); loader.dataFormat = URLLoaderDataFormat.TEXT; loader.load(_local1); } protected function createURLLoader():void{ loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, onDataComplete); loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus); loader.addEventListener(IOErrorEvent.IO_ERROR, onError); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError); } protected function onError(_arg1:ErrorEvent):void{ var _local2:FacebookError; clean(); _local2 = parser.createFacebookError(_arg1, loader.data); call.handleError(_local2); dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, false, null, _local2)); } public function set session(_arg1:IFacebookSession):void{ _session = (_arg1 as WebSession); } public function close():void{ try { loader.close(); } catch(e) { }; } protected function onHTTPStatus(_arg1:HTTPStatusEvent):void{ } public function set call(_arg1:FacebookCall):void{ _call = _arg1; } } }//package com.facebook.delegates
Section 136
//WebImageUploadDelegate (com.facebook.delegates.WebImageUploadDelegate) package com.facebook.delegates { import flash.display.*; import flash.events.*; import flash.utils.*; import com.adobe.images.*; import com.facebook.net.*; import flash.net.*; import com.facebook.utils.*; import com.facebook.session.*; import com.facebook.commands.photos.*; public class WebImageUploadDelegate extends AbstractFileUploadDelegate { public function WebImageUploadDelegate(_arg1:FacebookCall, _arg2:WebSession){ super(_arg1, _arg2); } override protected function getContentType():String{ return ("Content-Type: image/jpg"); } override protected function sendRequest():void{ var _local1:ByteArray; var _local2:URLRequest; var _local3:Object; var _local4:JPGEncoder; _local2 = new URLRequest(_session.rest_url); _local3 = call.args.data; if (_local3 == null){ super.sendRequest(); return; }; if ((((PlayerUtils.majorVersion == 9)) && ((_local3 is FileReference)))){ throw (new TypeError("Uploading FileReference with Player 9 is unsupported. Use either an BitmapData or ByteArray.")); }; if ((_local3 is Bitmap)){ _local3 = (_local3 as Bitmap).bitmapData; }; if ((((PlayerUtils.majorVersion == 10)) && ((_local3 is FileReference)))){ _local1 = (_local3 as FileReference)["load"](); fileRef = (_local3 as FileReference); fileRef.addEventListener(Event.COMPLETE, onFileRefComplete); } else { if ((_local3 is ByteArray)){ uploadByteArray((_local3 as ByteArray)); } else { if ((_local3 is BitmapData)){ switch ((call as UploadPhoto).uploadType){ case UploadPhotoTypes.JPEG: _local4 = new JPGEncoder((call as UploadPhoto).uploadQuality); ba = _local4.encode((_local3 as BitmapData)); break; case UploadPhotoTypes.PNG: ba = PNGEncoder.encode((_local3 as BitmapData)); break; }; uploadByteArray(ba); } else { throw (new Error((("Error data type " + call.args.data) + " is not supported. Please use one of the following types: FileReference, ByteArray, BitmapData or Bitmap."))); }; }; }; } override protected function getExt():String{ return ((((call as IUploadPhoto).uploadType == UploadPhotoTypes.JPEG)) ? "jpeg" : "png"); } } }//package com.facebook.delegates
Section 137
//VideoUploadDelegate (com.facebook.delegates.VideoUploadDelegate) package com.facebook.delegates { import flash.events.*; import flash.utils.*; import com.facebook.net.*; import flash.net.*; import com.facebook.utils.*; import com.facebook.session.*; import com.facebook.commands.video.*; public class VideoUploadDelegate extends AbstractFileUploadDelegate { public function VideoUploadDelegate(_arg1:FacebookCall, _arg2:WebSession){ super(_arg1, _arg2); } override protected function getContentType():String{ return (("Content-Type: video/" + (call as UploadVideo).ext)); } override protected function sendRequest():void{ var _local1:ByteArray; var _local2:URLRequest; var _local3:Object; _local2 = new URLRequest(_session.rest_url); _local3 = call.args.data; if ((((PlayerUtils.majorVersion == 9)) && ((_local3 is FileReference)))){ throw (new TypeError("Uploading FileReference with Player 9 is unsupported. Use ByteArray.")); }; if ((((PlayerUtils.majorVersion == 10)) && ((_local3 is FileReference)))){ _local1 = (_local3 as FileReference)["load"](); fileRef = (_local3 as FileReference); fileRef.addEventListener(Event.COMPLETE, onFileRefComplete); } else { if ((_local3 is ByteArray)){ uploadByteArray((_local3 as ByteArray)); } else { throw (new Error((("Error data type " + call.args.data) + " is not supported. Please use one of the following types: FileReference or ByteArray."))); }; }; } override protected function getExt():String{ return ((call as UploadVideo).ext); } } }//package com.facebook.delegates
Section 138
//FacebookError (com.facebook.errors.FacebookError) package com.facebook.errors { import flash.events.*; import flash.net.*; import com.facebook.data.*; public class FacebookError extends FacebookData { public var reason:String; public var error:Error; public var requestArgs:URLVariables; public var errorCode:Number; public var errorMsg:String; public var errorEvent:ErrorEvent; } }//package com.facebook.errors
Section 139
//FacebookEvent (com.facebook.events.FacebookEvent) package com.facebook.events { import flash.events.*; import com.facebook.data.*; import com.facebook.errors.*; public class FacebookEvent extends Event { public var success:Boolean; public var permission:String; public var error:FacebookError; public var hasPermission:Boolean; public var data:FacebookData; public static const PERMISSIONS_LOADED:String = "permissionsLoaded"; public static const LOGOUT:String = "logout"; public static const CONNECT:String = "connect"; public static const VERIFYING_SESSION:String = "verifyingSession"; public static const WAITING_FOR_LOGIN:String = "waitingForLogin"; public static const PERMISSION_CHANGE:String = "permissionChanged"; public static const PERMISSION_STATUS:String = "permissionStatus"; public static const LOGIN_SUCCESS:String = "loginSuccess"; public static const ERROR:String = "facebookEventError"; public static const PERMISSIONS_WINDOW_SHOW:String = "permissionsWindowShow"; public static const LOGIN_FAILURE:String = "loginFailure"; public static const LOGIN_WINDOW_SHOW:String = "loginWindoShow"; public static const COMPLETE:String = "complete"; public function FacebookEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Boolean=false, _arg5:FacebookData=null, _arg6:FacebookError=null, _arg7:String="", _arg8:Boolean=false){ this.success = _arg4; this.data = _arg5; this.error = _arg6; this.permission = _arg7; this.hasPermission = _arg8; super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new FacebookEvent(type, bubbles, cancelable, success, data, error)); } override public function toString():String{ return (formatToString("FacebookEvent", "type", "success", "data", "error")); } } }//package com.facebook.events
Section 140
//FacebookCall (com.facebook.net.FacebookCall) package com.facebook.net { import flash.events.*; import flash.net.*; import com.facebook.data.*; import com.facebook.errors.*; import com.facebook.delegates.*; import com.facebook.session.*; import com.facebook.events.*; import com.facebook.*; public class FacebookCall extends EventDispatcher { public var success:Boolean;// = false public var delegate:IFacebookCallDelegate; public var error:FacebookError; public var session:IFacebookSession; public var result:FacebookData; public var method:String; public var args:URLVariables; public var useSession:Boolean;// = true public function FacebookCall(_arg1:String="no_method_required", _arg2:URLVariables=null){ success = false; useSession = true; super(); this.method = _arg1; this.args = ((_arg2)!=null) ? _arg2 : new URLVariables(); } facebook_internal function clearRequestArguments():void{ this.args = new URLVariables(); } facebook_internal function initialize():void{ } facebook_internal function handleError(_arg1:FacebookError):void{ this.error = _arg1; success = false; dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, false, null, _arg1)); } facebook_internal function setRequestArgument(_arg1:String, _arg2:Object):void{ if ((((_arg2 is Number)) && (isNaN((_arg2 as Number))))){ return; }; if (((((_arg1) && (!((_arg2 == null))))) && ((String(_arg2).length > 0)))){ this.args[_arg1] = _arg2; }; } protected function applySchema(_arg1:Array, ... _args):void{ var _local3:uint; var _local4:uint; _local3 = _arg1.length; _local4 = 0; while (_local4 < _local3) { setRequestArgument(_arg1[_local4], _args[_local4]); _local4++; }; } facebook_internal function handleResult(_arg1:FacebookData):void{ this.result = _arg1; success = true; dispatchEvent(new FacebookEvent(FacebookEvent.COMPLETE, false, false, true, _arg1)); } } }//package com.facebook.net
Section 141
//IUploadPhoto (com.facebook.net.IUploadPhoto) package com.facebook.net { public interface IUploadPhoto { function set data(_arg1:Object):void; function set uploadType(_arg1:String):void; function get data():Object; function get uploadType():String; function set uploadQuality(_arg1:uint):void; function get uploadQuality():uint; } }//package com.facebook.net
Section 142
//IUploadVideo (com.facebook.net.IUploadVideo) package com.facebook.net { public interface IUploadVideo { function set title(_arg1:String):void; function set ext(_arg1:String):void; function get title():String; function get ext():String; function get description():String; function set description(_arg1:String):void; } }//package com.facebook.net
Section 143
//DesktopSession (com.facebook.session.DesktopSession) package com.facebook.session { import com.facebook.net.*; import flash.net.*; import com.facebook.data.*; import com.facebook.errors.*; import com.facebook.delegates.*; import com.facebook.events.*; import com.facebook.data.auth.*; import com.facebook.*; import com.facebook.commands.users.*; import com.facebook.commands.auth.*; public class DesktopSession extends WebSession implements IFacebookSession { protected var _waiting_for_login:Boolean;// = false protected var _auth_token:String; protected var _offline_access:Boolean;// = false protected var loginRequest:IFacebookCallDelegate; public function DesktopSession(_arg1:String, _arg2:String=null, _arg3:String=null){ _waiting_for_login = false; _offline_access = false; super(_arg1, null); this._is_connected = false; this._secret = _arg2; if (_arg3){ this._session_key = _arg3; }; } override public function get waiting_for_login():Boolean{ return (_waiting_for_login); } protected function onVerifyLogin(_arg1:FacebookEvent):void{ var _local2:FacebookEvent; _local2 = new FacebookEvent(FacebookEvent.CONNECT); _local2.success = _arg1.success; if (_arg1.success){ facebook_internal::_uid = (_arg1.data as StringResultData).value; _local2.data = _arg1.data; _is_connected = true; } else { _local2.error = _arg1.error; _is_connected = false; }; dispatchEvent(_local2); } override public function post(_arg1:FacebookCall):IFacebookCallDelegate{ rest_url = REST_URL; if ((_arg1 is IUploadPhoto)){ return (new WebImageUploadDelegate(_arg1, this)); }; if ((_arg1 is IUploadVideo)){ rest_url = VIDEO_URL; return (new VideoUploadDelegate(_arg1, this)); }; return (new DesktopDelegate(_arg1, this)); } protected function validateSessionReply(_arg1:FacebookEvent):void{ var _local2:GetSessionData; if (_arg1.success){ _local2 = (_arg1.data as GetSessionData); facebook_internal::_uid = _local2.uid; this._session_key = _local2.session_key; this._expires = _local2.expires; this._secret = ((((_local2.secret == null)) || ((_local2.secret == "")))) ? this._secret : _local2.secret; _is_connected = true; dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true, _local2)); } else { onConnectionError(_arg1.error); }; } protected function tokenCreated():void{ navigateToURL(new URLRequest(login_url)); } override public function refreshSession():void{ var _local1:GetSession; _waiting_for_login = false; _local1 = new GetSession(_auth_token); _local1.session = this; var _local2 = _local1; _local2.facebook_internal::initialize(); _local1.addEventListener(FacebookEvent.COMPLETE, validateSessionReply); post(_local1); } protected function onLogin(_arg1:FacebookEvent):void{ var _local2:URLRequest; var _local3:String; _arg1.target.removeEventListener(FacebookEvent.COMPLETE, onLogin); if (_arg1.success){ _auth_token = (_arg1.data as StringResultData).value; _local2 = new URLRequest(); _local3 = "?"; if (_offline_access){ _local3 = (_local3 + "ext_perm=offline_access&"); }; _local2.url = (((((((login_url + _local3) + "api_key=") + api_key) + "&v=") + api_version) + "&auth_token=") + _auth_token); navigateToURL(_local2, "_blank"); _waiting_for_login = true; dispatchEvent(new FacebookEvent(FacebookEvent.WAITING_FOR_LOGIN)); } else { onConnectionError(_arg1.error); }; } override public function verifySession():void{ var _local1:FacebookCall; if (_session_key){ _local1 = new GetLoggedInUser(); _local1.session = this; var _local2 = _local1; _local2.facebook_internal::initialize(); _local1.addEventListener(FacebookEvent.COMPLETE, onVerifyLogin, false, 0, true); post(_local1); dispatchEvent(new FacebookEvent(FacebookEvent.VERIFYING_SESSION)); } else { _is_connected = false; dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT)); }; } override public function login(_arg1:Boolean):void{ var _local2:FacebookCall; _offline_access = _arg1; _session_key = null; _local2 = new CreateToken(); _local2.session = this; var _local3 = _local2; _local3.facebook_internal::initialize(); _local2.addEventListener(FacebookEvent.COMPLETE, onLogin); post(_local2); } protected function onConnectionError(_arg1:FacebookError):void{ _is_connected = false; dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false, null, _arg1)); } } }//package com.facebook.session
Section 144
//IFacebookSession (com.facebook.session.IFacebookSession) package com.facebook.session { import flash.events.*; import com.facebook.net.*; import com.facebook.delegates.*; public interface IFacebookSession extends IEventDispatcher { function get rest_url():String; function get waiting_for_login():Boolean; function get api_key():String; function get is_connected():Boolean; function get uid():String; function set rest_url(_arg1:String):void; function verifySession():void; function set secret(_arg1:String):void; function post(_arg1:FacebookCall):IFacebookCallDelegate; function login(_arg1:Boolean):void; function set session_key(_arg1:String):void; function get secret():String; function get expires():Date; function get session_key():String; function get api_version():String; function refreshSession():void; } }//package com.facebook.session
Section 145
//JSSession (com.facebook.session.JSSession) package com.facebook.session { import flash.events.*; import com.facebook.net.*; import com.facebook.delegates.*; import com.facebook.events.*; import com.facebook.*; import com.facebook.commands.users.*; public class JSSession extends EventDispatcher implements IFacebookSession { public var _api_key:String; public var as_swf_name:String; protected var _session_key:String; public function JSSession(_arg1:String, _arg2:String){ this._api_key = _arg1; this.as_swf_name = _arg2; } public function get rest_url():String{ return (null); } public function set rest_url(_arg1:String):void{ } public function get waiting_for_login():Boolean{ return (true); } protected function onVerifyLogin(_arg1:FacebookEvent):void{ if (_arg1.success){ dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true)); } else { dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false)); }; } public function get is_sessionless():Boolean{ return (true); } public function post(_arg1:FacebookCall):IFacebookCallDelegate{ return (new JSDelegate(_arg1, this)); } public function get secret():String{ return (null); } public function get api_version():String{ return ("1.0"); } public function get is_connected():Boolean{ return (true); } public function get session_key():String{ return (_session_key); } public function get api_key():String{ return (_api_key); } public function get expires():Date{ return (null); } public function get uid():String{ return (null); } public function refreshSession():void{ } public function verifySession():void{ var _local1:FacebookCall; _local1 = new GetLoggedInUser(); _local1.addEventListener(FacebookEvent.COMPLETE, onVerifyLogin); _local1.session = this; var _local2 = _local1; _local2.facebook_internal::initialize(); post(_local1); } public function set secret(_arg1:String):void{ } public function login(_arg1:Boolean):void{ } public function set session_key(_arg1:String):void{ _session_key = _arg1; } } }//package com.facebook.session
Section 146
//WebSession (com.facebook.session.WebSession) package com.facebook.session { import flash.events.*; import com.facebook.net.*; import com.facebook.delegates.*; import com.facebook.events.*; import com.facebook.*; public class WebSession extends EventDispatcher implements IFacebookSession { protected var _api_key:String; protected var _api_version:String;// = "1.0" facebook_internal var _uid:String; protected var _is_connected:Boolean;// = false public var login_url:String;// = "http://www.facebook.com/login.php" protected var _secret:String; protected var _rest_url:String;// = "http://api.facebook.com/restserver.php" protected var _expires:Date; protected var _session_key:String; public static const VIDEO_URL:String = "http://api-video.facebook.com/restserver.php"; public static const REST_URL:String = "http://api.facebook.com/restserver.php"; public function WebSession(_arg1:String, _arg2:String, _arg3:String=null){ _api_version = "1.0"; _is_connected = false; _rest_url = REST_URL; login_url = "http://www.facebook.com/login.php"; super(); this._api_key = _arg1; this._session_key = _arg3; this.secret = _arg2; } public function get rest_url():String{ return (_rest_url); } public function set rest_url(_arg1:String):void{ _rest_url = _arg1; } public function get waiting_for_login():Boolean{ return (false); } public function post(_arg1:FacebookCall):IFacebookCallDelegate{ rest_url = REST_URL; if ((_arg1 is IUploadPhoto)){ return (new WebImageUploadDelegate(_arg1, this)); }; if ((_arg1 is IUploadVideo)){ rest_url = VIDEO_URL; return (new VideoUploadDelegate(_arg1, this)); }; return (new WebDelegate(_arg1, this)); } public function get secret():String{ return (_secret); } public function get api_version():String{ return (this._api_version); } public function get is_connected():Boolean{ return (_is_connected); } public function get session_key():String{ return (_session_key); } public function get api_key():String{ return (_api_key); } public function get expires():Date{ return (_expires); } public function get uid():String{ return (facebook_internal::_uid); } public function refreshSession():void{ } public function verifySession():void{ if (_session_key){ _is_connected = true; dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true)); } else { _is_connected = false; dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false)); }; } public function set secret(_arg1:String):void{ _secret = _arg1; } public function set api_version(_arg1:String):void{ this._api_version = _arg1; } public function login(_arg1:Boolean):void{ } public function set session_key(_arg1:String):void{ _session_key = _arg1; } } }//package com.facebook.session
Section 147
//FacebookArrayCollection (com.facebook.utils.FacebookArrayCollection) package com.facebook.utils { import flash.events.*; import flash.utils.*; public class FacebookArrayCollection extends EventDispatcher { protected var _source:Array; protected var _type:Class; protected var hash:Dictionary; public function FacebookArrayCollection(_arg1:Array=null, _arg2:Class=null){ reset(); _type = _arg2; initilizeSource(_arg1); } public function indexOf(_arg1:Object):int{ return (_source.indexOf(_arg1)); } public function reset():void{ hash = new Dictionary(true); _source = []; } public function findItemByProperty(_arg1:String, _arg2:Object, _arg3:Boolean=false):Object{ var _local4:Object; for (_local4 in hash) { if (((((_arg3) && ((_arg1 in _local4)))) && ((_local4[_arg1] === _arg2)))){ return (_local4); }; if (((((!(_arg3)) && ((_arg1 in _local4)))) && ((_local4[_arg1] == _arg2)))){ return (_local4); }; }; return (null); } public function get source():Array{ return (_source); } public function toArray():Array{ var _local1:Array; var _local2:uint; var _local3:uint; _local1 = []; _local2 = length; _local3 = 0; while (_local3 < _local2) { _local1.push(getItemAt(_local3)); _local3++; }; return (_local1); } public function contains(_arg1:Object):Boolean{ return ((hash[_arg1] === true)); } protected function verifyIndex(_arg1:uint):void{ if (_source.length < _arg1){ throw (new RangeError((("Index: " + _arg1) + ", is out of range."))); }; } public function removeItemAt(_arg1:uint):void{ var _local2:Object; verifyIndex(_arg1); _local2 = _source[_arg1]; delete hash[_local2]; _source.splice(_arg1, 1); } public function addItem(_arg1:Object):void{ addItemAt(_arg1, length); } public function get length():int{ return (_source.length); } public function addItemAt(_arg1:Object, _arg2:uint):void{ if (hash[_arg1] != null){ throw (new Error("Item already exists.")); }; if (((!((_type === null))) && (!((_arg1 is _type))))){ throw (new TypeError((("This collection requires " + _type) + " as the type."))); }; hash[_arg1] = true; _source.splice(_arg2, 0, _arg1); } public function getItemAt(_arg1:uint):Object{ verifyIndex(_arg1); return (_source[_arg1]); } override public function toString():String{ return (_source.join(", ")); } public function get type():Class{ return (_type); } protected function initilizeSource(_arg1:Array):void{ var _local2:uint; var _local3:uint; _source = []; if (_arg1 == null){ return; }; _local2 = _arg1.length; _local3 = 0; while (_local3 < _local2) { addItem(_arg1[_local3]); _local3++; }; } } }//package com.facebook.utils
Section 148
//FacebookDataUtils (com.facebook.utils.FacebookDataUtils) package com.facebook.utils { import com.adobe.serialization.json.*; public class FacebookDataUtils { public static function toJSONValuesArray(_arg1:Array):String{ var _local2:Array; var _local3:Number; var _local4:Number; if (_arg1 == null){ return (null); }; _local2 = []; _local3 = _arg1.length; _local4 = 0; while (_local4 < _local3) { _local2.push(JSON.encode(_arg1[_local4])); _local4++; }; return (_local2.join(",")); } public static function formatDate(_arg1:String):Date{ var _local2:Date; var _local3:Array; var _local4:Array; var _local5:Array; if ((((_arg1 == "")) || ((_arg1 == null)))){ return (null); }; _local2 = new Date(); _local3 = _arg1.split(" "); if (_local3.length == 2){ _local4 = _local3[0].split("-"); _local5 = _local3[1].split(":"); _local2.setFullYear(_local4[0]); _local2.setMonth((_local4[1] - 1)); _local2.setDate(_local4[2]); _local2.setHours(_local5[0]); _local2.setMinutes(_local5[1]); _local2.setSeconds(_local5[2]); } else { _local2.setTime((parseInt(_arg1) * 1000)); }; return (_local2); } public static function facebookCollectionToJSONArray(_arg1:FacebookArrayCollection):String{ if (_arg1 == null){ return (null); }; return (JSON.encode(_arg1.toArray())); } public static function toDateString(_arg1:Date):String{ if (_arg1 == null){ return (null); }; _arg1.setDate((_arg1.date + 1)); return (((_arg1 == null)) ? null : _arg1.getTime().toString().slice(0, 10)); } public static function supplantString(_arg1:String, _arg2:Object):String{ var _local3:String; var _local4:String; _local3 = _arg1; for (_local4 in _arg2) { _local3 = _local3.replace(new RegExp((("\\{" + _local4) + "\\}"), "g"), _arg2[_local4]); }; return (_local3); } public static function toArrayString(_arg1:Array):String{ return (((_arg1 == null)) ? null : _arg1.join(",")); } } }//package com.facebook.utils
Section 149
//FacebookSessionUtil (com.facebook.utils.FacebookSessionUtil) package com.facebook.utils { import flash.display.*; import flash.events.*; import flash.net.*; import com.facebook.session.*; import com.facebook.events.*; import com.facebook.*; import flash.system.*; public class FacebookSessionUtil extends EventDispatcher { public var facebook:Facebook; protected var loaderInfo:LoaderInfo; protected var secret:String; protected var _activeSession:IFacebookSession; protected var session_key:String; protected var api_key:String; public function FacebookSessionUtil(_arg1:String, _arg2:String, _arg3:LoaderInfo){ var _local4:SharedObject; var _local5:Object; super(); this.secret = ((_arg2 == null)) ? _arg3.parameters.fb_sig_ss : _arg2; this.api_key = _arg1; this.loaderInfo = _arg3; _local4 = getStoredSession(); if (_local4.data.session_key){ session_key = _local4.data.session_key; }; _local5 = ((_arg3)!=null) ? _arg3.parameters : {}; if (_local5.fb_sig_session_key != null){ session_key = _local5.fb_sig_session_key; }; if ((((_arg3.url.slice(0, 5) == "file:")) || ((Capabilities.playerType == "Desktop")))){ _activeSession = new DesktopSession(_arg1, this.secret); } else { if (((((_local5.fb_sig_ss) && (_local5.fb_sig_api_key))) && (_local5.fb_sig_session_key))){ _activeSession = new WebSession(_local5.fb_sig_api_key, _local5.fb_sig_ss, _local5.fb_sig_session_key); (_activeSession as WebSession).facebook_internal::_uid = _local5.fb_sig_user; } else { if (_local5.as_app_name){ _activeSession = new JSSession(_arg1, _local5.as_app_name); } else { _activeSession = new DesktopSession(_arg1, _arg2); }; }; }; _activeSession.session_key = session_key; _activeSession.addEventListener(FacebookEvent.VERIFYING_SESSION, onVerifyingSession); facebook = new Facebook(); facebook.addEventListener(FacebookEvent.WAITING_FOR_LOGIN, handleWaitingForLogin); facebook.addEventListener(FacebookEvent.CONNECT, onFacebookReady); facebook.startSession(_activeSession); } protected function handleWaitingForLogin(_arg1:FacebookEvent):void{ dispatchEvent(_arg1); } public function onVerifyingSession(_arg1:FacebookEvent):void{ dispatchEvent(_arg1); } protected function onVerifyLogin(_arg1:FacebookEvent):void{ _activeSession.removeEventListener(FacebookEvent.CONNECT, onVerifyLogin); if (_arg1.success){ onFacebookReady(null); dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true)); } else { dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, false)); }; } public function logout():void{ getStoredSession().clear(); getStoredSession().flush(); facebook.logout(); } public function verifySession():void{ _activeSession.verifySession(); } protected function onFacebookReady(_arg1:FacebookEvent):void{ var _local2:SharedObject; if (facebook.session_key){ _local2 = getStoredSession(); _local2.data.session_key = facebook.session_key; _local2.data.stored_secret = facebook.secret; _local2.flush(3000); }; if (_arg1){ dispatchEvent(_arg1); }; } public function login(_arg1:Boolean=true):void{ facebook.login(_arg1); } protected function onWaitingForLogin(_arg1:FacebookEvent):void{ dispatchEvent(_arg1); } public function get activeSession():IFacebookSession{ return (_activeSession); } public function validateLogin():void{ facebook.refreshSession(); } protected function getStoredSession():SharedObject{ return (SharedObject.getLocal((api_key + "_stored_session"))); } } }//package com.facebook.utils
Section 150
//FacebookStreamXMLParser (com.facebook.utils.FacebookStreamXMLParser) package com.facebook.utils { import com.facebook.data.stream.*; public class FacebookStreamXMLParser { public static function createCommentsArray(_arg1:XMLList, _arg2:Namespace):Array{ var _local3:Array; var _local4:uint; var _local5:uint; var _local6:XML; var _local7:PostCommentData; _local3 = []; _local4 = _arg1.length(); _local5 = 0; while (_local5 < _local4) { _local6 = _arg1[_local5]; _local7 = new PostCommentData(); _local7.fromid = FacebookXMLParserUtils.toStringValue(_local6._arg2::fromid[0]); _local7.id = FacebookXMLParserUtils.toStringValue(_local6._arg2::id[0]); _local7.text = FacebookXMLParserUtils.toStringValue(_local6._arg2::text[0]); _local7.time = FacebookXMLParserUtils.toDate(_local6._arg2::time[0]); _local3.push(_local7); _local5++; }; return (_local3); } protected static function createMediaArray(_arg1:XML, _arg2:Namespace):Array{ var _local3:Array; var _local4:XMLList; var _local5:uint; var _local6:uint; var _local7:XML; var _local8:StreamMediaData; if (_arg1 == null){ return (null); }; _local3 = []; _local4 = _arg1.children(); _local5 = _local4.length(); _local6 = 0; while (_local6 < _local5) { _local7 = _local4[_local6]; _local8 = new StreamMediaData(); _local8.type = FacebookXMLParserUtils.toStringValue(_local7._arg2::type[0]); _local8.alt = FacebookXMLParserUtils.toStringValue(_local7._arg2::alt[0]); _local8.href = FacebookXMLParserUtils.toStringValue(_local7._arg2::href[0]); _local8.src = FacebookXMLParserUtils.toStringValue(_local7._arg2::src[0]); _local8.video = createVideoMedia(_local7._arg2::video[0], _arg2); _local8.photo = createPhotoMedia(_local7._arg2::photo[0], _arg2); _local8.flash = createFlashMedia(_local7._arg2::swf[0], _arg2); _local8.music = createMusicMedia(_local7._arg2::music[0], _arg2); _local3.push(_local8); _local6++; }; return (_local3); } public static function createStreamFilterCollection(_arg1:XML, _arg2:Namespace):GetFiltersData{ var _local3:GetFiltersData; var _local4:StreamFilterCollection; var _local5:XMLList; var _local6:uint; var _local7:uint; var _local8:XML; var _local9:StreamFilterData; _local3 = new GetFiltersData(); _local4 = new StreamFilterCollection(); _local5 = _arg1.._arg2::stream_filter; _local6 = _local5.length(); _local7 = 0; while (_local7 < _local6) { _local8 = _local5[_local7]; _local9 = new StreamFilterData(); _local9.filter_key = FacebookXMLParserUtils.toStringValue(_local8._arg2::filter_key[0]); _local9.icon_url = FacebookXMLParserUtils.toStringValue(_local8._arg2::icon_url[0]); _local9.is_visible = FacebookXMLParserUtils.toBoolean(_local8._arg2::is_visible[0]); _local9.name = FacebookXMLParserUtils.toStringValue(_local8._arg2::name[0]); _local9.rank = FacebookXMLParserUtils.toNumber(_local8._arg2::rank[0]); _local9.type = FacebookXMLParserUtils.toStringValue(_local8._arg2::type[0]); _local9.uid = FacebookXMLParserUtils.toStringValue(_local8._arg2::uid[0]); _local9.value = FacebookXMLParserUtils.toStringValue(_local8._arg2::value[0]); _local4.addItem(_local9); _local7++; }; _local3.filters = _local4; return (_local3); } protected static function createVideoMedia(_arg1:XML, _arg2:Namespace):VideoMedia{ var _local3:VideoMedia; if (_arg1 == null){ return (null); }; _local3 = new VideoMedia(); _local3.display_url = FacebookXMLParserUtils.toStringValue(_arg1._arg2::display_url[0]); _local3.owner = FacebookXMLParserUtils.toStringValue(_arg1._arg2::owner[0]); _local3.permalink = FacebookXMLParserUtils.toStringValue(_arg1._arg2::permalink[0]); _local3.source_url = FacebookXMLParserUtils.toStringValue(_arg1._arg2::source_url[0]); _local3.preview_img = FacebookXMLParserUtils.toStringValue(_arg1._arg2::preview_img[0]); return (_local3); } protected static function createFlashMedia(_arg1:XML, _arg2:Namespace):FlashMedia{ var _local3:FlashMedia; if (_arg1 == null){ return (null); }; _local3 = new FlashMedia(); _local3.source_url = FacebookXMLParserUtils.toStringValue(_arg1._arg2::source_url[0]); _local3.preview_img = FacebookXMLParserUtils.toStringValue(_arg1._arg2::preview_img[0]); return (_local3); } public static function createGetCommentsData(_arg1:XML, _arg2:Namespace):GetCommentsData{ var _local3:XMLList; var _local4:GetCommentsData; _local3 = _arg1.._arg2::comment; _local4 = new GetCommentsData(); _local4.comments = createCommentsArray(_local3, _arg2); return (_local4); } protected static function createActionLinksArray(_arg1:XML, _arg2:Namespace):Array{ var _local3:Array; var _local4:XMLList; var _local5:uint; var _local6:uint; var _local7:XML; var _local8:ActionLinkData; if (_arg1 == null){ return (null); }; _local3 = []; _local4 = _arg1.children(); _local5 = _local4.length(); _local6 = 0; while (_local6 < _local5) { _local7 = _local4[_local6]; _local8 = new ActionLinkData(); _local8.text = FacebookXMLParserUtils.toStringValue(_local7._arg2::text[0]); _local8.href = FacebookXMLParserUtils.toStringValue(_local7._arg2::href[0]); _local3.push(_local8); _local6++; }; return (_local3); } protected static function createMusicMedia(_arg1:XML, _arg2:Namespace):MusicMedia{ var _local3:MusicMedia; if (_arg1 == null){ return (null); }; _local3 = new MusicMedia(); _local3.source_url = FacebookXMLParserUtils.toStringValue(_arg1._arg2::source_url[0]); _local3.artist = FacebookXMLParserUtils.toStringValue(_arg1._arg2::artist[0]); _local3.title = FacebookXMLParserUtils.toStringValue(_arg1._arg2::title[0]); return (_local3); } public static function createStream(_arg1:XML, _arg2:Namespace):GetStreamData{ var _local3:GetStreamData; var _local4:StreamStoryCollection; var _local5:ProfileCollection; var _local6:uint; var _local7:uint; var _local8:XMLList; var _local9:XMLList; var _local10:XML; var _local11:StreamStoryData; var _local12:XML; var _local13:AttachmentData; var _local14:LikesData; var _local15:XML; var _local16:XML; var _local17:ProfileData; var _local18:XML; _local3 = new GetStreamData(); _local4 = new StreamStoryCollection(); _local5 = new ProfileCollection(); _local3.stories = _local4; _local3.profiles = _local5; _local8 = _arg1._arg2::posts.children(); _local6 = _local8.length(); _local7 = 0; while (_local7 < _local6) { _local10 = _local8[_local7]; _local11 = new StreamStoryData(); _local11.sourceXML = _local10; _local12 = _local10._arg2::attachment[0]; _local13 = new AttachmentData(); _local13.name = FacebookXMLParserUtils.toStringValue(_local12._arg2::name[0]); _local13.text = FacebookXMLParserUtils.toStringValue(_local12._arg2::text[0]); _local13.body = FacebookXMLParserUtils.toStringValue(_local12._arg2::body[0]); _local13.icon = FacebookXMLParserUtils.toStringValue(_local12._arg2::icon[0]); _local13.label = FacebookXMLParserUtils.toStringValue(_local12._arg2::label[0]); _local13.media = createMediaArray(_local12._arg2::media[0], _arg2); _local13.title = FacebookXMLParserUtils.toStringValue(_local12._arg2::title[0]); _local13.href = FacebookXMLParserUtils.toStringValue(_local12._arg2::href[0]); _local13.caption = FacebookXMLParserUtils.toStringValue(_local12._arg2::caption[0]); _local13.description = FacebookXMLParserUtils.toStringValue(_local12._arg2::description[0]); _local13.properties = FacebookXMLParserUtils.xmlListToObjectArray(_local12.._arg2::stream_property); _local11.attachment = _local13; _local11.actor_id = FacebookXMLParserUtils.toStringValue(_local10._arg2::actor_id[0]); _local11.comments = createComments(_local10._arg2::comments[0], _arg2); _local14 = new LikesData(); _local15 = _local10._arg2::likes[0]; _local14.can_like = FacebookXMLParserUtils.toBoolean(_local15._arg2::can_like[0]); _local14.user_likes = FacebookXMLParserUtils.toBoolean(_local15._arg2::user_likes[0]); _local14.count = FacebookXMLParserUtils.toNumber(_local15._arg2::count[0]); _local14.friends = FacebookXMLParserUtils.toUIDArray(_local15._arg2::friends[0]); _local14.sample = FacebookXMLParserUtils.toUIDArray(_local15._arg2::sample[0]); _local14.href = FacebookXMLParserUtils.toStringValue(_local15._arg2::href[0]); _local11.likes = _local14; _local11.attribution = FacebookXMLParserUtils.toStringValue(_local10._arg2::attribution[0]); _local11.app_id = FacebookXMLParserUtils.toStringValue(_local10._arg2::app_id[0]); _local11.metadata = FacebookXMLParserUtils.nodeToObject(_local10._arg2::metadata); _local11.message = FacebookXMLParserUtils.toStringValue(_local10._arg2::message[0]); _local11.source_id = FacebookXMLParserUtils.toStringValue(_local10._arg2::source_id[0]); _local11.target_id = FacebookXMLParserUtils.toStringValue(_local10._arg2::target_id[0]); _local11.post_id = FacebookXMLParserUtils.toStringValue(_local10._arg2::post_id[0]); _local11.updated_time = FacebookXMLParserUtils.toDate(_local10._arg2::updated_time[0]); _local11.created_time = FacebookXMLParserUtils.toDate(_local10._arg2::created_time[0]); _local11.type = FacebookXMLParserUtils.toNumber(_local10._arg2::type[0]); _local11.viewer_id = FacebookXMLParserUtils.toStringValue(_local10._arg2::viewer_id[0]); _local16 = _local10._arg2::privacy[0]; _local11.privacy = FacebookXMLParserUtils.toStringValue(_local16._arg2::value[0]); _local11.filter_key = FacebookXMLParserUtils.toStringValue(_local10._arg2::filter_key[0]); _local11.permalink = FacebookXMLParserUtils.toStringValue(_local10._arg2::permalink[0]); _local11.is_hidden = FacebookXMLParserUtils.toBoolean(_local10._arg2::is_hidden[0]); _local11.action_links = createActionLinksArray(_local10._arg2::action_links[0], _arg2); _local4.addItem(_local11); _local7++; }; _local9 = _arg1._arg2::profiles.children(); _local6 = _local9.length(); _local7 = 0; while (_local7 < _local6) { _local17 = new ProfileData(); _local18 = _local9[_local7]; _local17.id = FacebookXMLParserUtils.toStringValue(_local18._arg2::id[0]); _local17.name = FacebookXMLParserUtils.toStringValue(_local18._arg2::name[0]); _local17.pic_square = FacebookXMLParserUtils.toStringValue(_local18._arg2::pic_square[0]); _local17.url = FacebookXMLParserUtils.toStringValue(_local18._arg2::url[0]); _local5.addItem(_local17); _local7++; }; _local3.albums = FacebookXMLParserUtils.createAlbumCollection(_arg1._arg2::albums[0], _arg2); return (_local3); } protected static function createPhotoMedia(_arg1:XML, _arg2:Namespace):PhotoMedia{ var _local3:PhotoMedia; if (_arg1 == null){ return (null); }; _local3 = new PhotoMedia(); _local3.aid = FacebookXMLParserUtils.toStringValue(_arg1._arg2::aid[0]); _local3.index = FacebookXMLParserUtils.toNumber(_arg1._arg2::index[0]); _local3.owner = FacebookXMLParserUtils.toStringValue(_arg1._arg2::owner[0]); _local3.pid = FacebookXMLParserUtils.toStringValue(_arg1._arg2::pid[0]); return (_local3); } protected static function createComments(_arg1:XML, _arg2:Namespace):CommentsData{ var _local3:CommentsData; var _local4:XMLList; _local3 = new CommentsData(); _local3.can_remove = FacebookXMLParserUtils.toBoolean(_arg1._arg2::can_remove[0]); _local3.can_post = FacebookXMLParserUtils.toBoolean(_arg1._arg2::can_post[0]); _local3.count = FacebookXMLParserUtils.toNumber(_arg1._arg2::count[0]); _local4 = _arg1._arg2::comment_list.children(); _local3.posts = createCommentsArray(_local4, _arg2); return (_local3); } } }//package com.facebook.utils
Section 151
//FacebookUserXMLParser (com.facebook.utils.FacebookUserXMLParser) package com.facebook.utils { import com.facebook.data.*; import com.facebook.data.users.*; public class FacebookUserXMLParser { protected static function parseWorkHistory(_arg1:XML, _arg2:Namespace):Array{ var _local3:Array; var _local4:XMLList; var _local5:Object; var _local6:FacebookWorkInfo; _local3 = []; _local4 = _arg1.children(); for each (_local5 in _local4) { _local6 = new FacebookWorkInfo(); _local6.location = FacebookXMLParserUtils.createLocation(_local5._arg2::location[0], _arg2); _local6.company_name = String(_local5._arg2::company_name); _local6.description = String(_local5._arg2::description); _local6.position = String(_local5._arg2::position); _local6.start_date = FacebookDataUtils.formatDate(_local5._arg2::start_date); _local6.end_date = FacebookDataUtils.formatDate(_local5._arg2::end_date); _local3.push(_local6); }; return (_local3); } protected static function createStatus(_arg1:XML, _arg2:Namespace):StatusData{ var _local3:StatusData; _local3 = new StatusData(); _local3.message = String(_arg1._arg2::message); _local3.time = FacebookDataUtils.formatDate(String(_arg1._arg2::time)); return (_local3); } protected static function parseEducationHistory(_arg1:XML, _arg2:Namespace):Array{ var _local3:Array; var _local4:XMLList; var _local5:Object; var _local6:FacebookEducationInfo; var _local7:XML; _local3 = []; _local4 = _arg1.children(); for each (_local5 in _local4) { _local6 = new FacebookEducationInfo(); _local6.name = String(_local5._arg2::name); _local6.year = String(_local5._arg2::year); _local6.degree = String(_local5._arg2::degree); _local6.concentrations = []; for each (_local7 in _local5.concentration) { _local6.concentrations.push(_local7); }; _local3.push(_local6); }; return (_local3); } public static function createFacebookUser(_arg1:XML, _arg2:Namespace):FacebookUser{ var _local3:FacebookUser; var _local4:XMLList; var _local5:uint; var _local6:XML; var _local7:String; var _local8:uint; _local3 = new FacebookUser(); _local4 = _arg1.children(); _local5 = _local4.length(); _local8 = 0; while (_local8 < _local5) { _local6 = _local4[_local8]; _local7 = _local6.localName().toString(); switch (_local7){ case "status": _local3[_local7] = createStatus(_local6, _arg2); break; case "affiliations": _local3[_local7] = createAffiliations(_local6.children(), _arg2); break; case "hometown_location": case "current_location": _local3[_local7] = FacebookXMLParserUtils.createLocation(_local6, _arg2); break; case "profile_update_time": _local3[_local7] = FacebookDataUtils.formatDate(_local6.toString()); break; case "hs_info": _local3.hs1_id = parseInt(_local6._arg2::hs1_id); _local3.hs1_name = String(_local6._arg2::hs1_name); _local3.hs2_id = parseInt(_local6._arg2::hs2_id); _local3.hs2_name = String(_local6._arg2::hs2_name); _local3.grad_year = String(_local6._arg2::grad_year); break; case "education_history": _local3[_local7] = parseEducationHistory(_local6, _arg2); break; case "work_history": _local3[_local7] = parseWorkHistory(_local6, _arg2); break; case "timezone": case "notes_count": case "wall_count": _local3[_local7] = Number(_local6.toString()); break; case "has_added_app": case "is_app_user": _local3[_local7] = FacebookXMLParserUtils.toBoolean(_local6); break; case "meeting_sex": case "meeting_for": case "email_hashes": _local3[_local7] = toArray(_local6, _arg2); break; default: if ((_local7 in _local3)){ _local3[_local7] = String(_local6); }; }; _local8++; }; return (_local3); } protected static function toArray(_arg1:XML, _arg2:Namespace):Array{ var _local3:Array; var _local4:XMLList; var _local5:uint; var _local6:uint; _local3 = []; _local4 = _arg1.children(); _local5 = _local4.length(); _local6 = 0; while (_local6 < _local5) { _local3.push(_local4[_local6].toString()); _local6++; }; return (_local3); } protected static function createAffiliations(_arg1:XMLList, _arg2:Namespace):Array{ var _local3:Array; var _local4:*; var _local5:FacebookNetwork; _local3 = []; for each (_local4 in _arg1) { _local5 = new FacebookNetwork(); _local5.nid = parseInt(_local4._arg2::nid); _local5.name = String(_local4._arg2::name); _local5.type = String(_local4._arg2::type); _local5.status = String(_local4._arg2::status); _local5.year = String(_local4._arg2::year); _local3.push(_local5); }; return (_local3); } } }//package com.facebook.utils
Section 152
//FacebookXMLParserUtils (com.facebook.utils.FacebookXMLParserUtils) package com.facebook.utils { import flash.net.*; import com.facebook.data.*; import com.facebook.data.photos.*; public class FacebookXMLParserUtils { public static function createAlbumCollection(_arg1:XML, _arg2:Namespace):AlbumCollection{ var _local3:AlbumCollection; var _local4:*; var _local5:AlbumData; _local3 = new AlbumCollection(); for each (_local4 in _arg1.._arg2::album) { _local5 = new AlbumData(); _local5.aid = FacebookXMLParserUtils.toStringValue(_local4._arg2::aid[0]); _local5.cover_pid = FacebookXMLParserUtils.toStringValue(_local4._arg2::cover_pid[0]); _local5.owner = _local4._arg2::owner; _local5.name = _local4._arg2::name; _local5.created = FacebookXMLParserUtils.toDate(_local4._arg2::created); _local5.modified = FacebookXMLParserUtils.toDate(_local4._arg2::modified); _local5.description = _local4._arg2::description; _local5.location = _local4._arg2::location; _local5.link = _local4._arg2::link; _local5.size = _local4._arg2::size; _local5.visible = _local4._arg2::visible; _local5.modified_major = FacebookXMLParserUtils.toDate(_local4._arg2::modified_major); _local5.edit_link = _local4._arg2::edit_link; _local5.type = _local4._arg2::type; _local3.addAlbum(_local5); }; return (_local3); } public static function toNumber(_arg1:XML):Number{ if (_arg1 == null){ return (NaN); }; return (Number(_arg1.toString())); } public static function toStringValue(_arg1:XML):String{ if (_arg1 == null){ return (null); }; return (_arg1.toString()); } public static function toDate(_arg1:String):Date{ var _local2:String; var _local3:Date; if (_arg1 == null){ return (null); }; _local2 = _arg1; while (_local2.length < 13) { _local2 = (_local2 + "0"); }; _local3 = new Date(Number(_local2)); return (_local3); } public static function xmlListToObjectArray(_arg1:XMLList):Array{ var _local2:Array; var _local3:uint; var _local4:uint; _local2 = []; if (_arg1 == null){ return (_local2); }; _local3 = _arg1.length(); _local4 = 0; while (_local4 < _local3) { _local2.push(xmlToObject(_arg1[_local4])); _local4++; }; return (_local2); } public static function toUIDArray(_arg1:XML):Array{ var _local2:Array; var _local3:XMLList; var _local4:uint; var _local5:uint; _local2 = []; if (_arg1 == null){ return (_local2); }; _local3 = _arg1.children(); _local4 = _local3.length(); _local5 = 0; while (_local5 < _local4) { _local2.push(toNumber(_local3[_local5])); _local5++; }; return (_local2); } public static function toBoolean(_arg1:XML):Boolean{ if (_arg1 == null){ return (false); }; return ((_arg1.toString() == "1")); } public static function createLocation(_arg1:XML, _arg2:Namespace):FacebookLocation{ var _local3:FacebookLocation; _local3 = new FacebookLocation(); if (_arg1 == null){ return (_local3); }; _local3.city = String(_arg1._arg2::city); _local3.state = String(_arg1._arg2::state); _local3.country = String(_arg1._arg2::country); _local3.zip = String(_arg1._arg2::zip); _local3.street = String(_arg1._arg2::street); return (_local3); } public static function xmlToObject(_arg1:XML):Object{ var _local2:Object; var _local3:XMLList; var _local4:uint; var _local5:uint; var _local6:XML; _local2 = {}; _local3 = _arg1.children(); _local4 = _local3.length(); _local5 = 0; while (_local5 < _local4) { _local6 = _local3[_local5]; _local2[_local6.localName()] = _local6.toString(); _local5++; }; return (_local2); } public static function xmlToUrlVariables(_arg1:XMLList):URLVariables{ var _local2:URLVariables; var _local3:XML; _local2 = new URLVariables(); for each (_local3 in _arg1) { _local2[_local3.key.valueOf()] = _local3.value.valueOf(); }; return (_local2); } public static function nodeToObject(_arg1:XMLList):Object{ var _local2:Object; var _local3:XML; _local2 = {}; for each (_local3 in _arg1) { _local2[_local3.key.valueOf()] = _local3.value.valueOf(); }; return (_local2); } public static function toArray(_arg1:XML):Array{ if (_arg1 == null){ return (null); }; return (_arg1.toString().split(",")); } } }//package com.facebook.utils
Section 153
//IFacebookResultParser (com.facebook.utils.IFacebookResultParser) package com.facebook.utils { import com.facebook.data.*; import com.facebook.errors.*; public interface IFacebookResultParser { function parse(_arg1:String, _arg2:String):FacebookData; function validateFacebookResponce(_arg1:String):FacebookError; } }//package com.facebook.utils
Section 154
//JavascriptRequestHelper (com.facebook.utils.JavascriptRequestHelper) package com.facebook.utils { import flash.utils.*; import flash.net.*; public class JavascriptRequestHelper { public static function objectToString(_arg1:Object):String{ var _local2:Array; var _local3:String; _local2 = []; for (_local3 in _arg1) { _local2.push((((_local3 + ": ") + quote(_arg1[_local3])) + "")); }; return ((("{" + _local2.join(", ")) + " }")); } public static function quote(_arg1:String):String{ var _local2:RegExp; _local2 = /[\\"\r\n]/g; return ((("\"" + _arg1.replace(_local2, _quote)) + "\"")); } public static function formatParams(_arg1:Array):String{ var _local2:Array; var _local3:uint; var _local4:uint; var _local5:Object; var _local6:String; _local2 = []; _local3 = _arg1.length; _local4 = 0; while (_local4 < _local3) { _local5 = _arg1[_local4]; _local6 = getQualifiedClassName(_local5); switch (_local6){ case "Array": _local5 = (("[" + _local5.join(", ")) + "]"); break; case "Object": _local5 = objectToString(_local5); break; case "String": default: _local5 = (("\"" + _local5) + "\""); break; }; _local2.push(_local5); _local4++; }; return (_local2.join(", ")); } protected static function _quote(_arg1:String, ... _args):String{ switch (_arg1){ case "\\": return ("\\\\"); case "\r": return ("\\r"); case "\n": return ("\\n"); case "\"": return ("\\\""); }; return (null); } public static function formatURLVariables(_arg1:URLVariables):String{ var _local2:Object; var _local3:Boolean; var _local4:Object; var _local5:String; _local2 = {method:true, sig:true, api_key:true, call_id:true}; _local3 = false; _local4 = {}; for (_local5 in _arg1) { if (_local2[_local5]){ } else { _local3 = true; _local4[_local5] = _arg1[_local5]; }; }; return ((_local3) ? objectToString(_local4) : "null"); } } }//package com.facebook.utils
Section 155
//PlayerUtils (com.facebook.utils.PlayerUtils) package com.facebook.utils { import flash.system.*; public class PlayerUtils { protected static var versionObj:Object; public static function get internalBuildNumber():Number{ return (parseVersionString().internalBuildNumber); } public static function get platform():String{ return (parseVersionString().platform); } public static function get buildNumber():Number{ return (parseVersionString().buildNumber); } public static function get minorVersion():Number{ return (parseVersionString().minorVersion); } public static function parseVersionString():Object{ var _local1:String; var _local2:Array; if (versionObj != null){ return (versionObj); }; _local1 = Capabilities.version; versionObj = {}; _local2 = _local1.split(" "); versionObj.platform = _local2[0]; _local2.shift(); _local2 = _local2[0].split(","); versionObj.majorVersion = Number(_local2[0]); versionObj.minorVersion = Number(_local2[1]); versionObj.buildNumber = Number(_local2[2]); versionObj.internalBuildNumber = Number(_local2[3]); return (versionObj); } public static function get majorVersion():Number{ return (parseVersionString().majorVersion); } } }//package com.facebook.utils
Section 156
//PostRequest (com.facebook.utils.PostRequest) package com.facebook.utils { import flash.utils.*; public class PostRequest { protected var postData:ByteArray; protected var _boundary:String;// = "-----" public function PostRequest(){ _boundary = "-----"; super(); createPostData(); } public function getPostData():ByteArray{ postData.position = 0; return (postData); } protected function writeDoubleDash():void{ postData.writeShort(0x2D2D); } public function writeFileData(_arg1:String, _arg2:ByteArray, _arg3:String):void{ var _local4:String; var _local5:Number; writeBoundary(); writeLineBreak(); _local4 = "Content-Disposition: form-data; filename=\""; _local5 = 0; while (_local5 < _local4.length) { postData.writeByte(_local4.charCodeAt(_local5)); _local5++; }; postData.writeUTFBytes(_arg1); writeQuotationMark(); writeLineBreak(); _local4 = _arg3; _local5 = 0; while (_local5 < _local4.length) { postData.writeByte(_local4.charCodeAt(_local5)); _local5++; }; writeLineBreak(); writeLineBreak(); _arg2.position = 0; postData.writeBytes(_arg2, 0, _arg2.length); writeLineBreak(); } public function createPostData():void{ postData = new ByteArray(); postData.endian = Endian.BIG_ENDIAN; } public function writePostData(_arg1:String, _arg2:String):void{ var _local3:String; var _local4:uint; var _local5:Number; writeBoundary(); writeLineBreak(); _local3 = (("Content-Disposition: form-data; name=\"" + _arg1) + "\""); _local4 = _local3.length; _local5 = 0; while (_local5 < _local4) { postData.writeByte(_local3.charCodeAt(_local5)); _local5++; }; writeLineBreak(); writeLineBreak(); postData.writeUTFBytes(_arg2); writeLineBreak(); } protected function writeBoundary():void{ var _local1:Number; writeDoubleDash(); _local1 = 0; while (_local1 < boundary.length) { postData.writeByte(boundary.charCodeAt(_local1)); _local1++; }; } protected function writeLineBreak():void{ postData.writeShort(3338); } public function get boundary():String{ return (_boundary); } public function close():void{ writeBoundary(); writeDoubleDash(); } protected function writeQuotationMark():void{ postData.writeByte(34); } public function set boundary(_arg1:String):void{ _boundary = _arg1; } } }//package com.facebook.utils
Section 157
//Facebook (com.facebook.Facebook) package com.facebook { import flash.events.*; import com.facebook.net.*; import flash.net.*; import com.facebook.delegates.*; import com.facebook.session.*; import com.facebook.events.*; import com.facebook.commands.auth.*; public class Facebook extends EventDispatcher { public var waiting_for_login:Boolean; public var connectionErrorMessage:String; protected var _currentSession:IFacebookSession; public function Facebook():void{ } public function get api_version():String{ return ((_currentSession) ? this._currentSession.api_version : null); } public function get expires():Date{ return ((_currentSession) ? this._currentSession.expires : new Date()); } public function get uid():String{ return ((_currentSession) ? this._currentSession.uid : null); } public function grantPermission(_arg1:Boolean):void{ var _local2:String; _local2 = ((("http://www.facebook.com/login.php?return_session=" + (_arg1) ? 1 : 0) + "&api_key=") + api_key); navigateToURL(new URLRequest(_local2), "_blank"); } public function refreshSession():void{ _currentSession.refreshSession(); } public function logout():void{ var _local1:ExpireSession; _local1 = new ExpireSession(); _local1.addEventListener(FacebookEvent.COMPLETE, onLoggedOut, false, 0, true); post(_local1); } public function startSession(_arg1:IFacebookSession):void{ _currentSession = _arg1; if (_currentSession.is_connected){ dispatchEvent(new FacebookEvent(FacebookEvent.CONNECT, false, false, true)); } else { _currentSession.addEventListener(FacebookEvent.CONNECT, onSessionConnected); _currentSession.addEventListener(FacebookEvent.WAITING_FOR_LOGIN, onWaitingForLogin); }; } protected function onLoggedOut(_arg1:FacebookEvent):void{ if (_arg1.success == true){ _currentSession.session_key = null; }; dispatchEvent(new FacebookEvent(FacebookEvent.LOGOUT, false, false, _arg1.success, _arg1.data, _arg1.error)); } public function post(_arg1:FacebookCall):FacebookCall{ var _local2:IFacebookCallDelegate; if (_currentSession){ _arg1.session = _currentSession; _arg1.initialize(); _local2 = _currentSession.post(_arg1); _arg1.delegate = _local2; } else { throw (new Error("Cannot post a call; no session has been set.")); }; return (_arg1); } protected function onSessionConnected(_arg1:FacebookEvent):void{ var _local2:IFacebookSession; _local2 = (_arg1.target as IFacebookSession); dispatchEvent(_arg1); } public function grantExtendedPermission(_arg1:String):void{ navigateToURL(new URLRequest(((((("http://www.facebook.com/authorize.php?api_key=" + api_key) + "&v=") + api_version) + "&ext_perm=") + _arg1)), "_blank"); } public function login(_arg1:Boolean):void{ _currentSession.login(_arg1); } protected function onWaitingForLogin(_arg1:FacebookEvent):void{ waiting_for_login = true; dispatchEvent(new FacebookEvent(FacebookEvent.WAITING_FOR_LOGIN)); } public function get secret():String{ return ((_currentSession) ? this._currentSession.secret : null); } public function get session_key():String{ return ((_currentSession) ? this._currentSession.session_key : null); } public function get api_key():String{ return ((_currentSession) ? this._currentSession.api_key : null); } public function get is_connected():Boolean{ return ((_currentSession) ? this._currentSession.is_connected : false); } } }//package com.facebook
Section 158
//facebook_internal (com.facebook.facebook_internal) package com.facebook { public namespace facebook_internal = "http://api.facebook.com/1.0/"; }//package com.facebook
Section 159
//AwardsService (com.spilgames.api.AwardsService) package com.spilgames.api { public class AwardsService { public static function submitAward(_arg1:String, _arg2:Function=null):int{ return (SpilGamesServices.getInstance().send("Awards", "submitAward", _arg2, {tag:_arg1, userName:User.getUserName(), userHash:User.getUserHash()})); } } }//package com.spilgames.api
Section 160
//ScoreService (com.spilgames.api.ScoreService) package com.spilgames.api { public class ScoreService { public static function submitScore(_arg1:int, _arg2:Function=null):int{ return (SpilGamesServices.getInstance().send("Score", "submitScore", _arg2, {score:_arg1, userName:User.getUserName(), userHash:User.getUserHash()})); } } }//package com.spilgames.api
Section 161
//SpilGamesServices (com.spilgames.api.SpilGamesServices) package com.spilgames.api { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class SpilGamesServices extends MovieClip { private const DEFAULT_CONNECTION_LOCATION:String = "http://www8.agame.com/games/flash/services/ServicesConnection.swf"; private var _alwaysInFront:Boolean;// = false private var _loader:Loader; private var _request:URLRequest; private var _connecting:Boolean;// = false private var _servicesConnection;// = null private var _connected:Boolean;// = false private var currentDelay:Number;// = 0 private var previousFrameTime:Number; private var _numConnectionLoadTries:uint;// = 0 public static const INVALID_ID:int = -1; public static const CONFIGURATION_FAILED:String = "configurationFailure"; private static const MAX_CONNECTION_LOAD_RETRIES:uint = 99; public static const INVALID_DOMAIN:String = "invalidDomain"; private static var _instance:SpilGamesServices = null; public function SpilGamesServices(_arg1:Private=null){ _servicesConnection = null; _connecting = false; _connected = false; _numConnectionLoadTries = 0; _alwaysInFront = false; currentDelay = 0; super(); if (!_arg1){ throw (new Error("Cannot instantiate this class, use SpilGamesServices.getInstance")); }; } public function get alwaysInFront():Boolean{ return (_alwaysInFront); } public function get version():String{ return ("1.1"); } private function handleRemovedFromStage(_arg1:Event):void{ trace("WARNING: please do not remove SpilGamesServices from the stage"); } private function handleIOError(_arg1:IOErrorEvent):void{ _numConnectionLoadTries++; if (_numConnectionLoadTries > MAX_CONNECTION_LOAD_RETRIES){ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connecting = false; trace("ERROR: SpilGamesServices failed to load the connection object"); if (hasEventListener(_arg1.type)){ dispatchEvent(_arg1); }; } else { trace(("WARN: SpilGamesServices failed to load the connection object, retry #" + _numConnectionLoadTries)); previousFrameTime = getTimer(); addEventListener(Event.ENTER_FRAME, updateConnectionRetry); }; } public function allowDomain(_arg1:String):void{ Security.allowDomain("*"); Security.allowInsecureDomain("*"); } private function updateConnectionRetry(_arg1:Event):void{ var _local2:Number; var _local3:Number; _local2 = getTimer(); _local3 = ((_local2 - previousFrameTime) / 1000); currentDelay = (currentDelay + _local3); if (currentDelay >= 2){ trace(("WARN: SpilGamesServices trying to reconnect after: " + currentDelay)); _loader.load(_request); removeEventListener(Event.ENTER_FRAME, updateConnectionRetry); currentDelay = 0; }; previousFrameTime = _local2; } public function getItemID():int{ if (_servicesConnection != null){ return (_servicesConnection.getItemID()); }; return (INVALID_ID); } public function bringToFront(_arg1:Event=null):void{ var e = _arg1; if (parent){ try { parent.setChildIndex(this, (parent.numChildren - 1)); } catch(e:Error) { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } private function handleLoadComplete(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _servicesConnection = LoaderInfo(_arg1.target).content; _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); addChild(_servicesConnection); } public function send(_arg1:String, _arg2:String, _arg3:Function, _arg4:Object=null):int{ if (isReady()){ return (_servicesConnection.send(_arg1, _arg2, _arg3, _arg4)); }; return (INVALID_ID); } public function getSiteID():int{ if (_servicesConnection != null){ return (_servicesConnection.getSiteID()); }; return (INVALID_ID); } public function isReady():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isReady()))); } public function isDomainAllowed():Boolean{ return (((!((_servicesConnection == null))) && (_servicesConnection.isDomainValid()))); } public function getChannelID():int{ if (_servicesConnection != null){ return (_servicesConnection.getChannelID()); }; return (INVALID_ID); } private function handleServicesReady(_arg1:Event):void{ _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); _connected = true; _connecting = false; dispatchEvent(new Event("servicesReady")); } private function handleServiceError(_arg1:Event):void{ var _local2:String; if (hasEventListener("serviceError")){ _local2 = ""; if ((_arg1 is ErrorEvent)){ _local2 = ErrorEvent(_arg1).text; } else { _local2 = _arg1.toString(); }; dispatchEvent(new ErrorEvent("serviceError", false, false, _local2)); }; } public function disconnect():void{ if (_servicesConnection){ _servicesConnection.removeEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.removeEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.removeEventListener("serviceError", handleServiceError); if (_connected){ _servicesConnection.disconnect(); }; removeChild(_servicesConnection); }; _servicesConnection = null; if (_loader){ try { _loader.close(); } catch(e:Error) { } finally { _loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, handleIOError); }; _loader = null; }; removeEventListener(Event.ENTER_FRAME, bringToFront); removeEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (parent){ parent.removeChild(this); }; _connected = (_connecting = false); } public function get connecting():Boolean{ return (_connecting); } private function handleServicesFailed(_arg1:ErrorEvent):void{ _servicesConnection.addEventListener(Event.COMPLETE, handleServicesReady); _servicesConnection.addEventListener(ErrorEvent.ERROR, handleServicesFailed); _servicesConnection.addEventListener("serviceError", handleServiceError); _connecting = false; if (hasEventListener("servicesFailed")){ dispatchEvent(new ErrorEvent("servicesFailed", false, false, _arg1.text)); }; } public function get connection(){ return (_servicesConnection); } public function isServiceAvailable(_arg1:String):Boolean{ return (((isReady()) && (_servicesConnection.isServiceAvailable(_arg1)))); } public function set alwaysInFront(_arg1:Boolean):void{ if (_alwaysInFront != _arg1){ _alwaysInFront = _arg1; if (_alwaysInFront){ addEventListener(Event.ENTER_FRAME, bringToFront); } else { removeEventListener(Event.ENTER_FRAME, bringToFront); }; }; } public function connect(_arg1:DisplayObjectContainer, ... _args):void{ var _local3:String; var _local4:URLVariables; var _local5:Date; if (((!(_connecting)) && (!(_connected)))){ if (!_arg1.stage){ throw (new Error("The given clip must be present in the display list (added to stage)")); }; _connecting = true; _arg1.stage.addChild(this); addEventListener(Event.REMOVED_FROM_STAGE, handleRemovedFromStage); if (((root.loaderInfo.parameters["servicesLoc"]) && ((root.loaderInfo.parameters["servicesLoc"].length > 0)))){ _local3 = root.loaderInfo.parameters["servicesLoc"]; _request = new URLRequest(_local3); } else { _local3 = DEFAULT_CONNECTION_LOCATION; _local4 = new URLVariables(); _local5 = new Date(); _local4.nocache = ((((_local5.fullYear * 12) + (_local5.month + 1)) * 31) + _local5.day); _request = new URLRequest(_local3); _request.data = _local4; }; allowDomain(_local3); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); _loader.load(_request); }; } public static function getInstance():SpilGamesServices{ if (!_instance){ _instance = new SpilGamesServices(new Private()); }; return (_instance); } } }//package com.spilgames.api class Private { private function Private(){ } }
Section 162
//User (com.spilgames.api.User) package com.spilgames.api { import flash.display.*; public class User { public static function getUserName():String{ var _local1:*; _local1 = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserName()); }; return (""); } public static function isGuest():Boolean{ var _local1:*; var _local2:DisplayObject; var _local3:Object; _local1 = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.isGuest()); }; _local2 = SpilGamesServices.getInstance().root; if (_local2.loaderInfo != null){ _local3 = _local2.loaderInfo.parameters; return (((((((!(_local3.username)) || ((_local3.username == "")))) || (!(_local3.hash)))) || ((_local3.hash == "")))); }; return (false); } public static function getUserHash():String{ var _local1:*; _local1 = SpilGamesServices.getInstance().connection; if (_local1 != null){ return (_local1.getUserHash()); }; return (""); } } }//package com.spilgames.api
Section 163
//flag_icon_94 (MagneticDrawFlash_fla.flag_icon_94) package MagneticDrawFlash_fla { import flash.display.*; public dynamic class flag_icon_94 extends MovieClip { public function flag_icon_94(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package MagneticDrawFlash_fla
Section 164
//l_br_96 (MagneticDrawFlash_fla.l_br_96) package MagneticDrawFlash_fla { import flash.display.*; import flash.text.*; public dynamic class l_br_96 extends MovieClip { public var text:TextField; public var flag:MovieClip; } }//package MagneticDrawFlash_fla
Section 165
//Brand (spill.localisation.Brand) package spill.localisation { import flash.xml.*; public class Brand { public var domain:String; public var useGoogleAnalitics:Boolean;// = true public var emailPage:String; public var name:String; public var site_id:uint; public var isExternal:Boolean;// = false public var id:Number; public var hostingDomain:String;// = "" public var preferedLanguage:String;// = "" public var moreLink:String;// = "" public var hasSendToFriendLink:Boolean;// = true public var portalGroup:uint; public var emailLink:String;// = "game" private static const topLevelDoubles:String = ((((((((((((((("ac.cn,ac.jp,ac.uk,ad.jp,adm.br,adv.br,agr.br," + "ah.cn,am.br,arq.br,art.br,asn.au,ato.br,av.tr,bel.tr,bio.br,biz.tr,bj.cn,bmd.br,") + "cim.br,cng.br,cnt.br,co.at,co.jp,co.uk,com.au,com.br,com.cn,com.eg,com.hk,com.mx,") + "com.ru,com.tr,com.tw,conf.au,cq.cn,csiro.au,dr.tr,ecn.br,edu.au,edu.br,edu.tr,") + "emu.id.au,eng.br,esp.br,etc.br,eti.br,eun.eg,far.br,fj.cn,fm.br,fnd.br,fot.br,") + "fst.br,g12.br,gb.com,gb.net,gd.cn,gen.tr,ggf.br,gob.mx,gov.au,gov.br,gov.cn,") + "gov.hk,gov.tr,gr.jp,gs.cn,gx.cn,gz.cn,ha.cn,hb.cn,he.cn,hi.cn,hk.cn,hl.cn,hn.cn,") + "id.au,idv.tw,imb.br,ind.br,inf.br,info.au,info.tr,jl.cn,jor.br,js.cn,jx.cn,k12.tr,") + "lel.br,ln.cn,ltd.uk,mat.br,me.uk,med.br,mil.br,mil.tr,mo.cn,mus.br,name.tr,ne.jp,") + "net.au,net.br,net.cn,net.eg,net.hk,net.lu,net.mx,net.ru,net.tr,net.tw,net.uk,") + "nm.cn,no.com,nom.br,not.br,ntr.br,nx.cn,odo.br,oop.br,or.at,or.jp,org.au,org.br,") + "org.cn,org.hk,org.lu,org.ru,org.tr,org.tw,org.uk,plc.uk,pol.tr,pp.ru,ppg.br,pro.br,") + "psc.br,psi.br,qh.cn,qsl.br,rec.br,sc.cn,sd.cn,se.com,se.net,sh.cn,slg.br,sn.cn,") + "srv.br,sx.cn,tel.tr,tj.cn,tmp.br,trd.br,tur.br,tv.br,tw.cn,uk.com,uk.net,vet.br,") + "wattle.id.au,web.tr,xj.cn,xz.cn,yn.cn,zj.cn,zlg.br,co.nr,co.nz,com.fr,com.ph,com.ar,") + "com.id,com.in"); public function Brand(){ moreLink = ""; emailLink = "game"; useGoogleAnalitics = true; hasSendToFriendLink = true; preferedLanguage = ""; isExternal = false; hostingDomain = ""; super(); } public function exportXML():XML{ var _local1:XML; var _local2:XML; var _local3:XML; _local1 = <portal/> ; _local1.@id = site_id; _local1.@language = preferedLanguage; _local1.@channel = portalGroup; _local2 = <domain/> ; _local2.appendChild(new XMLNode(3, domain)); _local1.appendChild(_local2); if (moreLink){ _local3 = <more_games_path/> ; _local3.appendChild(new XMLNode(3, moreLink)); _local1.appendChild(_local3); }; _local2 = <game_path/> ; _local2.appendChild(new XMLNode(3, emailLink)); _local1.appendChild(_local2); if (!useGoogleAnalitics){ _local1.attributes.noGoogleAnalitics = true; }; if (!hasSendToFriendLink){ _local1.attributes.noSendToFriendLink = true; }; return (_local1); } private function get utm_source():String{ return (("utm_source=brandedgames_" + (isExternal) ? "external" : "internal")); } public function getMoreGamesLink(_arg1:String, _arg2:Boolean, _arg3:String="", _arg4:String=""):String{ var _local5:String; _local5 = ("http://" + domain); _local5 = (_local5 + ("/" + moreLink)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg2) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg3 = stripSubDomain(_arg3); if (_arg3 == "localhost"){ _arg3 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg3)); if (((!((_arg4 == ""))) && (!((_arg4 == null))))){ _local5 = (_local5 + ("&utm_content=" + _arg4)); }; }; return (_local5); } private function get utm_campaign():String{ if (isExternal){ return (("utm_campaign=" + hostingDomain)); }; return (""); } public function get backgroundColor():uint{ return (PortalGroup.backgroundColors[portalGroup]); } public function getPromotionLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String="", _arg5:String=""):String{ var _local6:String; _local6 = ("http://" + domain); _local6 = (_local6 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local6 = (_local6 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local6 = (_local6 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); trace(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local6 = (_local6 + ("&utm_source=" + _arg4)); if (((!((_arg5 == ""))) && (!((_arg5 == null))))){ _local6 = (_local6 + ("&utm_content=" + _arg5)); }; }; return (_local6); } private function get utm_term():String{ return ("utm_term="); } public function importXML(_arg1:XMLNode):void{ } public function getSendToFriendLink(_arg1:String, _arg2:String, _arg3:Boolean, _arg4:String=""):String{ var _local5:String; if (!hasSendToFriendLink){ return (getMoreGamesLink(_arg1, _arg3)); }; _local5 = ("http://" + domain); _local5 = (_local5 + ((("/" + emailLink) + "/") + _arg2)); if (useGoogleAnalitics){ _local5 = (_local5 + ("?utm_medium=brandedgames_" + (_arg3) ? "external" : "internal")); _local5 = (_local5 + ("&utm_campaign=" + _arg1)); _arg4 = stripSubDomain(_arg4); if (_arg4 == "localhost"){ _arg4 = "offline_play"; }; _local5 = (_local5 + ("&utm_source=" + _arg4)); _local5 = (_local5 + "&utm_content=send_to_friend"); }; return (_local5); } public static function stripSubDomain(_arg1:String):String{ var _local2:Array; if (!_arg1){ return (""); }; _local2 = _arg1.split("."); if (_local2.length <= 2){ return (_arg1); }; _local2 = _local2.reverse(); if (topLevelDoubles.indexOf((((_local2[1] + ".") + _local2[0]) + ",")) > 0){ return (((((_local2[2] + ".") + _local2[1]) + ".") + _local2[0])); }; return (((_local2[1] + ".") + _local2[0])); } } }//package spill.localisation
Section 166
//BrandingLogo (spill.localisation.BrandingLogo) package spill.localisation { import flash.display.*; import flash.events.*; public class BrandingLogo extends MovieClip { public function BrandingLogo(){ addFrameScript(0, frame1); super(); stop(); mouseEnabled = false; mouseChildren = false; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); if (stage){ added(); }; brandingChanged(); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("brandingChanged", brandingChanged, false, 0, true); brandingChanged(); } private function brandingChanged(_arg1:Event=null):void{ if (SpilGame.currentBranding){ gotoAndStop(SpilGame.currentBranding.domain); }; } function frame1(){ stop(); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("brandingChanged", brandingChanged); } } }//package spill.localisation
Section 167
//Brandings (spill.localisation.Brandings) package spill.localisation { public class Brandings { private static var brands_by_id:Object = new Object(); private static var brands_by_domain:Object = new Object(); public static function getBrandByID(_arg1:Number):Brand{ return (brands_by_id[_arg1]); } public static function getBrandsArray():Array{ var _local1:Array; var _local2:Brand; _local1 = new Array(); for each (_local2 in brands_by_domain) { _local1.push(_local2); }; return (_local1); } private static function addBrand(_arg1:Brand):Brand{ if (brands_by_domain[_arg1.domain]){ trace(("ERROR: Attempting to add duplicate brand by domain: " + _arg1.domain)); } else { brands_by_domain[_arg1.domain] = _arg1; }; if (brands_by_id[_arg1.site_id]){ trace(("ERROR: Attempting to add duplicate brand by id: " + _arg1.site_id)); } else { brands_by_id[_arg1.site_id] = _arg1; }; return (_arg1); } public static function initialize():void{ var _local1:Brand; _local1 = new Brand(); _local1.site_id = 79; _local1.domain = "www.agame.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 88; _local1.domain = "www.gamesgames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 90; _local1.domain = "www.girlsgogames.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 45; _local1.domain = "www.a10.com"; _local1.preferedLanguage = "en_us"; _local1.portalGroup = PortalGroup.YOUNG_ADULTS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 92; _local1.domain = "www.games.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 107; _local1.domain = "www.agame.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.TEENS; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 102; _local1.domain = "www.girlsgogames.co.uk"; _local1.preferedLanguage = "en_uk"; _local1.portalGroup = PortalGroup.GIRL; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 2; _local1.domain = "www.game.com.cn"; _local1.moreLink = "moregames/"; _local1.preferedLanguage = "cn"; _local1.portalGroup = PortalGroup.NONE; _local1.useGoogleAnalitics = false; _local1.hasSendToFriendLink = false; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 25; _local1.domain = "www.spel.nl"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 1; _local1.domain = "www.spelletjes.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 93; _local1.domain = "www.girlsgogames.nl"; _local1.emailLink = "spel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 12; _local1.domain = "www.jeu.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 95; _local1.domain = "www.girlsgogames.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 11; _local1.domain = "www.jeux.fr"; _local1.emailLink = "jeu"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "fr"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 26; _local1.domain = "www.spielen.com"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 94; _local1.domain = "www.girlsgogames.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 5; _local1.domain = "www.jetztspielen.de"; _local1.emailLink = "spiel"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "de"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 109; _local1.domain = "www.minigry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 16; _local1.domain = "www.gry.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 98; _local1.domain = "www.girlsgogames.pl"; _local1.emailLink = "gra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "pl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 108; _local1.domain = "www.spel.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 100; _local1.domain = "www.girlsgogames.se"; _local1.emailLink = "spel_"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "se"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 44; _local1.domain = "www.spela.se"; _local1.emailLink = "spel_"; _local1.preferedLanguage = "se"; _local1.portalGroup = PortalGroup.FAMILY; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 106; _local1.domain = "www.giocaregratis.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 15; _local1.domain = "www.gioco.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 99; _local1.domain = "www.girlsgogames.it"; _local1.emailLink = "gioco"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "it"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 97; _local1.domain = "www.zapjuegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 86; _local1.domain = "www.juegos.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 96; _local1.domain = "www.juegosdechicas.com"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 122; _local1.domain = "www.girlsgogames.es"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 125; _local1.domain = "www.juegos.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 126; _local1.domain = "www.juegosdechicas.mx"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 127; _local1.domain = "www.juegos.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 128; _local1.domain = "www.juegosdechicas.com.ar"; _local1.emailLink = "juego"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "es"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 91; _local1.domain = "www.clickjogos.com"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 101; _local1.domain = "www.girlsgogames.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 50; _local1.domain = "www.ojogos.com.br"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "br"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 55; _local1.domain = "www.games.co.id"; _local1.emailLink = "permainanme"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "id"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 105; _local1.domain = "www.flashgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 104; _local1.domain = "www.girlsgogames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.GIRL; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 103; _local1.domain = "www.ourgames.ru"; _local1.emailLink = "igra"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "ru"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 24; _local1.domain = "www.game.co.in"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "in"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 87; _local1.domain = "www.ojogos.pt"; _local1.emailLink = "jogo"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "pt"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 120; _local1.domain = "www.egames.jp"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.TEENS; _local1.preferedLanguage = "jp"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 121; _local1.domain = "www.dailygame.com"; _local1.emailLink = "/game/"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 123; _local1.domain = "www.zapapa.com"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.ZAPAPA; _local1.preferedLanguage = "en_us"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 124; _local1.domain = "www.zapapa.nl"; _local1.emailLink = "game"; _local1.portalGroup = PortalGroup.HYVES; _local1.preferedLanguage = "nl"; addBrand(_local1); _local1 = new Brand(); _local1.site_id = 0; _local1.domain = "gamedev.dev.spilgames.com"; _local1.portalGroup = PortalGroup.FAMILY; _local1.preferedLanguage = "en_us"; addBrand(_local1); } public static function exportXML():XML{ var _local1:XML; var _local2:Brand; _local1 = <portals/> ; for each (_local2 in brands_by_domain) { _local1.appendChild(_local2.exportXML()); }; return (_local1); } public static function getBrandByDomain(_arg1:String):Brand{ return (brands_by_domain[_arg1]); } public static function hasDomain(_arg1:String):Boolean{ return (!((brands_by_domain[_arg1] == null))); } } }//package spill.localisation
Section 168
//Language (spill.localisation.Language) package spill.localisation { import flash.xml.*; public class Language { public var references:Array; public var name:String; public var embedInputFonts:Boolean;// = true public var forceFont:String;// = null public var id:uint; public var portal_groups:Array; public var textLanguage:String; public var bwcId:int; public var embedFonts:Boolean;// = true public var displayName:String;// = "" public var dname:String; public function Language(_arg1:String, _arg2:String=null){ embedFonts = true; embedInputFonts = true; forceFont = null; references = []; displayName = ""; super(); name = _arg1; dname = _arg2; portal_groups = new Array(); } public function exportXML():XMLNode{ var _local1:XMLNode; var _local2:XMLNode; var _local3:Array; var _local4:Array; var _local5:int; _local1 = new XMLNode(1, "language"); _local1.attributes.name = name; if (textLanguage != null){ _local1.attributes.textLanguage = textLanguage; }; if (references.length){ _local1.attributes.references = references.toString(); }; _local1.attributes.id = bwcId; _local2 = new XMLNode(1, "display_name"); _local2.firstChild = new XMLNode(3, displayName); _local1.appendChild(_local2); _local3 = []; _local4 = PortalGroup.channelNames; _local5 = 0; while (_local5 < _local4.length) { _local3.push(Brandings.getBrandByDomain(portal_groups[_local5]).site_id); _local5++; }; _local1.attributes.channels = _local3.join(","); return (_local1); } public function get p_teen():String{ return (portal_groups[PortalGroup.YOUNG_ADULTS]); } public function set p_hyves(_arg1:String):void{ portal_groups[PortalGroup.HYVES] = _arg1; } public function set p_teen(_arg1:String):void{ portal_groups[PortalGroup.YOUNG_ADULTS] = _arg1; } public function get p_tween():String{ return (portal_groups[PortalGroup.TEENS]); } public function get p_family():String{ return (portal_groups[PortalGroup.FAMILY]); } public function get p_girl():String{ trace("Language", portal_groups[PortalGroup.GIRL]); return (portal_groups[PortalGroup.GIRL]); } public function get p_hyves():String{ return (portal_groups[PortalGroup.HYVES]); } public function set p_girl(_arg1:String):void{ portal_groups[PortalGroup.GIRL] = _arg1; } public function set p_zapapa(_arg1:String):void{ portal_groups[PortalGroup.ZAPAPA] = _arg1; } public function get displayAcronim():String{ return ((dname) ? dname : name); } public function set p_family(_arg1:String):void{ portal_groups[PortalGroup.FAMILY] = _arg1; } public function set p_tween(_arg1:String):void{ portal_groups[PortalGroup.TEENS] = _arg1; } public function get p_zapapa():String{ return (portal_groups[PortalGroup.ZAPAPA]); } } }//package spill.localisation
Section 169
//Languages (spill.localisation.Languages) package spill.localisation { import flash.xml.*; public class Languages { public static var languages:Object = new Object(); private static var _init:Boolean = false; public static function initialize():void{ var _local1:Language; if (_init){ return; }; _init = true; _local1 = new Language("nl"); _local1.displayName = "Nederlands"; _local1.p_family = "www.spelletjes.nl"; _local1.p_tween = "www.spel.nl"; _local1.p_girl = "www.girlsgogames.nl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.p_hyves = "www.zapapa.nl"; _local1.bwcId = 3; addLanguage(_local1); _local1 = new Language("es"); _local1.displayName = "Español"; _local1.p_family = "www.juegos.com"; _local1.p_tween = "www.zapjuegos.com"; _local1.p_girl = "www.girlsgogames.es"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 9; addLanguage(_local1); _local1 = new Language("pl"); _local1.displayName = "Polski"; _local1.p_family = "www.gry.pl"; _local1.p_tween = "www.gry.pl"; _local1.p_girl = "www.girlsgogames.pl"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 6; addLanguage(_local1); _local1 = new Language("fr"); _local1.displayName = "Français"; _local1.p_family = "www.jeux.fr"; _local1.p_tween = "www.jeu.fr"; _local1.p_girl = "www.girlsgogames.fr"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 4; addLanguage(_local1); _local1 = new Language("en_us", "us"); _local1.displayName = "English"; _local1.p_family = "www.gamesgames.com"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 1; addLanguage(_local1); addReference(_local1, "en"); _local1 = new Language("id"); _local1.displayName = "Bahasa Ind."; _local1.p_family = "www.games.co.id"; _local1.p_tween = "www.games.co.id"; _local1.p_girl = "www.games.co.id"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 11; addLanguage(_local1); _local1 = new Language("ru"); _local1.displayName = "Русский"; _local1.p_family = "www.ourgames.ru"; _local1.p_tween = "www.flashgames.ru"; _local1.p_girl = "www.girlsgogames.ru"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 12; addLanguage(_local1); _local1 = new Language("se"); _local1.displayName = "Svenska"; _local1.p_family = "www.spela.se"; _local1.p_tween = "www.spel.se"; _local1.p_girl = "www.girlsgogames.se"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 7; addLanguage(_local1); addReference(_local1, "sv"); _local1 = new Language("it"); _local1.displayName = "Italiano"; _local1.p_family = "www.gioco.it"; _local1.p_tween = "www.gioco.it"; _local1.p_girl = "www.girlsgogames.it"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 8; addLanguage(_local1); _local1 = new Language("en_uk", "uk"); _local1.displayName = "English"; _local1.p_family = "www.games.co.uk"; _local1.p_tween = "www.agame.com"; _local1.p_girl = "www.girlsgogames.co.uk"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 13; addLanguage(_local1); _local1 = new Language("cn"); _local1.displayName = "中文"; _local1.p_family = "www.game.com.cn"; _local1.p_tween = "www.game.com.cn"; _local1.p_girl = "www.game.com.cn"; _local1.p_teen = "www.game.com.cn"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 2; _local1.embedInputFonts = false; addLanguage(_local1); addReference(_local1, "zh-CN"); addReference(_local1, "zh-TW"); _local1 = new Language("pt"); _local1.displayName = "Português"; _local1.p_family = "www.ojogos.pt"; _local1.p_tween = "www.ojogos.pt"; _local1.p_girl = "www.ojogos.pt"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 17; addLanguage(_local1); _local1 = new Language("in"); _local1.displayName = "English"; _local1.p_family = "www.game.co.in"; _local1.p_tween = "www.game.co.in"; _local1.p_girl = "www.game.co.in"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.textLanguage = "en_uk"; _local1.bwcId = 14; addLanguage(_local1); _local1 = new Language("de"); _local1.displayName = "Deutsch"; _local1.p_family = "www.jetztspielen.de"; _local1.p_tween = "www.spielen.com"; _local1.p_girl = "www.girlsgogames.de"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 5; addLanguage(_local1); _local1 = new Language("br"); _local1.displayName = "Português (BR)"; _local1.p_family = "www.ojogos.com.br"; _local1.p_tween = "www.clickjogos.com"; _local1.p_girl = "www.girlsgogames.com.br"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 10; addLanguage(_local1); _local1 = new Language("jp"); _local1.displayName = "日本語"; _local1.p_family = "www.egames.jp"; _local1.p_tween = "www.egames.jp"; _local1.p_girl = "www.egames.jp"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.embedInputFonts = false; _local1.bwcId = 19; addLanguage(_local1); addReference(_local1, "ja"); _local1 = new Language("ar"); _local1.displayName = "English"; _local1.p_family = "www.dailygame.com"; _local1.p_tween = "www.dailygame.com"; _local1.p_girl = "www.dailygame.com"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; _local1.bwcId = 20; addLanguage(_local1); addReference(_local1, "ar"); _local1 = new Language("es_mx", "mx"); _local1.displayName = "Español (mx)"; _local1.p_family = "www.juegos.mx"; _local1.p_tween = "www.juegos.mx"; _local1.p_girl = "www.juegosdechicas.mx"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "mx"); _local1 = new Language("es_ar", "arg"); _local1.displayName = "Español (ar)"; _local1.p_family = "www.juegos.com.ar"; _local1.p_tween = "www.juegos.com.ar"; _local1.p_girl = "www.juegosdechicas.com.ar"; _local1.p_teen = "www.a10.com"; _local1.p_zapapa = "www.zapapa.com"; addLanguage(_local1); addReference(_local1, "arg"); } public static function exportXML():XMLNode{ var _local1:Array; var _local2:XMLNode; var _local3:Language; _local1 = getLanguagesArray(); _local2 = new XMLNode(1, "languages"); for each (_local3 in _local1) { _local2.appendChild(_local3.exportXML()); }; return (_local2); } public static function getLanguagesArray():Array{ var _local1:Array; var _local2:Object; var _local3:Language; _local1 = new Array(); _local2 = new Object(); for each (_local3 in languages) { if (!_local2[_local3.name]){ _local1.push(_local3); _local2[_local3.name] = true; }; }; return (_local1); } public static function getLanguage(_arg1:String):Language{ return (languages[_arg1]); } private static function addLanguage(_arg1:Language):void{ languages[_arg1.name] = _arg1; } private static function addReference(_arg1:Language, _arg2:String):void{ languages[_arg2] = _arg1; _arg1.references.push(_arg2); } public static function getLanguageByOldID(_arg1:int):Language{ var _local2:Language; for each (_local2 in languages) { if (_local2.bwcId == _arg1){ return (_local2); }; }; return (null); } } }//package spill.localisation
Section 170
//LanguageSelectBox (spill.localisation.LanguageSelectBox) package spill.localisation { import flash.display.*; import flash.events.*; import flash.text.*; public class LanguageSelectBox extends MovieClip { private var flag:MovieClip; private var mc:MovieClip; private var popup:MovieClip; private var languageName_text:TextField; public function LanguageSelectBox(){ trace("new langselecbox"); super(); if (numChildren > 0){ removeChildAt(0); }; addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); addEventListener(MouseEvent.MOUSE_OVER, mouseOver, false, 0, true); addEventListener(MouseEvent.MOUSE_OUT, mouseOut, false, 0, true); Languages.initialize(); popup = new LanguageSelectPopup_mc(); x = Math.round(x); y = Math.round(y); popup.y = (-(Math.floor(popup.height)) + 1); popup.visible = false; addChild(popup); mc = new LanguageSelectBox_mc(); addChild(mc); flag = mc.flag; languageName_text = mc.languageName_text; if (stage){ added(); }; init(); languageChanged(); } private function added(_arg1:Event=null):void{ trace("addedselebnox"); SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); } public function set popupLocation(_arg1:String):void{ trace(("popupLocation = " + _arg1)); if (_arg1 == "bottom"){ popup.y = Math.floor(mc.height); } else { popup.y = (-(Math.floor(mc.height)) + 1); }; } public function init():void{ var _local1:Array; var _local2:int; var _local3:MovieClip; var _local4:Language; trace("initselectbox"); _local1 = new Array(popup.l_br, popup.l_de, popup.l_en_us, popup.l_fr, popup.l_in, popup.l_jp, popup.l_pt, popup.l_ru, popup.l_ar, popup.l_cn, popup.l_en_uk, popup.l_es, popup.l_id, popup.l_it, popup.l_nl, popup.l_pl, popup.l_se, popup.l_es_mx, popup.l_es_ar); _local2 = 0; while (_local2 < _local1.length) { _local3 = MovieClip(_local1[_local2]); if (_local3){ _local3.addEventListener(MouseEvent.CLICK, itemClicked, true, 0, true); _local3.flag.gotoAndStop(_local3.name.substr(2)); _local3.flag.mouseEnabled = false; _local3.text.mouseEnabled = false; _local4 = Languages.getLanguage(_local3.name.substr(2)); if (_local4){ _local3.text.text = _local4.displayAcronim; } else { trace((("Error, '" + _local3.name.substr(2)) + "' language not found")); }; } else { trace((((("Error, btn number '" + _local2) + "' is not a MovieClip or there is no button '") + _local1[_local2]) + "'")); }; _local2++; }; } private function mouseOver(_arg1:MouseEvent):void{ popup.visible = true; } private function languageChanged(_arg1:Event=null):void{ if (SpilGame.currentLanguage){ if ((((SpilGame.portalGroup == PortalGroup.HYVES)) && ((SpilGame.currentLanguage.name == "nl")))){ this.visible = false; return; }; this.visible = true; flag.gotoAndStop(SpilGame.currentLanguage.name); languageName_text.text = SpilGame.currentLanguage.displayName; languageName_text.embedFonts = SpilGame.currentLanguage.embedInputFonts; }; } private function mouseOut(_arg1:MouseEvent):void{ popup.visible = false; } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function itemClicked(_arg1:MouseEvent):void{ SpilGame.changeLanguage(_arg1.currentTarget.name.substr(2)); popup.visible = false; } } }//package spill.localisation
Section 171
//LanguageSelectBox_mc (spill.localisation.LanguageSelectBox_mc) package spill.localisation { import flash.display.*; import flash.text.*; public dynamic class LanguageSelectBox_mc extends MovieClip { public var flag:MovieClip; public var languageName_text:TextField; } }//package spill.localisation
Section 172
//LanguageSelectPopup_mc (spill.localisation.LanguageSelectPopup_mc) package spill.localisation { import flash.display.*; public dynamic class LanguageSelectPopup_mc extends MovieClip { public var l_se:MovieClip; public var l_ar:MovieClip; public var l_br:MovieClip; public var l_in:MovieClip; public var l_cn:MovieClip; public var l_de:MovieClip; public var l_es_mx:MovieClip; public var l_es:MovieClip; public var l_en_uk:MovieClip; public var l_fr:MovieClip; public var l_en_us:MovieClip; public var l_pl:MovieClip; public var l_pt:MovieClip; public var l_nl:MovieClip; public var l_id:MovieClip; public var l_es_ar:MovieClip; public var l_it:MovieClip; public var l_jp:MovieClip; public var l_ru:MovieClip; } }//package spill.localisation
Section 173
//LocalizedTextField (spill.localisation.LocalizedTextField) package spill.localisation { import flash.events.*; public class LocalizedTextField extends TextFieldFit { private var regex:RegExp; private var originalText:String; public function LocalizedTextField(){ regex = /{([^{}]*)}/g; super(); addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); addEventListener(Event.REMOVED_FROM_STAGE, removed, false, 0, true); added(); } private function languageChanged(_arg1:Event):void{ text = originalText; updateProperties(); } override public function set text(_arg1:String):void{ originalText = _arg1; if ((_arg1 is String)){ super.text = _arg1.replace(regex, replaceFn); } else { super.text = ""; }; trace(super.text); } private function removed(_arg1:Event):void{ SpilGame.removeEventListener("languageChanged", languageChanged); } private function replaceFn():String{ var _local2:String; _local2 = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } private function added(_arg1:Event=null):void{ SpilGame.addEventListener("languageChanged", languageChanged, false, 0, true); text = originalText; } } }//package spill.localisation
Section 174
//PortalGroup (spill.localisation.PortalGroup) package spill.localisation { import flash.xml.*; public class PortalGroup { public static const YOUNG_ADULTS:uint = 3; public static const FAMILY:uint = 0; public static const channelNames:Array = ["family", "tween", "girl", "teen", "zapapa", "hyves"]; public static const ZAPAPA:uint = 4; public static const HYVES:uint = 5; public static const TEENS:uint = 1; public static const GIRL:uint = 2; public static const backgroundColors:Array = [0xFFFFFF, 0xFFFFFF, 16742331, 0xFFFFFF, 0xFFFFFF, 0xFFFFFF]; public static const NONE:uint = 6; public static function getName(_arg1:int):String{ return (channelNames[_arg1]); } public static function exportXML():XMLNode{ var _local1:XMLNode; var _local2:int; var _local3:XMLNode; _local1 = new XMLNode(1, "channels"); _local2 = 0; while (_local2 < 5) { _local3 = new XMLNode(1, "channel"); _local3.attributes.name = channelNames[_local2]; _local3.attributes.id = _local2; _local1.appendChild(_local3); _local2++; }; return (_local1); } } }//package spill.localisation
Section 175
//spil_internal (spill.localisation.spil_internal) package spill.localisation { public namespace spil_internal = "spill.localisation"; }//package spill.localisation
Section 176
//SpilGame (spill.localisation.SpilGame) package spill.localisation { import flash.display.*; import flash.events.*; import flash.text.*; import flash.net.*; import flash.ui.*; import flash.system.*; import flash.external.*; public class SpilGame { private static const cookieName:String = "spilgames_language_v100"; private static const cookiePath:String = "/"; private static const cookieLanguageVar:String = "savedLang"; public static const LANGUAGE_CHANGED:String = "languageChanged"; public static const BRANDING_CHANGED:String = "brandingChanged"; private static var strings:Object = new Object(); public static var currentBranding:Brand; private static var contexMenuItem:ContextMenuItem; spil_internal static var gameName:String; spil_internal static var debugHostDomain:String = ""; private static var localDomains:Object = new Object(); spil_internal static var emailPage:String; private static var channelLock:Boolean = false; spil_internal static var debugEmbedDomain:String = ""; private static var eventDispatcher:EventDispatcher; private static var _init:Boolean = false; public static var currentLanguage:Language; spil_internal static var portalGroup:uint; private static var stage:Sprite; public static function getSpilCompanyLink():String{ var _local1:String; _local1 = "http://www.gameportal.net/"; _local1 = (_local1 + ("?utm_medium=brandedgames_" + (isExternal) ? "external" : "internal")); _local1 = (_local1 + ("&utm_campaign=" + gameName)); _local1 = (_local1 + ("&utm_source=" + Brand.stripSubDomain((embedDomain) ? embedDomain : hostingDomain))); _local1 = (_local1 + "&utm_content=Branding_Link"); return (_local1); } public static function getPromotionLink(_arg1:String="feature_promotion"):String{ var _local2:String; _local2 = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getPromotionLink(gameName, emailPage, isExternal, _local2, _arg1)); } public static function traceAllBrands():void{ trace(outputAllBrands()); } public static function getString(_arg1:String):String{ var _local2:Object; _local2 = strings[_arg1]; if (_local2){ if (currentLanguage.textLanguage){ return (_local2[currentLanguage.textLanguage]); }; if (_local2[currentLanguage.name]){ return (_local2[currentLanguage.name]); }; return (_local2["en_us"]); //unresolved jump }; return (""); } public static function initialize(_arg1:String, _arg2:int, _arg3:String, _arg4:Sprite, _arg5:Boolean=false):void{ stage = _arg4; if (_init){ trace("ERROR: LocalisationManager already initialised"); return; }; _init = true; localDomains["localhost"] = true; localDomains["www8.agame.com"] = true; localDomains["gamedev.dev.spilgames.com"] = true; localDomains["stg.spel.nl"] = true; localDomains["stg.girlsgogames.nl"] = true; localDomains["stg.pl.spel.nl"] = true; localDomains["stg.pl.girlsgogames.nl"] = true; trace(localDomains["stg.girlsgogames.nl"]); Brandings.initialize(); Languages.initialize(); initContexMenu(_arg4); channelLock = _arg5; gameName = _arg1.replace(" ", "_"); portalGroup = _arg2; emailPage = _arg3; chooseLanguage(); chooseBranding(); if (portalGroup == PortalGroup.HYVES){ changeLanguage("nl"); }; } public static function get isExternal():Boolean{ return (((((!(Brandings.hasDomain(embedDomain))) && (!(localDomains[embedDomain])))) && (!(isStagingDomain)))); } private static function initContexMenu(_arg1:Sprite):void{ contexMenuItem = new ContextMenuItem(""); _arg1.contextMenu = new ContextMenu(); _arg1.contextMenu.customItems.push(contexMenuItem); contexMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contexMenuClicked); } private static function replaceFn():String{ var _local2:String; _local2 = SpilGame.getString(arguments[1]); if (((!(_local2)) || ((_local2 == "")))){ return ((("{" + arguments[1]) + "}")); }; return (_local2); } spil_internal static function get hostingDomain():String{ var _local1:LocalConnection; if (debugHostDomain != ""){ return (debugHostDomain); }; _local1 = new LocalConnection(); return (_local1.domain); } spil_internal static function chooseLanguage():void{ if (cookieLanguage != null){ currentLanguage = cookieLanguage; } else { if (isExternal){ currentLanguage = systemLanguage; } else { currentLanguage = portalLanguage; if (!currentLanguage){ currentLanguage = systemLanguage; }; }; }; if (!currentLanguage){ trace("Unable to determine language, using 'English US'"); currentLanguage = Languages.getLanguage("en_us"); }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; dispatchEvent(new Event(LANGUAGE_CHANGED)); } private static function contexMenuClicked(_arg1:ContextMenuEvent):void{ navigateToURL(new URLRequest(getMoreGamesLink("Contex_Menu"))); } public static function initTextField(_arg1:TextField):void{ var _local2:TextFormat; trace(_arg1.text); _arg1.text = _arg1.text.replace(/{([^{}]*)}/g, replaceFn); trace(_arg1.text); _arg1.embedFonts = currentLanguage.embedFonts; if (currentLanguage.forceFont != ""){ _local2 = new TextFormat(); _local2.font = currentLanguage.forceFont; _arg1.setTextFormat(_local2); }; } public static function importXMLv2(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.attribute("identifier")] = new Object()); for each (_local4 in _local2.children()) { if (_local4.children().length() > 0){ _local3[_local4.name()] = _local4.children()[0].toString(); } else { _local3[_local4.name()] = ""; }; }; }; } spil_internal static function changeLanguage(_arg1:String):void{ var _local2:Language; _local2 = Languages.getLanguage(_arg1); if (!_local2){ trace("ERROR: Supplied language string does not have a matching language"); } else { cookieLanguage = _local2; currentLanguage = _local2; }; TextFieldFit.embedFonts = currentLanguage.embedFonts; TextFieldFit.forceFont = currentLanguage.forceFont; chooseBranding(); dispatchEvent(new Event(LANGUAGE_CHANGED)); } public static function getSendToFriendLink():String{ return (currentBranding.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain)); } spil_internal static function chooseBranding():void{ currentBranding = Brandings.getBrandByDomain(currentLanguage.portal_groups[portalGroup]); if (!(currentBranding is Brand)){ currentBranding = Brandings.getBrandByDomain("www.agame.com"); }; contexMenuItem.caption = ("More Games: " + currentBranding.domain); dispatchEvent(new Event(BRANDING_CHANGED)); } spil_internal static function get systemLanguage():Language{ return (Languages.getLanguage(Capabilities.language)); } spil_internal static function set cookieLanguage(_arg1:Language):void{ var _local2:SharedObject; _local2 = SharedObject.getLocal(cookieName, cookiePath); if (_arg1 == null){ _local2.data[cookieLanguageVar] = null; } else { _local2.data[cookieLanguageVar] = _arg1.name; }; _local2.flush(); } public static function importXML(_arg1:XML):void{ var _local2:XML; var _local3:Object; var _local4:XML; for each (_local2 in _arg1.children()) { _local3 = (strings[_local2.identifier] = new Object()); for each (_local4 in _local2.children()) { _local3[_local4.name()] = _local4.children()[0].toString(); }; }; } spil_internal static function dispatchEvent(_arg1:Event):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.dispatchEvent(_arg1); } private static function getDomain(_arg1:String):String{ var _local2:String; var _local3:uint; if (_arg1.indexOf("file") == 0){ return ("offline_play"); }; _local2 = new String(); _local3 = 7; while (_local3 < _arg1.length) { if (_arg1.charAt(_local3) == "/"){ break; }; _local2 = (_local2 + _arg1.charAt(_local3)); _local3++; }; if (_local2 == "localhost"){ _local2 = "offline_play"; }; return (_local2); } public static function exportXML():XML{ var _local1:XML; _local1 = <spil_games/> ; _local1.appendChild(Brandings.exportXML()); _local1.appendChild(Languages.exportXML()); _local1.appendChild(PortalGroup.exportXML()); return (_local1); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public static function outputAllBrands():String{ var _local1:Array; var _local2:String; var _local3:Brand; _local1 = Brandings.getBrandsArray(); _local2 = ""; for each (_local3 in _local1) { _local2 = (_local2 + (_local3.getSendToFriendLink(gameName, emailPage, isExternal, embedDomain) + "\n")); }; return (_local2); } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (!eventDispatcher){ eventDispatcher = new EventDispatcher(); }; eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function getMoreGamesLink(_arg1:String=""):String{ var _local2:String; _local2 = (embedDomain) ? embedDomain : hostingDomain; return (currentBranding.getMoreGamesLink(gameName, isExternal, _local2, _arg1)); } public static function get isStagingDomain():Boolean{ var _local1:String; _local1 = ("http://" + embedDomain); return ((_local1.indexOf("http://stg.") >= 0)); } spil_internal static function get cookieLanguage():Language{ var _local1:SharedObject; var _local2:String; _local1 = SharedObject.getLocal(cookieName, cookiePath); _local2 = String(_local1.data[cookieLanguageVar]); return (Languages.getLanguage(_local2)); } private static function get portalLanguage():Language{ var _local1:Brand; var _local2:String; var _local3:Language; if (isExternal){ return (null); }; if (!embedDomain){ return (null); }; _local1 = Brandings.getBrandByDomain(embedDomain); if (!_local1){ return (null); }; _local2 = _local1.preferedLanguage; if (!_local2){ return (null); }; _local3 = Languages.getLanguage(_local2); if (!_local3){ return (null); }; return (_local3); } spil_internal static function get embedDomain():String{ var loc:String; if (debugEmbedDomain != ""){ return (debugEmbedDomain); }; if (ExternalInterface.available){ try { loc = ExternalInterface.call("window.location.href.toString"); if (((!((loc == ""))) && (!((loc == null))))){ trace(("embed domain = " + getDomain(loc))); return (getDomain(loc)); }; } catch(e:SecurityError) { trace(("Security Error connecting to external interface, error = " + e)); } catch(e:Error) { trace(("Error connecting to external interface, error = " + e)); }; }; return (null); } } }//package spill.localisation
Section 177
//SpilGamesLink (spill.localisation.SpilGamesLink) package spill.localisation { import flash.display.*; import flash.events.*; import flash.net.*; public class SpilGamesLink extends SimpleButton { public function SpilGamesLink(){ addEventListener(MouseEvent.CLICK, buttonClicked); } private function buttonClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink()), "_blank"); } } }//package spill.localisation
Section 178
//TextFieldFit (spill.localisation.TextFieldFit) package spill.localisation { import flash.display.*; import flash.events.*; import flash.text.*; import flash.utils.*; import flash.filters.*; public class TextFieldFit extends MovieClip { protected var _text:String;// = "default" protected var _textSize:Number;// = 12 protected var _embedFonts:Boolean;// = true protected var _glowColor:uint;// = 0 private var h:Number; protected var _antiAliasType:String;// = "advanced" private var w:Number; protected var _numLines:uint;// = 1 protected var _useGlowFilter:Boolean;// = false protected var _hAlign:String;// = "left" protected var _textColor:uint;// = 0 protected var _glowStrength:Number;// = 5 protected var _glowBlur:Number;// = 3 private var field:TextField; protected var _gridFitType:String;// = "pixel" protected var _glowQuality:Number;// = 1 private var debugBounding:Sprite; protected var _disableWordwrap:Boolean;// = false protected var _multiline:Boolean;// = false protected var _font:String;// = "" protected var _underline:Boolean;// = false protected var _vAlign:String;// = "top" protected var _italic:Boolean;// = false protected var _bold:Boolean;// = false private var sizeChanged:Boolean;// = true private var embeddedFonts:Array; protected var _selectable:Boolean;// = false private var format:TextFormat; private var valid:Boolean;// = true private static const gutter:Number = 2; spil_internal static var embedFonts:Boolean = true; spil_internal static var forceAAType:String = null; spil_internal static var forceFont:String = null; public static var alwaysCheckWidth:Boolean = false; public function TextFieldFit(){ var _local1:Boolean; var _local2:Number; var _local3:Number; sizeChanged = true; valid = true; _text = "default"; _textColor = 0; _textSize = 12; _multiline = false; _numLines = 1; _disableWordwrap = false; _hAlign = "left"; _vAlign = "top"; _bold = false; _underline = false; _italic = false; _selectable = false; _font = ""; _embedFonts = true; _antiAliasType = "advanced"; _gridFitType = "pixel"; _useGlowFilter = false; _glowBlur = 3; _glowColor = 0; _glowStrength = 5; _glowQuality = 1; super(); _local1 = ((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent"))); _local2 = width; _local3 = height; if (numChildren > 0){ removeChildAt(0); }; if (!field){ field = new TextField(); addChild(field); }; field.border = false; field.background = false; field.type = TextFieldType.DYNAMIC; mouseEnabled = false; mouseChildren = false; format = new TextFormat(); embeddedFonts = Font.enumerateFonts(false); setSize(_local2, _local3); validate(); if (stage){ addEventListener(Event.RENDER, init); stage.invalidate(); }; init(); } private function resizeText(_arg1:Boolean=false):void{ if (!doesTextFit()){ format.size = Object((Number(format.size) - 1)); if (format.size <= 3){ trace("WARNING: Text resised to 3px, either an error occured or the text just wont fit"); return; }; field.setTextFormat(format); resizeText(true); } else { if (_arg1 == false){ while (doesTextFit()) { if (format.size <= textSize){ format.size = Object((Number(format.size) + 1)); field.setTextFormat(format); if (!doesTextFit()){ format.size = Object((Number(format.size) - 1)); field.setTextFormat(format); break; }; } else { break; }; }; }; }; } public function get italic():Boolean{ return (_italic); } public function set numLines(_arg1:uint):void{ _numLines = _arg1; invalidate(); } public function get textColor():uint{ return (_textColor); } public function get vAlign():String{ return (_vAlign); } public function get useGlowFilter():Boolean{ return (_useGlowFilter); } public function get selectable():Boolean{ return (_selectable); } public function set italic(_arg1:Boolean):void{ _italic = _arg1; invalidate(); } public function set text(_arg1:String):void{ _text = _arg1; invalidate(); } public function set vAlign(_arg1:String):void{ _vAlign = _arg1; invalidate(); } public function get font():String{ return (_font); } public function set textColor(_arg1:uint):void{ _textColor = _arg1; invalidate(); } public function get antiAliasType():String{ return (_antiAliasType); } public function get bold():Boolean{ return (_bold); } public function set useGlowFilter(_arg1:Boolean):void{ _useGlowFilter = _arg1; invalidate(); } public function set selectable(_arg1:Boolean):void{ _selectable = _arg1; invalidate(); } public function get multiline():Boolean{ return (_multiline); } public function set disableWordwrap(_arg1:Boolean):void{ _disableWordwrap = _arg1; invalidate(); } public function get glowQuality():Number{ return (_glowQuality); } public function get embedFonts():Boolean{ return (_embedFonts); } public function get gridFitType():String{ return (_gridFitType); } public function set font(_arg1:String):void{ _font = _arg1; invalidate(); } public function get underline():Boolean{ return (_underline); } public function get textSize():Number{ return (_textSize); } public function set antiAliasType(_arg1:String):void{ _antiAliasType = _arg1; invalidate(); } protected function updateProperties():void{ var _local1:Boolean; var _local2:Font; field.text = _text; field.multiline = ((((_text.indexOf(" ") < 0)) && ((_text.length < 14)))) ? false : _multiline; field.wordWrap = ((field.multiline) && (!(_disableWordwrap))); field.selectable = _selectable; field.antiAliasType = (forceAAType) ? forceAAType : _antiAliasType; field.gridFitType = _gridFitType; embeddedFonts = Font.enumerateFonts(false); if (((((_embedFonts) && (!((_font == ""))))) && (TextFieldFit.embedFonts))){ _local1 = false; for each (_local2 in embeddedFonts) { if (_font == _local2.fontName){ _local1 = true; break; }; }; field.embedFonts = _local1; if (!_local1){ trace(((("WARNING: Embedded font '" + _font) + "' not found, disabling embedding of fonts, text = ") + _text)); } else { trace((("Found Embedded font '" + _font) + "' using font")); }; } else { field.embedFonts = false; }; if (TextFieldFit.forceFont){ format.font = TextFieldFit.forceFont; } else { format.font = _font; }; if (sizeChanged){ format.size = _textSize; }; format.color = _textColor; format.align = _hAlign; format.bold = _bold; format.italic = _italic; format.underline = _underline; format.leftMargin = 0; format.rightMargin = 0; field.setTextFormat(format); if (_useGlowFilter){ filters = [new GlowFilter(_glowColor, 1, _glowBlur, _glowBlur, _glowStrength, _glowQuality)]; } else { filters = []; }; } private function doesTextFit():Boolean{ if (((!(field.multiline)) || (alwaysCheckWidth))){ if (((((field.textHeight + (gutter * 2)) > h)) || (((field.textWidth + (gutter * 2)) > w)))){ return (false); }; } else { if (field.multiline){ if (field.numLines > _numLines){ return (false); }; }; }; return (true); } public function get glowStrength():Number{ return (_glowStrength); } public function set hAlign(_arg1:String):void{ _hAlign = _arg1; invalidate(); } private function init(_arg1:Event=null):void{ removeEventListener(Event.RENDER, init); updateProperties(); layoutText(); } public function set bold(_arg1:Boolean):void{ _bold = _arg1; invalidate(); } public function get numLines():uint{ return (_numLines); } private function validate(_arg1:Event=null):void{ updateProperties(); layoutText(); removeEventListener(Event.ENTER_FRAME, validate); valid = true; } public function get text():String{ return (_text); } public function set glowBlur(_arg1:Number):void{ _glowBlur = _arg1; invalidate(); } private function invalidate():void{ if (valid){ addEventListener(Event.ENTER_FRAME, validate); if (stage){ stage.invalidate(); }; valid = false; }; } public function set embedFonts(_arg1:Boolean):void{ _embedFonts = _arg1; invalidate(); } public function set multiline(_arg1:Boolean):void{ _multiline = _arg1; invalidate(); } public function get disableWordwrap():Boolean{ return (_disableWordwrap); } public function set glowQuality(_arg1:Number):void{ _glowQuality = _arg1; invalidate(); } private function layoutText():void{ resizeText(); field.height = (field.textHeight + (gutter * 2)); if (vAlign == "top"){ field.y = 0; } else { if (vAlign == "middle"){ field.y = ((h - field.height) / 2); } else { if (vAlign == "bottom"){ field.y = (h - field.height); }; }; }; } public function get hAlign():String{ return (_hAlign); } public function setSize(_arg1:Number, _arg2:Number):void{ w = _arg1; h = _arg2; scaleX = (scaleY = 1); field.width = w; field.height = h; invalidate(); } public function set gridFitType(_arg1:String):void{ _gridFitType = _arg1; invalidate(); } public function set underline(_arg1:Boolean):void{ _underline = _arg1; invalidate(); } public function get glowBlur():Number{ return (_glowBlur); } public function set textSize(_arg1:Number):void{ _textSize = _arg1; sizeChanged = true; invalidate(); } public function set glowColor(_arg1:uint):void{ _glowColor = _arg1; invalidate(); } public function get textField():TextField{ return (field); } public function get glowColor():uint{ return (_glowColor); } public function set glowStrength(_arg1:Number):void{ _glowStrength = _arg1; invalidate(); } } }//package spill.localisation
Section 179
//Awards (Awards) package { public class Awards { public static const ENDURANCE:String = "award1"; public static const POST_ON_FACEBOOK:String = "award3"; public static const PRINTED_FILE:String = "award2"; } }//package
Section 180
//BackgroundBitmap (BackgroundBitmap) package { import flash.display.*; public dynamic class BackgroundBitmap extends BitmapData { public function BackgroundBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 181
//BG (BG) package { import flash.display.*; public dynamic class BG extends MovieClip { } }//package
Section 182
//BlueBox (BlueBox) package { import flash.display.*; public dynamic class BlueBox extends Sprite { } }//package
Section 183
//BodyBitmap (BodyBitmap) package { import flash.display.*; public dynamic class BodyBitmap extends BitmapData { public function BodyBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 184
//Brush (Brush) package { import flash.display.*; import flash.geom.*; public class Brush extends Sprite { protected var _brushType:String; private var startPosition:Point; private var sprite:Sprite; public function Brush(_arg1:Class){ sprite = new (_arg1); this.addChild(sprite); this.mouseChildren = false; } public function disableBrush(){ resetPosition(); this.mouseEnabled = true; } public function setStartPosition(_arg1:int, _arg2:int){ startPosition = new Point(_arg1, _arg2); this.x = _arg1; this.y = _arg2; } public function enableBrush(){ this.parent.setChildIndex(this, (this.parent.numChildren - 1)); this.mouseEnabled = false; } public function resetPosition(){ this.x = startPosition.x; this.y = startPosition.y; } public function get brushType():String{ return (_brushType); } public function getSprite():Sprite{ return (sprite); } public function setSprite(_arg1:Class){ if (sprite){ sprite.parent.removeChild(sprite); }; sprite = new (_arg1); this.addChild(sprite); } } }//package
Section 185
//BrushPen (BrushPen) package { import flash.display.*; public class BrushPen extends Brush { private var _penSize:uint; private var pickupSpriteClass:Class; private var placeHolder:Sprite; private var decorationClass:Class; public function BrushPen(_arg1:Class, _arg2:uint, _arg3:Class=null, _arg4:Sprite=null){ super(_arg1); this.decorationClass = _arg1; this.placeHolder = _arg4; _brushType = "pen"; _penSize = _arg2; this.pickupSpriteClass = _arg3; } override public function disableBrush(){ super.disableBrush(); this.setSprite(decorationClass); if (placeHolder){ placeHolder.visible = true; }; } override public function enableBrush(){ super.enableBrush(); if (pickupSpriteClass){ this.setSprite(pickupSpriteClass); }; if (placeHolder){ placeHolder.visible = false; }; } public function get penSize():uint{ return (_penSize); } public function setPlaceHolder(_arg1:Sprite){ placeHolder = _arg1; } } }//package
Section 186
//BrushShape (BrushShape) package { import flash.display.*; public class BrushShape extends Brush { private var brushTip:BitmapData; public function BrushShape(_arg1:Class, _arg2:BitmapData){ _brushType = "shape"; super(_arg1); brushTip = _arg2; } public function getBrushTip():BitmapData{ return (brushTip); } } }//package
Section 187
//circle_stamp (circle_stamp) package { import flash.display.*; public dynamic class circle_stamp extends BitmapData { public function circle_stamp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 188
//circleStampSprite (circleStampSprite) package { import flash.display.*; public dynamic class circleStampSprite extends Sprite { } }//package
Section 189
//diamond_stamp (diamond_stamp) package { import flash.display.*; public dynamic class diamond_stamp extends BitmapData { public function diamond_stamp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 190
//diamondStampSprite (diamondStampSprite) package { import flash.display.*; public dynamic class diamondStampSprite extends Sprite { } }//package
Section 191
//DrawField (DrawField) package { import flash.display.*; import flash.events.*; import flash.geom.*; public class DrawField { private const FILL_COLOR:uint = 0x777777; private const ERASER_THICKNESS:uint = 28; private const BLANK_COLOR:uint = 4294967295; private var y:uint; private var currentBrush:Brush; private var shapeDrawn:Boolean;// = false private var target:DisplayObjectContainer; private var previousPosition:Point; private var currentPosition:Point; private var graphiteData:BitmapData; private var mouseIsDown:Boolean;// = false private var whiteLayerData:BitmapData; private var eraserx:int;// = 0 private var whiteLayerContainer:Sprite; private var whiteLayerBitmap:Bitmap; private var x:uint; public function DrawField(_arg1:DisplayObjectContainer, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:uint, _arg6:Class){ var _local7:Bitmap; whiteLayerContainer = new Sprite(); mouseIsDown = false; previousPosition = new Point(); currentPosition = new Point(); shapeDrawn = false; eraserx = 0; super(); this.target = _arg1; this.x = _arg2; this.y = _arg3; graphiteData = new BitmapData(_arg4, _arg5); graphiteData = new graphiteBitmapData(_arg4, _arg5); _local7 = new Bitmap(graphiteData); _local7.width = _arg4; _local7.height = _arg5; _local7.x = _arg2; _local7.y = _arg3; _arg1.addChild(_local7); whiteLayerContainer.x = _arg2; whiteLayerContainer.y = _arg3; _arg1.addChild(whiteLayerContainer); whiteLayerData = new BitmapData(_arg4, _arg5, true, BLANK_COLOR); whiteLayerBitmap = new Bitmap(whiteLayerData, "auto", true); whiteLayerContainer.addEventListener(MouseEvent.MOUSE_DOWN, mDown); whiteLayerContainer.stage.addEventListener(MouseEvent.MOUSE_UP, mUp); _arg1.stage.addEventListener(MouseEvent.MOUSE_MOVE, mMove); update(); } private function clearErasorLine():void{ var _local1:uint; var _local2:uint; _local1 = 0; while (_local1 < 3) { _local2 = 0; while (_local2 < whiteLayerData.height) { whiteLayerData.setPixel32(((eraserx + 10) + _local1), _local2, 4294967295); _local2++; }; _local1++; }; } private function adjustPixel(_arg1:uint, _arg2:uint, _arg3:Point):void{ var _local4:int; var _local5:int; _local4 = ((_arg1 >> 24) & 0xFF); _local5 = (_arg2 & 0xFF); _local4 = (_local4 - _local5); if (_local4 < 0){ _local4 = 0; }; whiteLayerData.setPixel32(_arg3.x, _arg3.y, ((_local4 << 24) | 0xFFFFFF)); } private function draw(_arg1:Point){ if (currentBrush){ switch (currentBrush.brushType){ case "shape": if (!shapeDrawn){ drawShape(_arg1); }; break; case "pen": drawLine(); break; default: trace("unknown brush type"); }; }; } private function getTargetPixel(_arg1:MouseEvent):Point{ var _local2:Point; _local2 = new Point(); _local2.x = (_arg1.stageX - x); _local2.y = (_arg1.stageY - y); return (_local2); } private function mMove(_arg1:MouseEvent):void{ currentPosition = new Point(target.mouseX, target.mouseY); if (mouseIsDown){ draw(getTargetPixel(_arg1)); }; if (currentBrush){ currentBrush.x = _arg1.stageX; currentBrush.y = _arg1.stageY; }; previousPosition = currentPosition; } public function setBrush(_arg1:Brush){ currentBrush = _arg1; } public function erase(_arg1:EraserEvents){ var _local2:int; var _local3:int; var _local4:int; var _local5:int; var _local6:uint; _local2 = Math.min(_arg1.xPositionStart, _arg1.xPositionEnd); _local3 = Math.max(_arg1.xPositionStart, _arg1.xPositionEnd); _local4 = _local2; while (_local4 < (_local3 + ERASER_THICKNESS)) { _local5 = 0; while (_local5 < whiteLayerData.height) { _local6 = whiteLayerData.getPixel(_local4, _local5); whiteLayerData.setPixel32(_local4, _local5, BLANK_COLOR); _local5++; }; _local4++; }; eraserx = (((_arg1.target as Eraser).x - x) - 10); } private function drawLine(){ var _local1:uint; var _local2:*; var _local3:*; var _local4:*; var _local5:*; var _local6:*; var _local7:*; var _local8:uint; var _local9:uint; var _local10:Sprite; var _local11:BitmapData; _local1 = (currentBrush as BrushPen).penSize; _local2 = (previousPosition.x - currentPosition.x); _local3 = (previousPosition.y - currentPosition.y); _local4 = 0; _local5 = 0; _local6 = Math.min(previousPosition.x, currentPosition.x); _local7 = Math.min(previousPosition.y, currentPosition.y); _local8 = Math.abs(_local2); _local9 = Math.abs(_local3); if (_local2 < 0){ _local4 = (_local4 + -(_local2)); _local2 = 0; }; if (_local3 < 0){ _local5 = (_local5 + -(_local3)); _local3 = 0; }; _local10 = new Sprite(); _local10.x = 1000; _local11 = new BitmapData((_local8 + _local1), (_local9 + _local1)); _local10.graphics.lineStyle(_local1, 0); _local10.graphics.moveTo((_local2 + (_local1 / 2)), (_local3 + (_local1 / 2))); _local10.graphics.lineTo((_local4 + (_local1 / 2)), (_local5 + (_local1 / 2))); whiteLayerData.draw(_local10, new Matrix(1, 0, 0, 1, (_local6 - x), (_local7 - y)), null, "erase"); clearErasorLine(); } private function mUp(_arg1:MouseEvent):void{ shapeDrawn = false; mouseIsDown = false; } public function update(){ if (whiteLayerBitmap.parent){ whiteLayerBitmap.parent.removeChild(whiteLayerBitmap); }; whiteLayerBitmap = new Bitmap(whiteLayerData); whiteLayerContainer.addChild(whiteLayerBitmap); } private function mDown(_arg1:MouseEvent):void{ mouseIsDown = true; draw(getTargetPixel(_arg1)); } private function drawShape(_arg1:Point){ var _local2:Bitmap; var _local3:uint; var _local4:uint; var _local5:*; var _local6:*; var _local7:uint; var _local8:uint; shapeDrawn = true; _local2 = new Bitmap((currentBrush as BrushShape).getBrushTip()); _local3 = 0; while (_local3 < _local2.height) { _local4 = 0; while (_local4 < _local2.width) { _local5 = new Point(); _local5.x = ((_arg1.x - (_local2.width / 2)) + _local4); _local5.y = ((_arg1.y - (_local2.height / 2)) + _local3); _local6 = new Point(); _local6.x = _local4; _local6.y = _local3; _local7 = (whiteLayerData.getPixel32(_local5.x, _local5.y) as uint); _local8 = (_local2.bitmapData.getPixel(_local6.x, _local6.y) as uint); adjustPixel(_local7, _local8, _local5); _local4++; }; _local3++; }; clearErasorLine(); } } }//package
Section 192
//DropZone (DropZone) package { import flash.display.*; public class DropZone extends Sprite { public function DropZone(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ this.x = _arg1; this.y = _arg2; this.graphics.beginFill(0xFF); this.graphics.drawRect((0 - (_arg3 / 2)), (0 - (_arg4 / 2)), _arg3, _arg4); this.alpha = 0; } } }//package
Section 193
//Eraser (Eraser) package { import flash.display.*; import flash.events.*; public class Eraser extends EventDispatcher { private var previousMousePositionX:uint; private var minScrollPosition:uint; private var maxScrollPosition:uint; private var isSliding:Boolean; private var decoration:Sprite; public function Eraser(_arg1:DisplayObjectContainer, _arg2:uint, _arg3:uint, _arg4:uint, _arg5:Class){ this.decoration = new (_arg5); this.decoration.x = _arg2; this.decoration.y = _arg3; this.maxScrollPosition = _arg4; this.minScrollPosition = _arg2; this.decoration.addEventListener(MouseEvent.MOUSE_DOWN, mDown); _arg1.stage.addEventListener(MouseEvent.MOUSE_UP, mUp); _arg1.stage.addEventListener(MouseEvent.MOUSE_MOVE, mMove); _arg1.addChild(this.decoration); } private function mMove(_arg1:MouseEvent):void{ if (isSliding){ slide(); }; previousMousePositionX = decoration.stage.mouseX; } private function mUp(_arg1:MouseEvent):void{ isSliding = false; } private function mDown(_arg1:MouseEvent):void{ isSliding = true; _arg1 = new MouseEvent(MouseEvent.CLICK); dispatchEvent(_arg1); } private function slide(){ var _local1:EraserEvents; if (decoration.stage.mouseX > maxScrollPosition){ decoration.x = maxScrollPosition; } else { if (decoration.stage.mouseX < minScrollPosition){ decoration.x = minScrollPosition; } else { decoration.x = decoration.stage.mouseX; }; }; _local1 = new EraserEvents(EraserEvents.ERASE_EVENT, (previousMousePositionX - minScrollPosition), (decoration.stage.mouseX - minScrollPosition)); dispatchEvent(_local1); } public function get x():int{ return (decoration.x); } } }//package
Section 194
//EraserEvents (EraserEvents) package { import flash.events.*; public class EraserEvents extends Event { public var xPositionStart:uint; public var xPositionEnd:uint; public static const ERASE_EVENT:String = "eraseEvent"; public function EraserEvents(_arg1:String, _arg2:uint, _arg3:uint){ super(_arg1, bubbles, cancelable); this.xPositionStart = _arg2; this.xPositionEnd = _arg3; } override public function toString():String{ return (formatToString("ErasorEvents", "type", "bubbles", "cancelable", "eventPhase")); } } }//package
Section 195
//EraserSlider (EraserSlider) package { import flash.display.*; public dynamic class EraserSlider extends MovieClip { } }//package
Section 196
//FacebookButton (FacebookButton) package { import flash.display.*; public dynamic class FacebookButton extends MovieClip { } }//package
Section 197
//FacebookUploader (FacebookUploader) package { import flash.display.*; import flash.events.*; import flash.utils.*; import com.facebook.data.*; import com.facebook.data.users.*; import com.facebook.utils.*; import com.facebook.events.*; import com.facebook.data.auth.*; import com.facebook.commands.photos.*; import com.facebook.*; import com.facebook.commands.users.*; public class FacebookUploader extends EventDispatcher { private var uploadPhotoButton:Sprite; private var waitTimer:Timer; private var session:FacebookSessionUtil; private var facebookPhotoAlbums:FacebookArrayCollection; private var uploadBitmapData:BitmapData; private var prompedPremissions:Boolean;// = false private var loaderInfo:LoaderInfo; private var facebook:Facebook; public function FacebookUploader(_arg1:LoaderInfo){ waitTimer = new Timer(500); prompedPremissions = false; super(); this.loaderInfo = _arg1; } private function checkLogin(_arg1:TimerEvent):void{ session.validateLogin(); } private function onConnectToFacebook(_arg1:FacebookEvent):void{ if (_arg1.success){ waitTimer.stop(); waitTimer.removeEventListener(TimerEvent.TIMER, checkLogin); getPremissions(); }; } public function executeUpload(_arg1:Event=null, _arg2:String="this image was create with the 'Magnetic draw ap'"){ var _local3:UploadPhoto; _local3 = new UploadPhoto(uploadBitmapData, null, _arg2); _local3.addEventListener(FacebookEvent.COMPLETE, onPhotoUploadStatus, false, 0, true); session.facebook.post(_local3); } private function getPremissions(_arg1:Event=null){ var _local2:HasAppPermission; _local2 = new HasAppPermission(HasAppPermissionValues.PHOTO_UPLOAD); _local2.addEventListener(FacebookEvent.COMPLETE, onPermissionDisclosed, false, 0, true); session.facebook.post(_local2); } private function onPermissionDisclosed(_arg1:FacebookEvent):void{ var _local2:UploadEvent; if (((_arg1.success) && ((_arg1.data as BooleanResultData).value))){ waitTimer.removeEventListener(TimerEvent.TIMER, getPremissions); _local2 = new UploadEvent(UploadEvent.READY_FOR_CONFRIMATION); dispatchEvent(_local2); } else { if (!prompedPremissions){ session.facebook.grantExtendedPermission(ExtendedPermissionValues.PHOTO_UPLOAD); waitTimer = new Timer(500, 0); waitTimer.addEventListener(TimerEvent.TIMER, getPremissions); waitTimer.start(); prompedPremissions = true; }; }; } public function uploadImage(_arg1:BitmapData){ uploadBitmapData = _arg1; session = new FacebookSessionUtil("877fd782d41ccbc54b9722b5557b71fb", "c9695197d41da60893dd8d2b53f590cb", loaderInfo); facebook = session.facebook; session.addEventListener(FacebookEvent.WAITING_FOR_LOGIN, onWaitingForLogin); session.addEventListener(FacebookEvent.CONNECT, onConnectToFacebook); session.login(); } private function onWaitingForLogin(_arg1:FacebookEvent):void{ waitTimer = new Timer(500); waitTimer.addEventListener(TimerEvent.TIMER, checkLogin); waitTimer.start(); } private function onPhotoUploadStatus(_arg1:FacebookEvent):void{ var _local2:UploadEvent; if (_arg1.success){ _local2 = new UploadEvent(UploadEvent.UPLOAD_COMPLETE); dispatchEvent(_local2); }; } } }//package
Section 198
//graphiteBitmapData (graphiteBitmapData) package { import flash.display.*; public dynamic class graphiteBitmapData extends BitmapData { public function graphiteBitmapData(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 199
//HoneyCones (HoneyCones) package { import flash.display.*; public dynamic class HoneyCones extends MovieClip { } }//package
Section 200
//MagneticDrawGame (MagneticDrawGame) package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.printing.*; public class MagneticDrawGame { private const PRINT_MARGIN:int = 50; private var popupConnectionStatus:PopupConnection; private var printButton:Sprite; private var currentBrush:Brush; private var eraser:Eraser; private var penSprite:Sprite; private var target:Sprite; private var drawField:DrawField; private var popupEnterText:PopupEnterText; private var facebookButton:Sprite; private var brushes:Array; private var background:Bitmap; private var uploader:FacebookUploader; private var printInPortraitMode:Boolean; private var sponsorSprite:Sprite; public function MagneticDrawGame(_arg1:Sprite, _arg2:Sprite){ var _local3:Bitmap; var _local4:*; var _local5:*; var _local6:Brush; var _local7:uint; brushes = new Array(); super(); this.target = _arg1; background = new Bitmap(new BackgroundBitmap(0, 0)); _local3 = new Bitmap(new BodyBitmap(0, 0)); _arg1.addChild(background); _arg1.addChild(_local3); drawField = new DrawField(_arg1, 123, 51, 452, 340, null); _arg1.addChild(_arg2); setupDropZones(); penSprite = new PenSprite(); penSprite.x = 70; penSprite.y = 198; _arg1.addChild(penSprite); _local4 = new BrushPen(PenButton3M, 3, PenSprite3M, penSprite); _local5 = new BrushPen(PenButton6M, 6, PenSprite6M, penSprite); _local4.setStartPosition(70, 198); brushes.push(_local4); _local5.setStartPosition(70, 198); brushes.push(_local5); _local6 = new BrushShape(circleStampSprite, new circle_stamp(0, 0)); _local6.setStartPosition(629, 92); brushes.push(_local6); _local6 = new BrushShape(diamondStampSprite, new diamond_stamp(0, 0)); _local6.setStartPosition(631, 180); brushes.push(_local6); _local6 = new BrushShape(triangleStampSprite, new triangle_stamp(0, 0)); _local6.setStartPosition(632, 268); brushes.push(_local6); _local6 = new BrushShape(starStampSprite, new star_stamp(0, 0)); _local6.setStartPosition(629, 349); brushes.push(_local6); _local7 = 0; while (_local7 < brushes.length) { _local6 = brushes[_local7]; _arg1.addChild(_local6); _local7++; }; eraser = new Eraser(_arg1, 135, 430, 562, EraserSlider); eraser.addEventListener(EraserEvents.ERASE_EVENT, drawField.erase); eraser.addEventListener(MouseEvent.CLICK, dropBrush); printButton = new PrintButton(); printButton.x = 70; printButton.y = 358; _arg1.addChild(printButton); facebookButton = new FacebookButton(); facebookButton.x = 70; facebookButton.y = 408; popupEnterText = new PopupEnterText(); popupEnterText.x = (_arg1.stage.width / 2); popupEnterText.y = (_arg1.stage.height / 2); popupEnterText.getCancelButton().addEventListener(MouseEvent.CLICK, cancelUpload); popupConnectionStatus = new PopupConnection(); popupConnectionStatus.x = (_arg1.stage.width / 2); popupConnectionStatus.y = (_arg1.stage.height / 2); popupConnectionStatus.getCancelButton().addEventListener(MouseEvent.CLICK, cancelUpload); enableDrawButtons(); } private function startUpload(_arg1:MouseEvent){ var _local2:BitmapData; disableDrawButtons(); facebookButton.removeEventListener(MouseEvent.CLICK, executeUpload); dropBrush(_arg1); _local2 = new BitmapData(target.width, target.height, false); _local2.draw(target); uploader = new FacebookUploader(target.stage.loaderInfo); uploader.addEventListener(UploadEvent.READY_FOR_CONFRIMATION, readyToUpload); uploader.uploadImage(_local2); popupConnectionStatus.getTopText().htmlText = "<b>connecting to facebook...</b>"; target.addChild(popupConnectionStatus); } public function dropBrush(_arg1:MouseEvent){ if (currentBrush){ currentBrush.mouseEnabled = true; currentBrush.disableBrush(); currentBrush = null; drawField.setBrush(currentBrush); }; } public function disableDrawButtons(){ var _local1:uint; var _local2:Brush; _local1 = 0; while (_local1 < brushes.length) { _local2 = brushes[_local1]; _local2.removeEventListener(MouseEvent.CLICK, selectBrush); _local1++; }; printButton.removeEventListener(MouseEvent.CLICK, print); facebookButton.removeEventListener(MouseEvent.CLICK, startUpload); } public function enableDrawButtons(){ var _local1:uint; var _local2:Brush; _local1 = 0; while (_local1 < brushes.length) { _local2 = brushes[_local1]; _local2.addEventListener(MouseEvent.CLICK, selectBrush); _local1++; }; printButton.addEventListener(MouseEvent.CLICK, print); facebookButton.addEventListener(MouseEvent.CLICK, startUpload); } private function setupDropZones(){ var _local1:Array; var _local2:uint; var _local3:Sprite; _local1 = new Array(); _local1.push(new DropZone(631, 92, 60, 60)); _local1.push(new DropZone(631, 180, 60, 60)); _local1.push(new DropZone(631, 268, 60, 60)); _local1.push(new DropZone(631, 349, 60, 60)); _local1.push(new DropZone(69, 190, 40, 280)); _local2 = 0; while (_local2 < _local1.length) { _local3 = _local1[_local2]; target.addChild(_local3); _local3.addEventListener(MouseEvent.CLICK, dropBrush); _local2++; }; } private function executeUpload(_arg1:MouseEvent){ popupEnterText.getUploadButton().removeEventListener(MouseEvent.CLICK, executeUpload); popupEnterText.getCancelButton().removeEventListener(MouseEvent.CLICK, cancelUpload); uploader.addEventListener(UploadEvent.UPLOAD_COMPLETE, uploadComplete); uploader.executeUpload(_arg1, popupEnterText.getInputField().text); popupEnterText.getTopText().text = "<b>sending...</b>"; popupEnterText.getUploadButton().alpha = 0.5; popupEnterText.getCancelButton().alpha = 0.5; } public function selectBrush(_arg1:MouseEvent){ dropBrush(_arg1); currentBrush = (_arg1.target as Brush); currentBrush.enableBrush(); currentBrush.x = _arg1.stageX; currentBrush.y = _arg1.stageY; drawField.setBrush(currentBrush); } private function uploadComplete(_arg1:UploadEvent){ uploader.removeEventListener(UploadEvent.UPLOAD_COMPLETE, uploadComplete); target.removeChild(popupEnterText); popupEnterText.getTopText().text = "fill in the text below to ad it to the photo"; popupEnterText.getUploadButton().alpha = 1; popupEnterText.getCancelButton().alpha = 1; enableDrawButtons(); } private function readyToUpload(_arg1:UploadEvent){ uploader.removeEventListener(UploadEvent.READY_FOR_CONFRIMATION, readyToUpload); target.removeChild(popupConnectionStatus); target.addChild(popupEnterText); popupEnterText.getTopText().htmlText = "<b>photo description</b>"; popupEnterText.getUploadButton().alpha = 1; popupEnterText.getUploadButton().addEventListener(MouseEvent.CLICK, executeUpload); popupEnterText.getInputField().text = "This picture is created with Magnetic draw"; } private function cancelUpload(_arg1:MouseEvent){ uploader.removeEventListener(UploadEvent.READY_FOR_CONFRIMATION, readyToUpload); uploader.removeEventListener(UploadEvent.UPLOAD_COMPLETE, uploadComplete); popupEnterText.getUploadButton().removeEventListener(MouseEvent.CLICK, executeUpload); popupEnterText.getCancelButton().removeEventListener(MouseEvent.CLICK, cancelUpload); if (popupEnterText.parent){ target.removeChild(popupEnterText); }; if (popupConnectionStatus.parent){ target.removeChild(popupConnectionStatus); }; enableDrawButtons(); } private function print(_arg1:MouseEvent){ var _local2:PrintJobOptions; var _local3:PrintJob; var _local4:Boolean; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Rectangle; dropBrush(_arg1); _local2 = new PrintJobOptions(); _local2.printAsBitmap = true; _local3 = new PrintJob(); _local4 = _local3.start(); if (_local4){ _local5 = (_local3.paperWidth / target.width); target.scaleX = _local5; target.scaleY = _local5; background.visible = false; _local6 = ((_local3.paperWidth - target.width) / 2); _local7 = ((_local3.paperHeight - target.height) / 2); _local8 = new Rectangle(-(_local6), -(_local7), 1000, 1000); _local3.addPage(target, _local8, _local2, 0); target.scaleX = 1; target.scaleY = 1; background.visible = true; _local3.send(); SpilSingleton.instance.getAward(Awards.PRINTED_FILE); }; } } }//package
Section 201
//Main (Main) package { import flash.display.*; import flash.events.*; import flash.text.*; import spill.localisation.*; import flash.utils.*; import flash.net.*; public class Main extends Sprite { private const EDURANCE_TIME:int = 900000; private var eduranceTimer:Timer; private var splashMenu:SplashSprite; private var preloaderText:TextField; private var game:MagneticDrawGame; public function Main(){ splashMenu = new SplashSprite(); super(); startPreloader(); } private function handleSpilGamesButtonClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getSpilCompanyLink())); } public function init(){ var _local1:BrandingLogo; var _local2:SpilGamesLink; var _local3:LanguageSelectBox; SpilSingleton.instance.target = this; addChild(splashMenu); splashMenu.x = (stage.stageWidth / 2); splashMenu.y = (stage.stageHeight / 2); SpilGame.initialize("Magnetic Draw", PortalGroup.FAMILY, "info@triangle-studios.com", this, true); _local1 = new BrandingLogo(); _local1.x = 132; _local1.y = 16; _local1.mouseEnabled = (_local1.buttonMode = (_local1.useHandCursor = true)); _local1.addEventListener(MouseEvent.CLICK, handleBrandingLogoClicked); _local2 = new SpilGamesLink(); _local2.x = -71; _local2.y = 126; _local2.addEventListener(MouseEvent.CLICK, handleSpilGamesButtonClicked); splashMenu.addChild(_local2); _local3 = new LanguageSelectBox(); _local3.x = 180; _local3.y = -220; splashMenu.addChild(_local3); _local3.popupLocation = "bottom"; splashMenu.startGame_btn.addEventListener(MouseEvent.CLICK, startGame); } public function startPreloader(){ this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, PL_LOADING); preloaderText = new TextField(); preloaderText.x = (this.width / 2); preloaderText.y = (this.height / 2); this.addChild(preloaderText); } private function enduranceComplete(_arg1:TimerEvent):void{ SpilSingleton.instance.getAward(Awards.ENDURANCE); eduranceTimer.stop(); eduranceTimer.removeEventListener(TimerEvent.TIMER, enduranceComplete); } private function startGame(_arg1:Event=null){ var _local2:HoneyCones; removeChild(splashMenu); _local2 = new HoneyCones(); _local2.mouseEnabled = false; _local2.x = 114; _local2.y = 24; game = new MagneticDrawGame(this, _local2); eduranceTimer = new Timer(EDURANCE_TIME, 1); eduranceTimer.addEventListener(TimerEvent.TIMER, enduranceComplete); eduranceTimer.start(); } private function handleBrandingLogoClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest(SpilGame.getMoreGamesLink("Mainscreen")), "_blank"); } function PL_LOADING(_arg1:ProgressEvent):void{ var _local2:Number; _local2 = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100); preloaderText.text = (_local2 + "%"); if (_local2 == 100){ this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, PL_LOADING); this.removeChild(preloaderText); init(); }; } } }//package
Section 202
//NoButton (NoButton) package { import flash.display.*; public dynamic class NoButton extends Sprite { } }//package
Section 203
//PenButton3M (PenButton3M) package { import flash.display.*; public dynamic class PenButton3M extends Sprite { } }//package
Section 204
//PenButton6M (PenButton6M) package { import flash.display.*; public dynamic class PenButton6M extends Sprite { } }//package
Section 205
//PenSprite (PenSprite) package { import flash.display.*; public dynamic class PenSprite extends Sprite { } }//package
Section 206
//PenSprite3M (PenSprite3M) package { import flash.display.*; public dynamic class PenSprite3M extends Sprite { } }//package
Section 207
//PenSprite6M (PenSprite6M) package { import flash.display.*; public dynamic class PenSprite6M extends Sprite { } }//package
Section 208
//PopupConnection (PopupConnection) package { import flash.display.*; import flash.text.*; public class PopupConnection extends Sprite { public var topText:TextField; public var cancelButton:NoButton; public function getTopText():TextField{ return (topText); } public function getCancelButton():Sprite{ return (cancelButton); } } }//package
Section 209
//PopupEnterText (PopupEnterText) package { import flash.display.*; import flash.text.*; public class PopupEnterText extends Sprite { public var topText:TextField; public var cancelButton:NoButton; public var inputField:TextField; public var uploadButton:YesButton; public function getTopText():TextField{ return (topText); } public function getUploadButton():Sprite{ return (uploadButton); } public function getInputField():TextField{ return (inputField); } public function getCancelButton():Sprite{ return (cancelButton); } } }//package
Section 210
//PrintButton (PrintButton) package { import flash.display.*; public dynamic class PrintButton extends MovieClip { } }//package
Section 211
//ShareBitmapData (ShareBitmapData) package { import flash.display.*; public dynamic class ShareBitmapData extends BitmapData { public function ShareBitmapData(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 212
//ShareButton (ShareButton) package { import flash.display.*; public dynamic class ShareButton extends MovieClip { } }//package
Section 213
//SpilSingleton (SpilSingleton) package { import flash.display.*; import flash.events.*; import com.spilgames.api.*; public class SpilSingleton { private var _spilGamesServices:SpilGamesServices; private var awardString:String; private var _target:DisplayObjectContainer; private var scoreInt:int; private static var _instance:SpilSingleton; private static var allowInstalation:Boolean = false; public function SpilSingleton(){ if (allowInstalation){ } else { trace("instalation not allowed"); }; } public function set target(_arg1:DisplayObjectContainer){ _target = _arg1; } private function submitAward(_arg1:Event=null){ trace("submitting award"); if (_spilGamesServices.isDomainAllowed()){ AwardsService.submitAward(awardString); }; } private function onServicesReady(_arg1:Event):void{ trace("The Submitter is ready to be used."); trace(_spilGamesServices.isDomainAllowed()); } private function onServicesFailed(_arg1:Event):void{ trace("Submitter failed to load"); trace(_spilGamesServices.isDomainAllowed()); } public function connect(_arg1:Function=null, _arg2:Function=null){ if (_arg1 == null){ _arg1 = onServicesReady; }; if (_arg2 == null){ _arg2 = onServicesFailed; }; _spilGamesServices = SpilGamesServices.getInstance(); _spilGamesServices.addEventListener("servicesReady", _arg1); _spilGamesServices.addEventListener("servicesFailed", _arg2); _spilGamesServices.connect(_target); } public function placeScore(_arg1:int){ scoreInt = _arg1; connect(submitScore); } private function submitScore(_arg1:Event=null){ trace("submitting score"); if (_spilGamesServices.isDomainAllowed()){ ScoreService.submitScore(scoreInt); }; } public function getAward(_arg1:String){ trace("getting award"); awardString = _arg1; connect(submitAward); } public static function get instance():SpilSingleton{ if (!_instance){ allowInstalation = true; _instance = new (SpilSingleton); allowInstalation = false; }; return (_instance); } } }//package
Section 214
//SpilSprite (SpilSprite) package { import flash.display.*; public dynamic class SpilSprite extends MovieClip { } }//package
Section 215
//SplashSprite (SplashSprite) package { import flash.display.*; public dynamic class SplashSprite extends Sprite { public var startGame_btn:MovieClip; } }//package
Section 216
//star_stamp (star_stamp) package { import flash.display.*; public dynamic class star_stamp extends BitmapData { public function star_stamp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 217
//starStampSprite (starStampSprite) package { import flash.display.*; public dynamic class starStampSprite extends MovieClip { } }//package
Section 218
//triangle_stamp (triangle_stamp) package { import flash.display.*; public dynamic class triangle_stamp extends BitmapData { public function triangle_stamp(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 219
//triangleStampSprite (triangleStampSprite) package { import flash.display.*; public dynamic class triangleStampSprite extends Sprite { } }//package
Section 220
//UploadEvent (UploadEvent) package { import flash.events.*; public class UploadEvent extends Event { public static const READY_FOR_CONFRIMATION:String = "connectedToFacebook"; public static const UPLOAD_COMPLETE:String = "uploadComplete"; public function UploadEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function toString():String{ return (formatToString("UploadEvent", "type", "bubbles", "cancelable", "eventPhase")); } override public function clone():Event{ return (new UploadEvent(type, bubbles, cancelable)); } } }//package
Section 221
//YesButton (YesButton) package { import flash.display.*; public dynamic class YesButton extends Sprite { } }//package

Library Items

Symbol 1 Bitmap {triangle_stamp}
Symbol 2 Bitmap {star_stamp}
Symbol 3 Bitmap {diamond_stamp}
Symbol 4 Bitmap {circle_stamp}
Symbol 5 Bitmap {BodyBitmap}
Symbol 6 Bitmap {BackgroundBitmap}
Symbol 7 GraphicUsed by:8
Symbol 8 MovieClipUses:7Used by:9 10
Symbol 9 MovieClip {spill.localisation.LocalizedTextField}Uses:8
Symbol 10 MovieClip {spill.localisation.LanguageSelectBox}Uses:8
Symbol 11 FontUsed by:12 14
Symbol 12 TextUses:11Used by:15
Symbol 13 GraphicUsed by:15
Symbol 14 TextUses:11Used by:15
Symbol 15 Button {spill.localisation.SpilGamesLink}Uses:12 13 14
Symbol 16 GraphicUsed by:19
Symbol 17 GraphicUsed by:19
Symbol 18 GraphicUsed by:19
Symbol 19 ButtonUses:16 17 18Used by:48
Symbol 20 GraphicUsed by:48 55
Symbol 21 GraphicUsed by:45
Symbol 22 GraphicUsed by:45
Symbol 23 GraphicUsed by:45
Symbol 24 GraphicUsed by:45
Symbol 25 GraphicUsed by:45
Symbol 26 GraphicUsed by:45
Symbol 27 GraphicUsed by:45
Symbol 28 GraphicUsed by:45
Symbol 29 GraphicUsed by:45
Symbol 30 GraphicUsed by:45
Symbol 31 GraphicUsed by:45
Symbol 32 GraphicUsed by:45
Symbol 33 GraphicUsed by:45
Symbol 34 GraphicUsed by:45
Symbol 35 GraphicUsed by:45
Symbol 36 GraphicUsed by:45
Symbol 37 GraphicUsed by:45
Symbol 38 GraphicUsed by:45
Symbol 39 GraphicUsed by:45
Symbol 40 GraphicUsed by:45
Symbol 41 BitmapUsed by:42
Symbol 42 GraphicUses:41Used by:45
Symbol 43 BitmapUsed by:44
Symbol 44 GraphicUses:43Used by:45
Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94}Uses:21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 44Used by:48 55
Symbol 46 FontUsed by:47
Symbol 47 EditableTextUses:46Used by:48
Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}Uses:19 20 45 47Used by:51
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:51
Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc}Uses:48 50
Symbol 52 GraphicUsed by:55
Symbol 53 FontUsed by:54
Symbol 54 EditableTextUses:53Used by:55
Symbol 55 MovieClip {spill.localisation.LanguageSelectBox_mc}Uses:52 54 20 45
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClip {BlueBox}Uses:56
Symbol 58 BitmapUsed by:59
Symbol 59 GraphicUses:58Used by:60
Symbol 60 MovieClip {HoneyCones}Uses:59
Symbol 61 BitmapUsed by:62
Symbol 62 GraphicUses:61Used by:63
Symbol 63 MovieClip {EraserSlider}Uses:62
Symbol 64 BitmapUsed by:65
Symbol 65 GraphicUses:64Used by:66
Symbol 66 MovieClip {circleStampSprite}Uses:65
Symbol 67 BitmapUsed by:68
Symbol 68 GraphicUses:67Used by:69
Symbol 69 MovieClip {starStampSprite}Uses:68
Symbol 70 BitmapUsed by:71
Symbol 71 GraphicUses:70Used by:72
Symbol 72 MovieClip {triangleStampSprite}Uses:71
Symbol 73 BitmapUsed by:74
Symbol 74 GraphicUses:73Used by:75
Symbol 75 MovieClip {diamondStampSprite}Uses:74
Symbol 76 Bitmap {graphiteBitmapData}Used by:77
Symbol 77 MovieClip {BG}Uses:76
Symbol 78 BitmapUsed by:79 81 83
Symbol 79 GraphicUses:78Used by:80
Symbol 80 MovieClip {PenSprite6M}Uses:79
Symbol 81 GraphicUses:78Used by:82
Symbol 82 MovieClip {PenSprite3M}Uses:81
Symbol 83 GraphicUses:78Used by:84
Symbol 84 MovieClip {PenSprite}Uses:83
Symbol 85 GraphicUsed by:86 87
Symbol 86 MovieClip {PenButton3M}Uses:85
Symbol 87 MovieClip {PenButton6M}Uses:85
Symbol 88 BitmapUsed by:89
Symbol 89 GraphicUses:88Used by:90
Symbol 90 MovieClip {FacebookButton}Uses:89
Symbol 91 BitmapUsed by:92
Symbol 92 GraphicUses:91Used by:93
Symbol 93 MovieClip {PrintButton}Uses:92
Symbol 94 Bitmap {ShareBitmapData}Used by:95
Symbol 95 MovieClip {ShareButton}Uses:94
Symbol 96 BitmapUsed by:97
Symbol 97 GraphicUses:96Used by:98
Symbol 98 MovieClip {SpilSprite}Uses:97
Symbol 99 BitmapUsed by:100
Symbol 100 GraphicUses:99Used by:106
Symbol 101 BitmapUsed by:102
Symbol 102 GraphicUses:101Used by:103
Symbol 103 MovieClip {NoButton}Uses:102Used by:106 115
Symbol 104 FontUsed by:105 114
Symbol 105 EditableTextUses:104Used by:106
Symbol 106 MovieClip {PopupConnection}Uses:100 103 105
Symbol 107 BitmapUsed by:108
Symbol 108 GraphicUses:107Used by:109
Symbol 109 MovieClip {YesButton}Uses:108Used by:115
Symbol 110 BitmapUsed by:111
Symbol 111 GraphicUses:110Used by:115
Symbol 112 FontUsed by:113
Symbol 113 EditableTextUses:112Used by:115
Symbol 114 EditableTextUses:104Used by:115
Symbol 115 MovieClip {PopupEnterText}Uses:111 109 103 113 114
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClipUses:116Used by:118
Symbol 118 MovieClipUses:117Used by:246
Symbol 119 GraphicUsed by:130
Symbol 120 GraphicUsed by:130
Symbol 121 GraphicUsed by:130
Symbol 122 GraphicUsed by:130
Symbol 123 GraphicUsed by:130
Symbol 124 GraphicUsed by:130
Symbol 125 GraphicUsed by:130
Symbol 126 GraphicUsed by:130
Symbol 127 GraphicUsed by:130
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClipUses:128Used by:130
Symbol 130 MovieClipUses:119 120 121 122 123 124 125 126 127 129Used by:246
Symbol 131 GraphicUsed by:132
Symbol 132 MovieClipUses:131Used by:246
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClipUses:133Used by:246
Symbol 135 GraphicUsed by:136
Symbol 136 MovieClipUses:135Used by:246
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClipUses:137Used by:246
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClipUses:139Used by:246
Symbol 141 GraphicUsed by:142
Symbol 142 MovieClipUses:141Used by:246
Symbol 143 GraphicUsed by:144
Symbol 144 MovieClipUses:143Used by:246
Symbol 145 GraphicUsed by:146
Symbol 146 MovieClipUses:145Used by:246
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:246
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:149Used by:246
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:246
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:246
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClipUses:155Used by:246
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:157Used by:246
Symbol 159 GraphicUsed by:160
Symbol 160 MovieClipUses:159Used by:161
Symbol 161 MovieClipUses:160Used by:246
Symbol 162 GraphicUsed by:163
Symbol 163 MovieClipUses:162Used by:164
Symbol 164 MovieClipUses:163Used by:246
Symbol 165 GraphicUsed by:166
Symbol 166 MovieClipUses:165Used by:167
Symbol 167 MovieClipUses:166Used by:246
Symbol 168 GraphicUsed by:169
Symbol 169 MovieClipUses:168Used by:170
Symbol 170 MovieClipUses:169Used by:246
Symbol 171 GraphicUsed by:172
Symbol 172 MovieClipUses:171Used by:173
Symbol 173 MovieClipUses:172Used by:246
Symbol 174 GraphicUsed by:175
Symbol 175 MovieClipUses:174Used by:176
Symbol 176 MovieClipUses:175Used by:246
Symbol 177 GraphicUsed by:178
Symbol 178 MovieClipUses:177Used by:179
Symbol 179 MovieClipUses:178Used by:246
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:180Used by:182
Symbol 182 MovieClipUses:181Used by:246
Symbol 183 GraphicUsed by:184
Symbol 184 MovieClipUses:183Used by:185
Symbol 185 MovieClipUses:184Used by:246
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClipUses:186Used by:188
Symbol 188 MovieClipUses:187Used by:246
Symbol 189 GraphicUsed by:190
Symbol 190 MovieClipUses:189Used by:191
Symbol 191 MovieClipUses:190Used by:246
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClipUses:192Used by:194
Symbol 194 MovieClipUses:193Used by:246
Symbol 195 GraphicUsed by:196
Symbol 196 MovieClipUses:195Used by:197
Symbol 197 MovieClipUses:196Used by:246
Symbol 198 GraphicUsed by:199
Symbol 199 MovieClipUses:198Used by:246
Symbol 200 GraphicUsed by:201
Symbol 201 MovieClipUses:200Used by:246
Symbol 202 GraphicUsed by:203
Symbol 203 MovieClipUses:202Used by:246
Symbol 204 GraphicUsed by:205
Symbol 205 MovieClipUses:204Used by:246
Symbol 206 GraphicUsed by:207
Symbol 207 MovieClipUses:206Used by:246
Symbol 208 GraphicUsed by:209
Symbol 209 MovieClipUses:208Used by:246
Symbol 210 GraphicUsed by:211
Symbol 211 MovieClipUses:210Used by:246
Symbol 212 GraphicUsed by:213
Symbol 213 MovieClipUses:212Used by:246
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:214Used by:246
Symbol 216 BitmapUsed by:217
Symbol 217 GraphicUses:216Used by:218
Symbol 218 MovieClipUses:217Used by:246
Symbol 219 BitmapUsed by:220
Symbol 220 GraphicUses:219Used by:221
Symbol 221 MovieClipUses:220Used by:246
Symbol 222 GraphicUsed by:223
Symbol 223 MovieClipUses:222Used by:246
Symbol 224 GraphicUsed by:225
Symbol 225 MovieClipUses:224Used by:246
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClipUses:226Used by:246
Symbol 228 GraphicUsed by:229
Symbol 229 MovieClipUses:228Used by:246
Symbol 230 GraphicUsed by:231
Symbol 231 MovieClipUses:230Used by:232
Symbol 232 MovieClipUses:231Used by:246
Symbol 233 GraphicUsed by:234
Symbol 234 MovieClipUses:233Used by:246
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:235Used by:246
Symbol 237 GraphicUsed by:238
Symbol 238 MovieClipUses:237Used by:246
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClipUses:239Used by:241
Symbol 241 MovieClipUses:240Used by:246
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClipUses:242Used by:246
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClipUses:244Used by:246
Symbol 246 MovieClip {spill.localisation.BrandingLogo}Uses:118 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 161 164 167 170 173 176 179 182 185 188 191 194 197 199 201 203 205 207 209 211 213 215 218 221 223 225 227 229 232 234 236 238 241 243 245Used by:252
Symbol 247 BitmapUsed by:248
Symbol 248 GraphicUses:247Used by:252
Symbol 249 BitmapUsed by:250
Symbol 250 GraphicUses:249Used by:251
Symbol 251 MovieClipUses:250Used by:252
Symbol 252 MovieClip {SplashSprite}Uses:248 246 251

Instance Names

"flag"Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96} Frame 1Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94}
"text"Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96} Frame 1Symbol 47 EditableText
"l_de"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_en_us"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_fr"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_it"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_nl"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_pl"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_es_mx"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_br"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_cn"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_en_uk"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_es"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_id"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_jp"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_pt"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_ar"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_in"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_es_ar"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_se"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"l_ru"Symbol 51 MovieClip {spill.localisation.LanguageSelectPopup_mc} Frame 1Symbol 48 MovieClip {MagneticDrawFlash_fla.l_br_96}
"languageName_text"Symbol 55 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 54 EditableText
"flag"Symbol 55 MovieClip {spill.localisation.LanguageSelectBox_mc} Frame 1Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94}
"cancelButton"Symbol 106 MovieClip {PopupConnection} Frame 1Symbol 103 MovieClip {NoButton}
"topText"Symbol 106 MovieClip {PopupConnection} Frame 1Symbol 105 EditableText
"uploadButton"Symbol 115 MovieClip {PopupEnterText} Frame 1Symbol 109 MovieClip {YesButton}
"cancelButton"Symbol 115 MovieClip {PopupEnterText} Frame 1Symbol 103 MovieClip {NoButton}
"inputField"Symbol 115 MovieClip {PopupEnterText} Frame 1Symbol 113 EditableText
"topText"Symbol 115 MovieClip {PopupEnterText} Frame 1Symbol 114 EditableText
"startGame_btn"Symbol 252 MovieClip {SplashSprite} Frame 1Symbol 251 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access network only, Metadata not present, AS3.

Labels

"br"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 1
"nl"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 2
"cn"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 3
"de"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 4
"es"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 5
"fr"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 6
"in"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 7
"it"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 8
"jp"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 9
"my"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 10
"ph"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 11
"pl"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 12
"pt"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 13
"ru"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 14
"se"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 15
"tr"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 16
"en_uk"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 17
"en_us"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 18
"id"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 19
"ar"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 20
"es_mx"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 21
"es_ar"Symbol 45 MovieClip {MagneticDrawFlash_fla.flag_icon_94} Frame 22
"www.agame.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 1
"www.game.com.cn"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 2
"www.zapjuegos.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 3
"www.spel.nl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 4
"www.jeu.fr"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 5
"www.spielen.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 6
"www.clickjogos.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 7
"www.giocaregratis.it"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 8
"www.spel.se"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 9
"www.mygames.co.uk"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 10
"www.flashgames.ru"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 11
"www.game.co.in"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 12
"www.games.co.id"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 13
"www.minigry.pl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 14
"www.asoyun.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 15
"www.game.com.my"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 16
"www.gamesgames.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 17
"www.spelletjes.nl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 18
"www.jeux.fr"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 19
"www.jetztspielen.de"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 20
"www.gry.pl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 21
"www.spela.se"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 22
"www.gioco.it"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 23
"www.juegos.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 24
"www.juegos.mx"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 25
"www.juegos.com.ar"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 26
"www.ojogos.com.br"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 27
"www.ourgames.ru"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 28
"www.games.co.uk"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 29
"www.oyunlar123.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 30
"www.girlsgogames.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 31
"www.girlsgogames.in"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 32
"www.girlsgogamestr.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 33
"www.girlsgogames.com.br"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 34
"www.girlsgogames.fr"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 35
"www.girlsgogames.co.uk"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 36
"www.girlsgogames.de"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 37
"www.girlsgogames.pl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 38
"www.girlsgogames.ru"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 39
"www.juegosdechicas.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 40
"www.juegosdechicas.com.ar"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 41
"www.juegosdechicas.mx"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 42
"www.girlsgogames.it"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 43
"www.girlsgogames.es"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 44
"www.girlsgogames.nl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 45
"www.girlsgogames.se"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 46
"www.ojogos.pt"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 47
"www.laro.com.ph"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 48
"www.egames.jp"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 49
"www.a10.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 50
"www.dailygame.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 51
"www.zapapa.com"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 52
"www.zapapa.nl"Symbol 246 MovieClip {spill.localisation.BrandingLogo} Frame 53




http://swfchan.com/27/132982/info.shtml
Created: 17/2 -2019 04:21:41 Last modified: 17/2 -2019 04:21:41 Server time: 29/04 -2024 11:11:19