Section 1
//JSON (com.adobe.serialization.json.JSON)
package com.adobe.serialization.json {
public class JSON {
public static function encode(_arg1:Object):String{
var _local2:JSONEncoder = new JSONEncoder(_arg1);
return (_local2.getString());
}
public static function decode(_arg1:String){
var _local2:JSONDecoder = new JSONDecoder(_arg1);
return (_local2.getValue());
}
}
}//package com.adobe.serialization.json
Section 2
//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();
}
public function getValue(){
return (value);
}
private function nextToken():JSONToken{
return ((token = tokenizer.getNextToken()));
}
private function parseArray():Array{
var _local1:Array = 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);
}
private function parseObject():Object{
var _local2:String;
var _local1:Object = 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 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 3
//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);
}
public function getString():String{
return (jsonString);
}
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 _local3:String;
var _local6:String;
var _local7:String;
var _local2 = "";
var _local4:Number = _arg1.length;
var _local5:int;
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 arrayToString(_arg1:Array):String{
var _local2 = "";
var _local3:int;
while (_local3 < _arg1.length) {
if (_local2.length > 0){
_local2 = (_local2 + ",");
};
_local2 = (_local2 + convertToString(_arg1[_local3]));
_local3++;
};
return ((("[" + _local2) + "]"));
}
private function objectToString(_arg1:Object):String{
var value:Object;
var key:String;
var v:XML;
var o = _arg1;
var s = "";
var classInfo:XML = 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) + "}"));
}
}
}//package com.adobe.serialization.json
Section 4
//JSONParseError (com.adobe.serialization.json.JSONParseError)
package com.adobe.serialization.json {
public class JSONParseError extends Error {
private var _location:int;
private var _text:String;
public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){
super(_arg1);
name = "JSONParseError";
_location = _arg2;
_text = _arg3;
}
public function get location():int{
return (_location);
}
public function get text():String{
return (_text);
}
}
}//package com.adobe.serialization.json
Section 5
//JSONToken (com.adobe.serialization.json.JSONToken)
package com.adobe.serialization.json {
public class JSONToken {
private var _type:int;
private var _value:Object;
public function JSONToken(_arg1:int=-1, _arg2:Object=null){
_type = _arg1;
_value = _arg2;
}
public function get type():int{
return (_type);
}
public function set type(_arg1:int):void{
_type = _arg1;
}
public function get value():Object{
return (_value);
}
public function set value(_arg1:Object):void{
_value = _arg1;
}
}
}//package com.adobe.serialization.json
Section 6
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer)
package com.adobe.serialization.json {
public class JSONTokenizer {
private var obj:Object;
private var jsonString:String;
private var loc:int;
private var ch:String;
public function JSONTokenizer(_arg1:String){
jsonString = _arg1;
loc = 0;
nextChar();
}
public function getNextToken():JSONToken{
var _local2:String;
var _local3:String;
var _local4:String;
var _local1:JSONToken = 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 readString():JSONToken{
var _local3:String;
var _local4:int;
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.STRING;
var _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);
}
private function readNumber():JSONToken{
var _local1:JSONToken = new JSONToken();
_local1.type = JSONTokenType.NUMBER;
var _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();
};
};
var _local3:Number = 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++)));
}
private function skipIgnored():void{
var _local1:int;
do {
_local1 = loc;
skipWhite();
skipComments();
} while (_local1 != loc);
}
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 skipWhite():void{
while (isWhiteSpace(ch)) {
nextChar();
};
}
private function isWhiteSpace(_arg1:String):Boolean{
return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r"))));
}
private function isDigit(_arg1:String):Boolean{
return ((((_arg1 >= "0")) && ((_arg1 <= "9"))));
}
private function isHexDigit(_arg1:String):Boolean{
var _local2:String = _arg1.toUpperCase();
return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F"))))));
}
public function parseError(_arg1:String):void{
throw (new JSONParseError(_arg1, loc, jsonString));
}
}
}//package com.adobe.serialization.json
Section 7
//JSONTokenType (com.adobe.serialization.json.JSONTokenType)
package com.adobe.serialization.json {
public class JSONTokenType {
public static const UNKNOWN:int = -1;
public static const COMMA:int = 0;
public static const LEFT_BRACE:int = 1;
public static const RIGHT_BRACE:int = 2;
public static const LEFT_BRACKET:int = 3;
public static const RIGHT_BRACKET:int = 4;
public static const COLON:int = 6;
public static const TRUE:int = 7;
public static const FALSE:int = 8;
public static const NULL:int = 9;
public static const STRING:int = 10;
public static const NUMBER:int = 11;
}
}//package com.adobe.serialization.json
Section 8
//AkamaiEnhancedNetStream (com.akamai.AkamaiEnhancedNetStream)
package com.akamai {
import flash.events.*;
import flash.net.*;
import flash.media.*;
public class AkamaiEnhancedNetStream extends NetStream {
private const OFFSET_PARAM:String = "aktimeoffset";
private const ID_PARAM:String = "aksessionid";
public const STATE_WAITING:String = "WAITING";
public const STATE_BUFFERING:String = "BUFFERING";
public const STATE_PLAYING:String = "PLAYING";
public const STATE_PAUSED:String = "PAUSED";
public const STATE_STOPPED:String = "STOPPED";
public const STATE_ENDED:String = "ENDED";
public const STATE_SEEKING:String = "SEEKING";
public const STATE_FAILED:String = "FAILED";
private var _baseUrl:String;
private var _id:String;
private var _usingCustomID:Boolean;
private var _clientProxy:Object;
private var _duration:Number;
private var _segmentDuration:Number;
private var _segmentStartTime:Number;
private var _state:String;
private var _stopOnPause:Boolean;
private var _playState:String;
private var _lastReferenceTime:Number;
private var _width:Number;
private var _height:Number;
private var _volLevel:Number;
private var _jpnEnabled:Boolean;
public function AkamaiEnhancedNetStream(_arg1:NetConnection){
super(_arg1);
init();
}
public function get state():String{
return (_state);
}
public function get sessionID():String{
return (_id);
}
public function get duration():Number{
return (_duration);
}
public function get bytesLoadRatio():Number{
return ((super.bytesLoaded / super.bytesTotal));
}
public function get segmentLoadRatio():Number{
return (((_state == STATE_STOPPED)) ? 0 : ((super.bytesLoaded * (_duration - _segmentStartTime)) / (_duration * super.bytesTotal)));
}
public function get segmentStartTime():Number{
return (_segmentStartTime);
}
public function get segmentDuration():Number{
return (_segmentDuration);
}
public function set customSessionID(_arg1:String):void{
_usingCustomID = !((_arg1 == ""));
_id = _arg1;
}
public function get stopOnPause():Boolean{
return (_stopOnPause);
}
public function set stopOnPause(_arg1:Boolean):void{
_stopOnPause = _arg1;
}
override public function set client(_arg1:Object):void{
_clientProxy = _arg1;
}
public function get timeAsTimeCode():String{
if (((_stopOnPause) && ((_state == STATE_STOPPED)))){
return (timeCode(_lastReferenceTime));
};
return ((isNaN(super.time)) ? timeCode(0) : timeCode(super.time));
}
public function get durationAsTimeCode():String{
return ((isNaN(_duration)) ? timeCode(0) : timeCode(_duration));
}
public function convertToTimeCode(_arg1:Number):String{
return (timeCode(_arg1));
}
public function get width():Number{
return (_width);
}
public function get height():Number{
return (_height);
}
override public function get time():Number{
if (((_stopOnPause) && ((_state == STATE_STOPPED)))){
return (_lastReferenceTime);
};
return (super.time);
}
public function get jpnEnabled():Boolean{
return (_jpnEnabled);
}
public function set jpnEnabled(_arg1:Boolean):void{
_jpnEnabled = _arg1;
}
override public function play(... _args):void{
_baseUrl = _args[0];
if (!_usingCustomID){
_id = generateID();
};
_args[0] = buildRequest();
_playState = STATE_PLAYING;
super.play.apply(this, _args);
}
override public function pause():void{
if (_stopOnPause){
updateState(STATE_STOPPED);
_playState = STATE_STOPPED;
_lastReferenceTime = super.time;
super.close();
} else {
_playState = STATE_PAUSED;
updateState(STATE_PAUSED);
super.pause();
};
}
override public function resume():void{
_playState = STATE_PLAYING;
if (_stopOnPause){
super.play(buildRequest(_lastReferenceTime));
} else {
updateState(STATE_PLAYING);
super.resume();
};
}
override public function seek(_arg1:Number):void{
var _local2:Number = (((super.bytesLoaded / super.bytesTotal) * (_duration - _segmentStartTime)) + _segmentStartTime);
if ((((((_arg1 < _local2)) && ((_arg1 > _segmentStartTime)))) && (!((_state == STATE_STOPPED))))){
super.seek(_arg1);
} else {
super.play(buildRequest(_arg1));
if ((((_state == STATE_PAUSED)) || ((_state == STATE_STOPPED)))){
_volLevel = ((_state == STATE_PAUSED)) ? super.soundTransform.volume : _volLevel;
super.soundTransform = new SoundTransform(0);
};
};
updateState(STATE_SEEKING);
}
private function init():void{
_usingCustomID = false;
_clientProxy = null;
_state = STATE_WAITING;
_volLevel = 1;
this.addEventListener(NetStatusEvent.NET_STATUS, handleNetStatus);
this.addEventListener(AsyncErrorEvent.ASYNC_ERROR, function (_arg1:AsyncErrorEvent){
});
}
private function handleNetStatus(_arg1:NetStatusEvent):void{
switch (_arg1.info.code){
case "NetStream.Play.StreamNotFound":
updateState(STATE_FAILED);
break;
case "NetStream.Play.Start":
updateState(STATE_BUFFERING);
break;
case "NetStream.Buffer.Empty":
if (((!((_playState == STATE_PAUSED))) && (!((_state == STATE_ENDED))))){
updateState(STATE_BUFFERING);
};
break;
case "NetStream.Buffer.Full":
if (((_stopOnPause) && ((((_playState == STATE_PAUSED)) || ((_playState == STATE_STOPPED)))))){
_lastReferenceTime = super.time;
super.close();
} else {
if (_playState == STATE_PAUSED){
super.pause();
super.soundTransform = new SoundTransform(_volLevel);
} else {
if (_playState == STATE_PLAYING){
super.soundTransform = new SoundTransform(_volLevel);
};
};
};
updateState(_playState);
break;
case "NetStream.Seek.Notify":
updateState(((_playState)!=STATE_PAUSED) ? STATE_SEEKING : STATE_PAUSED);
break;
case "NetStream.Play.Stop":
updateState(STATE_ENDED);
};
}
private function updateState(_arg1:String):void{
if (_arg1 != _state){
_state = _arg1;
this.dispatchEvent(new NetStatusEvent("stateChange", false, false, _state));
};
}
public function onMetaData(... _args):void{
var _local2:Object = _args[0];
if (!isNaN(Number(_local2["aktimeoffset"]))){
_segmentStartTime = Number(_local2["aktimeoffset"]);
_segmentDuration = Number(_local2["duration"]);
_duration = Number(_local2["akparentplaytime"]);
} else {
_segmentStartTime = 0;
_duration = (_segmentDuration = Number(_local2["duration"]));
};
if (!isNaN(Number(_local2["width"]))){
_width = Number(_local2["width"]);
};
if (!isNaN(Number(_local2["height"]))){
_height = Number(_local2["height"]);
};
if (_clientProxy != null){
_clientProxy.onMetaData.apply(this, _args);
};
}
public function onCuePoint(... _args):void{
if (_clientProxy != null){
_clientProxy.onCuePoint.apply(this, _args);
};
}
public function onImageData(... _args):void{
if (_clientProxy != null){
_clientProxy.onImageData.apply(this, _args);
};
}
public function onTextData(... _args):void{
if (_clientProxy != null){
_clientProxy.onTextData.apply(this, _args);
};
}
private function buildRequest(_arg1:Number=0):String{
return ((_baseUrl + (jpnEnabled) ? ((((((_baseUrl.indexOf("?") == -1)) ? "?" : "&" + ID_PARAM) + "=") + _id) + ((_arg1)!=0) ? ((("&" + OFFSET_PARAM) + "=") + _arg1) : "") : ""));
}
private function generateID():String{
return (((new Date().time.toString() + "_") + Math.round((Math.random() * 1000000)).toString()));
}
private function timeCode(_arg1:Number):String{
var _local2:Number = Math.floor((_arg1 / 3600));
var _local3:Number = Math.floor(((_arg1 % 3600) / 60));
var _local4:Number = Math.floor(((_arg1 % 3600) % 60));
return ((((((_local2 == 0)) ? "" : ((_local2 < 10)) ? (("0" + _local2.toString()) + ":") : (_local2.toString() + ":") + ((_local3 < 10)) ? ("0" + _local3.toString()) : _local3.toString()) + ":") + ((_local4 < 10)) ? ("0" + _local4.toString()) : _local4.toString()));
}
}
}//package com.akamai
Section 9
//CampaignInfo (com.google.analytics.campaign.CampaignInfo)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignInfo {
private var _new:Boolean;
private var _empty:Boolean;
public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){
_empty = _arg1;
_new = _arg2;
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
public function isNew():Boolean{
return (_new);
}
public function get utmcn():String{
return ("1");
}
public function isEmpty():Boolean{
return (_empty);
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
if (((!(isEmpty())) && (isNew()))){
_local1.utmcn = utmcn;
};
if (((!(isEmpty())) && (!(isNew())))){
_local1.utmcr = utmcr;
};
return (_local1);
}
public function get utmcr():String{
return ("1");
}
}
}//package com.google.analytics.campaign
Section 10
//CampaignKey (com.google.analytics.campaign.CampaignKey)
package com.google.analytics.campaign {
public class CampaignKey {
public var UCMD:String;// = "utm_medium"
public var UCID:String;// = "utm_id"
public var UCTR:String;// = "utm_term"
public var UCSR:String;// = "utm_source"
public var UCNO:String;// = "utm_nooverride"
public var UCCN:String;// = "utm_campaign"
public var UGCLID:String;// = "gclid"
public var UCCT:String;// = "utm_content"
}
}//package com.google.analytics.campaign
Section 11
//CampaignManager (com.google.analytics.campaign.CampaignManager)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
public class CampaignManager {
private var _config:Configuration;
private var _domainHash:Number;
private var _debug:DebugConfiguration;
private var _timeStamp:Number;
private var _referrer:String;
private var _buffer:Buffer;
public static const trackingDelimiter:String = "|";
public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_domainHash = _arg4;
_referrer = _arg5;
_timeStamp = _arg6;
}
public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{
var _local4:CampaignTracker;
var _local8:CampaignTracker;
var _local9:int;
var _local3:CampaignInfo = new CampaignInfo();
var _local5:Boolean;
var _local6:Boolean;
var _local7:int;
if (((_config.allowLinker) && (_buffer.isGenuine()))){
if (!_buffer.hasUTMZ()){
return (_local3);
};
};
_local4 = getTrackerFromSearchString(_arg1);
if (isValid(_local4)){
_local6 = hasNoOverride(_arg1);
if (((_local6) && (!(_buffer.hasUTMZ())))){
return (_local3);
};
};
if (!isValid(_local4)){
_local4 = getOrganicCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){
return (_local3);
};
};
if (((!(isValid(_local4))) && (_arg2))){
_local4 = getReferrerCampaign();
if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){
return (_local3);
};
};
if (!isValid(_local4)){
if (((!(_buffer.hasUTMZ())) && (_arg2))){
_local4 = getDirectCampaign();
};
};
if (!isValid(_local4)){
return (_local3);
};
if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){
_local8 = new CampaignTracker();
_local8.fromTrackerString(_buffer.utmz.campaignTracking);
_local5 = (_local8.toTrackerString() == _local4.toTrackerString());
_local7 = _buffer.utmz.responseCount;
};
if (((!(_local5)) || (_arg2))){
_local9 = _buffer.utma.sessionCount;
_local7++;
if (_local9 == 0){
_local9 = 1;
};
_buffer.utmz.domainHash = _domainHash;
_buffer.utmz.campaignCreation = _timeStamp;
_buffer.utmz.campaignSessions = _local9;
_buffer.utmz.responseCount = _local7;
_buffer.utmz.campaignTracking = _local4.toTrackerString();
_debug.info(_buffer.utmz.toString(), VisualDebugMode.geek);
_local3 = new CampaignInfo(false, true);
} else {
_local3 = new CampaignInfo(false, false);
};
return (_local3);
}
public function hasNoOverride(_arg1:String):Boolean{
var _local2:CampaignKey = _config.campaignKey;
if (_arg1 == ""){
return (false);
};
var _local3:Variables = new Variables(_arg1);
var _local4 = "";
if (_local3.hasOwnProperty(_local2.UCNO)){
_local4 = _local3[_local2.UCNO];
switch (_local4){
case "1":
return (true);
case "":
case "0":
default:
return (false);
};
};
return (false);
}
public function getTrackerFromSearchString(_arg1:String):CampaignTracker{
var _local2:CampaignTracker = getOrganicCampaign();
var _local3:CampaignTracker = new CampaignTracker();
var _local4:CampaignKey = _config.campaignKey;
if (_arg1 == ""){
return (_local3);
};
var _local5:Variables = new Variables(_arg1);
if (_local5.hasOwnProperty(_local4.UCID)){
_local3.id = _local5[_local4.UCID];
};
if (_local5.hasOwnProperty(_local4.UCSR)){
_local3.source = _local5[_local4.UCSR];
};
if (_local5.hasOwnProperty(_local4.UGCLID)){
_local3.clickId = _local5[_local4.UGCLID];
};
if (_local5.hasOwnProperty(_local4.UCCN)){
_local3.name = _local5[_local4.UCCN];
} else {
_local3.name = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCMD)){
_local3.medium = _local5[_local4.UCMD];
} else {
_local3.medium = "(not set)";
};
if (_local5.hasOwnProperty(_local4.UCTR)){
_local3.term = _local5[_local4.UCTR];
} else {
if (((_local2) && (!((_local2.term == ""))))){
_local3.term = _local2.term;
};
};
if (_local5.hasOwnProperty(_local4.UCCT)){
_local3.content = _local5[_local4.UCCT];
};
return (_local3);
}
public function getOrganicCampaign():CampaignTracker{
var _local1:CampaignTracker;
var _local4:Array;
var _local5:OrganicReferrer;
var _local6:String;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
var _local2:URL = new URL(_referrer);
var _local3 = "";
if (_local2.hostName != ""){
if (_local2.hostName.indexOf(".") > -1){
_local4 = _local2.hostName.split(".");
switch (_local4.length){
case 2:
_local3 = _local4[0];
break;
case 3:
_local3 = _local4[1];
break;
};
};
};
if (_config.organic.match(_local3)){
_local5 = _config.organic.getReferrerByName(_local3);
_local6 = _config.organic.getKeywordValue(_local5, _local2.search);
_local1 = new CampaignTracker();
_local1.source = _local5.engine;
_local1.name = "(organic)";
_local1.medium = "organic";
_local1.term = _local6;
};
return (_local1);
}
public function getDirectCampaign():CampaignTracker{
var _local1:CampaignTracker = new CampaignTracker();
_local1.source = "(direct)";
_local1.name = "(direct)";
_local1.medium = "(none)";
return (_local1);
}
public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "organic")))){
return (_config.organic.isIgnoredKeyword(_arg1.term));
};
return (false);
}
public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{
if (((_arg1) && ((_arg1.medium == "referral")))){
return (_config.organic.isIgnoredReferral(_arg1.source));
};
return (false);
}
public function isValid(_arg1:CampaignTracker):Boolean{
if (((_arg1) && (_arg1.isValid()))){
return (true);
};
return (false);
}
public function getReferrerCampaign():CampaignTracker{
var _local1:CampaignTracker;
if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){
return (_local1);
};
var _local2:URL = new URL(_referrer);
var _local3:String = _local2.hostName;
var _local4:String = _local2.path;
if (_local3.indexOf("www.") == 0){
_local3 = _local3.substr(4);
};
_local1 = new CampaignTracker();
_local1.source = _local3;
_local1.name = "(referral)";
_local1.medium = "referral";
_local1.content = _local4;
return (_local1);
}
public static function isInvalidReferrer(_arg1:String):Boolean{
var _local2:URL;
if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){
return (true);
};
if (_arg1.indexOf("://") > -1){
_local2 = new URL(_arg1);
if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){
return (true);
};
};
return (false);
}
public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{
var _local3:URL = new URL(_arg1);
if (_local3.hostName.indexOf(_arg2.google) > -1){
if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){
if (_local3.path == ("/" + _arg2.googleCsePath)){
return (true);
};
};
};
return (false);
}
}
}//package com.google.analytics.campaign
Section 12
//CampaignTracker (com.google.analytics.campaign.CampaignTracker)
package com.google.analytics.campaign {
import com.google.analytics.utils.*;
public class CampaignTracker {
public var content:String;
public var source:String;
public var clickId:String;
public var name:String;
public var term:String;
public var medium:String;
public var id:String;
public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){
this.id = _arg1;
this.source = _arg2;
this.clickId = _arg3;
this.name = _arg4;
this.medium = _arg5;
this.term = _arg6;
this.content = _arg7;
}
public function isValid():Boolean{
if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){
return (true);
};
return (false);
}
public function toTrackerString():String{
var _local1:Array = [];
_addIfNotEmpty(_local1, "utmcsr=", source);
_addIfNotEmpty(_local1, "utmccn=", name);
_addIfNotEmpty(_local1, "utmcmd=", medium);
_addIfNotEmpty(_local1, "utmctr=", term);
_addIfNotEmpty(_local1, "utmcct=", content);
_addIfNotEmpty(_local1, "utmcid=", id);
_addIfNotEmpty(_local1, "utmgclid=", clickId);
return (_local1.join(CampaignManager.trackingDelimiter));
}
private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{
if (_arg3 != ""){
_arg3 = _arg3.split("+").join("%20");
_arg3 = _arg3.split(" ").join("%20");
_arg1.push((_arg2 + _arg3));
};
}
public function fromTrackerString(_arg1:String):void{
var _local2:String = _arg1.split(CampaignManager.trackingDelimiter).join("&");
var _local3:Variables = new Variables(_local2);
if (_local3.hasOwnProperty("utmcid")){
this.id = _local3["utmcid"];
};
if (_local3.hasOwnProperty("utmcsr")){
this.source = _local3["utmcsr"];
};
if (_local3.hasOwnProperty("utmccn")){
this.name = _local3["utmccn"];
};
if (_local3.hasOwnProperty("utmcmd")){
this.medium = _local3["utmcmd"];
};
if (_local3.hasOwnProperty("utmctr")){
this.term = _local3["utmctr"];
};
if (_local3.hasOwnProperty("utmcct")){
this.content = _local3["utmcct"];
};
if (_local3.hasOwnProperty("utmgclid")){
this.clickId = _local3["utmgclid"];
};
}
}
}//package com.google.analytics.campaign
Section 13
//GATrackerLibrary (com.google.analytics.components.GATrackerLibrary)
package com.google.analytics.components {
import com.google.analytics.utils.*;
import flash.display.*;
import com.google.analytics.*;
public class GATrackerLibrary extends MovieClip {
public static var version:Version = API.version;
}
}//package com.google.analytics.components
Section 14
//BrowserInfo (com.google.analytics.core.BrowserInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.v4.*;
public class BrowserInfo {
private var _config:Configuration;
private var _info:Environment;
public function BrowserInfo(_arg1:Configuration, _arg2:Environment){
_config = _arg1;
_info = _arg2;
}
public function get utmul():String{
return (_info.language.toLowerCase());
}
public function get utmje():String{
return ("0");
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
public function get utmsr():String{
return (((_info.screenWidth + "x") + _info.screenHeight));
}
public function get utmfl():String{
var _local1:Version;
if (_config.detectFlash){
_local1 = _info.flashVersion;
return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build));
};
return ("-");
}
public function get utmcs():String{
return (_info.languageEncoding);
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
_local1.utmcs = utmcs;
_local1.utmsr = utmsr;
_local1.utmsc = utmsc;
_local1.utmul = utmul;
_local1.utmje = utmje;
_local1.utmfl = utmfl;
return (_local1);
}
public function get utmsc():String{
return ((_info.screenColorDepth + "-bit"));
}
}
}//package com.google.analytics.core
Section 15
//Buffer (com.google.analytics.core.Buffer)
package com.google.analytics.core {
import flash.events.*;
import flash.net.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import com.google.analytics.data.*;
public dynamic class Buffer {
private var _SO:SharedObject;
private var _OBJ:Object;
private var _utma:UTMA;
private var _utmb:UTMB;
private var _utmc:UTMC;
private var _debug:DebugConfiguration;
private var _utmk:UTMK;
private var _config:Configuration;
private var _utmv:UTMV;
private var _utmz:UTMZ;
private var _volatile:Boolean;
public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){
var _local5:Boolean;
var _local6:String;
super();
_config = _arg1;
_debug = _arg2;
UTMB.defaultTimespan = _config.sessionTimeout;
UTMZ.defaultTimespan = _config.conversionTimeout;
if (!_arg3){
_SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath);
_local5 = false;
if (_SO.data.utma){
if (!hasUTMA()){
_createUMTA();
};
_utma.fromSharedObject(_SO.data.utma);
if (_debug.verbose){
_debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek);
};
if (_utma.isExpired()){
if (_debug.verbose){
_debug.warning("UTMA has expired", VisualDebugMode.advanced);
};
_clearUTMA();
_local5 = true;
};
};
if (_SO.data.utmb){
if (!hasUTMB()){
_createUMTB();
};
_utmb.fromSharedObject(_SO.data.utmb);
if (_debug.verbose){
_debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek);
};
if (_utmb.isExpired()){
if (_debug.verbose){
_debug.warning("UTMB has expired", VisualDebugMode.advanced);
};
_clearUTMB();
_local5 = true;
};
};
if (_SO.data.utmc){
delete _SO.data.utmc;
_local5 = true;
};
if (_SO.data.utmk){
if (!hasUTMK()){
_createUMTK();
};
_utmk.fromSharedObject(_SO.data.utmk);
if (_debug.verbose){
_debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek);
};
};
if (_SO.data.utmv){
if (!hasUTMV()){
_createUMTV();
};
_utmv.fromSharedObject(_SO.data.utmv);
if (_debug.verbose){
_debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek);
};
if (_utmv.isExpired()){
if (_debug.verbose){
_debug.warning("UTMV has expired", VisualDebugMode.advanced);
};
_clearUTMV();
_local5 = true;
};
};
if (_SO.data.utmz){
if (!hasUTMZ()){
_createUMTZ();
};
_utmz.fromSharedObject(_SO.data.utmz);
if (_debug.verbose){
_debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek);
};
if (_utmz.isExpired()){
if (_debug.verbose){
_debug.warning("UTMZ has expired", VisualDebugMode.advanced);
};
_clearUTMZ();
_local5 = true;
};
};
if (_local5){
save();
};
} else {
_OBJ = new Object();
if (_arg4){
for (_local6 in _arg4) {
_OBJ[_local6] = _arg4[_local6];
};
};
};
_volatile = _arg3;
}
public function clearCookies():void{
utma.reset();
utmb.reset();
utmc.reset();
utmz.reset();
utmv.reset();
utmk.reset();
}
public function save():void{
var flushStatus:String;
if (!isVolatile()){
flushStatus = null;
try {
flushStatus = _SO.flush();
} catch(e:Error) {
_debug.warning("Error...Could not write SharedObject to disk");
};
switch (flushStatus){
case SharedObjectFlushStatus.PENDING:
_debug.info("Requesting permission to save object...");
_SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
break;
case SharedObjectFlushStatus.FLUSHED:
_debug.info("Value flushed to disk.");
break;
};
};
}
public function get utmv():UTMV{
if (!hasUTMV()){
_createUMTV();
};
return (_utmv);
}
public function get utmz():UTMZ{
if (!hasUTMZ()){
_createUMTZ();
};
return (_utmz);
}
public function hasUTMA():Boolean{
if (_utma){
return (true);
};
return (false);
}
public function hasUTMB():Boolean{
if (_utmb){
return (true);
};
return (false);
}
public function hasUTMC():Boolean{
if (_utmc){
return (true);
};
return (false);
}
public function isGenuine():Boolean{
if (!hasUTMK()){
return (true);
};
return ((utmk.hash == generateCookiesHash()));
}
public function resetCurrentSession():void{
_clearUTMB();
_clearUTMC();
save();
}
public function hasUTMK():Boolean{
if (_utmk){
return (true);
};
return (false);
}
public function generateCookiesHash():Number{
var _local1 = "";
_local1 = (_local1 + utma.valueOf());
_local1 = (_local1 + utmb.valueOf());
_local1 = (_local1 + utmc.valueOf());
_local1 = (_local1 + utmz.valueOf());
_local1 = (_local1 + utmv.valueOf());
return (Utils.generateHash(_local1));
}
private function _createUMTB():void{
_utmb = new UTMB();
_utmb.proxy = this;
}
private function _createUMTC():void{
_utmc = new UTMC();
}
private function _createUMTA():void{
_utma = new UTMA();
_utma.proxy = this;
}
public function hasUTMV():Boolean{
if (_utmv){
return (true);
};
return (false);
}
private function _createUMTK():void{
_utmk = new UTMK();
_utmk.proxy = this;
}
public function hasUTMZ():Boolean{
if (_utmz){
return (true);
};
return (false);
}
private function _createUMTV():void{
_utmv = new UTMV();
_utmv.proxy = this;
}
private function _onFlushStatus(_arg1:NetStatusEvent):void{
_debug.info("User closed permission dialog...");
switch (_arg1.info.code){
case "SharedObject.Flush.Success":
_debug.info("User granted permission -- value saved.");
break;
case "SharedObject.Flush.Failed":
_debug.info("User denied permission -- value not saved.");
break;
};
_SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus);
}
private function _createUMTZ():void{
_utmz = new UTMZ();
_utmz.proxy = this;
}
public function updateUTMA(_arg1:Number):void{
if (_debug.verbose){
_debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced);
};
if (!utma.isEmpty()){
if (isNaN(utma.sessionCount)){
utma.sessionCount = 1;
} else {
utma.sessionCount = (utma.sessionCount + 1);
};
utma.lastTime = utma.currentTime;
utma.currentTime = _arg1;
};
}
private function _clearUTMA():void{
_utma = null;
if (!isVolatile()){
_SO.data.utma = null;
delete _SO.data.utma;
};
}
private function _clearUTMC():void{
_utmc = null;
}
private function _clearUTMB():void{
_utmb = null;
if (!isVolatile()){
_SO.data.utmb = null;
delete _SO.data.utmb;
};
}
public function update(_arg1:String, _arg2):void{
if (isVolatile()){
_OBJ[_arg1] = _arg2;
} else {
_SO.data[_arg1] = _arg2;
};
}
private function _clearUTMZ():void{
_utmz = null;
if (!isVolatile()){
_SO.data.utmz = null;
delete _SO.data.utmz;
};
}
private function _clearUTMV():void{
_utmv = null;
if (!isVolatile()){
_SO.data.utmv = null;
delete _SO.data.utmv;
};
}
public function isVolatile():Boolean{
return (_volatile);
}
public function get utma():UTMA{
if (!hasUTMA()){
_createUMTA();
};
return (_utma);
}
public function get utmb():UTMB{
if (!hasUTMB()){
_createUMTB();
};
return (_utmb);
}
public function get utmc():UTMC{
if (!hasUTMC()){
_createUMTC();
};
return (_utmc);
}
public function get utmk():UTMK{
if (!hasUTMK()){
_createUMTK();
};
return (_utmk);
}
}
}//package com.google.analytics.core
Section 16
//DocumentInfo (com.google.analytics.core.DocumentInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.v4.*;
import com.google.analytics.external.*;
public class DocumentInfo {
private var _pageURL:String;
private var _utmr:String;
private var _config:Configuration;
private var _adSense:AdSenseGlobals;
private var _info:Environment;
public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){
_config = _arg1;
_info = _arg2;
_utmr = _arg3;
_pageURL = _arg4;
_adSense = _arg5;
}
public function get utmr():String{
if (!_utmr){
return ("-");
};
return (_utmr);
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
private function _renderPageURL(_arg1:String=""):String{
var _local2:String = _info.locationPath;
var _local3:String = _info.locationSearch;
if (((!(_arg1)) || ((_arg1 == "")))){
_arg1 = (_local2 + unescape(_local3));
};
return (_arg1);
}
public function get utmp():String{
return (_renderPageURL(_pageURL));
}
public function get utmhid():String{
return (String(_generateHitId()));
}
private function _generateHitId():Number{
var _local1:Number;
if (((_adSense.hid) && (!((_adSense.hid == ""))))){
_local1 = Number(_adSense.hid);
} else {
_local1 = Math.round((Math.random() * 2147483647));
_adSense.hid = String(_local1);
};
return (_local1);
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
if (((_config.detectTitle) && (!((utmdt == ""))))){
_local1.utmdt = utmdt;
};
_local1.utmhid = utmhid;
_local1.utmr = utmr;
_local1.utmp = utmp;
return (_local1);
}
public function get utmdt():String{
return (_info.documentTitle);
}
}
}//package com.google.analytics.core
Section 17
//Domain (com.google.analytics.core.Domain)
package com.google.analytics.core {
import com.google.analytics.debug.*;
public class Domain {
private var _mode:DomainNameMode;
private var _debug:DebugConfiguration;
private var _name:String;
public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){
_debug = _arg3;
if (_arg1 == null){
_arg1 = DomainNameMode.auto;
};
_mode = _arg1;
if (_arg1 == DomainNameMode.custom){
this.name = _arg2;
} else {
_name = _arg2;
};
}
public function get mode():DomainNameMode{
return (_mode);
}
public function set mode(_arg1:DomainNameMode):void{
_mode = _arg1;
if (_mode == DomainNameMode.none){
_name = "";
};
}
public function get name():String{
return (_name);
}
public function set name(_arg1:String):void{
if (((!((_arg1.charAt(0) == "."))) && (_debug))){
_debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek);
};
_name = _arg1;
}
}
}//package com.google.analytics.core
Section 18
//DomainNameMode (com.google.analytics.core.DomainNameMode)
package com.google.analytics.core {
public class DomainNameMode {
private var _value:int;
private var _name:String;
public static const custom:DomainNameMode = new DomainNameMode(2, "custom");
;
public static const none:DomainNameMode = new DomainNameMode(0, "none");
;
public static const auto:DomainNameMode = new DomainNameMode(1, "auto");
;
public function DomainNameMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 19
//EventInfo (com.google.analytics.core.EventInfo)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import com.google.analytics.data.*;
public class EventInfo {
private var _ext10:X10;
private var _isEventHit:Boolean;
private var _x10:X10;
public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){
_isEventHit = _arg1;
_x10 = _arg2;
_ext10 = _arg3;
}
public function toURLString():String{
var _local1:Variables = toVariables();
return (_local1.toString());
}
public function get utmt():String{
return ("event");
}
public function get utme():String{
return (_x10.renderMergedUrlString(_ext10));
}
public function toVariables():Variables{
var _local1:Variables = new Variables();
_local1.URIencode = true;
if (_isEventHit){
_local1.utmt = utmt;
};
_local1.utme = utme;
return (_local1);
}
}
}//package com.google.analytics.core
Section 20
//EventTracker (com.google.analytics.core.EventTracker)
package com.google.analytics.core {
import com.google.analytics.v4.*;
public class EventTracker {
private var _parent:GoogleAnalyticsAPI;
public var name:String;
public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){
this.name = _arg1;
_parent = _arg2;
}
public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{
return (_parent.trackEvent(name, _arg1, _arg2, _arg3));
}
}
}//package com.google.analytics.core
Section 21
//ga_internal (com.google.analytics.core.ga_internal)
package com.google.analytics.core {
public namespace ga_internal;
}//package com.google.analytics.core
Section 22
//GIFRequest (com.google.analytics.core.GIFRequest)
package com.google.analytics.core {
import com.google.analytics.utils.*;
import flash.events.*;
import flash.net.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.display.*;
import flash.system.*;
public class GIFRequest {
private var _info:Environment;
private var _count:int;
private var _utmac:String;
private var _alertcount:int;
private var _debug:DebugConfiguration;
private var _lastRequest:URLRequest;
private var _buffer:Buffer;
private var _config:Configuration;
private var _requests:Array;
public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){
_config = _arg1;
_debug = _arg2;
_buffer = _arg3;
_info = _arg4;
_count = 0;
_alertcount = 0;
_requests = [];
}
public function get utmn():String{
return ((Utils.generate32bitRandom() as String));
}
public function onIOError(_arg1:IOErrorEvent):void{
var _local2:String = _lastRequest.url;
var _local3:String = String((_requests.length - 1));
var _local4 = (("Gif Request #" + _local3) + " failed");
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local2.indexOf("?") > -1){
_local2 = _local2.split("?")[0];
};
_local2 = _shortenURL(_local2);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable"));
};
_debug.failure(_local4);
} else {
_debug.warning(_local4);
};
_removeListeners(_arg1.target);
}
public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{
var _local5:String;
var _local6:URLRequest;
var _local7:URLRequest;
_utmac = _arg1;
if (!_arg2){
_arg2 = new Variables();
};
_arg2.URIencode = false;
_arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"];
_arg2.post = ["utmcc"];
if (_debug.verbose){
_debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek);
};
if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){
if (_arg4){
updateToken();
};
if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){
if (((!(_arg3)) && (_arg4))){
_buffer.utmb.token = (_buffer.utmb.token - 1);
};
_buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1);
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
_arg2.utmwv = utmwv;
_arg2.utmn = Utils.generate32bitRandom();
if (_info.domainName != ""){
_arg2.utmhn = _info.domainName;
};
if (_config.sampleRate < 1){
_arg2.utmsp = (_config.sampleRate * 100);
};
if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){
_local5 = _info.locationSWFPath;
if (_local5.lastIndexOf("/") > 0){
_local5 = _local5.substring(0, _local5.lastIndexOf("/"));
};
_local6 = new URLRequest();
if (_config.localGIFpath.indexOf("http") == 0){
_local6.url = _config.localGIFpath;
} else {
_local6.url = (_local5 + _config.localGIFpath);
};
_local6.url = (_local6.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local6);
} else {
sendRequest(_local6);
};
};
if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){
_local7 = new URLRequest();
if (_info.protocol == Protocols.HTTPS){
_local7.url = _config.secureRemoteGIFpath;
} else {
if (_info.protocol == Protocols.HTTP){
_local7.url = _config.remoteGIFpath;
} else {
_local7.url = _config.remoteGIFpath;
};
};
_arg2.utmac = utmac;
_arg2.utmcc = encodeURIComponent(utmcc);
_local7.url = (_local7.url + ("?" + _arg2.toString()));
if (((_debug.active) && (_debug.GIFRequests))){
_debugSend(_local7);
} else {
sendRequest(_local7);
};
};
};
};
}
public function onSecurityError(_arg1:SecurityErrorEvent):void{
if (_debug.GIFRequests){
_debug.failure(_arg1.text);
};
}
public function get utmsp():String{
return (((_config.sampleRate * 100) as String));
}
public function get utmcc():String{
var _local1:Array = [];
if (_buffer.hasUTMA()){
_local1.push((_buffer.utma.toURLString() + ";"));
};
if (_buffer.hasUTMZ()){
_local1.push((_buffer.utmz.toURLString() + ";"));
};
if (_buffer.hasUTMV()){
_local1.push((_buffer.utmv.toURLString() + ";"));
};
return (_local1.join("+"));
}
public function get utmac():String{
return (_utmac);
}
public function get utmwv():String{
return (_config.version);
}
public function sendRequest(_arg1:URLRequest):void{
var request = _arg1;
var loader:Loader = new Loader();
loader.name = String(_count++);
var context:LoaderContext = new LoaderContext(false);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
_lastRequest = request;
_requests[loader.name] = new RequestObject(request);
try {
loader.load(request, context);
} catch(e:Error) {
_debug.failure("\"Loader.load()\" could not instanciate Gif Request");
};
}
private function _removeListeners(_arg1:Object):void{
_arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
_arg1.removeEventListener(Event.COMPLETE, onComplete);
}
public function updateToken():void{
var _local2:Number;
var _local1:Number = new Date().getTime();
_local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000));
if (_debug.verbose){
_debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek);
};
if (_local2 >= 1){
_buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity);
_buffer.utmb.lastTime = _local1;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
};
};
}
public function get utmhn():String{
return (_info.domainName);
}
private function _shortenURL(_arg1:String):String{
var _local2:Array;
if (_arg1.length > 60){
_local2 = _arg1.split("/");
while (_arg1.length > 60) {
_local2.shift();
_arg1 = ("../" + _local2.join("/"));
};
};
return (_arg1);
}
private function _debugSend(_arg1:URLRequest):void{
var _local3:String;
var _local2 = "";
switch (_debug.mode){
case VisualDebugMode.geek:
_local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url);
break;
case VisualDebugMode.advanced:
_local3 = _arg1.url;
if (_local3.indexOf("?") > -1){
_local3 = _local3.split("?")[0];
};
_local3 = _shortenURL(_local3);
_local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?");
break;
case VisualDebugMode.basic:
default:
_local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?");
};
_debug.alertGifRequest(_local2, _arg1, this);
_alertcount++;
}
public function onComplete(_arg1:Event):void{
var _local2:String = _arg1.target.loader.name;
_requests[_local2].complete();
var _local3 = (("Gif Request #" + _local2) + " sent");
var _local4:String = _requests[_local2].request.url;
if (_debug.GIFRequests){
if (!_debug.verbose){
if (_local4.indexOf("?") > -1){
_local4 = _local4.split("?")[0];
};
_local4 = _shortenURL(_local4);
};
if (int(_debug.mode) > int(VisualDebugMode.basic)){
_local3 = (_local3 + ((" to \"" + _local4) + "\""));
};
_debug.success(_local3);
} else {
_debug.info(_local3);
};
_removeListeners(_arg1.target);
}
}
}//package com.google.analytics.core
Section 23
//IdleTimer (com.google.analytics.core.IdleTimer)
package com.google.analytics.core {
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.display.*;
import flash.utils.*;
public class IdleTimer {
private var _stage:Stage;
private var _loop:Timer;
private var _lastMove:int;
private var _inactivity:Number;
private var _debug:DebugConfiguration;
private var _session:Timer;
private var _buffer:Buffer;
public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){
var _local5:Number = _arg1.idleLoop;
var _local6:Number = _arg1.idleTimeout;
var _local7:Number = _arg1.sessionTimeout;
_loop = new Timer((_local5 * 1000));
_session = new Timer((_local7 * 1000), 1);
_debug = _arg2;
_stage = _arg3.stage;
_buffer = _arg4;
_lastMove = getTimer();
_inactivity = (_local6 * 1000);
_loop.addEventListener(TimerEvent.TIMER, checkForIdle);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
_debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek);
_loop.start();
}
private function onMouseMove(_arg1:MouseEvent):void{
_lastMove = getTimer();
if (_session.running){
_debug.info("session timer reset", VisualDebugMode.geek);
_session.reset();
};
}
public function endSession(_arg1:TimerEvent):void{
_session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession);
_debug.info("session timer end session", VisualDebugMode.geek);
_session.reset();
_buffer.resetCurrentSession();
_debug.info(_buffer.utmb.toString(), VisualDebugMode.geek);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.geek);
_session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession);
}
public function checkForIdle(_arg1:TimerEvent):void{
var _local2:int = getTimer();
if ((_local2 - _lastMove) >= _inactivity){
if (!_session.running){
_debug.info("session timer start", VisualDebugMode.geek);
_session.start();
};
};
}
}
}//package com.google.analytics.core
Section 24
//Organic (com.google.analytics.core.Organic)
package com.google.analytics.core {
import com.google.analytics.utils.*;
public class Organic {
private var _sourcesCache:Array;
private var _sourcesEngine:Array;
private var _ignoredKeywords:Array;
private var _ignoredReferralsCache:Object;
private var _ignoredReferrals:Array;
private var _ignoredKeywordsCache:Object;
private var _sources:Array;
public static var throwErrors:Boolean = false;
public function Organic(){
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
_ignoredReferrals = [];
_ignoredReferralsCache = {};
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function isIgnoredKeyword(_arg1:String):Boolean{
if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{
var _local3:String = _arg1.keyword;
return (getKeywordValueFromPath(_local3, _arg2));
}
public function isIgnoredReferral(_arg1:String):Boolean{
if (_ignoredReferralsCache.hasOwnProperty(_arg1)){
return (true);
};
return (false);
}
public function clear():void{
clearEngines();
clearIgnoredReferrals();
clearIgnoredKeywords();
}
public function get count():int{
return (_sources.length);
}
public function get ignoredKeywordsCount():int{
return (_ignoredKeywords.length);
}
public function match(_arg1:String):Boolean{
if (_arg1 == ""){
return (false);
};
_arg1 = _arg1.toLowerCase();
if (_sourcesEngine[_arg1] != undefined){
return (true);
};
return (false);
}
public function clearIgnoredKeywords():void{
_ignoredKeywords = [];
_ignoredKeywordsCache = {};
}
public function addSource(_arg1:String, _arg2:String):void{
var _local3:OrganicReferrer = new OrganicReferrer(_arg1, _arg2);
if (_sourcesCache[_local3.toString()] == undefined){
_sources.push(_local3);
_sourcesCache[_local3.toString()] = (_sources.length - 1);
if (_sourcesEngine[_local3.engine] == undefined){
_sourcesEngine[_local3.engine] = [(_sources.length - 1)];
} else {
_sourcesEngine[_local3.engine].push((_sources.length - 1));
};
} else {
if (throwErrors){
throw (new Error((_local3.toString() + " already exists, we don't add it.")));
};
};
}
public function clearEngines():void{
_sources = [];
_sourcesCache = [];
_sourcesEngine = [];
}
public function get ignoredReferralsCount():int{
return (_ignoredReferrals.length);
}
public function addIgnoredReferral(_arg1:String):void{
if (_ignoredReferralsCache[_arg1] == undefined){
_ignoredReferrals.push(_arg1);
_ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function clearIgnoredReferrals():void{
_ignoredReferrals = [];
_ignoredReferralsCache = {};
}
public function getReferrerByName(_arg1:String):OrganicReferrer{
var _local2:int;
if (match(_arg1)){
_local2 = _sourcesEngine[_arg1][0];
return (_sources[_local2]);
};
return (null);
}
public function addIgnoredKeyword(_arg1:String):void{
if (_ignoredKeywordsCache[_arg1] == undefined){
_ignoredKeywords.push(_arg1);
_ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1);
} else {
if (throwErrors){
throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it.")));
};
};
}
public function get sources():Array{
return (_sources);
}
public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{
var _local3:String;
var _local4:Variables;
if (_arg2.indexOf((_arg1 + "=")) > -1){
if (_arg2.charAt(0) == "?"){
_arg2 = _arg2.substr(1);
};
_arg2 = _arg2.split("+").join("%20");
_local4 = new Variables(_arg2);
_local3 = _local4[_arg1];
};
return (_local3);
}
}
}//package com.google.analytics.core
Section 25
//OrganicReferrer (com.google.analytics.core.OrganicReferrer)
package com.google.analytics.core {
public class OrganicReferrer {
private var _engine:String;
private var _keyword:String;
public function OrganicReferrer(_arg1:String, _arg2:String){
this.engine = _arg1;
this.keyword = _arg2;
}
public function get keyword():String{
return (_keyword);
}
public function get engine():String{
return (_engine);
}
public function set engine(_arg1:String):void{
_engine = _arg1.toLowerCase();
}
public function toString():String{
return (((engine + "?") + keyword));
}
public function set keyword(_arg1:String):void{
_keyword = _arg1.toLowerCase();
}
}
}//package com.google.analytics.core
Section 26
//RequestObject (com.google.analytics.core.RequestObject)
package com.google.analytics.core {
import flash.net.*;
import flash.utils.*;
public class RequestObject {
public var start:int;
public var end:int;
public var request:URLRequest;
public function RequestObject(_arg1:URLRequest){
start = getTimer();
this.request = _arg1;
}
public function hasCompleted():Boolean{
return ((end > 0));
}
public function toString():String{
var _local1:Array = [];
_local1.push((("duration: " + duration) + "ms"));
_local1.push(("url: " + request.url));
return ((("{ " + _local1.join(", ")) + " }"));
}
public function complete():void{
end = getTimer();
}
public function get duration():int{
if (!hasCompleted()){
return (0);
};
return ((end - start));
}
}
}//package com.google.analytics.core
Section 27
//ServerOperationMode (com.google.analytics.core.ServerOperationMode)
package com.google.analytics.core {
public class ServerOperationMode {
private var _value:int;
private var _name:String;
public static const both:ServerOperationMode = new ServerOperationMode(2, "both");
;
public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote");
;
public static const local:ServerOperationMode = new ServerOperationMode(0, "local");
;
public function ServerOperationMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.core
Section 28
//TrackerCache (com.google.analytics.core.TrackerCache)
package com.google.analytics.core {
import com.google.analytics.v4.*;
import flash.errors.*;
public class TrackerCache implements GoogleAnalyticsAPI {
public var tracker:GoogleAnalyticsAPI;
private var _ar:Array;
public static var CACHE_THROW_ERROR:Boolean;
public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){
this.tracker = _arg1;
_ar = [];
}
public function size():uint{
return (_ar.length);
}
public function flush():void{
var _local1:Object;
var _local2:String;
var _local3:Array;
var _local4:int;
var _local5:int;
if (tracker == null){
return;
};
if (size() > 0){
_local4 = _ar.length;
while (_local5 < _local4) {
_local1 = _ar.shift();
_local2 = (_local1.name as String);
_local3 = (_local1.args as Array);
if (((!((_local2 == null))) && ((_local2 in tracker)))){
(tracker[_local2] as Function).apply(tracker, _local3);
};
_local5++;
};
};
}
public function enqueue(_arg1:String, ... _args):Boolean{
if (_arg1 == null){
return (false);
};
_ar.push({name:_arg1, args:_args});
return (true);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
enqueue("link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
enqueue("addOrganic", _arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
enqueue("setAllowLinker", _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4);
return (true);
}
public function getClientInfo():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment."));
};
return (false);
}
public function trackTrans():void{
enqueue("trackTrans");
}
public function trackPageview(_arg1:String=""):void{
enqueue("trackPageview", _arg1);
}
public function setClientInfo(_arg1:Boolean):void{
enqueue("setClientInfo", _arg1);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
enqueue("linkByPost", _arg1, _arg2);
}
public function setCookieTimeout(_arg1:int):void{
enqueue("setCookieTimeout", _arg1);
}
public function isEmpty():Boolean{
return ((_ar.length == 0));
}
public function getDetectTitle():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment."));
};
return (false);
}
public function resetSession():void{
enqueue("resetSession");
}
public function setDetectFlash(_arg1:Boolean):void{
enqueue("setDetectFlash", _arg1);
}
public function clear():void{
_ar = [];
}
public function setCampNameKey(_arg1:String):void{
enqueue("setCampNameKey", _arg1);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function createEventTracker(_arg1:String):EventTracker{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment."));
};
return (null);
}
public function setVar(_arg1:String):void{
enqueue("setVar", _arg1);
}
public function clearIgnoredOrganic():void{
enqueue("clearIgnoredOrganic");
}
public function setDomainName(_arg1:String):void{
enqueue("setDomainName", _arg1);
}
public function setCampSourceKey(_arg1:String):void{
enqueue("setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment."));
};
return (null);
}
public function setCampContentKey(_arg1:String):void{
enqueue("setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
enqueue("setLocalServerMode");
}
public function getLocalGifPath():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment."));
};
return ("");
}
public function setAllowAnchor(_arg1:Boolean):void{
enqueue("setAllowAnchor", _arg1);
}
public function clearIgnoredRef():void{
enqueue("clearIgnoredRef");
}
public function setLocalGifPath(_arg1:String):void{
enqueue("setLocalGifPath", _arg1);
}
public function getVersion():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment."));
};
return ("");
}
public function setCookiePath(_arg1:String):void{
enqueue("setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
enqueue("setSampleRate", _arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
enqueue("setDetectTitle", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
enqueue("setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
enqueue("addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
enqueue("setCampNOKey", _arg1);
}
public function getServiceMode():ServerOperationMode{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment."));
};
return (null);
}
public function setLocalRemoteServerMode():void{
enqueue("setLocalRemoteServerMode");
}
public function cookiePathCopy(_arg1:String):void{
enqueue("cookiePathCopy", _arg1);
}
public function getDetectFlash():Boolean{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment."));
};
return (false);
}
public function setCampaignTrack(_arg1:Boolean):void{
enqueue("setCampaignTrack", _arg1);
}
public function clearOrganic():void{
enqueue("clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
enqueue("setCampTermKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
enqueue("addIgnoredRef", _arg1);
}
public function setCampMediumKey(_arg1:String):void{
enqueue("setCampMediumKey", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
enqueue("setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
enqueue("setRemoteServerMode");
}
public function element(){
return (_ar[0]);
}
public function getAccount():String{
if (CACHE_THROW_ERROR){
throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment."));
};
return ("");
}
}
}//package com.google.analytics.core
Section 29
//TrackerMode (com.google.analytics.core.TrackerMode)
package com.google.analytics.core {
public class TrackerMode {
public static const BRIDGE:String = "Bridge";
public static const AS3:String = "AS3";
}
}//package com.google.analytics.core
Section 30
//Utils (com.google.analytics.core.Utils)
package com.google.analytics.core {
public class Utils {
public static function trim(_arg1:String, _arg2:Boolean=false):String{
var _local5:int;
var _local6:int;
var _local7:int;
if (_arg1 == ""){
return ("");
};
var _local3:Array = [" ", "\n", "\r", "\t"];
var _local4:String = _arg1;
if (_arg2){
_local5 = 0;
while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) {
_local4 = _local4.split(_local3[_local5]).join("");
_local5++;
};
} else {
_local6 = 0;
while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) {
_local6++;
};
_local4 = _local4.substr(_local6);
_local7 = (_local4.length - 1);
while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) {
_local7--;
};
_local4 = _local4.substring(0, (_local7 + 1));
};
return (_local4);
}
public static function generateHash(_arg1:String):int{
var _local4:int;
var _local5:int;
var _local2 = 1;
var _local3:int;
if (((!((_arg1 == null))) && (!((_arg1 == ""))))){
_local2 = 0;
_local4 = (_arg1.length - 1);
while (_local4 >= 0) {
_local5 = _arg1.charCodeAt(_local4);
_local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14));
_local3 = (_local2 & 266338304);
if (_local3 != 0){
_local2 = (_local2 ^ (_local3 >> 21));
};
_local4--;
};
};
return (_local2);
}
public static function generate32bitRandom():int{
return (Math.round((Math.random() * 2147483647)));
}
public static function validateAccount(_arg1:String):Boolean{
var _local2:RegExp = /^UA-[0-9]*-[0-9]*$/;
return (_local2.test(_arg1));
}
}
}//package com.google.analytics.core
Section 31
//Cookie (com.google.analytics.data.Cookie)
package com.google.analytics.data {
public interface Cookie {
function fromSharedObject(_arg1:Object):void;
function toURLString():String;
function get creation():Date;
function toSharedObject():Object;
function isExpired():Boolean;
function set creation(_arg1:Date):void;
function set expiration(_arg1:Date):void;
function get expiration():Date;
}
}//package com.google.analytics.data
Section 32
//UTMA (com.google.analytics.data.UTMA)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMA extends UTMCookie {
private var _sessionId:Number;
private var _domainHash:Number;
private var _firstTime:Number;
private var _currentTime:Number;
private var _lastTime:Number;
private var _sessionCount:Number;
public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){
super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.sessionId = _arg2;
this.firstTime = _arg3;
this.lastTime = _arg4;
this.currentTime = _arg5;
this.sessionCount = _arg6;
}
public function get lastTime():Number{
return (_lastTime);
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function set currentTime(_arg1:Number):void{
_currentTime = _arg1;
update();
}
public function get sessionId():Number{
return (_sessionId);
}
public function get sessionCount():Number{
return (_sessionCount);
}
public function get firstTime():Number{
return (_firstTime);
}
public function get currentTime():Number{
return (_currentTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set sessionId(_arg1:Number):void{
_sessionId = _arg1;
update();
}
public function set sessionCount(_arg1:Number):void{
_sessionCount = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function set firstTime(_arg1:Number):void{
_firstTime = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 33
//UTMB (com.google.analytics.data.UTMB)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMB extends UTMCookie {
private var _trackCount:Number;
private var _lastTime:Number;
private var _domainHash:Number;
private var _token:Number;
public static var defaultTimespan:Number = Timespan.thirtyminutes;
public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){
super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.trackCount = _arg2;
this.token = _arg3;
this.lastTime = _arg4;
}
public function set token(_arg1:Number):void{
_token = _arg1;
update();
}
public function set trackCount(_arg1:Number):void{
_trackCount = _arg1;
update();
}
public function get lastTime():Number{
return (_lastTime);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set lastTime(_arg1:Number):void{
_lastTime = _arg1;
update();
}
public function get domainHash():Number{
return (_domainHash);
}
public function get token():Number{
return (_token);
}
public function get trackCount():Number{
return (_trackCount);
}
}
}//package com.google.analytics.data
Section 34
//UTMC (com.google.analytics.data.UTMC)
package com.google.analytics.data {
public class UTMC extends UTMCookie {
private var _domainHash:Number;
public function UTMC(_arg1:Number=NaN){
super("utmc", "__utmc", ["domainHash"]);
this.domainHash = _arg1;
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 35
//UTMCookie (com.google.analytics.data.UTMCookie)
package com.google.analytics.data {
import com.google.analytics.core.*;
public class UTMCookie implements Cookie {
protected var inURL:String;
protected var name:String;
private var _creation:Date;
private var _expiration:Date;
public var proxy:Buffer;
protected var fields:Array;
private var _timespan:Number;
public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){
this.name = _arg1;
this.inURL = _arg2;
this.fields = _arg3;
_timestamp(_arg4);
}
public function isEmpty():Boolean{
var _local2:String;
var _local1:int;
var _local3:int;
while (_local3 < fields.length) {
_local2 = fields[_local3];
if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){
_local1++;
} else {
if ((((this[_local2] is String)) && ((this[_local2] == "")))){
_local1++;
};
};
_local3++;
};
if (_local1 == fields.length){
return (true);
};
return (false);
}
public function resetTimestamp(_arg1:Number=NaN):void{
if (!isNaN(_arg1)){
_timespan = _arg1;
};
_creation = null;
_expiration = null;
_timestamp(_timespan);
}
protected function update():void{
resetTimestamp();
if (proxy){
proxy.update(name, toSharedObject());
};
}
public function reset():void{
var _local1:String;
var _local2:int;
while (_local2 < fields.length) {
_local1 = fields[_local2];
if ((this[_local1] is Number)){
this[_local1] = NaN;
} else {
if ((this[_local1] is String)){
this[_local1] = "";
};
};
_local2++;
};
resetTimestamp();
update();
}
public function fromSharedObject(_arg1:Object):void{
var _local2:String;
var _local3:int = fields.length;
var _local4:int;
while (_local4 < _local3) {
_local2 = fields[_local4];
if (_arg1[_local2]){
this[_local2] = _arg1[_local2];
};
_local4++;
};
if (_arg1.creation){
this.creation = _arg1.creation;
};
if (_arg1.expiration){
this.expiration = _arg1.expiration;
};
}
private function _timestamp(_arg1:Number):void{
creation = new Date();
_timespan = _arg1;
if (_arg1 > 0){
expiration = new Date((creation.valueOf() + _arg1));
};
}
public function isExpired():Boolean{
var _local1:Date = new Date();
var _local2:Number = (expiration.valueOf() - _local1.valueOf());
if (_local2 <= 0){
return (true);
};
return (false);
}
public function set expiration(_arg1:Date):void{
_expiration = _arg1;
}
public function get creation():Date{
return (_creation);
}
public function valueOf():String{
var _local2:String;
var _local3:*;
var _local1:Array = [];
var _local4:int;
while (_local4 < fields.length) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
if (_local3 == ""){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
} else {
if ((_local3 is Number)){
if (_local3 == 0){
_local1.push(_local3);
} else {
if (isNaN(_local3)){
_local3 = "-";
_local1.push(_local3);
} else {
_local1.push(_local3);
};
};
};
};
_local4++;
};
return (("" + _local1.join(".")));
}
public function toURLString():String{
return (((inURL + "=") + valueOf()));
}
public function get expiration():Date{
if (_expiration){
return (_expiration);
};
return (new Date((new Date().valueOf() + 1000)));
}
public function toSharedObject():Object{
var _local2:String;
var _local3:*;
var _local1:Object = {};
var _local4:int;
for (;_local4 < fields.length;_local4++) {
_local2 = fields[_local4];
_local3 = this[_local2];
if ((_local3 is String)){
_local1[_local2] = _local3;
} else {
if (_local3 == 0){
_local1[_local2] = _local3;
} else {
if (isNaN(_local3)){
continue;
} else {
_local1[_local2] = _local3;
};
};
};
};
_local1.creation = creation;
_local1.expiration = expiration;
return (_local1);
}
public function toString(_arg1:Boolean=false):String{
var _local3:String;
var _local4:*;
var _local2:Array = [];
var _local5:int = fields.length;
var _local6:int;
for (;_local6 < _local5;_local6++) {
_local3 = fields[_local6];
_local4 = this[_local3];
if ((_local4 is String)){
_local2.push((((_local3 + ": \"") + _local4) + "\""));
} else {
if (_local4 == 0){
_local2.push(((_local3 + ": ") + _local4));
} else {
if (isNaN(_local4)){
continue;
} else {
_local2.push(((_local3 + ": ") + _local4));
};
};
};
};
var _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}");
if (_arg1){
_local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration));
};
return (_local7);
}
public function set creation(_arg1:Date):void{
_creation = _arg1;
}
}
}//package com.google.analytics.data
Section 36
//UTMK (com.google.analytics.data.UTMK)
package com.google.analytics.data {
public class UTMK extends UTMCookie {
private var _hash:Number;
public function UTMK(_arg1:Number=NaN){
super("utmk", "__utmk", ["hash"]);
this.hash = _arg1;
}
public function set hash(_arg1:Number):void{
_hash = _arg1;
update();
}
public function get hash():Number{
return (_hash);
}
}
}//package com.google.analytics.data
Section 37
//UTMV (com.google.analytics.data.UTMV)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMV extends UTMCookie {
private var _domainHash:Number;
private var _value:String;
public function UTMV(_arg1:Number=NaN, _arg2:String=""){
super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000));
this.domainHash = _arg1;
this.value = _arg2;
}
override public function toURLString():String{
return (((inURL + "=") + encodeURI(valueOf())));
}
public function get value():String{
return (_value);
}
public function get domainHash():Number{
return (_domainHash);
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set value(_arg1:String):void{
_value = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 38
//UTMZ (com.google.analytics.data.UTMZ)
package com.google.analytics.data {
import com.google.analytics.utils.*;
public class UTMZ extends UTMCookie {
private var _campaignTracking:String;
private var _campaignCreation:Number;
private var _responseCount:Number;
private var _domainHash:Number;
private var _campaignSessions:Number;
public static var defaultTimespan:Number = Timespan.sixmonths;
public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){
super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000));
this.domainHash = _arg1;
this.campaignCreation = _arg2;
this.campaignSessions = _arg3;
this.responseCount = _arg4;
this.campaignTracking = _arg5;
}
public function set responseCount(_arg1:Number):void{
_responseCount = _arg1;
update();
}
public function set domainHash(_arg1:Number):void{
_domainHash = _arg1;
update();
}
public function set campaignCreation(_arg1:Number):void{
_campaignCreation = _arg1;
update();
}
public function get campaignTracking():String{
return (_campaignTracking);
}
public function get campaignSessions():Number{
return (_campaignSessions);
}
public function get domainHash():Number{
return (_domainHash);
}
public function get responseCount():Number{
return (_responseCount);
}
public function get campaignCreation():Number{
return (_campaignCreation);
}
public function set campaignSessions(_arg1:Number):void{
_campaignSessions = _arg1;
update();
}
public function set campaignTracking(_arg1:String):void{
_campaignTracking = _arg1;
update();
}
}
}//package com.google.analytics.data
Section 39
//X10 (com.google.analytics.data.X10)
package com.google.analytics.data {
public class X10 {
private var _delimEnd:String;// = ")"
private var _minimum:int;
private var _delimSet:String;// = "*"
private var _escapeChar:String;// = "'"
private var _delimBegin:String;// = "("
private var _delimNumValue:String;// = "!"
private var _key:String;// = "k"
private var _set:Array;
private var _hasData:int;
private var _escapeCharMap:Object;
private var _projectData:Object;
private var _value:String;// = "v"
public function X10(){
_set = [_key, _value];
super();
_projectData = {};
_escapeCharMap = {};
_escapeCharMap[_escapeChar] = "'0";
_escapeCharMap[_delimEnd] = "'1";
_escapeCharMap[_delimSet] = "'2";
_escapeCharMap[_delimNumValue] = "'3";
_minimum = 1;
}
private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{
if (!hasProject(_arg1)){
_projectData[_arg1] = {};
};
if (_projectData[_arg1][_arg2] == undefined){
_projectData[_arg1][_arg2] = [];
};
_projectData[_arg1][_arg2][_arg3] = _arg4;
_hasData = (_hasData + 1);
}
private function _renderProject(_arg1:Object):String{
var _local4:int;
var _local5:Array;
var _local2 = "";
var _local3:Boolean;
var _local6:int = _set.length;
_local4 = 0;
while (_local4 < _local6) {
_local5 = _arg1[_set[_local4]];
if (_local5){
if (_local3){
_local2 = (_local2 + _set[_local4]);
};
_local2 = (_local2 + _renderDataType(_local5));
_local3 = false;
} else {
_local3 = true;
};
_local4++;
};
return (_local2);
}
public function hasProject(_arg1:Number):Boolean{
return (_projectData[_arg1]);
}
public function clearKey(_arg1:Number):void{
_clearInternal(_arg1, _key);
}
private function _renderDataType(_arg1:Array):String{
var _local3:String;
var _local4:int;
var _local2:Array = [];
_local4 = 0;
while (_local4 < _arg1.length) {
if (_arg1[_local4] != undefined){
_local3 = "";
if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){
_local3 = (_local3 + _local4.toString());
_local3 = (_local3 + _delimNumValue);
};
_local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4]));
_local2.push(_local3);
};
_local4++;
};
return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd));
}
public function getKey(_arg1:Number, _arg2:Number):String{
return ((_getInternal(_arg1, _key, _arg2) as String));
}
public function hasData():Boolean{
return ((_hasData > 0));
}
public function renderMergedUrlString(_arg1:X10=null):String{
var _local3:String;
if (!_arg1){
return (renderUrlString());
};
var _local2:Array = [_arg1.renderUrlString()];
for (_local3 in _projectData) {
if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){
_local2.push((_local3 + _renderProject(_projectData[_local3])));
};
};
return (_local2.join(""));
}
public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{
if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){
return (false);
};
_setInternal(_arg1, _value, _arg2, _arg3.toString());
return (true);
}
public function renderUrlString():String{
var _local2:String;
var _local1:Array = [];
for (_local2 in _projectData) {
if (hasProject(Number(_local2))){
_local1.push((_local2 + _renderProject(_projectData[_local2])));
};
};
return (_local1.join(""));
}
private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
return (_projectData[_arg1][_arg2][_arg3]);
};
return (undefined);
}
public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{
_setInternal(_arg1, _key, _arg2, _arg3);
return (true);
}
public function clearValue(_arg1:Number):void{
_clearInternal(_arg1, _value);
}
private function _clearInternal(_arg1:Number, _arg2:String):void{
var _local3:Boolean;
var _local4:int;
var _local5:int;
if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){
_projectData[_arg1][_arg2] = undefined;
_local3 = true;
_local5 = _set.length;
_local4 = 0;
while (_local4 < _local5) {
if (_projectData[_arg1][_set[_local4]] != undefined){
_local3 = false;
break;
};
_local4++;
};
if (_local3){
_projectData[_arg1] = undefined;
_hasData = (_hasData - 1);
};
};
}
public function getValue(_arg1:Number, _arg2:Number){
var _local3:* = _getInternal(_arg1, _value, _arg2);
if (_local3 == null){
return (null);
};
return (Number(_local3));
}
private function _escapeExtensibleValue(_arg1:String):String{
var _local3:int;
var _local4:String;
var _local5:String;
var _local2 = "";
_local3 = 0;
while (_local3 < _arg1.length) {
_local4 = _arg1.charAt(_local3);
_local5 = _escapeCharMap[_local4];
if (_local5){
_local2 = (_local2 + _local5);
} else {
_local2 = (_local2 + _local4);
};
_local3++;
};
return (_local2);
}
}
}//package com.google.analytics.data
Section 40
//_Style (com.google.analytics.debug._Style)
package com.google.analytics.debug {
import flash.net.*;
import flash.text.*;
public class _Style {
public var failureColor:uint;
public var borderColor:uint;
public var backgroundColor:uint;
private var _sheet:StyleSheet;
public var roundedCorner:uint;
public var warningColor:uint;
public var infoColor:uint;
public var alertColor:uint;
public var successColor:uint;
private var _loader:URLLoader;
private var _defaultSheet:String;
public function _Style(){
_sheet = new StyleSheet();
_loader = new URLLoader();
_init();
}
private function _parseSheet(_arg1:String):void{
_sheet.parseCSS(_arg1);
}
public function get sheet():StyleSheet{
return (_sheet);
}
private function _init():void{
_defaultSheet = "";
_defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n");
_defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n");
_defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n");
_defaultSheet = (_defaultSheet + "\n");
roundedCorner = 6;
backgroundColor = 0xCCCCCC;
borderColor = 0x555555;
infoColor = 16777113;
alertColor = 0xFFCC00;
warningColor = 0xCC0000;
successColor = 0xFF00;
failureColor = 0xFF0000;
_parseSheet(_defaultSheet);
}
}
}//package com.google.analytics.debug
Section 41
//Alert (com.google.analytics.debug.Alert)
package com.google.analytics.debug {
import flash.events.*;
public class Alert extends Label {
public var autoClose:Boolean;// = true
public var actionOnNextLine:Boolean;// = true
private var _actions:Array;
public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){
if (_arg4 == 0){
_arg4 = Style.alertColor;
};
if (_arg5 == null){
_arg5 = Align.center;
};
super(_arg1, _arg3, _arg4, _arg5, _arg6);
this.selectable = true;
super.mouseChildren = true;
this.buttonMode = true;
this.mouseEnabled = true;
this.useHandCursor = true;
this.actionOnNextLine = _arg7;
_actions = [];
var _local8:int;
while (_local8 < _arg2.length) {
_arg2[_local8].container = this;
_actions.push(_arg2[_local8]);
_local8++;
};
}
private function _defineActions():void{
var _local3:AlertAction;
var _local1 = "";
if (actionOnNextLine){
_local1 = (_local1 + "\n");
} else {
_local1 = (_local1 + " |");
};
_local1 = (_local1 + " ");
var _local2:Array = [];
var _local4:int;
while (_local4 < _actions.length) {
_local3 = _actions[_local4];
_local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>"));
_local4++;
};
_local1 = (_local1 + _local2.join(" | "));
appendText(_local1, "uiAlertAction");
}
protected function isValidAction(_arg1:String):Boolean{
var _local2:int;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (true);
};
_local2++;
};
return (false);
}
override protected function layout():void{
super.layout();
_defineActions();
}
protected function getAction(_arg1:String):AlertAction{
var _local2:int;
while (_local2 < _actions.length) {
if (_arg1 == _actions[_local2].activator){
return (_actions[_local2]);
};
_local2++;
};
return (null);
}
protected function spaces(_arg1:int):String{
var _local2 = "";
var _local3 = " ";
var _local4:int;
while (_local4 < (_arg1 + 1)) {
_local2 = (_local2 + _local3);
_local4++;
};
return (_local2);
}
override public function onLink(_arg1:TextEvent):void{
var _local2:AlertAction;
if (isValidAction(_arg1.text)){
_local2 = getAction(_arg1.text);
if (_local2){
_local2.execute();
};
};
if (autoClose){
close();
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 42
//AlertAction (com.google.analytics.debug.AlertAction)
package com.google.analytics.debug {
public class AlertAction {
public var container:Alert;
private var _callback;
public var activator:String;
public var name:String;
public function AlertAction(_arg1:String, _arg2:String, _arg3){
this.name = _arg1;
this.activator = _arg2;
_callback = _arg3;
}
public function execute():void{
if (_callback){
if ((_callback is Function)){
(_callback as Function)();
} else {
if ((_callback is String)){
var _local1 = container;
_local1[_callback]();
};
};
};
}
}
}//package com.google.analytics.debug
Section 43
//Align (com.google.analytics.debug.Align)
package com.google.analytics.debug {
public class Align {
private var _value:int;
private var _name:String;
public static const bottomRight:Align = new Align(18, "bottomRight");
;
public static const right:Align = new Align(16, "right");
;
public static const left:Align = new Align(32, "left");
;
public static const topRight:Align = new Align(17, "topRight");
;
public static const bottom:Align = new Align(2, "bottom");
;
public static const bottomLeft:Align = new Align(34, "bottomLeft");
;
public static const topLeft:Align = new Align(33, "topLeft");
;
public static const center:Align = new Align(0x0100, "center");
;
public static const none:Align = new Align(0, "none");
;
public static const top:Align = new Align(1, "top");
;
public function Align(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 44
//Background (com.google.analytics.debug.Background)
package com.google.analytics.debug {
import flash.display.*;
public class Background {
public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{
var _local5:uint;
var _local6:uint;
var _local7:uint = Style.roundedCorner;
if ((((_arg3 > 0)) && ((_arg4 > 0)))){
_local5 = _arg3;
_local6 = _arg4;
} else {
_local5 = _arg1.width;
_local6 = _arg1.height;
};
if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){
switch (_arg1.alignement){
case Align.top:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7);
break;
case Align.topLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7);
break;
case Align.topRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0);
break;
case Align.bottom:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0);
break;
case Align.bottomLeft:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0);
break;
case Align.bottomRight:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0);
break;
case Align.left:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7);
break;
case Align.right:
_arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0);
break;
case Align.center:
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
break;
};
} else {
_arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7);
};
}
}
}//package com.google.analytics.debug
Section 45
//Debug (com.google.analytics.debug.Debug)
package com.google.analytics.debug {
import flash.events.*;
import flash.ui.*;
public class Debug extends Label {
private var _lines:Array;
private var _preferredForcedWidth:uint;// = 540
private var _linediff:int;// = 0
public var maxLines:uint;// = 16
public static var count:uint = 0;
public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){
if (_arg2 == null){
_arg2 = Align.bottom;
};
super("", "uiLabel", _arg1, _arg2, _arg3);
this.name = ("Debug" + count++);
_lines = [];
selectable = true;
addEventListener(KeyboardEvent.KEY_DOWN, onKey);
}
public function writeBold(_arg1:String):void{
write(_arg1, true);
}
private function _getLinesToDisplay(_arg1:int=0):Array{
var _local2:Array;
var _local3:uint;
var _local4:uint;
if ((_lines.length - 1) > maxLines){
if ((_linediff <= 0)){
_linediff = (_linediff + _arg1);
} else {
if ((((_linediff > 0)) && ((_arg1 < 0)))){
_linediff = (_linediff + _arg1);
};
};
_local3 = ((_lines.length - maxLines) + _linediff);
_local4 = (_local3 + maxLines);
_local2 = _lines.slice(_local3, _local4);
} else {
_local2 = _lines;
};
return (_local2);
}
private function onKey(_arg1:KeyboardEvent=null):void{
var _local2:Array;
switch (_arg1.keyCode){
case Keyboard.DOWN:
_local2 = _getLinesToDisplay(1);
break;
case Keyboard.UP:
_local2 = _getLinesToDisplay(-1);
break;
default:
_local2 = null;
};
if (_local2 == null){
return;
};
text = _local2.join("\n");
}
override public function get forcedWidth():uint{
if (this.parent){
if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){
return (_preferredForcedWidth);
};
return (UISprite(this.parent).forcedWidth);
//unresolved jump
};
return (super.forcedWidth);
}
public function write(_arg1:String, _arg2:Boolean=false):void{
var _local3:Array;
if (_arg1.indexOf("") > -1){
_local3 = _arg1.split("\n");
} else {
_local3 = [_arg1];
};
var _local4 = "";
var _local5 = "";
if (_arg2){
_local4 = "<b>";
_local5 = "</b>";
};
var _local6:int;
while (_local6 < _local3.length) {
_lines.push(((_local4 + _local3[_local6]) + _local5));
_local6++;
};
var _local7:Array = _getLinesToDisplay();
text = _local7.join("\n");
}
public function close():void{
dispose();
}
override protected function dispose():void{
removeEventListener(KeyboardEvent.KEY_DOWN, onKey);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 46
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.utils.*;
import flash.ui.*;
public class DebugConfiguration {
public var showHideKey:Number;
private var _mode:VisualDebugMode;
private var _verbose:Boolean;// = false
public var destroyKey:Number;
public var GIFRequests:Boolean;// = false
public var showInfos:Boolean;// = true
public var infoTimeout:Number;// = 1000
public var minimizedOnStart:Boolean;// = false
private var _active:Boolean;// = false
public var traceOutput:Boolean;// = false
public var layout:ILayout;
public var warningTimeout:Number;// = 1500
public var javascript:Boolean;// = false
public var showWarnings:Boolean;// = true
private var _visualInitialized:Boolean;// = false
public function DebugConfiguration(){
_mode = VisualDebugMode.basic;
showHideKey = Keyboard.SPACE;
destroyKey = Keyboard.BACKSPACE;
super();
}
public function get verbose():Boolean{
return (_verbose);
}
public function set verbose(_arg1:Boolean):void{
_verbose = _arg1;
}
public function set mode(_arg1):void{
if ((_arg1 is String)){
switch (_arg1){
case "geek":
_arg1 = VisualDebugMode.geek;
break;
case "advanced":
_arg1 = VisualDebugMode.advanced;
break;
case "basic":
default:
_arg1 = VisualDebugMode.basic;
};
};
_mode = _arg1;
}
public function success(_arg1:String):void{
if (layout){
layout.createSuccessAlert(_arg1);
};
if (traceOutput){
trace((("[+] " + _arg1) + " !!"));
};
}
public function get active():Boolean{
return (_active);
}
private function _initializeVisual():void{
if (layout){
layout.init();
_visualInitialized = true;
};
}
private function _destroyVisual():void{
if (((layout) && (_visualInitialized))){
layout.destroy();
};
}
public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showWarnings))){
layout.createWarning(_arg1);
};
if (traceOutput){
trace((("## " + _arg1) + " ##"));
};
}
private function _filter(_arg1:VisualDebugMode=null):Boolean{
return (((_arg1) && ((int(_arg1) >= int(this.mode)))));
}
public function failure(_arg1:String):void{
if (layout){
layout.createFailureAlert(_arg1);
};
if (traceOutput){
trace((("[-] " + _arg1) + " !!"));
};
}
public function get mode(){
return (_mode);
}
public function set active(_arg1:Boolean):void{
_active = _arg1;
if (_active){
_initializeVisual();
} else {
_destroyVisual();
};
}
protected function trace(_arg1:String):void{
var _local7:Array;
var _local8:int;
var _local2:Array = [];
var _local3 = "";
var _local4 = "";
if (this.mode == VisualDebugMode.geek){
_local3 = (getTimer() + " - ");
_local4 = (new Array(_local3.length).join(" ") + " ");
};
if (_arg1.indexOf("\n") > -1){
_local7 = _arg1.split("\n");
_local8 = 0;
while (_local8 < _local7.length) {
if (_local7[_local8] == ""){
} else {
if (_local8 == 0){
_local2.push((_local3 + _local7[_local8]));
} else {
_local2.push((_local4 + _local7[_local8]));
};
};
_local8++;
};
} else {
_local2.push((_local3 + _arg1));
};
var _local5:int = _local2.length;
var _local6:int;
while (_local6 < _local5) {
trace(_local2[_local6]);
_local6++;
};
}
public function alert(_arg1:String):void{
if (layout){
layout.createAlert(_arg1);
};
if (traceOutput){
trace((("!! " + _arg1) + " !!"));
};
}
public function info(_arg1:String, _arg2:VisualDebugMode=null):void{
if (_filter(_arg2)){
return;
};
if (((layout) && (showInfos))){
layout.createInfo(_arg1);
};
if (traceOutput){
trace(_arg1);
};
}
public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
if (layout){
layout.createGIFRequestAlert(_arg1, _arg2, _arg3);
};
if (traceOutput){
trace(((">> " + _arg1) + " <<"));
};
}
}
}//package com.google.analytics.debug
Section 47
//FailureAlert (com.google.analytics.debug.FailureAlert)
package com.google.analytics.debug {
public class FailureAlert extends Alert {
public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align = Align.bottomLeft;
var _local5:Boolean;
var _local6:Boolean;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 48
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert)
package com.google.analytics.debug {
public class GIFRequestAlert extends Alert {
public function GIFRequestAlert(_arg1:String, _arg2:Array){
super(_arg1, _arg2);
}
}
}//package com.google.analytics.debug
Section 49
//ILayout (com.google.analytics.debug.ILayout)
package com.google.analytics.debug {
import com.google.analytics.core.*;
import flash.net.*;
import flash.display.*;
public interface ILayout {
function createAlert(_arg1:String):void;
function addToStage(_arg1:DisplayObject):void;
function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void;
function createWarning(_arg1:String):void;
function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void;
function createInfo(_arg1:String):void;
function createFailureAlert(_arg1:String):void;
function addToPanel(_arg1:String, _arg2:DisplayObject):void;
function init():void;
function createSuccessAlert(_arg1:String):void;
function createVisualDebug():void;
function destroy():void;
function bringToFront(_arg1:DisplayObject):void;
function isAvailable():Boolean;
}
}//package com.google.analytics.debug
Section 50
//Info (com.google.analytics.debug.Info)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Info extends Label {
private var _timer:Timer;
public function Info(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiInfo", Style.infoColor, Align.top, true);
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
}
}//package com.google.analytics.debug
Section 51
//Label (com.google.analytics.debug.Label)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
import flash.text.*;
public class Label extends UISprite {
private var _color:uint;
private var _background:Shape;
private var _textField:TextField;
public var stickToEdge:Boolean;
private var _text:String;
protected var selectable:Boolean;
private var _tag:String;
public static var count:uint = 0;
public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){
this.name = ("Label" + count++);
selectable = false;
_background = new Shape();
_textField = new TextField();
_text = _arg1;
_tag = _arg2;
if (_arg4 == null){
_arg4 = Align.none;
};
this.alignement = _arg4;
this.stickToEdge = _arg5;
if (_arg3 == 0){
_arg3 = Style.backgroundColor;
};
_color = _arg3;
_textField.addEventListener(TextEvent.LINK, onLink);
}
public function get tag():String{
return (_tag);
}
private function _draw():void{
var _local1:Graphics = _background.graphics;
_local1.clear();
_local1.beginFill(_color);
var _local2:uint = _textField.width;
var _local3:uint = _textField.height;
if (forcedWidth > 0){
_local2 = forcedWidth;
};
Background.drawRounded(this, _local1, _local2, _local3);
_local1.endFill();
}
public function get text():String{
return (_textField.text);
}
public function appendText(_arg1:String, _arg2:String=""):void{
if (_arg1 == ""){
return;
};
if (_arg2 == ""){
_arg2 = tag;
};
_textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>"));
_text = (_text + _arg1);
_draw();
resize();
}
public function set text(_arg1:String):void{
if (_arg1 == ""){
_arg1 = _text;
};
_textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>");
_text = _arg1;
_draw();
resize();
}
override protected function layout():void{
_textField.type = TextFieldType.DYNAMIC;
_textField.autoSize = TextFieldAutoSize.LEFT;
_textField.background = false;
_textField.selectable = selectable;
_textField.multiline = true;
_textField.styleSheet = Style.sheet;
this.text = _text;
addChild(_background);
addChild(_textField);
}
public function set tag(_arg1:String):void{
_tag = _arg1;
text = "";
}
public function onLink(_arg1:TextEvent):void{
}
override protected function dispose():void{
_textField.removeEventListener(TextEvent.LINK, onLink);
super.dispose();
}
}
}//package com.google.analytics.debug
Section 52
//Layout (com.google.analytics.debug.Layout)
package com.google.analytics.debug {
import flash.events.*;
import com.google.analytics.core.*;
import flash.net.*;
import flash.display.*;
import com.google.analytics.*;
public class Layout implements ILayout {
private var _display:DisplayObject;
private var _infoQueue:Array;
private var _maxCharPerLine:int;// = 85
private var _hasInfo:Boolean;
private var _warningQueue:Array;
private var _hasDebug:Boolean;
private var _hasWarning:Boolean;
private var _mainPanel:Panel;
private var _GRAlertQueue:Array;
private var _debug:DebugConfiguration;
public var visualDebug:Debug;
private var _hasGRAlert:Boolean;
public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){
_display = _arg2;
_debug = _arg1;
_hasWarning = false;
_hasInfo = false;
_hasDebug = false;
_hasGRAlert = false;
_warningQueue = [];
_infoQueue = [];
_GRAlertQueue = [];
}
private function onKey(_arg1:KeyboardEvent=null):void{
switch (_arg1.keyCode){
case _debug.showHideKey:
_mainPanel.visible = !(_mainPanel.visible);
break;
case _debug.destroyKey:
destroy();
break;
};
}
public function createWarning(_arg1:String):void{
if (((_hasWarning) || (!(isAvailable())))){
_warningQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasWarning = true;
var _local2:Warning = new Warning(_arg1, _debug.warningTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function bringToFront(_arg1:DisplayObject):void{
_display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1));
}
public function createFailureAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new FailureAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function init():void{
var _local1 = 10;
var _local2:uint = (_display.stage.stageWidth - (_local1 * 2));
var _local3:uint = (_display.stage.stageHeight - (_local1 * 2));
var _local4:Panel = new Panel("analytics", _local2, _local3);
_local4.alignement = Align.top;
_local4.stickToEdge = false;
_local4.title = ("Google Analytics v" + GATracker.version);
_mainPanel = _local4;
addToStage(_local4);
bringToFront(_local4);
if (_debug.minimizedOnStart){
_mainPanel.onToggle();
};
createVisualDebug();
_display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true);
}
public function addToPanel(_arg1:String, _arg2:DisplayObject):void{
var _local4:Panel;
var _local3:DisplayObject = _display.stage.getChildByName(_arg1);
if (_local3){
_local4 = (_local3 as Panel);
_local4.addData(_arg2);
} else {
trace((("panel \"" + _arg1) + "\" not found"));
};
}
private function _clearInfo(_arg1:Event):void{
_hasInfo = false;
if (_infoQueue.length > 0){
createInfo(_infoQueue.shift());
};
}
private function _filterMaxChars(_arg1:String, _arg2:int=0):String{
var _local6:String;
var _local3 = "\n";
var _local4:Array = [];
var _local5:Array = _arg1.split(_local3);
if (_arg2 == 0){
_arg2 = _maxCharPerLine;
};
var _local7:int;
while (_local7 < _local5.length) {
_local6 = _local5[_local7];
while (_local6.length > _arg2) {
_local4.push(_local6.substr(0, _arg2));
_local6 = _local6.substring(_arg2);
};
_local4.push(_local6);
_local7++;
};
return (_local4.join(_local3));
}
private function _clearGRAlert(_arg1:Event):void{
_hasGRAlert = false;
if (_GRAlertQueue.length > 0){
createGIFRequestAlert.apply(this, _GRAlertQueue.shift());
};
}
public function createSuccessAlert(_arg1:String):void{
var _local2:AlertAction;
if (_debug.verbose){
_arg1 = _filterMaxChars(_arg1);
_local2 = new AlertAction("Close", "close", "close");
} else {
_local2 = new AlertAction("X", "close", "close");
};
var _local3:Alert = new SuccessAlert(_debug, _arg1, [_local2]);
addToPanel("analytics", _local3);
if (_hasDebug){
if (_debug.verbose){
_arg1 = _arg1.split("\n").join("");
_arg1 = _filterMaxChars(_arg1, 66);
};
visualDebug.writeBold(_arg1);
};
}
public function isAvailable():Boolean{
return (!((_display.stage == null)));
}
public function createAlert(_arg1:String):void{
_arg1 = _filterMaxChars(_arg1);
var _local2:Alert = new Alert(_arg1, [new AlertAction("Close", "close", "close")]);
addToPanel("analytics", _local2);
if (_hasDebug){
visualDebug.writeBold(_arg1);
};
}
public function createInfo(_arg1:String):void{
if (((_hasInfo) || (!(isAvailable())))){
_infoQueue.push(_arg1);
return;
};
_arg1 = _filterMaxChars(_arg1);
_hasInfo = true;
var _local2:Info = new Info(_arg1, _debug.infoTimeout);
addToPanel("analytics", _local2);
_local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true);
if (_hasDebug){
visualDebug.write(_arg1);
};
}
public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{
var message = _arg1;
var request = _arg2;
var ref = _arg3;
if (_hasGRAlert){
_GRAlertQueue.push([message, request, ref]);
return;
};
_hasGRAlert = true;
var f:Function = function ():void{
ref.sendRequest(request);
};
message = _filterMaxChars(message);
var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]);
addToPanel("analytics", gra);
gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true);
if (_hasDebug){
if (_debug.verbose){
message = message.split("\n").join("");
message = _filterMaxChars(message, 66);
};
visualDebug.write(message);
};
}
public function createVisualDebug():void{
if (!visualDebug){
visualDebug = new Debug();
visualDebug.alignement = Align.bottom;
visualDebug.stickToEdge = true;
addToPanel("analytics", visualDebug);
_hasDebug = true;
};
}
public function addToStage(_arg1:DisplayObject):void{
_display.stage.addChild(_arg1);
}
private function _clearWarning(_arg1:Event):void{
_hasWarning = false;
if (_warningQueue.length > 0){
createWarning(_warningQueue.shift());
};
}
public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{
var _local4:Panel = new Panel(_arg1, _arg2, _arg3);
_local4.alignement = Align.center;
_local4.stickToEdge = false;
addToStage(_local4);
bringToFront(_local4);
}
public function destroy():void{
_mainPanel.close();
_debug.layout = null;
}
}
}//package com.google.analytics.debug
Section 53
//Margin (com.google.analytics.debug.Margin)
package com.google.analytics.debug {
public class Margin {
public var top:int;
public var left:int;
public var bottom:int;
public var right:int;
public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){
this.top = _arg1;
this.bottom = _arg2;
this.left = _arg3;
this.right = _arg4;
}
}
}//package com.google.analytics.debug
Section 54
//Panel (com.google.analytics.debug.Panel)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class Panel extends UISprite {
private var _savedH:uint;
private var _data:UISprite;
private var _mask:Sprite;
private var _background:Shape;
private var _savedW:uint;
private var _stickToEdge:Boolean;
private var _border:Shape;
private var _borderColor:uint;
protected var baseAlpha:Number;
private var _backgroundColor:uint;
private var _title:Label;
private var _colapsed:Boolean;
private var _name:String;
public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){
_name = _arg1;
this.name = _arg1;
this.mouseEnabled = false;
_colapsed = false;
forcedWidth = _arg2;
forcedHeight = _arg3;
this.baseAlpha = _arg6;
_background = new Shape();
_data = new UISprite();
_data.forcedWidth = _arg2;
_data.forcedHeight = _arg3;
_data.mouseEnabled = false;
_title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8);
_title.buttonMode = true;
_title.margin.top = 0.6;
_title.margin.left = 0.6;
_title.addEventListener(MouseEvent.CLICK, onToggle);
_title.mouseChildren = false;
_border = new Shape();
_mask = new Sprite();
_mask.useHandCursor = false;
_mask.mouseEnabled = false;
_mask.mouseChildren = false;
if (_arg7 == null){
_arg7 = Align.none;
};
this.alignement = _arg7;
this.stickToEdge = _arg8;
if (_arg4 == 0){
_arg4 = Style.backgroundColor;
};
_backgroundColor = _arg4;
if (_arg5 == 0){
_arg5 = Style.borderColor;
};
_borderColor = _arg5;
}
public function get stickToEdge():Boolean{
return (_stickToEdge);
}
public function onToggle(_arg1:MouseEvent=null):void{
if (_colapsed){
_data.visible = true;
} else {
_data.visible = false;
};
_colapsed = !(_colapsed);
_update();
resize();
}
public function set stickToEdge(_arg1:Boolean):void{
_stickToEdge = _arg1;
_title.stickToEdge = _arg1;
}
override protected function dispose():void{
_title.removeEventListener(MouseEvent.CLICK, onToggle);
super.dispose();
}
private function _draw():void{
var _local1:uint;
var _local2:uint;
if (((_savedW) && (_savedH))){
forcedWidth = _savedW;
forcedHeight = _savedH;
};
if (!_colapsed){
_local1 = forcedWidth;
_local2 = forcedHeight;
} else {
_local1 = _title.width;
_local2 = _title.height;
_savedW = forcedWidth;
_savedH = forcedHeight;
forcedWidth = _local1;
forcedHeight = _local2;
};
var _local3:Graphics = _background.graphics;
_local3.clear();
_local3.beginFill(_backgroundColor);
Background.drawRounded(this, _local3, _local1, _local2);
_local3.endFill();
var _local4:Graphics = _data.graphics;
_local4.clear();
_local4.beginFill(_backgroundColor, 0);
Background.drawRounded(this, _local4, _local1, _local2);
_local4.endFill();
var _local5:Graphics = _border.graphics;
_local5.clear();
_local5.lineStyle(0.1, _borderColor);
Background.drawRounded(this, _local5, _local1, _local2);
_local5.endFill();
var _local6:Graphics = _mask.graphics;
_local6.clear();
_local6.beginFill(_backgroundColor);
Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1));
_local6.endFill();
}
public function get title():String{
return (_title.text);
}
private function _update():void{
_draw();
if (baseAlpha < 1){
_background.alpha = baseAlpha;
_border.alpha = baseAlpha;
};
}
public function addData(_arg1:DisplayObject):void{
_data.addChild(_arg1);
}
override protected function layout():void{
_update();
addChild(_background);
addChild(_data);
addChild(_title);
addChild(_border);
addChild(_mask);
mask = _mask;
}
public function set title(_arg1:String):void{
_title.text = _arg1;
}
public function close():void{
dispose();
if (parent != null){
parent.removeChild(this);
};
}
}
}//package com.google.analytics.debug
Section 55
//Style (com.google.analytics.debug.Style)
package com.google.analytics.debug {
public const Style:_Style = new _Style();
}//package com.google.analytics.debug
Section 56
//SuccessAlert (com.google.analytics.debug.SuccessAlert)
package com.google.analytics.debug {
public class SuccessAlert extends Alert {
public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){
var _local4:Align = Align.bottomLeft;
var _local5:Boolean;
var _local6:Boolean;
if (_arg1.verbose){
_arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2);
_local4 = Align.center;
_local5 = false;
_local6 = true;
};
super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6);
}
}
}//package com.google.analytics.debug
Section 57
//UISprite (com.google.analytics.debug.UISprite)
package com.google.analytics.debug {
import flash.events.*;
import flash.display.*;
public class UISprite extends Sprite {
private var _forcedWidth:uint;
public var margin:Margin;
protected var alignTarget:DisplayObject;
protected var listenResize:Boolean;
public var alignement:Align;
private var _forcedHeight:uint;
public function UISprite(_arg1:DisplayObject=null){
listenResize = false;
alignement = Align.none;
this.alignTarget = _arg1;
margin = new Margin();
addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
}
public function get forcedHeight():uint{
if (_forcedHeight){
return (_forcedHeight);
};
return (height);
}
private function _onAddedToStage(_arg1:Event):void{
layout();
resize();
}
protected function dispose():void{
var _local1:DisplayObject;
var _local2:int;
while (_local2 < numChildren) {
_local1 = getChildAt(_local2);
if (_local1){
removeChild(_local1);
};
_local2++;
};
}
public function set forcedHeight(_arg1:uint):void{
_forcedHeight = _arg1;
}
public function set forcedWidth(_arg1:uint):void{
_forcedWidth = _arg1;
}
protected function layout():void{
}
public function get forcedWidth():uint{
if (_forcedWidth){
return (_forcedWidth);
};
return (width);
}
public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{
var _local3:uint;
var _local4:uint;
var _local5:uint;
var _local6:uint;
var _local7:UISprite;
if (_arg2 == null){
if ((parent is Stage)){
_arg2 = this.stage;
} else {
_arg2 = parent;
};
};
if (_arg2 == this.stage){
if (this.stage == null){
return;
};
_local3 = this.stage.stageHeight;
_local4 = this.stage.stageWidth;
_local5 = 0;
_local6 = 0;
} else {
_local7 = (_arg2 as UISprite);
if (_local7.forcedHeight){
_local3 = _local7.forcedHeight;
} else {
_local3 = _local7.height;
};
if (_local7.forcedWidth){
_local4 = _local7.forcedWidth;
} else {
_local4 = _local7.width;
};
_local5 = 0;
_local6 = 0;
};
switch (_arg1){
case Align.top:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (_local6 + margin.top);
break;
case Align.bottom:
x = ((_local4 / 2) - (forcedWidth / 2));
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.left:
x = (_local5 + margin.left);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.right:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.center:
x = ((_local4 / 2) - (forcedWidth / 2));
y = ((_local3 / 2) - (forcedHeight / 2));
break;
case Align.topLeft:
x = (_local5 + margin.left);
y = (_local6 + margin.top);
break;
case Align.topRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (_local6 + margin.top);
break;
case Align.bottomLeft:
x = (_local5 + margin.left);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
case Align.bottomRight:
x = (((_local5 + _local4) - forcedWidth) - margin.right);
y = (((_local6 + _local3) - forcedHeight) - margin.bottom);
break;
};
if (((!(listenResize)) && (!((_arg1 == Align.none))))){
_arg2.addEventListener(Event.RESIZE, onResize, false, 0, true);
listenResize = true;
};
this.alignement = _arg1;
this.alignTarget = _arg2;
}
private function _onRemovedFromStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);
removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage);
dispose();
}
public function resize():void{
if (alignement != Align.none){
alignTo(alignement, alignTarget);
};
}
protected function onResize(_arg1:Event):void{
resize();
}
}
}//package com.google.analytics.debug
Section 58
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode)
package com.google.analytics.debug {
public class VisualDebugMode {
private var _value:int;
private var _name:String;
public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced");
;
public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek");
;
public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic");
;
public function VisualDebugMode(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.debug
Section 59
//Warning (com.google.analytics.debug.Warning)
package com.google.analytics.debug {
import flash.events.*;
import flash.utils.*;
public class Warning extends Label {
private var _timer:Timer;
public function Warning(_arg1:String="", _arg2:uint=3000){
super(_arg1, "uiWarning", Style.warningColor, Align.top, false);
margin.top = 32;
if (_arg2 > 0){
_timer = new Timer(_arg2, 1);
_timer.start();
_timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true);
};
}
public function close():void{
if (parent != null){
parent.removeChild(this);
};
}
override public function onLink(_arg1:TextEvent):void{
switch (_arg1.text){
case "hide":
close();
break;
};
}
public function onComplete(_arg1:TimerEvent):void{
close();
}
}
}//package com.google.analytics.debug
Section 60
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent)
package com.google.analytics.events {
import flash.events.*;
import com.google.analytics.*;
public class AnalyticsEvent extends Event {
public var tracker:AnalyticsTracker;
public static const READY:String = "ready";
public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){
super(_arg1, _arg3, _arg4);
this.tracker = _arg2;
}
override public function clone():Event{
return (new AnalyticsEvent(type, tracker, bubbles, cancelable));
}
}
}//package com.google.analytics.events
Section 61
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class AdSenseGlobals extends JavascriptProxy {
private var _gaGlobalVerified:Boolean;// = false
public static var gaGlobal_js:XML = <script>
<![CDATA[
function()
{
try
{
gaGlobal
}
catch(e)
{
gaGlobal = {} ;
}
}
]]>
</script>
;
public function AdSenseGlobals(_arg1:DebugConfiguration){
super(_arg1);
}
public function set vid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.vid", _arg1);
}
public function get hid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.hid"));
}
public function set hid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.hid", _arg1);
}
public function get dh():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.dh"));
}
public function get sid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.sid"));
}
public function get vid():String{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal.vid"));
}
private function _verify():void{
if (!_gaGlobalVerified){
executeBlock(gaGlobal_js);
_gaGlobalVerified = true;
};
}
public function set sid(_arg1:String):void{
if (!isAvailable()){
return;
};
_verify();
setProperty("gaGlobal.sid", _arg1);
}
public function get gaGlobal():Object{
if (!isAvailable()){
return (null);
};
_verify();
return (getProperty("gaGlobal"));
}
}
}//package com.google.analytics.external
Section 62
//HTMLDOM (com.google.analytics.external.HTMLDOM)
package com.google.analytics.external {
import com.google.analytics.debug.*;
public class HTMLDOM extends JavascriptProxy {
private var _referrer:String;
private var _language:String;
private var _host:String;
private var _pathname:String;
private var _location:String;
private var _search:String;
private var _characterSet:String;
private var _title:String;
private var _protocol:String;
private var _colorDepth:String;
public static var cache_properties_js:XML = <script>
<![CDATA[
function()
{
var obj = {};
obj.host = document.location.host;
obj.language = navigator.language ? navigator.language : navigator.browserLanguage;
obj.characterSet = document.characterSet ? document.characterSet : document.charset;
obj.colorDepth = window.screen.colorDepth;
obj.location = document.location.toString();
obj.pathname = document.location.pathname;
obj.protocol = document.location.protocol;
obj.search = document.location.search;
obj.referrer = document.referrer;
obj.title = document.title;
return obj;
}
]]>
</script>
;
public function HTMLDOM(_arg1:DebugConfiguration){
super(_arg1);
}
public function get search():String{
if (_search){
return (_search);
};
if (!isAvailable()){
return (null);
};
_search = getProperty("document.location.search");
return (_search);
}
public function get location():String{
if (_location){
return (_location);
};
if (!isAvailable()){
return (null);
};
_location = getPropertyString("document.location");
return (_location);
}
public function get pathname():String{
if (_pathname){
return (_pathname);
};
if (!isAvailable()){
return (null);
};
_pathname = getProperty("document.location.pathname");
return (_pathname);
}
public function cacheProperties():void{
if (!isAvailable()){
return;
};
var _local1:Object = call(cache_properties_js);
if (_local1){
_host = _local1.host;
_language = _local1.language;
_characterSet = _local1.characterSet;
_colorDepth = _local1.colorDepth;
_location = _local1.location;
_pathname = _local1.pathname;
_protocol = _local1.protocol;
_search = _local1.search;
_referrer = _local1.referrer;
_title = _local1.title;
};
}
public function get language():String{
if (_language){
return (_language);
};
if (!isAvailable()){
return (null);
};
var _local1:String = getProperty("navigator.language");
if (_local1 == null){
_local1 = getProperty("navigator.browserLanguage");
};
_language = _local1;
return (_language);
}
public function get colorDepth():String{
if (_colorDepth){
return (_colorDepth);
};
if (!isAvailable()){
return (null);
};
_colorDepth = getProperty("window.screen.colorDepth");
return (_colorDepth);
}
public function get referrer():String{
if (_referrer){
return (_referrer);
};
if (!isAvailable()){
return (null);
};
_referrer = getProperty("document.referrer");
return (_referrer);
}
public function get protocol():String{
if (_protocol){
return (_protocol);
};
if (!isAvailable()){
return (null);
};
_protocol = getProperty("document.location.protocol");
return (_protocol);
}
public function get host():String{
if (_host){
return (_host);
};
if (!isAvailable()){
return (null);
};
_host = getProperty("document.location.host");
return (_host);
}
public function get characterSet():String{
if (_characterSet){
return (_characterSet);
};
if (!isAvailable()){
return (null);
};
var _local1:String = getProperty("document.characterSet");
if (_local1 == null){
_local1 = getProperty("document.charset");
};
_characterSet = _local1;
return (_characterSet);
}
public function get title():String{
if (_title){
return (_title);
};
if (!isAvailable()){
return (null);
};
_title = getProperty("document.title");
return (_title);
}
}
}//package com.google.analytics.external
Section 63
//JavascriptProxy (com.google.analytics.external.JavascriptProxy)
package com.google.analytics.external {
import com.google.analytics.debug.*;
import flash.external.*;
import flash.system.*;
public class JavascriptProxy {
private var _notAvailableWarning:Boolean;// = true
private var _debug:DebugConfiguration;
public static var setProperty_js:XML = <script>
<![CDATA[
function( path , value )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
target[ prop ] = value ;
}
]]>
</script>
;
public static var hasProperty_js:XML = <script>
<![CDATA[
function( path )
{
var paths;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
}
else
{
paths = [path];
}
var target = window ;
var len = paths.length ;
for( var i = 0 ; i < len ; i++ )
{
target = target[ paths[i] ] ;
}
if( target )
{
return true;
}
else
{
return false;
}
}
]]>
</script>
;
public static var setPropertyRef_js:XML = <script>
<![CDATA[
function( path , target )
{
var paths;
var prop;
if( path.indexOf(".") > 0 )
{
paths = path.split(".");
prop = paths.pop() ;
}
else
{
paths = [];
prop = path;
}
alert( "paths:"+paths.length+", prop:"+prop );
var targets;
var name;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
alert( "targets:"+targets.length+", name:"+name );
var root = window;
var len = paths.length;
for( var i = 0 ; i < len ; i++ )
{
root = root[ paths[i] ] ;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
root[ prop ] = ref[name] ;
}
]]>
</script>
;
public function JavascriptProxy(_arg1:DebugConfiguration){
_debug = _arg1;
}
public function getProperty(_arg1:String){
return (call((_arg1 + ".valueOf")));
}
public function hasProperty(_arg1:String):Boolean{
return (call(hasProperty_js, _arg1));
}
public function setProperty(_arg1:String, _arg2):void{
call(setProperty_js, _arg1, _arg2);
}
public function executeBlock(_arg1:String):void{
var data = _arg1;
if (isAvailable()){
try {
ExternalInterface.call(data);
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
}
public function getPropertyString(_arg1:String):String{
return (call((_arg1 + ".toString")));
}
public function setPropertyByReference(_arg1:String, _arg2:String):void{
call(setPropertyRef_js, _arg1, _arg2);
}
public function call(_arg1:String, ... _args){
var output:String;
var functionName = _arg1;
var args = _args;
if (isAvailable()){
try {
if (((_debug.javascript) && (_debug.verbose))){
output = "";
output = ("Flash->JS: " + functionName);
output = (output + "( ");
if (args.length > 0){
output = (output + args.join(","));
};
output = (output + " )");
_debug.info(output);
};
args.unshift(functionName);
return (ExternalInterface.call.apply(ExternalInterface, args));
} catch(e:SecurityError) {
if (_debug.javascript){
_debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML.");
};
} catch(e:Error) {
if (_debug.javascript){
_debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message));
};
};
};
return (null);
}
public function isAvailable():Boolean{
var _local1:Boolean = ExternalInterface.available;
if (((_local1) && ((Capabilities.playerType == "External")))){
_local1 = false;
};
if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){
_debug.warning("ExternalInterface is not available.");
_notAvailableWarning = false;
};
return (_local1);
}
}
}//package com.google.analytics.external
Section 64
//Environment (com.google.analytics.utils.Environment)
package com.google.analytics.utils {
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
import flash.system.*;
public class Environment {
private var _dom:HTMLDOM;
private var _appName:String;
private var _debug:DebugConfiguration;
private var _appVersion:Version;
private var _url:String;
private var _protocol:Protocols;
private var _userAgent:UserAgent;
public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){
var _local6:Version;
super();
if (_arg2 == ""){
if (isAIR()){
_arg2 = "AIR";
} else {
_arg2 = "Flash";
};
};
if (_arg3 == ""){
_local6 = flashVersion;
} else {
_local6 = Version.fromString(_arg3);
};
_url = _arg1;
_appName = _arg2;
_appVersion = _local6;
_debug = _arg4;
_dom = _arg5;
}
public function isAIR():Boolean{
return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application"))));
}
public function get screenWidth():Number{
return (Capabilities.screenResolutionX);
}
public function get playerType():String{
return (Capabilities.playerType);
}
public function get locationSearch():String{
var _local1:String = _dom.search;
if (_local1){
return (_local1);
};
return ("");
}
public function get protocol():Protocols{
if (!_protocol){
_findProtocol();
};
return (_protocol);
}
public function get flashVersion():Version{
var _local1:Version = Version.fromString(Capabilities.version.split(" ")[1], ",");
return (_local1);
}
public function get userAgent():UserAgent{
if (!_userAgent){
_userAgent = new UserAgent(this, appName, appVersion.toString(4));
};
return (_userAgent);
}
public function get languageEncoding():String{
var _local1:String;
if (System.useCodePage){
_local1 = _dom.characterSet;
if (_local1){
return (_local1);
};
return ("-");
};
return ("UTF-8");
}
public function get appName():String{
return (_appName);
}
public function get screenColorDepth():String{
var _local1:String;
switch (Capabilities.screenColor){
case "bw":
_local1 = "1";
break;
case "gray":
_local1 = "2";
break;
case "color":
default:
_local1 = "24";
};
var _local2:String = _dom.colorDepth;
if (_local2){
_local1 = _local2;
};
return (_local1);
}
private function _findProtocol():void{
var _local4:String;
var _local5:String;
var _local1:Protocols = Protocols.none;
if (_url != ""){
_local4 = _url.toLowerCase();
_local5 = _local4.substr(0, 5);
switch (_local5){
case "file:":
_local1 = Protocols.file;
break;
case "http:":
_local1 = Protocols.HTTP;
break;
case "https":
if (_local4.charAt(5) == ":"){
_local1 = Protocols.HTTPS;
};
break;
default:
_protocol = Protocols.none;
};
};
var _local2:String = _dom.protocol;
var _local3:String = (_local1.toString() + ":").toLowerCase();
if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){
_debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2));
};
_protocol = _local1;
}
public function get locationSWFPath():String{
return (_url);
}
public function get platform():String{
var _local1:String = Capabilities.manufacturer;
return (_local1.split("Adobe ")[1]);
}
public function get operatingSystem():String{
return (Capabilities.os);
}
public function set appName(_arg1:String):void{
_appName = _arg1;
userAgent.applicationProduct = _arg1;
}
function set url(_arg1:String):void{
_url = _arg1;
}
public function get referrer():String{
var _local1:String = _dom.referrer;
if (_local1){
return (_local1);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function isInHTML():Boolean{
return ((Capabilities.playerType == "PlugIn"));
}
public function get language():String{
var _local1:String = _dom.language;
var _local2:String = Capabilities.language;
if (_local1){
if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){
_local2 = _local1;
};
};
return (_local2);
}
public function get domainName():String{
var _local1:String;
var _local2:String;
var _local3:int;
if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){
_local1 = _url.toLowerCase();
if (protocol == Protocols.HTTP){
_local2 = _local1.split("http://").join("");
} else {
if (protocol == Protocols.HTTPS){
_local2 = _local1.split("https://").join("");
};
};
_local3 = _local2.indexOf("/");
if (_local3 > -1){
_local2 = _local2.substring(0, _local3);
};
return (_local2);
};
if (protocol == Protocols.file){
return ("localhost");
};
return ("");
}
public function set userAgent(_arg1:UserAgent):void{
_userAgent = _arg1;
}
public function set appVersion(_arg1:Version):void{
_appVersion = _arg1;
userAgent.applicationVersion = _arg1.toString(4);
}
public function get screenHeight():Number{
return (Capabilities.screenResolutionY);
}
public function get locationPath():String{
var _local1:String = _dom.pathname;
if (_local1){
return (_local1);
};
return ("");
}
public function get documentTitle():String{
var _local1:String = _dom.title;
if (_local1){
return (_local1);
};
return ("");
}
public function get appVersion():Version{
return (_appVersion);
}
}
}//package com.google.analytics.utils
Section 65
//Protocols (com.google.analytics.utils.Protocols)
package com.google.analytics.utils {
public class Protocols {
private var _value:int;
private var _name:String;
public static const none:Protocols = new Protocols(0, "none");
;
public static const HTTPS:Protocols = new Protocols(3, "HTTPS");
;
public static const file:Protocols = new Protocols(1, "file");
;
public static const HTTP:Protocols = new Protocols(2, "HTTP");
;
public function Protocols(_arg1:int=0, _arg2:String=""){
_value = _arg1;
_name = _arg2;
}
public function valueOf():int{
return (_value);
}
public function toString():String{
return (_name);
}
}
}//package com.google.analytics.utils
Section 66
//Timespan (com.google.analytics.utils.Timespan)
package com.google.analytics.utils {
public class Timespan {
public static var sixmonths:Number = 15768000;
public static var twoyears:Number = 63072000;
public static var thirtyminutes:Number = 1800;
}
}//package com.google.analytics.utils
Section 67
//URL (com.google.analytics.utils.URL)
package com.google.analytics.utils {
public class URL {
private var _url:String;
public function URL(_arg1:String=""){
_url = _arg1.toLowerCase();
}
public function get domain():String{
var _local1:Array;
if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){
_local1 = hostName.split(".");
switch (_local1.length){
case 2:
return (hostName);
case 3:
if (_local1[1] == "co"){
return (hostName);
};
_local1.shift();
return (_local1.join("."));
case 4:
_local1.shift();
return (_local1.join("."));
};
};
return ("");
}
public function get path():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if (_local1.charAt(0) != "/"){
_local1 = ("/" + _local1);
};
return (_local1);
}
public function get protocol():Protocols{
var _local1:String = _url.split("://")[0];
switch (_local1){
case "file":
return (Protocols.file);
case "http":
return (Protocols.HTTP);
case "https":
return (Protocols.HTTPS);
default:
return (Protocols.none);
};
}
public function get hostName():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf("/") > -1){
_local1 = _local1.split("/")[0];
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[0];
};
if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){
return ("");
};
return (_local1);
}
public function get subDomain():String{
if (((!((domain == ""))) && (!((domain == hostName))))){
return (hostName.split(("." + domain)).join(""));
};
return ("");
}
public function get search():String{
var _local1:String = _url;
if (_local1.indexOf("://") > -1){
_local1 = _local1.split("://")[1];
};
if (_local1.indexOf(hostName) == 0){
_local1 = _local1.substr(hostName.length);
};
if (_local1.indexOf("?") > -1){
_local1 = _local1.split("?")[1];
} else {
_local1 = "";
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 68
//UserAgent (com.google.analytics.utils.UserAgent)
package com.google.analytics.utils {
import com.google.analytics.core.*;
import flash.system.*;
public class UserAgent {
private var _localInfo:Environment;
private var _applicationProduct:String;
private var _version:Version;
public static var minimal:Boolean = false;
public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){
_localInfo = _arg1;
applicationProduct = _arg2;
_version = Version.fromString(_arg3);
}
public function get tamarinProductToken():String{
if (UserAgent.minimal){
return ("");
};
if (System.vmVersion){
return (("Tamarin/" + Utils.trim(System.vmVersion, true)));
};
return ("");
}
public function get applicationVersion():String{
return (_version.toString(2));
}
public function get vendorProductToken():String{
var _local1 = "";
if (_localInfo.isAIR()){
_local1 = (_local1 + "AIR");
} else {
_local1 = (_local1 + "FlashPlayer");
};
_local1 = (_local1 + "/");
_local1 = (_local1 + _version.toString(3));
return (_local1);
}
public function toString():String{
var _local1 = "";
_local1 = (_local1 + applicationProductToken);
if (applicationComment != ""){
_local1 = (_local1 + (" " + applicationComment));
};
if (tamarinProductToken != ""){
_local1 = (_local1 + (" " + tamarinProductToken));
};
if (vendorProductToken != ""){
_local1 = (_local1 + (" " + vendorProductToken));
};
return (_local1);
}
public function get applicationComment():String{
var _local1:Array = [];
_local1.push(_localInfo.platform);
_local1.push(_localInfo.playerType);
if (!UserAgent.minimal){
_local1.push(_localInfo.operatingSystem);
_local1.push(_localInfo.language);
};
if (Capabilities.isDebugger){
_local1.push("DEBUG");
};
if (_local1.length > 0){
return ((("(" + _local1.join("; ")) + ")"));
};
return ("");
}
public function set applicationVersion(_arg1:String):void{
_version = Version.fromString(_arg1);
}
public function get applicationProductToken():String{
var _local1:String = applicationProduct;
if (applicationVersion != ""){
_local1 = (_local1 + ("/" + applicationVersion));
};
return (_local1);
}
public function set applicationProduct(_arg1:String):void{
_applicationProduct = _arg1;
}
public function get applicationProduct():String{
return (_applicationProduct);
}
}
}//package com.google.analytics.utils
Section 69
//Variables (com.google.analytics.utils.Variables)
package com.google.analytics.utils {
import flash.net.*;
public dynamic class Variables {
public var post:Array;
public var URIencode:Boolean;
public var pre:Array;
public var sort:Boolean;// = true
public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){
pre = [];
post = [];
super();
if (_arg1){
decode(_arg1);
};
if (_arg2){
this.pre = _arg2;
};
if (_arg3){
this.post = _arg3;
};
}
private function _join(_arg1:Variables):void{
var _local2:String;
if (!_arg1){
return;
};
for (_local2 in _arg1) {
this[_local2] = _arg1[_local2];
};
}
public function join(... _args):void{
var _local2:int = _args.length;
var _local3:int;
while (_local3 < _local2) {
if (!(_args[_local3] is Variables)){
} else {
_join(_args[_local3]);
};
_local3++;
};
}
public function toString():String{
var _local2:String;
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
var _local7:String;
var _local8:String;
var _local1:Array = [];
for (_local3 in this) {
_local2 = this[_local3];
if (URIencode){
_local2 = encodeURI(_local2);
};
_local1.push(((_local3 + "=") + _local2));
};
if (sort){
_local1.sort();
};
if (pre.length > 0){
pre.reverse();
_local5 = 0;
while (_local5 < pre.length) {
_local7 = pre[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local7) == 0){
_local1.unshift(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
pre.reverse();
};
if (post.length > 0){
_local5 = 0;
while (_local5 < post.length) {
_local8 = post[_local5];
_local6 = 0;
while (_local6 < _local1.length) {
_local4 = _local1[_local6];
if (_local4.indexOf(_local8) == 0){
_local1.push(_local1.splice(_local6, 1)[0]);
};
_local6++;
};
_local5++;
};
};
return (_local1.join("&"));
}
public function decode(_arg1:String):void{
var _local2:Array;
var _local3:String;
var _local4:String;
var _local5:String;
var _local6:Array;
if (_arg1 == ""){
return;
};
if (_arg1.indexOf("&") > -1){
_local2 = _arg1.split("&");
} else {
_local2 = [_arg1];
};
var _local7:int;
while (_local7 < _local2.length) {
_local3 = _local2[_local7];
if (_local3.indexOf("=") > -1){
_local6 = _local3.split("=");
_local4 = _local6[0];
_local5 = decodeURI(_local6[1]);
this[_local4] = _local5;
};
_local7++;
};
}
public function toURLVariables():URLVariables{
var _local2:String;
var _local1:URLVariables = new URLVariables();
for (_local2 in this) {
_local1[_local2] = this[_local2];
};
return (_local1);
}
}
}//package com.google.analytics.utils
Section 70
//Version (com.google.analytics.utils.Version)
package com.google.analytics.utils {
public class Version {
private var _revision:uint;
private var _maxBuild:uint;// = 0xFF
private var _maxMinor:uint;// = 15
private var _maxMajor:uint;// = 15
private var _separator:String;// = "."
private var _maxRevision:uint;// = 0xFFFF
private var _build:uint;
private var _major:uint;
private var _minor:uint;
public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){
var _local5:Version;
super();
if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){
_local5 = Version.fromNumber(_arg1);
_arg1 = _local5.major;
_arg2 = _local5.minor;
_arg3 = _local5.build;
_arg4 = _local5.revision;
};
this.major = _arg1;
this.minor = _arg2;
this.build = _arg3;
this.revision = _arg4;
}
public function toString(_arg1:int=0):String{
var _local2:Array;
if ((((_arg1 <= 0)) || ((_arg1 > 4)))){
_arg1 = getFields();
};
switch (_arg1){
case 1:
_local2 = [major];
break;
case 2:
_local2 = [major, minor];
break;
case 3:
_local2 = [major, minor, build];
break;
case 4:
default:
_local2 = [major, minor, build, revision];
};
return (_local2.join(_separator));
}
public function set revision(_arg1:uint):void{
_revision = Math.min(_arg1, _maxRevision);
}
public function get revision():uint{
return (_revision);
}
public function set build(_arg1:uint):void{
_build = Math.min(_arg1, _maxBuild);
}
public function set minor(_arg1:uint):void{
_minor = Math.min(_arg1, _maxMinor);
}
public function get build():uint{
return (_build);
}
public function set major(_arg1:uint):void{
_major = Math.min(_arg1, _maxMajor);
}
public function get minor():uint{
return (_minor);
}
private function getFields():int{
var _local1 = 4;
if (revision == 0){
_local1--;
};
if ((((_local1 == 3)) && ((build == 0)))){
_local1--;
};
if ((((_local1 == 2)) && ((minor == 0)))){
_local1--;
};
return (_local1);
}
public function valueOf():uint{
return (((((major << 28) | (minor << 24)) | (build << 16)) | revision));
}
public function get major():uint{
return (_major);
}
public function equals(_arg1):Boolean{
if (!(_arg1 is Version)){
return (false);
};
if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){
return (true);
};
return (false);
}
public static function fromString(_arg1:String="", _arg2:String="."):Version{
var _local4:Array;
var _local3:Version = new (Version);
if ((((_arg1 == "")) || ((_arg1 == null)))){
return (_local3);
};
if (_arg1.indexOf(_arg2) > -1){
_local4 = _arg1.split(_arg2);
_local3.major = parseInt(_local4[0]);
_local3.minor = parseInt(_local4[1]);
_local3.build = parseInt(_local4[2]);
_local3.revision = parseInt(_local4[3]);
} else {
_local3.major = parseInt(_arg1);
};
return (_local3);
}
public static function fromNumber(_arg1:Number=0):Version{
var _local2:Version = new (Version);
if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){
return (_local2);
};
_local2.major = (_arg1 >>> 28);
_local2.minor = ((_arg1 & 251658240) >>> 24);
_local2.build = ((_arg1 & 0xFF0000) >>> 16);
_local2.revision = (_arg1 & 0xFFFF);
return (_local2);
}
}
}//package com.google.analytics.utils
Section 71
//Bridge (com.google.analytics.v4.Bridge)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.external.*;
public class Bridge implements GoogleAnalyticsAPI {
private var _debug:DebugConfiguration;
private var _proxy:JavascriptProxy;
private var _jsContainer:String;// = "_GATracker"
private var _hasGATracker:Boolean;// = false
private var _account:String;
private static var _linkTrackingObject_js:XML = <script>
<![CDATA[
function( container , target )
{
var targets ;
var name ;
if( target.indexOf(".") > 0 )
{
targets = target.split(".");
name = targets.pop();
}
else
{
targets = [];
name = target;
}
var ref = window;
var depth = targets.length;
for( var j = 0 ; j < depth ; j++ )
{
ref = ref[ targets[j] ] ;
}
window[container][target] = ref[name] ;
}
]]>
</script>
;
private static var _createTrackingObject_js:XML = <script>
<![CDATA[
function( acct )
{
_GATracker[acct] = _gat._getTracker(acct);
}
]]>
</script>
;
private static var _injectTrackingObject_js:XML = <script>
<![CDATA[
function()
{
try
{
_GATracker
}
catch(e)
{
_GATracker = {};
}
}
]]>
</script>
;
private static var _checkGAJS_js:XML = <script>
<![CDATA[
function()
{
if( _gat && _gat._getTracker )
{
return true;
}
return false;
}
]]>
</script>
;
private static var _checkValidTrackingObject_js:XML = <script>
<![CDATA[
function(acct)
{
if( _GATracker[acct] && (_GATracker[acct]._getAccount) )
{
return true ;
}
else
{
return false;
}
}
]]>
</script>
;
public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){
var _local4:String;
var _local5:String;
var _local6:String;
super();
_account = _arg1;
_debug = _arg2;
_proxy = _arg3;
if (!_checkGAJS()){
_local4 = "";
_local4 = (_local4 + "ga.js not found, be sure to check if\n");
_local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n");
_local4 = (_local4 + "is included in the HTML.");
_debug.warning(_local4);
throw (new Error(_local4));
};
if (!_hasGATracker){
if (((_debug.javascript) && (_debug.verbose))){
_local5 = "";
_local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n");
_local5 = (_local5 + "we create it");
_debug.info(_local5, VisualDebugMode.advanced);
};
_injectTrackingObject();
};
if (Utils.validateAccount(_arg1)){
_createTrackingObject(_arg1);
} else {
if (_checkTrackingObject(_arg1)){
_linkTrackingObject(_arg1);
} else {
_local6 = "";
_local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n"));
_local6 = (_local6 + "Bridge object not created.");
_debug.warning(_local6);
throw (new Error(_local6));
};
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )"));
_call("_link", _arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_call("_addOrganic", _arg1);
}
public function setAllowLinker(_arg1:Boolean):void{
_debug.info((("setAllowLinker( " + _arg1) + " )"));
_call("_setAllowLinker", _arg1);
}
private function _linkTrackingObject(_arg1:String):void{
_proxy.call(_linkTrackingObject_js, _jsContainer, _arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5 = 2;
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = 3;
};
if ((((_local5 == 3)) && (!(isNaN(_arg4))))){
_local5 = 4;
};
switch (_local5){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4));
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2, _arg3));
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
return (_call("_trackEvent", _arg1, _arg2));
};
}
public function setClientInfo(_arg1:Boolean):void{
_debug.info((("setClientInfo( " + _arg1) + " )"));
_call("_setClientInfo", _arg1);
}
public function trackTrans():void{
_debug.info("trackTrans()");
_call("_trackTrans");
}
public function setCookieTimeout(_arg1:int):void{
_debug.info((("setCookieTimeout( " + _arg1) + " )"));
_call("_setCookieTimeout", _arg1);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
_call("_trackPageview", _arg1);
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_call("_getClientInfo"));
}
private function _checkValidTrackingObject(_arg1:String):Boolean{
return (_proxy.call(_checkValidTrackingObject_js, _arg1));
}
private function _checkGAJS():Boolean{
return (_proxy.call(_checkGAJS_js));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented"));
}
private function _call(_arg1:String, ... _args){
_args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1));
return (_proxy.call.apply(_proxy, _args));
}
public function hasGAJS():Boolean{
return (_checkGAJS());
}
private function _checkTrackingObject(_arg1:String):Boolean{
var _local2:Boolean = _proxy.hasProperty(_arg1);
var _local3:Boolean = _proxy.hasProperty((_arg1 + "._getAccount"));
return (((_local2) && (_local3)));
}
public function resetSession():void{
_debug.warning("resetSession() not implemented");
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_call("_getDetectTitle"));
}
public function setCampNameKey(_arg1:String):void{
_debug.info((("setCampNameKey( " + _arg1) + " )"));
_call("_setCampNameKey", _arg1);
}
public function setDetectFlash(_arg1:Boolean):void{
_debug.info((("setDetectFlash( " + _arg1) + " )"));
_call("_setDetectFlash", _arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )"));
_call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_call("_clearIgnoreOrganic");
}
public function setVar(_arg1:String):void{
_debug.info((("setVar( " + _arg1) + " )"));
_call("_setVar", _arg1);
}
public function setDomainName(_arg1:String):void{
_debug.info((("setDomainName( " + _arg1) + " )"));
_call("_setDomainName", _arg1);
}
public function hasTrackingAccount(_arg1:String):Boolean{
if (Utils.validateAccount(_arg1)){
return (_checkValidTrackingObject(_arg1));
};
return (_checkTrackingObject(_arg1));
}
public function setCampSourceKey(_arg1:String):void{
_debug.info((("setCampSourceKey( " + _arg1) + " )"));
_call("_setCampSourceKey", _arg1);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )"));
_call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
return (null);
}
public function setCampContentKey(_arg1:String):void{
_debug.info((("setCampContentKey( " + _arg1) + " )"));
_call("_setCampContentKey", _arg1);
}
public function setLocalServerMode():void{
_debug.info("setLocalServerMode()");
_call("_setLocalServerMode");
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_call("_getLocalGifPath"));
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_call("_clearIgnoreRef");
}
public function setAllowAnchor(_arg1:Boolean):void{
_debug.info((("setAllowAnchor( " + _arg1) + " )"));
_call("_setAllowAnchor", _arg1);
}
public function setLocalGifPath(_arg1:String):void{
_debug.info((("setLocalGifPath( " + _arg1) + " )"));
_call("_setLocalGifPath", _arg1);
}
public function getVersion():String{
_debug.info("getVersion()");
return (_call("_getVersion"));
}
private function _injectTrackingObject():void{
_proxy.executeBlock(_injectTrackingObject_js);
_hasGATracker = true;
}
public function setCookiePath(_arg1:String):void{
_debug.info((("setCookiePath( " + _arg1) + " )"));
_call("_setCookiePath", _arg1);
}
public function setSampleRate(_arg1:Number):void{
_debug.info((("setSampleRate( " + _arg1) + " )"));
_call("_setSampleRate", _arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_debug.info((("setAllowHash( " + _arg1) + " )"));
_call("_setAllowHash", _arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_call("_addIgnoredOrganic", _arg1);
}
public function setCampNOKey(_arg1:String):void{
_debug.info((("setCampNOKey( " + _arg1) + " )"));
_call("_setCampNOKey", _arg1);
}
public function cookiePathCopy(_arg1:String):void{
_debug.info((("cookiePathCopy( " + _arg1) + " )"));
_call("_cookiePathCopy", _arg1);
}
public function setLocalRemoteServerMode():void{
_debug.info("setLocalRemoteServerMode()");
_call("_setLocalRemoteServerMode");
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_call("_getServiceMode"));
}
public function setDetectTitle(_arg1:Boolean):void{
_debug.info((("setDetectTitle( " + _arg1) + " )"));
_call("_setDetectTitle", _arg1);
}
private function _createTrackingObject(_arg1:String):void{
_proxy.call(_createTrackingObject_js, _arg1);
}
public function setCampaignTrack(_arg1:Boolean):void{
_debug.info((("setCampaignTrack( " + _arg1) + " )"));
_call("_setCampaignTrack", _arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_call("_clearOrganic");
}
public function setCampTermKey(_arg1:String):void{
_debug.info((("setCampTermKey( " + _arg1) + " )"));
_call("_setCampTermKey", _arg1);
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_call("_getDetectFlash"));
}
public function setCampMediumKey(_arg1:String):void{
_debug.info((("setCampMediumKey( " + _arg1) + " )"));
_call("_setCampMediumKey", _arg1);
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_call("_addIgnoredRef", _arg1);
}
public function setSessionTimeout(_arg1:int):void{
_debug.info((("setSessionTimeout( " + _arg1) + " )"));
_call("_setSessionTimeout", _arg1);
}
public function setRemoteServerMode():void{
_debug.info("setRemoteServerMode()");
_call("_setRemoteServerMode");
}
public function getAccount():String{
_debug.info("getAccount()");
return (_call("_getAccount"));
}
}
}//package com.google.analytics.v4
Section 72
//Configuration (com.google.analytics.v4.Configuration)
package com.google.analytics.v4 {
import com.google.analytics.utils.*;
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.campaign.*;
public class Configuration {
public var serverMode:ServerOperationMode;
public var detectFlash:Boolean;// = true
public var hasSiteOverlay:Boolean;// = false
public var allowLocalTracking:Boolean;// = true
public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif"
private var _version:String;// = "4.3as"
public var allowDomainHash:Boolean;// = true
public var detectClientInfo:Boolean;// = true
public var idleLoop:Number;// = 30
public var isTrackOutboundSubdomains:Boolean;// = false
public var cookiePath:String;// = "/"
public var transactionFieldDelim:String;// = "|"
private var _organic:Organic;
private var _cookieName:String;// = "analytics"
public var campaignKey:CampaignKey;
public var google:String;// = "google"
public var googleCsePath:String;// = "cse"
public var bucketCapacity:Number;// = 10
private var _sampleRate:Number;// = 1
public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif"
public var googleSearchParam:String;// = "q"
public var allowLinker:Boolean;// = false
public var maxOutboundLinkExamined:Number;// = 1000
private var _debug:DebugConfiguration;
public var allowAnchor:Boolean;// = false
private var _domain:Domain;
private var _trackingLimitPerSession:int;// = 500
public var tokenCliff:int;// = 10
public var sessionTimeout:Number;
public var idleTimeout:Number;// = 60
public var campaignTracking:Boolean;// = true
public var domainName:String;// = ""
public var detectTitle:Boolean;// = true
public var tokenRate:Number;// = 0.2
public var conversionTimeout:Number;
public var localGIFpath:String;// = "/__utm.gif"
public function Configuration(_arg1:DebugConfiguration=null){
_organic = new Organic();
conversionTimeout = Timespan.sixmonths;
sessionTimeout = Timespan.thirtyminutes;
campaignKey = new CampaignKey();
serverMode = ServerOperationMode.remote;
super();
_debug = _arg1;
_domain = new Domain(DomainNameMode.auto, "", _debug);
serverMode = ServerOperationMode.remote;
_initOrganicSources();
}
public function get organic():Organic{
return (_organic);
}
public function get cookieName():String{
return (_cookieName);
}
public function get trackingLimitPerSession():int{
return (_trackingLimitPerSession);
}
private function _initOrganicSources():void{
addOrganicSource(google, googleSearchParam);
addOrganicSource("yahoo", "p");
addOrganicSource("msn", "q");
addOrganicSource("aol", "query");
addOrganicSource("aol", "encquery");
addOrganicSource("lycos", "query");
addOrganicSource("ask", "q");
addOrganicSource("altavista", "q");
addOrganicSource("netscape", "query");
addOrganicSource("cnn", "query");
addOrganicSource("looksmart", "qt");
addOrganicSource("about", "terms");
addOrganicSource("mamma", "query");
addOrganicSource("alltheweb", "q");
addOrganicSource("gigablast", "q");
addOrganicSource("voila", "rdata");
addOrganicSource("virgilio", "qs");
addOrganicSource("live", "q");
addOrganicSource("baidu", "wd");
addOrganicSource("alice", "qs");
addOrganicSource("yandex", "text");
addOrganicSource("najdi", "q");
addOrganicSource("aol", "q");
addOrganicSource("club-internet", "q");
addOrganicSource("mama", "query");
addOrganicSource("seznam", "q");
addOrganicSource("search", "q");
addOrganicSource("wp", "szukaj");
addOrganicSource("onet", "qt");
addOrganicSource("netsprint", "q");
addOrganicSource("google.interia", "q");
addOrganicSource("szukacz", "q");
addOrganicSource("yam", "k");
addOrganicSource("pchome", "q");
addOrganicSource("kvasir", "searchExpr");
addOrganicSource("sesam", "q");
addOrganicSource("ozu", "q");
addOrganicSource("terra", "query");
addOrganicSource("nostrum", "query");
addOrganicSource("mynet", "q");
addOrganicSource("ekolay", "q");
addOrganicSource("search.ilse", "search_for");
}
public function get sampleRate():Number{
return (_sampleRate);
}
public function addOrganicSource(_arg1:String, _arg2:String):void{
var engine = _arg1;
var keyword = _arg2;
try {
_organic.addSource(engine, keyword);
} catch(e:Error) {
if (((_debug) && (_debug.active))){
_debug.warning(e.message);
};
};
}
public function get domain():Domain{
return (_domain);
}
public function set sampleRate(_arg1:Number):void{
if (_arg1 <= 0){
_arg1 = 0.1;
};
if (_arg1 > 1){
_arg1 = 1;
};
_arg1 = Number(_arg1.toFixed(2));
_sampleRate = _arg1;
}
public function get version():String{
return (_version);
}
}
}//package com.google.analytics.v4
Section 73
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI)
package com.google.analytics.v4 {
import com.google.analytics.core.*;
public interface GoogleAnalyticsAPI {
function setCampSourceKey(_arg1:String):void;
function getServiceMode():ServerOperationMode;
function resetSession():void;
function setLocalServerMode():void;
function setCampContentKey(_arg1:String):void;
function addOrganic(_arg1:String, _arg2:String):void;
function setDetectFlash(_arg1:Boolean):void;
function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object;
function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean;
function setCampTermKey(_arg1:String):void;
function setCampNameKey(_arg1:String):void;
function addIgnoredOrganic(_arg1:String):void;
function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void;
function setAllowLinker(_arg1:Boolean):void;
function getClientInfo():Boolean;
function getDetectFlash():Boolean;
function setCampaignTrack(_arg1:Boolean):void;
function createEventTracker(_arg1:String):EventTracker;
function setCookieTimeout(_arg1:int):void;
function setAllowAnchor(_arg1:Boolean):void;
function trackTrans():void;
function clearOrganic():void;
function trackPageview(_arg1:String=""):void;
function setLocalGifPath(_arg1:String):void;
function getVersion():String;
function getLocalGifPath():String;
function setVar(_arg1:String):void;
function clearIgnoredOrganic():void;
function setCampMediumKey(_arg1:String):void;
function addIgnoredRef(_arg1:String):void;
function setClientInfo(_arg1:Boolean):void;
function setCookiePath(_arg1:String):void;
function setSampleRate(_arg1:Number):void;
function setSessionTimeout(_arg1:int):void;
function setRemoteServerMode():void;
function clearIgnoredRef():void;
function setDomainName(_arg1:String):void;
function setDetectTitle(_arg1:Boolean):void;
function setAllowHash(_arg1:Boolean):void;
function getAccount():String;
function linkByPost(_arg1:Object, _arg2:Boolean=false):void;
function link(_arg1:String, _arg2:Boolean=false):void;
function setCampNOKey(_arg1:String):void;
function setLocalRemoteServerMode():void;
function cookiePathCopy(_arg1:String):void;
function getDetectTitle():Boolean;
}
}//package com.google.analytics.v4
Section 74
//Tracker (com.google.analytics.v4.Tracker)
package com.google.analytics.v4 {
import com.google.analytics.utils.*;
import com.google.analytics.core.*;
import com.google.analytics.debug.*;
import com.google.analytics.data.*;
import com.google.analytics.external.*;
import com.google.analytics.campaign.*;
public class Tracker implements GoogleAnalyticsAPI {
private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3;
private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1;
private const EVENT_TRACKER_PROJECT_ID:int = 5;
private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1;
private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2;
private var _adSense:AdSenseGlobals;
private var _eventTracker:X10;
private var _noSessionInformation:Boolean;// = false
private var _browserInfo:BrowserInfo;
private var _debug:DebugConfiguration;
private var _isNewVisitor:Boolean;// = false
private var _buffer:Buffer;
private var _config:Configuration;
private var _x10Module:X10;
private var _campaign:CampaignManager;
private var _formatedReferrer:String;
private var _timeStamp:Number;
private var _info:Environment;
private var _domainHash:Number;
private var _campaignInfo:CampaignInfo;
private var _gifRequest:GIFRequest;
private var _hasInitData:Boolean;// = false
private var _account:String;
public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){
var _local8:String;
super();
_account = _arg1;
_config = _arg2;
_debug = _arg3;
_info = _arg4;
_buffer = _arg5;
_gifRequest = _arg6;
_adSense = _arg7;
if (!Utils.validateAccount(_arg1)){
_local8 = (("Account \"" + _arg1) + "\" is not valid.");
_debug.warning(_local8);
throw (new Error(_local8));
};
_initData();
}
private function _doTracking():Boolean{
if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){
return (true);
};
if (_config.allowLocalTracking){
return (true);
};
return (false);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )"));
_config.organic.addSource(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_config.allowLinker = _arg1;
_debug.info((("setAllowLinker( " + _config.allowLinker) + " )"));
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
var _local5:Boolean;
var _local6 = 2;
if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){
_eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID);
_eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1);
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2);
if (((_arg3) && (!((_arg3 == ""))))){
_local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3);
_local6 = 3;
if (!isNaN(_arg4)){
_local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4);
_local6 = 4;
};
};
if (_local5){
_debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_sendXEvent(_eventTracker);
};
} else {
_debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek);
_local5 = false;
};
switch (_local6){
case 4:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )"));
break;
case 3:
_debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )"));
break;
case 2:
default:
_debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )"));
};
return (_local5);
}
public function trackPageview(_arg1:String=""):void{
_debug.info((("trackPageview( " + _arg1) + " )"));
if (_doTracking()){
_initData();
_trackMetrics(_arg1);
_noSessionInformation = false;
} else {
_debug.warning((("trackPageview( " + _arg1) + " ) failed"));
};
}
public function setCookieTimeout(_arg1:int):void{
_config.conversionTimeout = _arg1;
_debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )"));
}
public function trackTrans():void{
_debug.warning("trackTrans() not implemented");
}
public function setClientInfo(_arg1:Boolean):void{
_config.detectClientInfo = _arg1;
_debug.info((("setClientInfo( " + _config.detectClientInfo) + " )"));
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
private function _initData():void{
var _local1:String;
var _local2:String;
if (!_hasInitData){
_updateDomainName();
_domainHash = _getDomainHash();
_timeStamp = Math.round((new Date().getTime() / 1000));
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "_initData 0");
_local1 = (_local1 + ("\ndomain name: " + _config.domainName));
_local1 = (_local1 + ("\ndomain hash: " + _domainHash));
_local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_doTracking()){
_handleCookie();
};
if (!_hasInitData){
if (_doTracking()){
_formatedReferrer = _formatReferrer();
_browserInfo = new BrowserInfo(_config, _info);
_debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced);
if (_config.campaignTracking){
_campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp);
_campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation);
_debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced);
};
};
_x10Module = new X10();
_eventTracker = new X10();
_hasInitData = true;
};
if (_config.hasSiteOverlay){
_debug.warning("Site Overlay is not supported");
};
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "_initData (misc)");
_local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4)));
_local2 = (_local2 + ("\nprotocol: " + _info.protocol));
_local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\""));
_local2 = (_local2 + ("\nlanguage: " + _info.language));
_local2 = (_local2 + ("\ndomain hash: " + _getDomainHash()));
_local2 = (_local2 + ("\nuser-agent: " + _info.userAgent));
_debug.info(_local2, VisualDebugMode.geek);
};
}
public function getDetectTitle():Boolean{
_debug.info("getDetectTitle()");
return (_config.detectTitle);
}
public function resetSession():void{
_debug.info("resetSession()");
_buffer.resetCurrentSession();
}
public function getClientInfo():Boolean{
_debug.info("getClientInfo()");
return (_config.detectClientInfo);
}
private function _sendXEvent(_arg1:X10=null):void{
var _local2:Variables;
var _local3:EventInfo;
var _local4:Variables;
var _local5:Variables;
_initData();
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
_local3 = new EventInfo(true, _x10Module, _arg1);
_local4 = _local3.toVariables();
_local5 = _renderMetricsSearchVariables();
_local2.join(_local4, _local5);
_gifRequest.send(_account, _local2, false, true);
};
}
public function setDetectFlash(_arg1:Boolean):void{
_config.detectFlash = _arg1;
_debug.info((("setDetectFlash( " + _config.detectFlash) + " )"));
}
public function setCampNameKey(_arg1:String):void{
_config.campaignKey.UCCN = _arg1;
var _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCN]"));
} else {
_debug.info(_local2);
};
}
private function _formatReferrer():String{
var _local2:String;
var _local3:URL;
var _local4:URL;
var _local1:String = _info.referrer;
if ((((_local1 == "")) || ((_local1 == "localhost")))){
_local1 = "-";
} else {
_local2 = _info.domainName;
_local3 = new URL(_local1);
_local4 = new URL(("http://" + _local2));
if (_local3.hostName == _local2){
return ("-");
};
if (_local4.domain == _local3.domain){
if (_local4.subDomain != _local3.subDomain){
_local1 = "0";
};
};
if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){
_local1 = "-";
};
};
_debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced);
return (_local1);
}
private function _visitCode():Number{
if (_debug.verbose){
_debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek);
};
return (_buffer.utma.sessionId);
}
public function createEventTracker(_arg1:String):EventTracker{
_debug.info((("createEventTracker( " + _arg1) + " )"));
return (new EventTracker(_arg1, this));
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented"));
}
public function clearIgnoredOrganic():void{
_debug.info("clearIgnoredOrganic()");
_config.organic.clearIgnoredKeywords();
}
public function setVar(_arg1:String):void{
var _local2:Variables;
if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){
_initData();
_buffer.utmv.domainHash = _domainHash;
_buffer.utmv.value = _arg1;
if (_debug.verbose){
_debug.info(_buffer.utmv.toString(), VisualDebugMode.geek);
};
_debug.info((("setVar( " + _arg1) + " )"));
if (_takeSample()){
_local2 = new Variables();
_local2.utmt = "var";
_gifRequest.send(_account, _local2);
};
} else {
_debug.warning((("setVar \"" + _arg1) + "\" is ignored"));
};
}
public function setDomainName(_arg1:String):void{
if (_arg1 == "auto"){
_config.domain.mode = DomainNameMode.auto;
} else {
if (_arg1 == "none"){
_config.domain.mode = DomainNameMode.none;
} else {
_config.domain.mode = DomainNameMode.custom;
_config.domain.name = _arg1;
};
};
_updateDomainName();
_debug.info((("setDomainName( " + _config.domainName) + " )"));
}
private function _updateDomainName():void{
var _local1:String;
if (_config.domain.mode == DomainNameMode.auto){
_local1 = _info.domainName;
if (_local1.substring(0, 4) == "www."){
_local1 = _local1.substring(4);
};
_config.domain.name = _local1;
};
_config.domainName = _config.domain.name.toLowerCase();
_debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced);
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
_debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented"));
return (null);
}
private function _renderMetricsSearchVariables(_arg1:String=""):Variables{
var _local4:Variables;
var _local2:Variables = new Variables();
_local2.URIencode = true;
var _local3:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense);
_debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek);
if (_config.campaignTracking){
_local4 = _campaignInfo.toVariables();
};
var _local5:Variables = _browserInfo.toVariables();
_local2.join(_local3.toVariables(), _local5, _local4);
return (_local2);
}
public function setCampContentKey(_arg1:String):void{
_config.campaignKey.UCCT = _arg1;
var _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCCT]"));
} else {
_debug.info(_local2);
};
}
private function _handleCookie():void{
var _local1:String;
var _local2:String;
var _local3:Array;
var _local4:String;
if (_config.allowLinker){
};
if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){
if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){
_buffer.updateUTMA(_timeStamp);
_noSessionInformation = true;
};
if (_debug.verbose){
_debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek);
};
} else {
_debug.info("create a new utma", VisualDebugMode.advanced);
_buffer.utma.domainHash = _domainHash;
_buffer.utma.sessionId = _getUniqueSessionId();
_buffer.utma.firstTime = _timeStamp;
_buffer.utma.lastTime = _timeStamp;
_buffer.utma.currentTime = _timeStamp;
_buffer.utma.sessionCount = 1;
if (_debug.verbose){
_debug.info(_buffer.utma.toString(), VisualDebugMode.geek);
};
_noSessionInformation = true;
_isNewVisitor = true;
};
if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){
if (_adSense.sid){
_buffer.utma.currentTime = Number(_adSense.sid);
if (_debug.verbose){
_local1 = "";
_local1 = (_local1 + "AdSense sid found\n");
_local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local1, VisualDebugMode.geek);
};
};
if (_isNewVisitor){
if (_adSense.sid){
_buffer.utma.lastTime = Number(_adSense.sid);
if (_debug.verbose){
_local2 = "";
_local2 = (_local2 + "AdSense sid found (new visitor)\n");
_local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")"));
_debug.info(_local2, VisualDebugMode.geek);
};
};
if (_adSense.vid){
_local3 = _adSense.vid.split(".");
_buffer.utma.sessionId = Number(_local3[0]);
_buffer.utma.firstTime = Number(_local3[1]);
if (_debug.verbose){
_local4 = "";
_local4 = (_local4 + "AdSense vid found (new visitor)\n");
_local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n"));
_local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")"));
_debug.info(_local4, VisualDebugMode.geek);
};
};
if (_debug.verbose){
_debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek);
};
};
};
_buffer.utmb.domainHash = _domainHash;
if (isNaN(_buffer.utmb.trackCount)){
_buffer.utmb.trackCount = 0;
};
if (isNaN(_buffer.utmb.token)){
_buffer.utmb.token = _config.tokenCliff;
};
if (isNaN(_buffer.utmb.lastTime)){
_buffer.utmb.lastTime = _buffer.utma.currentTime;
};
_buffer.utmc.domainHash = _domainHash;
if (_debug.verbose){
_debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced);
_debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced);
};
}
public function setLocalServerMode():void{
_config.serverMode = ServerOperationMode.local;
_debug.info("setLocalServerMode()");
}
public function clearIgnoredRef():void{
_debug.info("clearIgnoredRef()");
_config.organic.clearIgnoredReferrals();
}
public function setCampSourceKey(_arg1:String):void{
_config.campaignKey.UCSR = _arg1;
var _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCSR]"));
} else {
_debug.info(_local2);
};
}
public function getLocalGifPath():String{
_debug.info("getLocalGifPath()");
return (_config.localGIFpath);
}
public function setLocalGifPath(_arg1:String):void{
_config.localGIFpath = _arg1;
_debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )"));
}
public function getVersion():String{
_debug.info("getVersion()");
return (_config.version);
}
public function setAllowAnchor(_arg1:Boolean):void{
_config.allowAnchor = _arg1;
_debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )"));
}
private function _isNotGoogleSearch():Boolean{
var _local1:String = _config.domainName;
var _local2 = (_local1.indexOf("www.google.") < 0);
var _local3 = (_local1.indexOf(".google.") < 0);
var _local4 = (_local1.indexOf("google.") < 0);
var _local5 = (_local1.indexOf("google.org") > -1);
return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5)));
}
public function setSampleRate(_arg1:Number):void{
if (_arg1 < 0){
_debug.warning("sample rate can not be negative, ignoring value.");
} else {
_config.sampleRate = _arg1;
};
_debug.info((("setSampleRate( " + _config.sampleRate) + " )"));
}
private function _takeSample():Boolean{
if (_debug.verbose){
_debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek);
};
return (((_visitCode() % 10000) < (_config.sampleRate * 10000)));
}
public function setCookiePath(_arg1:String):void{
_config.cookiePath = _arg1;
_debug.info((("setCookiePath( " + _config.cookiePath) + " )"));
}
public function setAllowHash(_arg1:Boolean):void{
_config.allowDomainHash = _arg1;
_debug.info((("setAllowHash( " + _config.allowDomainHash) + " )"));
}
private function _generateUserDataHash():Number{
var _local1 = "";
_local1 = (_local1 + _info.appName);
_local1 = (_local1 + _info.appVersion);
_local1 = (_local1 + _info.language);
_local1 = (_local1 + _info.platform);
_local1 = (_local1 + _info.userAgent.toString());
_local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth));
_local1 = (_local1 + _info.referrer);
return (Utils.generateHash(_local1));
}
public function setCampNOKey(_arg1:String):void{
_config.campaignKey.UCNO = _arg1;
var _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCNO]"));
} else {
_debug.info(_local2);
};
}
public function addIgnoredOrganic(_arg1:String):void{
_debug.info((("addIgnoredOrganic( " + _arg1) + " )"));
_config.organic.addIgnoredKeyword(_arg1);
}
public function setLocalRemoteServerMode():void{
_config.serverMode = ServerOperationMode.both;
_debug.info("setLocalRemoteServerMode()");
}
public function cookiePathCopy(_arg1:String):void{
_debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented"));
}
public function setDetectTitle(_arg1:Boolean):void{
_config.detectTitle = _arg1;
_debug.info((("setDetectTitle( " + _config.detectTitle) + " )"));
}
public function setCampTermKey(_arg1:String):void{
_config.campaignKey.UCTR = _arg1;
var _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCTR]"));
} else {
_debug.info(_local2);
};
}
public function getServiceMode():ServerOperationMode{
_debug.info("getServiceMode()");
return (_config.serverMode);
}
private function _trackMetrics(_arg1:String=""):void{
var _local2:Variables;
var _local3:Variables;
var _local4:Variables;
var _local5:EventInfo;
if (_takeSample()){
_local2 = new Variables();
_local2.URIencode = true;
if (((_x10Module) && (_x10Module.hasData()))){
_local5 = new EventInfo(false, _x10Module);
_local3 = _local5.toVariables();
};
_local4 = _renderMetricsSearchVariables(_arg1);
_local2.join(_local3, _local4);
_gifRequest.send(_account, _local2);
};
}
public function setCampaignTrack(_arg1:Boolean):void{
_config.campaignTracking = _arg1;
_debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )"));
}
public function addIgnoredRef(_arg1:String):void{
_debug.info((("addIgnoredRef( " + _arg1) + " )"));
_config.organic.addIgnoredReferral(_arg1);
}
public function clearOrganic():void{
_debug.info("clearOrganic()");
_config.organic.clearEngines();
}
public function getDetectFlash():Boolean{
_debug.info("getDetectFlash()");
return (_config.detectFlash);
}
public function setCampMediumKey(_arg1:String):void{
_config.campaignKey.UCMD = _arg1;
var _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )");
if (_debug.mode == VisualDebugMode.geek){
_debug.info((_local2 + " [UCMD]"));
} else {
_debug.info(_local2);
};
}
private function _getUniqueSessionId():Number{
var _local1:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647);
_debug.info(("Session ID: " + _local1), VisualDebugMode.geek);
return (_local1);
}
private function _getDomainHash():Number{
if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){
_config.domainName = "";
return (1);
};
_updateDomainName();
if (_config.allowDomainHash){
return (Utils.generateHash(_config.domainName));
};
return (1);
}
public function setSessionTimeout(_arg1:int):void{
_config.sessionTimeout = _arg1;
_debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )"));
}
public function getAccount():String{
_debug.info("getAccount()");
return (_account);
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented"));
}
public function setRemoteServerMode():void{
_config.serverMode = ServerOperationMode.remote;
_debug.info("setRemoteServerMode()");
}
}
}//package com.google.analytics.v4
Section 75
//AnalyticsTracker (com.google.analytics.AnalyticsTracker)
package com.google.analytics {
import flash.events.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher {
function set account(_arg1:String):void;
function get config():Configuration;
function get mode():String;
function set config(_arg1:Configuration):void;
function set mode(_arg1:String):void;
function set debug(_arg1:DebugConfiguration):void;
function get visualDebug():Boolean;
function get account():String;
function set visualDebug(_arg1:Boolean):void;
function isReady():Boolean;
function get debug():DebugConfiguration;
}
}//package com.google.analytics
Section 76
//API (com.google.analytics.API)
package com.google.analytics {
import com.google.analytics.utils.*;
public class API {
public static var version:Version = new Version();
version.major = 1;
version.minor = 0;
version.build = 1;
version.revision = "$Rev: 319 $ ".split(" ")[1];
}
}//package com.google.analytics
Section 77
//GATracker (com.google.analytics.GATracker)
package com.google.analytics {
import com.google.analytics.utils.*;
import flash.events.*;
import com.google.analytics.core.*;
import com.google.analytics.v4.*;
import com.google.analytics.debug.*;
import flash.display.*;
import com.google.analytics.external.*;
import com.google.analytics.events.*;
public class GATracker implements AnalyticsTracker {
private var _adSense:AdSenseGlobals;
private var _env:Environment;
private var _visualDebug:Boolean;
private var _idleTimer:IdleTimer;
private var _debug:DebugConfiguration;
private var _buffer:Buffer;
private var _config:Configuration;
private var _mode:String;
private var _display:DisplayObject;
private var _jsproxy:JavascriptProxy;
private var _dom:HTMLDOM;
private var _eventDispatcher:EventDispatcher;
private var _ready:Boolean;// = false
private var _gifRequest:GIFRequest;
private var _account:String;
private var _tracker:GoogleAnalyticsAPI;
public static var version:Version = API.version;
public static var autobuild:Boolean = true;
public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){
_display = _arg1;
_eventDispatcher = new EventDispatcher(this);
_tracker = new TrackerCache();
this.account = _arg2;
this.mode = _arg3;
this.visualDebug = _arg4;
if (!_arg6){
this.debug = new DebugConfiguration();
};
if (!_arg5){
this.config = new Configuration(_arg6);
};
if (autobuild){
_factory();
};
}
public function link(_arg1:String, _arg2:Boolean=false):void{
_tracker.link(_arg1, _arg2);
}
public function addOrganic(_arg1:String, _arg2:String):void{
_tracker.addOrganic(_arg1, _arg2);
}
public function setAllowLinker(_arg1:Boolean):void{
_tracker.setAllowLinker(_arg1);
}
public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{
return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4));
}
public function setCookieTimeout(_arg1:int):void{
_tracker.setCookieTimeout(_arg1);
}
public function trackTrans():void{
_tracker.trackTrans();
}
public function getClientInfo():Boolean{
return (_tracker.getClientInfo());
}
public function trackPageview(_arg1:String=""):void{
_tracker.trackPageview(_arg1);
}
public function setClientInfo(_arg1:Boolean):void{
_tracker.setClientInfo(_arg1);
}
public function get account():String{
return (_account);
}
public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{
_tracker.linkByPost(_arg1, _arg2);
}
public function getDetectTitle():Boolean{
return (_tracker.getDetectTitle());
}
public function dispatchEvent(_arg1:Event):Boolean{
return (_eventDispatcher.dispatchEvent(_arg1));
}
public function get config():Configuration{
return (_config);
}
public function set mode(_arg1:String):void{
_mode = _arg1;
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
_eventDispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
public function setDetectFlash(_arg1:Boolean):void{
_tracker.setDetectFlash(_arg1);
}
public function resetSession():void{
_tracker.resetSession();
}
public function setCampNameKey(_arg1:String):void{
_tracker.setCampNameKey(_arg1);
}
public function get debug():DebugConfiguration{
return (_debug);
}
public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{
_tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
private function _bridgeFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account));
return (new Bridge(account, _debug, _jsproxy));
}
public function clearIgnoredOrganic():void{
_tracker.clearIgnoredOrganic();
}
public function set account(_arg1:String):void{
_account = _arg1;
}
public function setVar(_arg1:String):void{
_tracker.setVar(_arg1);
}
public function build():void{
if (!isReady()){
_factory();
};
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
_eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function setDomainName(_arg1:String):void{
_tracker.setDomainName(_arg1);
}
public function createEventTracker(_arg1:String):EventTracker{
return (_tracker.createEventTracker(_arg1));
}
public function setCampSourceKey(_arg1:String):void{
_tracker.setCampSourceKey(_arg1);
}
public function set config(_arg1:Configuration):void{
_config = _arg1;
}
public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{
return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8));
}
public function setCampContentKey(_arg1:String):void{
_tracker.setCampContentKey(_arg1);
}
public function willTrigger(_arg1:String):Boolean{
return (_eventDispatcher.willTrigger(_arg1));
}
public function setLocalServerMode():void{
_tracker.setLocalServerMode();
}
public function getLocalGifPath():String{
return (_tracker.getLocalGifPath());
}
public function setAllowAnchor(_arg1:Boolean):void{
_tracker.setAllowAnchor(_arg1);
}
public function clearIgnoredRef():void{
_tracker.clearIgnoredRef();
}
public function isReady():Boolean{
return (_ready);
}
public function get mode():String{
return (_mode);
}
public function set debug(_arg1:DebugConfiguration):void{
_debug = _arg1;
}
public function setLocalGifPath(_arg1:String):void{
_tracker.setLocalGifPath(_arg1);
}
public function getVersion():String{
return (_tracker.getVersion());
}
public function setSampleRate(_arg1:Number):void{
_tracker.setSampleRate(_arg1);
}
public function setCookiePath(_arg1:String):void{
_tracker.setCookiePath(_arg1);
}
public function setAllowHash(_arg1:Boolean):void{
_tracker.setAllowHash(_arg1);
}
public function addIgnoredOrganic(_arg1:String):void{
_tracker.addIgnoredOrganic(_arg1);
}
public function setLocalRemoteServerMode():void{
_tracker.setLocalRemoteServerMode();
}
public function cookiePathCopy(_arg1:String):void{
_tracker.cookiePathCopy(_arg1);
}
private function _factory():void{
var _local1:GoogleAnalyticsAPI;
_jsproxy = new JavascriptProxy(debug);
if (visualDebug){
debug.layout = new Layout(debug, _display);
debug.active = visualDebug;
};
var _local2:TrackerCache = (_tracker as TrackerCache);
switch (mode){
case TrackerMode.BRIDGE:
_local1 = _bridgeFactory();
break;
case TrackerMode.AS3:
default:
_local1 = _trackerFactory();
};
if (!_local2.isEmpty()){
_local2.tracker = _local1;
_local2.flush();
};
_tracker = _local1;
_ready = true;
dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this));
}
public function setCampTermKey(_arg1:String):void{
_tracker.setCampTermKey(_arg1);
}
private function _trackerFactory():GoogleAnalyticsAPI{
debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account));
_adSense = new AdSenseGlobals(debug);
_dom = new HTMLDOM(debug);
_dom.cacheProperties();
_env = new Environment("", "", "", debug, _dom);
_buffer = new Buffer(config, debug, false);
_gifRequest = new GIFRequest(config, debug, _buffer, _env);
_idleTimer = new IdleTimer(config, debug, _display, _buffer);
_env.url = _display.stage.loaderInfo.url;
return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense));
}
public function setCampNOKey(_arg1:String):void{
_tracker.setCampNOKey(_arg1);
}
public function setDetectTitle(_arg1:Boolean):void{
_tracker.setDetectTitle(_arg1);
}
public function getServiceMode():ServerOperationMode{
return (_tracker.getServiceMode());
}
public function clearOrganic():void{
_tracker.clearOrganic();
}
public function setCampaignTrack(_arg1:Boolean):void{
_tracker.setCampaignTrack(_arg1);
}
public function addIgnoredRef(_arg1:String):void{
_tracker.addIgnoredRef(_arg1);
}
public function set visualDebug(_arg1:Boolean):void{
_visualDebug = _arg1;
}
public function setCampMediumKey(_arg1:String):void{
_tracker.setCampMediumKey(_arg1);
}
public function getDetectFlash():Boolean{
return (_tracker.getDetectFlash());
}
public function get visualDebug():Boolean{
return (_visualDebug);
}
public function hasEventListener(_arg1:String):Boolean{
return (_eventDispatcher.hasEventListener(_arg1));
}
public function getAccount():String{
return (_tracker.getAccount());
}
public function setSessionTimeout(_arg1:int):void{
_tracker.setSessionTimeout(_arg1);
}
public function setRemoteServerMode():void{
_tracker.setRemoteServerMode();
}
}
var _local1:* = ServerOperationMode;
return (_local1);
}//package com.google.analytics
Section 78
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var target:Object;
public var property:String;
public var start:Number;
public var change:Number;
public var name:String;
public var priority:int;
public var isPlugin:Boolean;
public var nextNode:PropTween;
public var prevNode:PropTween;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 79
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
protected var _firstChild:TweenCore;
protected var _lastChild:TweenCore;
public var autoRemoveChildren:Boolean;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
public function addChild(_arg1:TweenCore):void{
if (((!(_arg1.gc)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (_firstChild){
_firstChild.prevNode = _arg1;
};
_arg1.nextNode = _firstChild;
_firstChild = _arg1;
_arg1.prevNode = null;
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (_arg1.gc){
return;
};
if (!_arg2){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local5:Number;
var _local6:TweenCore;
var _local4:TweenCore = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
}
}//package com.greensock.core
Section 80
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
protected var _delay:Number;
protected var _hasUpdate:Boolean;
protected var _rawPrevTime:Number;// = -1
protected var _pauseTime:Number;
public var vars:Object;
public var active:Boolean;
public var gc:Boolean;
public var initted:Boolean;
public var timeline:SimpleTimeline;
public var cachedStartTime:Number;
public var cachedTime:Number;
public var cachedTotalTime:Number;
public var cachedDuration:Number;
public var cachedTotalDuration:Number;
public var cachedTimeScale:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var prevNode:TweenCore;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var data;
public static const version:Number = 1.13;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
this.vars = ((_arg2) || ({}));
this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0)));
_delay = ((this.vars.delay) || (0));
this.cachedTimeScale = ((this.vars.timeScale) || (1));
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
this.cachedStartTime = (_local3.cachedTotalTime + _delay);
_local3.addChild(this);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function pause():void{
this.paused = true;
}
public function resume():void{
this.paused = false;
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.cachedTotalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function invalidate():void{
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.gc))){
this.timeline.addChild(this);
};
} else {
this.active = false;
if (!_arg2){
this.timeline.remove(this, true);
};
};
this.gc = !(_arg1);
return (false);
}
public function kill():void{
setEnabled(false, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function get delay():Number{
return (_delay);
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set duration(_arg1:Number):void{
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(false);
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get currentTime():Number{
return (this.cachedTime);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function set startTime(_arg1:Number):void{
var _local2:Boolean = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc)))));
this.cachedStartTime = _arg1;
if (_local2){
this.timeline.addChild(this);
};
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
_pauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime));
_pauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setTotalTime(this.cachedTotalTime, false);
this.setEnabled(true, false);
};
}
}
}//package com.greensock.core
Section 81
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import com.greensock.*;
import flash.display.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _target:Object;
protected var _ignoreVisible:Boolean;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 82
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.*;
import com.greensock.core.*;
public class TweenPlugin {
public var propName:String;
public var overwriteProps:Array;
public var round:Boolean;
public var priority:int;// = 0
public var activeDisable:Boolean;
public var onComplete:Function;
public var onEnable:Function;
public var onDisable:Function;
protected var _tweens:Array;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.31;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
protected function updateTweens(_arg1:Number):void{
var _local3:PropTween;
var _local4:Number;
var _local2:int = _tweens.length;
if (this.round){
while (_local2--) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local3.target[_local3.property] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
};
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function killProps(_arg1:Object):void{
var _local2:int = this.overwriteProps.length;
while (_local2--) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
};
_local2 = _tweens.length;
while (_local2--) {
if ((PropTween(_tweens[_local2]).name in _arg1)){
_tweens.splice(_local2, 1);
};
};
}
private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{
var _local4:Boolean;
var _local5:Array;
var _local6:int;
var _local3:PropTween = _arg2.cachedPT1;
if (_arg1 == "onInit"){
_local5 = [];
while (_local3) {
_local5[_local5.length] = _local3;
_local3 = _local3.nextNode;
};
_local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING));
_local6 = _local5.length;
while (_local6--) {
PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)];
PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)];
};
_arg2.cachedPT1 = _local5[0];
} else {
while (_local3) {
if (((_local3.isPlugin) && (_local3.target[_arg1]))){
if (_local3.target.activeDisable){
_local4 = true;
};
var _local7 = _local3.target;
_local7[_arg1]();
};
_local3 = _local3.nextNode;
};
};
return (_local4);
}
public static function activate(_arg1:Array):Boolean{
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
var _local2:int = _arg1.length;
while (_local2--) {
if (_arg1[_local2].hasOwnProperty("API")){
_local3 = new ((_arg1[_local2] as Class));
TweenLite.plugins[_local3.propName] = _arg1[_local2];
};
};
return (true);
}
}
}//package com.greensock.plugins
Section 83
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.events.*;
import com.greensock.core.*;
import flash.display.*;
import com.greensock.plugins.*;
import flash.utils.*;
public class TweenLite extends TweenCore {
public var target:Object;
public var propTweenLookup:Object;
public var ratio:Number;// = 0
public var cachedPT1:PropTween;
protected var _ease:Function;
protected var _overwrite:uint;
protected var _overwrittenProps:Object;
protected var _hasPlugins:Boolean;
protected var _notifyPluginsOfEnabled:Boolean;
public static const version:Number = 11.2;
public static var plugins:Object = {};
public static var fastEaseLookup:Dictionary = new Dictionary(false);
public static var onPluginEvent:Function;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var defaultEase:Function = TweenLite.easeOut;
public static var overwriteManager:Object;
public static var rootFrame:Number;
public static var rootTimeline:SimpleTimeline;
public static var rootFramesTimeline:SimpleTimeline;
public static var masterList:Dictionary = new Dictionary(false);
private static var _shape:Shape = new Shape();
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onInit:1, onInitParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local5:TweenLite;
super(_arg2, _arg3);
this.target = _arg1;
if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
var _local4:Array = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (this.vars.onInit){
this.vars.onInit.apply(null, this.vars.onInitParams);
};
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (_local2--) {
this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1;
};
} else {
this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1;
};
if (_local3.priority){
this.cachedPT1.priority = _local3.priority;
_local4 = true;
};
if (((_local3.onDisable) || (_local3.onEnable))){
_notifyPluginsOfEnabled = true;
};
_hasPlugins = true;
} else {
this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1);
this.propTweenLookup[_local1] = this.cachedPT1;
};
};
};
if (_local4){
onPluginEvent("onInit", this);
};
if (this.vars.runBackwards){
_local6 = this.cachedPT1;
while (_local6) {
_local6.start = (_local6.start + _local6.change);
_local6.change = -(_local6.change);
_local6 = _local6.nextNode;
};
};
_hasUpdate = Boolean(!((this.vars.onUpdate == null)));
if (_overwrittenProps){
killVars(_overwrittenProps);
if (this.cachedPT1 == null){
this.setEnabled(false, false);
};
};
if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){
if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){
init();
};
};
this.initted = true;
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local4 = true;
};
_rawPrevTime = _arg1;
};
};
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local4 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
this.ratio = _ease(_arg1, 0, 1, this.cachedDuration);
};
};
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
if (((!(_local4)) && (this.cachedTime))){
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
var _local6:PropTween = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local4){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:String;
var _local4:PropTween;
var _local5:Boolean;
if (_overwrittenProps == null){
_overwrittenProps = {};
};
for (_local3 in _arg1) {
if ((_local3 in propTweenLookup)){
_local4 = propTweenLookup[_local3];
if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){
_local4.target.killProps(_arg1);
if (_local4.target.overwriteProps.length == 0){
_local4.name = "";
};
};
if (_local4.name != "_MULTIPLE_"){
if (_local4.nextNode){
_local4.nextNode.prevNode = _local4.prevNode;
};
if (_local4.prevNode){
_local4.prevNode.nextNode = _local4.nextNode;
} else {
if (this.cachedPT1 == _local4){
this.cachedPT1 = _local4.nextNode;
};
};
if (((_local4.isPlugin) && (_local4.target.onDisable))){
_local4.target.onDisable();
if (_local4.target.activeDisable){
_local5 = true;
};
};
delete propTweenLookup[_local3];
};
};
if (_arg2){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
protected static function updateAll(_arg1:Event=null):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
var _local5:int;
rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false);
rootFrame++;
rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false);
if (!(rootFrame % 60)){
_local2 = masterList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
_local5 = _local4.length;
while (_local5--) {
if (TweenLite(_local4[_local5]).gc){
_local4.splice(_local5, 1);
};
};
if (_local4.length == 0){
delete _local2[_local3];
};
};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
if ((_arg1 in masterList)){
_local3 = masterList[_arg1];
_local4 = _local3.length;
while (_local4--) {
if (!TweenLite(_local3[_local4]).gc){
if (_arg2){
TweenLite(_local3[_local4]).complete(false, false);
} else {
TweenLite(_local3[_local4]).setEnabled(false, false);
};
};
};
delete masterList[_arg1];
};
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (1 - (_arg1 / _arg4));
return ((1 - (_arg1 * _arg1)));
}
}
}//package com.greensock
Section 84
//ConsolePublisher (com.luminicbox.log.ConsolePublisher)
package com.luminicbox.log {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.text.*;
import flash.media.*;
public class ConsolePublisher implements IPublisher {
private var _version:Number;// = 0.1
private var _maxDepth:Number;
public function ConsolePublisher(){
_maxDepth = 4;
}
public function set maxDepth(_arg1:Number):void{
_maxDepth = ((_maxDepth)>0xFF) ? 0xFF : _arg1;
}
public function get maxDepth():Number{
return (_maxDepth);
}
public function toString():String{
return ("ConsolePublisher");
}
public function publish(_arg1:LogEvent):void{
var _local2:Object = LogEvent.serialize(_arg1);
_local2.argument = serializeObj(_local2.argument, 1);
var _local3:LocalConnection = new LocalConnection();
_local3.addEventListener(StatusEvent.STATUS, onStatus);
_local3.send("_luminicbox_log_console", "log", _local2);
}
private function serializeObj(_arg1:Object, _arg2:Number):Object{
var _local5:Array;
var _local6:Number;
var _local7:String;
var _local3:Object = getType(_arg1);
var _local4:Object = new Object();
if (!_local3.inspectable){
_local4.value = _arg1;
} else {
if (_local3.stringify){
_local4.value = (_arg1 + "");
} else {
if (_arg2 <= _maxDepth){
if ((((((((((((((((((((((((((((((_local3.name == "movieclip")) || ((_local3.name == "loader")))) || ((_local3.name == "sprite")))) || ((_local3.name == "stage")))) || ((_local3.name == "displayobjectcontainer")))) || ((_local3.name == "simplebutton")))) || ((_local3.name == "textfield")))) || ((_local3.name == "avm1movie")))) || ((_local3.name == "bitmap")))) || ((_local3.name == "interactiveobject")))) || ((_local3.name == "morphshape")))) || ((_local3.name == "shape")))) || ((_local3.name == "statictext")))) || ((_local3.name == "video")))) || ((_local3.name == "displayobject")))){
_local4.id = (_arg1 + "");
};
_local5 = new Array();
if ((_arg1 is Array)){
_local6 = 0;
while (_local6 < _arg1.length) {
_local5.push({property:_local6, value:serializeObj(_arg1[_local6], (_arg2 + 1))});
_local6++;
};
} else {
for (_local7 in _arg1) {
_local5.push({property:_local7, value:serializeObj(_arg1[_local7], (_arg2 + 1))});
};
};
_local4.value = _local5;
} else {
_local4.reachLimit = true;
};
};
};
_local4.type = _local3.name;
return (_local4);
}
private function getType(_arg1:Object):Object{
var _local2 = typeof(_arg1);
var _local3:Object = new Object();
_local3.inspectable = true;
_local3.name = _local2;
if ((((((((((_local2 == "boolean")) || ((_local2 == "function")))) || ((_local2 == "number")))) || ((_local2 == "string")))) || ((_local2 == "undefined")))){
_local3.inspectable = false;
} else {
if ((_arg1 is Array)){
_local3.name = "array";
} else {
if ((_arg1 is Date)){
_local3.inspectable = false;
_local3.name = "date";
} else {
if ((_arg1 is MovieClip)){
_local3.name = "movieclip";
} else {
if ((_arg1 is Loader)){
_local3.name = "loader";
} else {
if ((_arg1 is Sprite)){
_local3.name = "sprite";
} else {
if ((_arg1 is Stage)){
_local3.name = "stage";
} else {
if ((_arg1 is DisplayObjectContainer)){
_local3.name = "displayobjectcontainer";
} else {
if ((_arg1 is SimpleButton)){
_local3.name = "simplebutton";
} else {
if ((_arg1 is TextField)){
_local3.name = "textfield";
} else {
if ((_arg1 is AVM1Movie)){
_local3.name = "avm1movie";
} else {
if ((_arg1 is Bitmap)){
_local3.name = "bitmap";
} else {
if ((_arg1 is InteractiveObject)){
_local3.name = "interactiveobject";
} else {
if ((_arg1 is MorphShape)){
_local3.name = "morphshape";
} else {
if ((_arg1 is Shape)){
_local3.name = "shape";
} else {
if ((_arg1 is StaticText)){
_local3.name = "statictext";
} else {
if ((_arg1 is Video)){
_local3.name = "video";
} else {
if ((_arg1 is DisplayObject)){
_local3.name = "displayobject";
} else {
if ((_arg1 is XMLList)){
_local3.name = "xmllist";
_local3.stringify = true;
} else {
if ((_arg1 is XML)){
_local3.name = "xml";
_local3.stringify = true;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
return (_local3);
}
private function onStatus(_arg1:StatusEvent):void{
}
}
}//package com.luminicbox.log
Section 85
//IPublisher (com.luminicbox.log.IPublisher)
package com.luminicbox.log {
public interface IPublisher {
function publish(_arg1:LogEvent):void;
function toString():String;
}
}//package com.luminicbox.log
Section 86
//Level (com.luminicbox.log.Level)
package com.luminicbox.log {
public class Level {
private var _name:String;
private var _value:Number;
public static var ALL:Level = new Level("ALL", 1);
;
public static var LOG:Level = new Level("LOG", 1);
;
public static var DEBUG:Level = new Level("DEBUG", 2);
;
public static var INFO:Level = new Level("INFO", 4);
;
public static var WARN:Level = new Level("WARN", 8);
;
public static var ERROR:Level = new Level("ERROR", 16);
;
public static var FATAL:Level = new Level("FATAL", 32);
;
public static var NONE:Level = new Level("NONE", 0x0400);
;
public function Level(_arg1:String, _arg2:Number){
this._name = _arg1;
this._value = _arg2;
}
public function getName():String{
return (_name);
}
public function getValue():Number{
return (_value);
}
public function toString():String{
return (getName());
}
public static function getLevel(_arg1:String):Level{
switch (_arg1){
case "ALL":
return (ALL);
case "LOG":
return (LOG);
case "DEBUG":
return (DEBUG);
case "INFO":
return (INFO);
case "WARN":
return (WARN);
case "ERROR":
return (ERROR);
case "FATAL":
return (FATAL);
case "NONE":
return (NONE);
default:
return (null);
};
}
}
}//package com.luminicbox.log
Section 87
//LogEvent (com.luminicbox.log.LogEvent)
package com.luminicbox.log {
public class LogEvent {
public var time:Date;
public var loggerId:String;
public var level:Level;
public var argument:Object;
public function LogEvent(_arg1:String, _arg2:Object, _arg3:Level){
this.loggerId = _arg1;
this.argument = _arg2;
this.level = _arg3;
time = new Date();
}
public static function serialize(_arg1:LogEvent):Object{
var _local2:Object = new Object();
_local2.loggerId = _arg1.loggerId;
_local2.time = _arg1.time;
_local2.levelName = _arg1.level.getName();
_local2.argument = _arg1.argument;
return (_local2);
}
public static function deserialize(_arg1:Object):LogEvent{
var _local2:Level = Level[("" + _arg1.levelName)];
var _local3:LogEvent = new LogEvent(_arg1.loggerId, _arg1.argument, _local2);
_local3.time = _arg1.time;
return (_local3);
}
}
}//package com.luminicbox.log
Section 88
//Logger (com.luminicbox.log.Logger)
package com.luminicbox.log {
public class Logger {
private var _loggerId:String;
private var _publishers:Array;
private var _filters:Array;
private var _level:Level;
public function Logger(_arg1:String=""){
if (_arg1.length > 0){
this._loggerId = _arg1;
};
this._level = Level.LOG;
_publishers = new Array();
_filters = new Array();
}
public function setLevel(_arg1:Level):void{
_level = _arg1;
}
public function addPublisher(_arg1:IPublisher):void{
if (!_publishers[_arg1.toString()]){
_publishers[_arg1.toString()] = _arg1;
};
}
public function removePublisher(_arg1:IPublisher):void{
delete _publishers[_arg1.toString()];
}
public function getPublishers():Array{
return (_publishers);
}
public function publish(_arg1:Object, _arg2:Level):void{
var _local3:LogEvent;
var _local4:String;
if (_arg2.getValue() >= _level.getValue()){
_local3 = new LogEvent(this._loggerId, _arg1, _arg2);
for (_local4 in _publishers) {
IPublisher(_publishers[_local4]).publish(_local3);
};
};
}
public function log(_arg1:Object):void{
publish(_arg1, Level.LOG);
}
public function debug(_arg1:Object):void{
publish(_arg1, Level.DEBUG);
}
public function info(_arg1:Object):void{
publish(_arg1, Level.INFO);
}
public function warn(_arg1:Object):void{
publish(_arg1, Level.WARN);
}
public function error(_arg1:Object):void{
publish(_arg1, Level.ERROR);
}
public function fatal(_arg1:Object):void{
publish(_arg1, Level.FATAL);
}
}
}//package com.luminicbox.log
Section 89
//TracePublisher (com.luminicbox.log.TracePublisher)
package com.luminicbox.log {
import flash.display.*;
import flash.text.*;
import com.luminicbox.util.*;
import flash.media.*;
public class TracePublisher implements IPublisher {
private var _maxDepth:Number;
public function TracePublisher(){
_maxDepth = 4;
}
public function set maxDepth(_arg1:Number):void{
_maxDepth = ((_maxDepth)>0xFF) ? 0xFF : _arg1;
}
public function get maxDepth():Number{
return (_maxDepth);
}
public function toString():String{
return ("TracePublisher");
}
public function publish(_arg1:LogEvent):void{
var _local2:Object = _arg1.argument;
var _local3:String = _arg1.level.toString();
if (_arg1.loggerId){
_local3 = (_local3 + (":" + _arg1.loggerId));
};
_local3 = (_local3 + ": ");
_local3 = (_local3 + analyzeObj(_local2, 1));
trace(_local3);
}
private function analyzeObj(_arg1:Object, _arg2:Number):String{
var _local5:Boolean;
var _local6:Boolean;
var _local7:String;
var _local8:String;
var _local3 = "";
var _local4 = typeof(_arg1);
if (_local4 == "string"){
_local3 = (_local3 + _arg1);
} else {
if ((((_local4 == "boolean")) || ((_local4 == "number")))){
_local3 = (_local3 + _arg1);
} else {
if (_local4 == "undefined"){
_local3 = (_local3 + (("( " + _local4) + " )"));
} else {
_local5 = false;
_local6 = true;
if ((_arg1 is Array)){
_local4 = "array";
_local5 = false;
} else {
if ((_arg1 is Date)){
_local4 = "date";
_local6 = false;
_local5 = true;
} else {
if ((_arg1 is MovieClip)){
_local4 = "movieclip";
_local5 = true;
} else {
if ((_arg1 is Loader)){
_local4 = "loader";
_local5 = true;
} else {
if ((_arg1 is Sprite)){
_local4 = "sprite";
_local5 = true;
} else {
if ((_arg1 is Stage)){
_local4 = "stage";
_local5 = true;
} else {
if ((_arg1 is DisplayObjectContainer)){
_local4 = "displayobjectcontainer";
_local5 = true;
} else {
if ((_arg1 is SimpleButton)){
_local4 = "simplebutton";
_local5 = true;
} else {
if ((_arg1 is TextField)){
_local4 = "textfield";
_local5 = true;
} else {
if ((_arg1 is AVM1Movie)){
_local4 = "avm1movie";
_local5 = true;
} else {
if ((_arg1 is Bitmap)){
_local4 = "bitmap";
_local5 = true;
} else {
if ((_arg1 is InteractiveObject)){
_local4 = "interactiveobject";
_local5 = true;
} else {
if ((_arg1 is MorphShape)){
_local4 = "morphshape";
_local5 = true;
} else {
if ((_arg1 is Shape)){
_local4 = "shape";
_local5 = true;
} else {
if ((_arg1 is StaticText)){
_local4 = "statictext";
_local5 = true;
} else {
if ((_arg1 is Video)){
_local4 = "video";
_local5 = true;
} else {
if ((_arg1 is DisplayObject)){
_local4 = "displayobject";
_local5 = true;
} else {
if ((_arg1 is XMLList)){
_local4 = "xmllist";
_local6 = false;
_local5 = true;
} else {
if ((_arg1 is XML)){
_local4 = "xml";
_local6 = false;
_local5 = true;
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
};
_local3 = (_local3 + (("( " + _local4) + " ) "));
if (_local5){
_local3 = (_local3 + _arg1.toString());
};
if (((_local6) && ((_arg2 <= _maxDepth)))){
_local7 = "";
for (_local8 in _arg1) {
_local7 = (_local7 + (((("\n" + StringUtil.multiply("\t", (_arg2 + 1))) + _local8) + ":") + analyzeObj(_arg1[_local8], (_arg2 + 1))));
};
if (_local7.length > 0){
_local3 = (_local3 + (((("{" + _local7) + "\n") + StringUtil.multiply("\t", _arg2)) + "}"));
};
};
};
};
};
return (_local3);
}
}
}//package com.luminicbox.log
Section 90
//StringUtil (com.luminicbox.util.StringUtil)
package com.luminicbox.util {
public class StringUtil {
public static function multiply(_arg1:String, _arg2:Number):String{
var _local3 = "";
var _local4:Number = 0;
while (_local4 < _arg2) {
_local3 = (_local3 + _arg1);
_local4++;
};
return (_local3);
}
public static function replace(_arg1:String, _arg2:String, _arg3:String):String{
return (_arg1.split(_arg2).join(_arg3));
}
}
}//package com.luminicbox.util
Section 91
//AdDataDTO (com.metacafe.adv.AdDataDTO)
package com.metacafe.adv {
public class AdDataDTO {
private var _vendorID:String;
private var _moduleURL:String;
private var _config:Object;
private var _apiFramework:String;
private var _trackers:Object;
public function AdDataDTO(){
_vendorID = "";
_moduleURL = "";
_config = {};
_apiFramework = "";
_trackers = {};
}
public function get vendorID():String{
return (_vendorID);
}
public function set vendorID(_arg1:String):void{
_vendorID = _arg1;
}
public function get moduleURL():String{
return (_moduleURL);
}
public function set moduleURL(_arg1:String):void{
_moduleURL = _arg1;
}
public function get config():Object{
return (_config);
}
public function set config(_arg1:Object):void{
_config = _arg1;
}
public function get apiFramework():String{
return (_apiFramework);
}
public function set apiFramework(_arg1:String):void{
_apiFramework = _arg1;
}
public function get trackers():Object{
return (_trackers);
}
public function set trackers(_arg1:Object):void{
_trackers = _arg1;
}
}
}//package com.metacafe.adv
Section 92
//CommonVideoPlayer (com.metacafe.base.CommonVideoPlayer)
package com.metacafe.base {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import flash.geom.*;
import com.metacafe.video.*;
import flash.net.*;
import flash.display.*;
import com.adobe.serialization.json.*;
import com.google.analytics.*;
import com.metacafe.reports.*;
import com.metacafe.modules.events.*;
import com.metacafe.gui.*;
import com.metacafe.config.*;
import com.metacafe.*;
import com.metacafe.security.*;
import flash.utils.*;
import com.metacafe.modules.*;
import flash.external.*;
import flash.system.*;
public class CommonVideoPlayer extends ResizeableSprite implements IVideoPlayerModule, IVideoPlaybackController {
protected var videoPlayer:VideoPlayer;
protected var mediaControls:MediaControlsBase;
protected var isFirstPlayback:Boolean;
protected var isMainItem:Boolean;
protected var _isOnline:Boolean;
protected var flashvarsStub:FlashvarsStubBase;
protected var reporter:IReporter;
protected var vmReporter:VisibleMeasureReporter;
protected var tmReporter:TubeMogulReporter;
protected var gaTracker:AnalyticsTracker;
protected var allGAReports:Dictionary;
protected var timeTracker:TimeTracker;
protected var screenClickTimer:Timer;
protected var postRollLoader:Loader;
protected var registery:Registery;
protected var mouseInactivityTimer:Timer;
protected var mouseMoveTimer:Timer;
protected var lastMousePos:Point;
protected var _currentDuration:Number;
protected var _currentPlayheadTime:Number;
protected var comScoreBeaconDispatcher:ComScoreBeaconDispatcher;
protected var _currentMediaType:String;
public static const MEDIA_TYPE_PRIORITY:Array = [MediaFileTypes.FLV, MediaFileTypes.MP4, MediaFileTypes.HIGH_QAULITY_MP4, MediaFileTypes.HIGH_DEFINITION_MP4];
public function get mediaControlsDepth():int{
var _local1:MediaControlsBase = (getChildByName(MediaControlsNames.CONTROLS) as MediaControlsBase);
return (getChildIndex(_local1));
}
public function get currentDuration():Number{
return (_currentDuration);
}
public function get currentPlayheadTime():Number{
return (_currentPlayheadTime);
}
public function get currentMediaType():String{
return (_currentMediaType);
}
public function set currentMediaType(_arg1:String):void{
_currentMediaType = _arg1;
}
public function init():void{
var hasRequestetMediaType:Boolean;
var mtPriority:Array;
var l:uint;
var i:int;
var priorityMediaType:String;
try {
ExternalInterface.call("fpSetUUID", "");
} catch(e:Error) {
trace(e);
};
_isOnline = !(stage.loaderInfo.url.match(/^file:\/\//));
if (!_isOnline){
initFlashvarsStub();
};
var vars:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
isFirstPlayback = true;
isMainItem = false;
var csbd:ComScoreBeaconDispatcher = (comScoreBeaconDispatcher = new ComScoreBeaconDispatcher());
registery = Registery.getInstance();
initCofigurationData();
initItemData();
initUserData();
initEnvData();
initAdditionalData();
initVideoPlayer();
initWatermark();
var vp:VideoPlayer = videoPlayer;
var prLdr:Loader = (postRollLoader = new Loader());
addChild(prLdr);
prLdr.contentLoaderInfo.addEventListener(Event.INIT, onPostRollContentInit);
prLdr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onPostRollContentProgress);
prLdr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onPostRollContentIOError);
var mTmr:Timer = (mouseInactivityTimer = new Timer(5000, 1));
mTmr.addEventListener(TimerEvent.TIMER, onMouseInactive);
var mmTmr:Timer = (mouseMoveTimer = new Timer(250, 0));
mmTmr.addEventListener(TimerEvent.TIMER, onMouseMoveTimerTick);
lastMousePos = new Point(mouseX, mouseY);
mmTmr.start();
stage.addEventListener(FullScreenEvent.FULL_SCREEN, onDisplayStateChnage);
initMediaControls();
var qsMediaType:String = registery.playerConfig.mediaType;
var mediaData:Object = registery.itemData.mediaData;
var mediaType:String = MediaFileTypes.FLV;
if (mediaData){
hasRequestetMediaType = false;
if (qsMediaType.length){
if (mediaData[qsMediaType]){
mediaType = qsMediaType;
hasRequestetMediaType = true;
};
};
if (!hasRequestetMediaType){
mtPriority = MEDIA_TYPE_PRIORITY;
l = mtPriority.length;
i = 0;
while (i < l) {
priorityMediaType = mtPriority[i];
if (mediaData[priorityMediaType]){
mediaType = priorityMediaType;
break;
};
i = (i + 1);
};
};
};
currentMediaType = mediaType;
mediaControls.selectedMediaType = mediaType;
var stg:Stage = stage;
vp.setSize(stg.stageWidth, stg.stageHeight);
initThirdPartyReporters();
reporter = new CommonReporter(this);
var trk:TimeTracker = (timeTracker = new TimeTracker());
trk.addEventListener(TimeTrackerEvent.CACHE_NEXT_CUE, onCacheNextCue);
vp.registerModule(trk);
vp.registerModule(this);
var tmr:Timer = (screenClickTimer = new Timer(300, 1));
tmr.addEventListener(TimerEvent.TIMER, onScreenClickTimer);
}
protected function initFlashvarsStub():void{
}
protected function startPlayback():void{
playMainItem();
}
private function initThirdPartyReporters():void{
var _local12:TubeMogulReporter;
var _local1:VideoPlayer = videoPlayer;
var _local2:Registery = registery;
var _local3:PlayerConfiguration = _local2.playerConfig;
if (_local3.reportVM){
initVMReporter();
vmReporter.populateItemData();
};
if (_local3.reportTM){
_local12 = (tmReporter = new TubeMogulReporter(this));
_local1.registerModule(_local12);
_local12.videoPlayer = videoPlayer;
trace("Initializing TubeMogule Reporting");
};
var _local4:String = _local2.playerConfig.playerType;
var _local5 = (_local4 == VideoPlayerTypes.TYPE_EMBED);
var _local6:String = (_local5) ? GA.EMBED_ACCOUNT_ID : (_isOnline) ? "window.ga.pageTracker" : GA.ACCOUNT_ID;
var _local7:String = (((_local5) || (!(_isOnline)))) ? "AS3" : "Bridge";
var _local8:AnalyticsTracker = (gaTracker = new GATracker(this, _local6, _local7, (_isOnline) ? (loaderInfo.parameters.debugGA == "true") : true));
var _local9:Dictionary = (allGAReports = new Dictionary());
_local9["category"] = GA.EVENT_CATEGORY_TEMPLATE.replace(GA.PLAYER_TYPE_TOKEN, _local4);
var _local10:* = (_local9["reports"] = new Dictionary());
var _local11:Array = (_local10[ReportNames.VIEW_START] = [{action:GA.VIEW_START_ACTION_TEMPLATE.replace(GA.PLAYER_TYPE_TOKEN, _local4), label:registery.userData.nickName}]);
if (_local5){
_local11.push({action:GA.EMBED_PLAY_ACTION, label:registery.playerConfig.embeddingDomain});
_local10[GA.EMBED_ITEM_SELECTOR_IMPRESSION_ACTION] = {action:GA.EMBED_ITEM_SELECTOR_IMPRESSION_ACTION};
_local10[GA.EMBED_SCREEN_CLICK_ACTION] = {action:GA.EMBED_SCREEN_CLICK_ACTION};
};
}
protected function initVMReporter(){
var _local1:VideoPlayer = videoPlayer;
var _local2:VisibleMeasureReporter = (vmReporter = VisibleMeasureReporter.getInstance());
if (!_local2.videoPlayer){
_local1.registerModule(_local2);
_local2.videoPlayer = _local1;
};
trace("Initializing VisibleMeasures Reporting");
}
protected function setThirdPartyReportCurrentStream(_arg1:Boolean):void{
var _local4:TubeMogulReporter;
var _local2:Registery = registery;
var _local3:PlayerConfiguration = _local2.playerConfig;
if (_local3.reportTM){
_local4 = tmReporter;
tmReporter.reportCurrentStream = _arg1;
};
}
protected function initVideoPlayer():void{
var _local1:VideoPlayer = (videoPlayer = new VideoPlayer());
addChild(_local1);
_local1.allowSeekAhead = registery.playerConfig.isJPN;
var _local2:ComScoreBeaconDispatcher = comScoreBeaconDispatcher;
_local1.registerModule(_local2);
}
protected function initMediaControls():void{
var _local1:VideoPlayer = videoPlayer;
var _local2:MediaControlsBase = (mediaControls = new MediaControlsBase());
_local2.name = MediaControlsNames.CONTROLS;
addChild(_local2);
_local1.setMediaControls(_local2);
}
protected function initWatermark():void{
}
private function onPostRollContentProgress(_arg1:ProgressEvent):void{
}
protected function onPostRollContentIOError(_arg1:IOErrorEvent):void{
trace(_arg1.target.url);
}
protected function onPostRollContentInit(_arg1:Event):void{
var _local2:String = videoPlayer.state;
switch (_local2){
case StreamStates.STATE_ENDED:
case StreamStates.STATE_FILE_NOT_FOUND:
case StreamStates.STATE_STOPPED:
showPostRollContent();
break;
};
}
protected function showPostRollContent():void{
var ga:AnalyticsTracker;
var gaDict:Dictionary;
var gaReports:*;
var obj:Object;
var cat:*;
trace("showPostRollContent");
var prLdr:Loader = postRollLoader;
if ((((prLdr.contentLoaderInfo.bytesTotal > 0)) || ((prLdr.contentLoaderInfo.bytesLoaded > 0)))){
prLdr.visible = true;
trace("prLdr.visible =", prLdr.visible);
try {
cat = prLdr.contentLoaderInfo.content;
if (!cat.thumbsEnabled){
cat.thumbsEnabled = true;
};
} catch(err:Error) {
trace(err);
};
ga = gaTracker;
gaDict = allGAReports;
gaReports = gaDict["reports"];
obj = gaReports[GA.EMBED_ITEM_SELECTOR_IMPRESSION_ACTION];
if (obj){
ga.trackEvent(gaDict["category"], obj.action);
};
if (stage.displayState == StageDisplayState.FULL_SCREEN){
stage.displayState = StageDisplayState.NORMAL;
};
} else {
loadPostRollContent();
};
}
protected function hidePostRollContent():void{
var cat:*;
trace("hidePostRollContent");
var prLdr:Loader = postRollLoader;
prLdr.visible = false;
try {
cat = prLdr.contentLoaderInfo.content;
cat.thumbsEnabled = false;
} catch(err:Error) {
};
}
protected function playMainItem():void{
isFirstPlayback = false;
var _local1:VideoPlayer = videoPlayer;
_local1.seekEnabled = (_local1.volumeEnabled = (_local1.fullScreenEnabled = true));
var _local2:CuePoint = new CuePoint();
_local2.time = 2;
_local2.fireOnce = true;
_local2.addEventListener(TimerEvent.TIMER, onMainItem2SecondCuePoint);
_local1.registerModule(_local2);
if (postRollLoader.visible){
hidePostRollContent();
};
}
protected function onMainItem2SecondCuePoint(_arg1:TimerEvent):void{
trace("onMainItem2SecondCuePoint");
}
protected function playNextItem():void{
isMainItem = false;
onPlayerScheduleComplete();
}
protected function onPlayerScheduleComplete():void{
loadPostRollContent();
}
protected function onCacheNextCue(_arg1:TimeTrackerEvent):void{
onPlayerScheduleComplete();
}
protected function loadPostRollContent():void{
var _local5:PlayerConfiguration;
var _local6:URLRequest;
var _local7:LoaderContext;
trace("loadPostRollContent()");
var _local1:Loader = postRollLoader;
var _local2:LoaderInfo = _local1.contentLoaderInfo;
var _local3:String = videoPlayer.state;
var _local4:Boolean = (((((_local3 == StreamStates.STATE_ENDED)) || ((_local3 == StreamStates.STATE_STOPPED)))) || ((_local3 == StreamStates.STATE_FILE_NOT_FOUND)));
if (_local2.bytesTotal > 0){
if (_local4){
showPostRollContent();
};
} else {
trace("Catalog is not loaded. Loading Catalog");
_local5 = registery.playerConfig;
_local6 = new URLRequest(_local5.postRollContentURL);
_local7 = new LoaderContext();
_local7.applicationDomain = loaderInfo.applicationDomain;
_local1.load(_local6, _local7);
trace(("URL: " + _local6.url));
};
}
protected function sendStartReport(){
sendReport(ReportNames.VIEW_START);
}
protected function sendMediaFilePlayErrorReport():void{
sendReport(ReportNames.MEDIA_FILE_PLAY_ERROR);
}
protected function sendReport(_arg1:String, _arg2:Number=NaN){
var _local9:*;
var _local15:Array;
var _local16:Object;
var _local3:CommonReporter = (reporter as CommonReporter);
var _local4:Registery = registery;
var _local5:PlayerConfiguration = _local4.playerConfig;
var _local6:AnalyticsTracker = gaTracker;
var _local7:Dictionary = allGAReports;
var _local8:* = _local7["category"];
_local9 = _local7["reports"];
if (_local5.errorCode > 0){
return;
};
var _local10:Item = _local4.itemData;
var _local11:User = _local4.userData;
var _local12:Env = _local4.envData;
var _local13:String = _local5.playerType;
var _local14:Object = {itemID:_local10.itemID, playerType:((_local13) || ("")), mediaType:((currentMediaType) || ("")), context:((_local5.context) || ("")), noCache:new Date().time};
if (_local10.affiliateID){
_local14.affID = _local10.affiliateID;
};
if (_local5.additionalReportsValues.prevPageType){
_local14.prevPageType = _local5.additionalReportsValues.prevPageType;
};
switch (_arg1){
case ReportNames.VIEW_START:
if (!isMainItem){
return;
};
_local14.reportType = "viewStart";
if (_local10.indexedItemID){
_local14.indexedItemID = _local10.indexedItemID;
};
if (_local11.userPageID){
_local14.userPageID = _local11.userPageID;
};
_local15 = _local9[ReportNames.VIEW_START];
while (_local15.length) {
_local16 = _local15.pop();
_local6.trackEvent(_local8, _local16.action, _local16.label);
};
break;
case ReportNames.OVERALL_PLAY_TIME:
_local14.userID = _local11.userID;
_local14.duration = currentDuration;
_local14.playbackTime = currentPlayheadTime;
break;
case ReportNames.MEDIA_FILE_PLAY_ERROR:
if (_local10.mediaData){
_local14.countryCode = ((_local11.countryCode) || (""));
_local14.mediaURL = _local10.mediaData[currentMediaType].mediaURL;
} else {
return;
};
break;
};
_local3.sendReport(_arg1, _local14);
}
protected function initCofigurationData():void{
trace("-------------------------------------");
trace("Configuration Data:");
trace("-------------------------------------");
var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var _local2:PlayerConfiguration = new PlayerConfiguration();
var _local3:Function = Data.assignDefault;
_local2.reviewMode = _local3(_local1, "reviewMode", "");
var _local4:String = unescape(_local3(_local1, "postRollContentURL", ""));
_local2.postRollContentURL = (_isOnline) ? URLValidator.validate(_local4) : _local4;
_local2.comscoreURL = ((unescape(_local3(_local1, "comscoreURL", ""))) || (""));
trace(this, "cfg.comscoreURL:", _local2.comscoreURL);
_local2.reportToWinter = (_local3(_local1, "reportToWinter", "false") == "true");
_local2.isJPN = (_local3(_local1, "isJPN", "false") == "true");
_local2.reportVM = (_local3(_local1, "reportVM", "false") == "true");
_local2.reportTM = (_local3(_local1, "reportTM", "false") == "true");
_local2.mediaType = _local3(_local1, "mediaType", "");
_local2.tmDebugOn = _local3(_local1, "tmDebugOn", false);
_local2.forceMute = (_local3(_local1, "forceMute", "false") == "true");
_local2.context = _local3(_local1, "context", "");
if (_local1.hasOwnProperty("errorCode")){
_local2.errorCode = uint(_local1.errorCode);
_local2.errorTitle = unescape(unescape(_local3(_local1, "errorTitle", "")));
_local2.errorDescription = unescape(unescape(_local3(_local1, "errorDescription", "")));
};
_local2.additionalReportsValues = new AdditionalReportsValues();
_local2.chromelessURL = _local3(_local1, "chromelessURL", "");
var _local5:Registery = registery;
_local5.playerConfig = _local2;
}
protected function initEnvData():void{
trace("-------------------------------------");
trace("Environment Data:");
trace("-------------------------------------");
var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var _local2:Function = Data.assignDefault;
var _local3:String = _local2(_local1, "altServerURL", "");
var _local4:String = _local2(_local1, "pageURL", "");
var _local5:String = _local2(_local1, "staticURL", "");
var _local6:String = _local2(_local1, "altServerURL", "");
var _local7:String = _local2(_local1, "reportsBaseURL", "");
var _local8:Env = new Env();
_local8.altServerURL = URLValidator.validate(_local3);
_local8.pageURL = URLValidator.validate(_local4);
_local8.staticURL = URLValidator.validate(_local5);
_local8.serviceURL = URLValidator.validate(_local6);
_local8.reportsBaseURL = URLValidator.validate(_local7);
var _local9:Registery = registery;
_local9.envData = _local8;
}
protected function initUserData():void{
trace("-------------------------------------");
trace("User Data:");
trace("-------------------------------------");
var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var _local2:Function = Data.assignDefault;
var _local3:User = new User();
_local3.nickName = _local2(_local1, "nickName", "");
_local3.clientIP = _local2(_local1, "clientIP", "");
_local3.visitID = _local2(_local1, "visitID", "");
_local3.LEID = _local2(_local1, "LEID", "");
_local3.userID = _local2(_local1, "userID", "");
_local3.audienceCode = _local2(_local1, "audienceCode", "basic");
_local3.userItemRank = _local2(_local1, "userItemRank", null);
_local3.countryCode = _local2(_local1, "countryCode", "");
var _local4:String = _local2(_local1, "userPageID", "");
if (_local4.length){
_local3.userPageID = _local4;
};
var _local5:Registery = registery;
_local5.userData = _local3;
}
protected function initItemData():void{
var rawMediaData:Object;
var fileType:String;
var fileTypeData:Object;
var mdDTO:mediaDTO;
var prop:String;
var mURL:String;
var medURL:String;
trace("-------------------------------------");
trace("Item Data:");
trace("-------------------------------------");
var vars:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var item:Item = new Item();
var def:Function = Data.assignDefault;
var isJSONError:Boolean;
var mediaData:Object = {};
try {
trace("======================================================");
rawMediaData = JSON.decode(unescape(vars.mediaData));
for (fileType in rawMediaData) {
fileTypeData = rawMediaData[fileType];
trace("Found fileType:", fileType);
mdDTO = new mediaDTO();
for (prop in fileTypeData) {
mdDTO[prop] = fileTypeData[prop];
trace("\tAdding data:", prop, ":", mdDTO[prop]);
};
mURL = mdDTO.mediaURL.replace("[From www.metacafe.com] ", "%5BFrom%20www.metacafe.com%5D%20");
mdDTO.mediaURL = URLValidator.validate(mURL);
mediaData[fileType] = mdDTO;
};
item.mediaData = mediaData;
trace("======================================================");
} catch(err:Error) {
trace("No mediaData or malformed JSON");
isJSONError = true;
};
if (((((!(mediaData.hasOwnProperty(MediaFileTypes.FLV))) && (!(mediaData.hasOwnProperty(MediaFileTypes.MP4))))) || (isJSONError))){
medURL = def(vars, "mediaURL", "");
item.mediaURL = URLValidator.validate(medURL);
item.accessControlKey = def(vars, "gdaKey", "");
};
var kw:String = def(vars, "keywords", "");
item.keywords = unescape(kw).split(",");
var cats:String = def(vars, "categories", "");
item.categories = unescape(cats).split(",");
item.itemID = def(vars, "itemID", "");
item.origID = def(vars, "origID", "");
item.duration = def(vars, "duration", 0);
item.title = unescape(def(vars, "title", ""));
item.normalizedTitle = def(vars, "normalizedTitle", "");
item.description = unescape(def(vars, "description", ""));
item.isWatermarked = Boolean((def(vars, "isWatermarked", "false") == "true"));
item.reportID = def(vars, "itemReportID", "");
item.isSponsoredVideo = Boolean((((def(vars, "isSV", "false") == "true")) || ((def(vars, "isViral", "false") == "true"))));
item.affiliateID = def(vars, "affID", "");
item.isIndexed = def(vars, "isIndexed", false);
item.indexedItemID = def(vars, "indexedItemID", "");
var reg:Registery = registery;
reg.itemData = item;
}
protected function initAdditionalData():void{
trace("-------------------------------------");
trace("Additional Data:");
trace("-------------------------------------");
}
public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{
var _local5:Object;
var _local6:String;
var _local2:String = _arg1.info.name;
var _local3:VideoPlayer = videoPlayer;
var _local4:Registery = registery;
if (_local4.playerConfig.errorCode){
return;
};
switch (_local2){
case MediaControlsNames.PLAY:
if (videoPlayer.state == StreamStates.STATE_WAITING){
playMainItem();
};
break;
case MediaControlsNames.REPLAY:
(reporter as CommonReporter).resetOverallPlaytimeFlag();
_local3.seekEnabled = (_local3.volumeEnabled = (_local3.fullScreenEnabled = true));
playMainItem();
break;
case MediaControlsNames.STOP:
videoPlayer.stop();
onPlayerScheduleComplete();
break;
case MediaControlsNames.MEDIA_TYPE_FLV:
_local5 = registery.itemData.mediaData;
_local6 = MediaFileTypes.FLV;
if (_local5){
if (_local5[MediaFileTypes.MP4]){
_local6 = MediaFileTypes.MP4;
};
};
setMediaType(_local6);
break;
case MediaControlsNames.MEDIA_TYPE_HD:
setMediaType(MediaFileTypes.HIGH_DEFINITION_MP4);
break;
};
}
public function onScreenClick(_arg1:VideoPlayerEvent):void{
var _local2:Timer = screenClickTimer;
_local2.start();
onLogoClick(_arg1.info);
}
public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{
var _local2:Timer = screenClickTimer;
_local2.stop();
stage.displayState = ((stage.displayState == StageDisplayState.FULL_SCREEN)) ? StageDisplayState.NORMAL : StageDisplayState.FULL_SCREEN;
}
protected function onScreenClickTimer(_arg1:TimerEvent):void{
togglePause();
}
private function onLogoClick(_arg1:Object):void{
var _local7:String;
var _local8:String;
var _local9:VideoPlayer;
var _local10:Rectangle;
var _local11:Number;
var _local12:Number;
var _local13:Rectangle;
var _local2:Number = _arg1.x;
var _local3:Number = _arg1.y;
var _local4:Registery = registery;
var _local5:String = _local4.itemData.affiliateID;
var _local6:Object = AffilliateLogo.AFF_LOGOS[_local5];
if (_local6 != null){
_local7 = _local6.url;
_local8 = _local7.replace("[ITEM_ID]", registery.itemData.itemID);
_local9 = videoPlayer;
_local10 = _local9.getScreenRect();
_local11 = (_local10.width - _local6.offset.width);
_local12 = (_local10.height - _local6.offset.height);
_local13 = new Rectangle(_local11, _local12, _local6.logo.width, _local6.logo.height);
if (_local13.contains(_local2, _local3)){
navigateToURL(new URLRequest(_local8), "_blank");
};
};
}
public function togglePause():void{
var _local1:VideoPlayer = videoPlayer;
var _local2:String = _local1.state;
trace(this, "togglePause()", _local2);
switch (_local2){
case StreamStates.STATE_PAUSED:
_local1.play();
break;
case StreamStates.STATE_PLAYING:
_local1.pause();
break;
};
}
public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
var _local3:Loader;
var _local4:Timer;
var _local2:String = _arg1.info.state;
trace("onVideoStateChanged(", _local2, ")");
switch (_local2){
case StreamStates.STATE_FILE_NOT_FOUND:
sendMediaFilePlayErrorReport();
case StreamStates.STATE_STOPPED:
case StreamStates.STATE_ENDED:
playNextItem();
break;
case StreamStates.STATE_PLAYING:
if (isMainItem){
sendStartReport();
};
break;
default:
_local3 = postRollLoader;
if (_local3.visible){
hidePostRollContent();
};
_local4 = mouseInactivityTimer;
_local4.start();
};
}
public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
_currentDuration = _arg1.info.duration;
var _local2:Number = (_currentPlayheadTime = _arg1.info.time);
if ((((_local2 > 0)) && (isMainItem))){
sendStartReport();
};
}
public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{
}
protected function onDisplayStateChnage(_arg1:FullScreenEvent):void{
var _local2:Timer = mouseInactivityTimer;
if (!_arg1.fullScreen){
videoPlayer.mediaControlsVisible = true;
};
}
protected function onMouseMoveTimerTick(_arg1:TimerEvent):void{
var _local2:Number = mouseX;
var _local3:Number = mouseY;
var _local4:Point = lastMousePos;
if (((!((_local4.x == _local2))) || (!((_local4.y == _local3))))){
lastMousePos.x = _local2;
lastMousePos.y = _local3;
onMouseReActive();
};
}
protected function onMouseInactive(_arg1:TimerEvent):void{
var evt = _arg1;
var isInternal = (videoPlayer.mediaControlsPlacement == MediaControlsPlacementTypes.INTERNAL);
var isFullScreen:Boolean;
try {
isFullScreen = (stage.displayState == StageDisplayState.FULL_SCREEN);
} catch(err:Error) {
trace("Unable to get a reference to 'stage'");
};
if (((isFullScreen) || (((isInternal) && ((videoPlayer.state == StreamStates.STATE_PLAYING)))))){
videoPlayer.mediaControlsVisible = false;
};
}
protected function onMouseReActive():void{
if (!videoPlayer.mediaControlsVisible){
videoPlayer.mediaControlsVisible = true;
};
var _local1:Timer = mouseInactivityTimer;
_local1.reset();
_local1.start();
}
override protected function size():void{
var cat:IResizeable;
var w:Number = width;
var h:Number = height;
var vp:VideoPlayer = videoPlayer;
vp.setSize(w, h);
var scrH:Number = vp.screenRect.height;
var prLdr:Loader = postRollLoader;
try {
cat = (prLdr.content as IResizeable);
cat.setSize(w, scrH);
} catch(err:Error) {
};
}
public function playVideo():void{
videoPlayer.play();
}
public function pauseVideo():void{
if (videoPlayer.state == StreamStates.STATE_PLAYING){
videoPlayer.pause();
};
}
public function stopVideo():void{
videoPlayer.stop();
}
public function seek(_arg1:Number):void{
videoPlayer.seek(_arg1);
}
public function setMediaType(_arg1:String):void{
if (_arg1 != currentMediaType){
currentMediaType = _arg1;
(reporter as CommonReporter).reset();
playMainItem();
};
}
public function registerVideoPlayerModule(_arg1:IVideoPlayerModule){
videoPlayer.registerModule(_arg1);
}
public function unRegisterVideoPlayerModule(_arg1:IVideoPlayerModule){
videoPlayer.unRegisterModule(_arg1);
}
public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{
}
}
}//package com.metacafe.base
Section 93
//ComponentLoaderBase (com.metacafe.base.ComponentLoaderBase)
package com.metacafe.base {
import flash.events.*;
import com.greensock.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.gui.events.*;
import com.metacafe.events.*;
import com.metacafe.portal.events.*;
import com.greensock.plugins.*;
import com.metacafe.social.*;
import com.metacafe.gui.shapes.*;
import flash.system.*;
public class ComponentLoaderBase extends ResizeableSprite {
protected var background:Rect;
protected var loader:Loader;
protected var _componentURLs:Object;
protected var _socialTabID:String;
public function ComponentLoaderBase(){
TweenPlugin.activate([AutoAlphaPlugin]);
init();
}
public function get componentURLs():Object{
return (_componentURLs);
}
public function set componentURLs(_arg1:Object):void{
_componentURLs = _arg1;
}
public function get socialTabID():String{
return (_socialTabID);
}
public function set socialTabID(_arg1:String):void{
_socialTabID = _arg1;
}
protected function init(){
var _local1:Rect;
_local1 = (background = new Rect());
_local1.alpha = 0.8;
_local1.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation);
addChild(_local1);
var _local2:Loader = (loader = new Loader());
var _local3:LoaderInfo = _local2.contentLoaderInfo;
_local3.addEventListener(Event.INIT, onComponentLoaded);
_local3.addEventListener(IOErrorEvent.IO_ERROR, onComponentLoadFail);
addChild(_local2);
alpha = 0;
visible = false;
Security.allowDomain("*");
}
protected function onComponentLoadFail(_arg1:IOErrorEvent):void{
trace(_arg1);
hide();
}
protected function onComponentLoaded(_arg1:Event):void{
var content:*;
var evt = _arg1;
trace((this + "onComponentLoaded"));
var inf:LoaderInfo = (evt.target as LoaderInfo);
try {
content = inf.content;
content.addEventListener(CloseClickEvent.CLOSE, onCloseClick);
content.addEventListener(SuccessEvent.SUCCESS, onSuccessEvent);
} catch(e:Error) {
trace(e);
};
if (socialTabID){
try {
content.selectTabByID(socialTabID);
} catch(e:Error) {
trace(e);
};
};
size();
show();
}
protected function onSuccessEvent(_arg1:SuccessEvent):void{
}
private function onCloseClick(_arg1:CloseClickEvent){
hide();
}
public function loadComponent(_arg1:String):void{
var compURL:String;
var req:URLRequest;
var ctx:LoaderContext;
var ldr:Loader;
var val = _arg1;
trace((((this + "loadComponent(\"") + val) + "\")"));
try {
compURL = componentURLs[val];
} catch(e:Error) {
trace(("Unknown component name: " + val));
};
if (compURL.length){
req = new URLRequest(compURL);
ctx = new LoaderContext(false, ApplicationDomain.currentDomain);
socialTabID = "";
switch (val){
case SocialContentIDs.BOOKMARK_TAB:
case SocialContentIDs.EMAIL_TAB:
case SocialContentIDs.POST_TAB:
socialTabID = val;
break;
};
ldr = loader;
ldr.load(req);
};
}
public function show(){
trace("show()");
var _local1:Loader = loader;
TweenLite.killTweensOf(_local1);
TweenLite.to(_local1, 0.25, {alpha:1});
TweenLite.killTweensOf(this);
TweenLite.to(this, 0.25, {autoAlpha:1});
dispatchEvent(new ComponentLoaderEvent(ComponentLoaderEvent.SHOW));
}
public function hide(){
trace("hide()");
var _local1:Loader = loader;
TweenLite.killTweensOf(_local1);
TweenLite.to(_local1, 0.25, {alpha:0});
TweenLite.killTweensOf(this);
TweenLite.to(this, 0.25, {autoAlpha:0});
dispatchEvent(new ComponentLoaderEvent(ComponentLoaderEvent.HIDE));
}
override protected function size():void{
var ldr:Loader;
var cw:Number;
var ch:Number;
var w:Number = width;
var h:Number = height;
var bg:Rect = background;
bg.width = w;
bg.height = h;
try {
ldr = loader;
cw = ldr.width;
ch = ldr.height;
ldr.x = ((w - cw) / 2);
ldr.y = ((h - ch) / 2);
} catch(e:Error) {
};
}
}
}//package com.metacafe.base
Section 94
//OverlayAdIntegrationBase (com.metacafe.base.OverlayAdIntegrationBase)
package com.metacafe.base {
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.video.*;
import flash.display.*;
import com.metacafe.*;
public class OverlayAdIntegrationBase extends VideoPlayerModuleBase {
private var _width:Number;
private var _height:Number;
protected var _container:DisplayObjectContainer;
protected var _adVendorData:Object;
protected var registery:Registery;
protected var _videoPlayer:IVideoPlayer;
public function OverlayAdIntegrationBase(_arg1:DisplayObjectContainer){
container = _arg1;
_arg1.addEventListener(Event.ADDED_TO_STAGE, onAdded);
_arg1.loaderInfo.addEventListener(Event.UNLOAD, onUnload);
init();
}
public function get hasPrerollVideoAd():Boolean{
return (false);
}
public function get hasPostrollVideoAd():Boolean{
return (false);
}
public function get container():DisplayObjectContainer{
return (_container);
}
public function set container(_arg1:DisplayObjectContainer):void{
_container = _arg1;
}
public function get videoPlayer():IVideoPlayer{
return (_videoPlayer);
}
public function set videoPlayer(_arg1:IVideoPlayer):void{
_videoPlayer = _arg1;
}
public function get adVendorData():Object{
return (_adVendorData);
}
public function set adVendorData(_arg1:Object):void{
_adVendorData = _arg1;
trace(this, "adVendorData set to", Debug.dump(_arg1));
}
public function get width():Number{
return (_width);
}
public function get height():Number{
return (_height);
}
private function onAdded(_arg1:Event):void{
var _local2:Stage = container.stage;
_local2.addEventListener(FullScreenEvent.FULL_SCREEN, onFullScreen);
}
protected function onUnload(_arg1:Event):void{
}
protected function onFullScreen(_arg1:FullScreenEvent):void{
container.visible = !(_arg1.fullScreen);
}
protected function init():void{
}
public function playAds():void{
}
public function setSize(_arg1:Number, _arg2:Number):void{
_arg1 = Math.max(_arg1, 0);
_arg2 = Math.max(_arg2, 0);
_width = _arg1;
_height = _arg2;
size();
}
protected function size():void{
}
}
}//package com.metacafe.base
Section 95
//ResizeableSprite (com.metacafe.base.ResizeableSprite)
package com.metacafe.base {
import flash.display.*;
import com.metacafe.gui.*;
public class ResizeableSprite extends Sprite implements IResizeable, IEnableable {
private var _width:Number;
private var _height:Number;
private var _enabled:Boolean;// = true
public function ResizeableSprite(){
_width = super.width;
_height = super.height;
scaleX = (scaleY = 1);
focusRect = false;
tabEnabled = false;
}
public function get enabled():Boolean{
return (_enabled);
}
public function set enabled(_arg1:Boolean):void{
_enabled = (mouseEnabled = _arg1);
}
override public function get width():Number{
return (_width);
}
override public function get height():Number{
return (_height);
}
public function setSize(_arg1:Number, _arg2:Number):void{
_arg1 = Math.max(_arg1, 0);
_arg2 = Math.max(_arg2, 0);
_width = _arg1;
_height = _arg2;
size();
}
protected function size():void{
var _local1:Number = width;
var _local2:Number = height;
trace(this, "width:", _local1, "height:", _local2);
}
}
}//package com.metacafe.base
Section 96
//VideoPlayerModuleBase (com.metacafe.base.VideoPlayerModuleBase)
package com.metacafe.base {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.video.*;
public class VideoPlayerModuleBase extends EventDispatcher implements IVideoPlayerModule {
public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{
}
public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{
}
public function onScreenClick(_arg1:VideoPlayerEvent):void{
}
public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{
}
}
}//package com.metacafe.base
Section 97
//VideoPlayerSpriteModuleBase (com.metacafe.base.VideoPlayerSpriteModuleBase)
package com.metacafe.base {
import com.metacafe.video.events.*;
import com.metacafe.video.*;
public class VideoPlayerSpriteModuleBase extends ResizeableSprite implements IVideoPlayerModule {
private var _vp:IVideoPlayer;
public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{
}
public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{
}
public function onScreenClick(_arg1:VideoPlayerEvent):void{
}
public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{
}
public function set vp(_arg1:IVideoPlayer):void{
_vp = _arg1;
}
public function get vp():IVideoPlayer{
return (_vp);
}
}
}//package com.metacafe.base
Section 98
//CatalogHeaderEvent (com.metacafe.catalog.events.CatalogHeaderEvent)
package com.metacafe.catalog.events {
import flash.events.*;
public class CatalogHeaderEvent extends Event {
public static const SHARE_CLICK:String = "shareClick";
public static const REPLAY_CLICK:String = "replayClick";
public function CatalogHeaderEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new CatalogHeaderEvent(type, bubbles, cancelable));
}
override public function toString():String{
return (formatToString("CatalogHeaderEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.catalog.events
Section 99
//AdSpots (com.metacafe.config.AdSpots)
package com.metacafe.config {
public class AdSpots {
public static const PREROLL:String = "preroll";
public static const INROLL:String = "inroll";
public static const MIDROLL:String = "midroll";
public static const POSTROLL:String = "postroll";
}
}//package com.metacafe.config
Section 100
//AdTypes (com.metacafe.config.AdTypes)
package com.metacafe.config {
public class AdTypes {
public static const VIDEO:String = "video";
public static const OVERLAY:String = "overlay";
public static const BANNER:String = "banner";
public static const RICH_MEDIA:String = "richMedia";
}
}//package com.metacafe.config
Section 101
//AdVendors (com.metacafe.config.AdVendors)
package com.metacafe.config {
public class AdVendors {
public static const METACAFE:String = "Metacafe";
public static const METACAFE_RICH_MEDIA:String = "MetacafeRichMedia";
public static const ADAPTV:String = "Adaptv";
public static const ADAPTV_BF:String = "AdaptvBF";
public static const ADAPTV_PR:String = "AdaptvPR";
public static const SCANSCOUT:String = "ScanScout";
public static const GOOGLE_AFV:String = "GoogleAFV";
public static const VIDEO_EGG:String = "VideoEgg";
public static const PANACHE:String = "Panache";
public static const RECKITT:String = "Reckitt";
public static const AUDITUDE:String = "Auditude";
public static const VDOPIA:String = "Vdopia";
public static const VINDICO:String = "Vindico";
public static const THE_PLATFORM:String = "ThePlatform";
public static const VAST:String = "VAST";
public static const VAST2:String = "VAST2";
}
}//package com.metacafe.config
Section 102
//AffilliateLogo (com.metacafe.config.AffilliateLogo)
package com.metacafe.config {
import flash.geom.*;
public class AffilliateLogo {
public static const AFF_LOGOS:Object = {hl:{logo:new Rectangle(0, 0, 54, 18), offset:new Rectangle(0, 0, 75, 29), url:"http://www.hulu.com"}, yt:{logo:new Rectangle(0, 0, 80, 32), offset:new Rectangle(0, 0, 91, 42), url:"http://www.youtube.com/watch?v=[ITEM_ID]"}};
}
}//package com.metacafe.config
Section 103
//EmbedComponents (com.metacafe.config.EmbedComponents)
package com.metacafe.config {
public class EmbedComponents {
public static const EMBED_SHARE:String = "EmbedShare";
public static const EMBED_STATS:String = "EmbedStats";
public static const BILLBOARD_SHARE:String = "BillboardShare";
}
}//package com.metacafe.config
Section 104
//EmbedPendingActions (com.metacafe.config.EmbedPendingActions)
package com.metacafe.config {
public class EmbedPendingActions {
public static const SHOW_STATS:String = "showStats";
public static const SHARE:String = "share";
public static const INIT_ADS:String = "initAds";
}
}//package com.metacafe.config
Section 105
//EmbedPlayerButtonNames (com.metacafe.config.EmbedPlayerButtonNames)
package com.metacafe.config {
public class EmbedPlayerButtonNames {
public static const SHARE:String = "share";
public static const LOGO:String = "logo";
}
}//package com.metacafe.config
Section 106
//GA (com.metacafe.config.GA)
package com.metacafe.config {
public class GA {
public static const ACCOUNT_ID:String = "UA-6119600-12";
public static const EMBED_ACCOUNT_ID:String = "UA-6119600-14";
public static const EVENT_CATEGORY_TEMPLATE:String = "[PLAYER_TYPE] Player";
public static const VIEW_START_ACTION_TEMPLATE:String = "[PLAYER_TYPE]ViewStart";
public static const PLAYER_TYPE_TOKEN:String = "[PLAYER_TYPE]";
public static const EMBED_PLAY_ACTION:String = "EmbedPlay";
public static const EMBED_SCREEN_CLICK_ACTION:String = "EmbedPlayerScreenClick";
public static const EMBED_ITEM_SELECTOR_IMPRESSION_ACTION:String = "EmbedItemSelectorImpression";
}
}//package com.metacafe.config
Section 107
//MediaControlsNames (com.metacafe.config.MediaControlsNames)
package com.metacafe.config {
public class MediaControlsNames {
public static const PLAY:String = "playButton";
public static const PAUSE:String = "pauseButton";
public static const STOP:String = "stopButton";
public static const REPLAY:String = "replayButton";
public static const FULLSCREEN:String = "fullScreenButton";
public static const SEEK:String = "seekSlider";
public static const VOLUME:String = "volumeUnit";
public static const MEDIA_TYPE_FLV:String = "mediaTypeFlv";
public static const MEDIA_TYPE_HD:String = "mediaTypeHD";
public static const SCREEN:String = "screenButton";
public static const CONTROLS:String = "mediaControls";
public static const EXPAND:String = "expandButton";
public static const COLLAPSE:String = "collapseButton";
}
}//package com.metacafe.config
Section 108
//MediaControlsPlacementTypes (com.metacafe.config.MediaControlsPlacementTypes)
package com.metacafe.config {
public class MediaControlsPlacementTypes {
public static const EXTERNAL:String = "external";
public static const INTERNAL:String = "internal";
}
}//package com.metacafe.config
Section 109
//MediaControlsTransitionTypes (com.metacafe.config.MediaControlsTransitionTypes)
package com.metacafe.config {
public class MediaControlsTransitionTypes {
public static const FADE:String = "fade";
public static const SLIDE:String = "slide";
}
}//package com.metacafe.config
Section 110
//MediaFileTypes (com.metacafe.config.MediaFileTypes)
package com.metacafe.config {
public class MediaFileTypes {
public static const FLV:String = "flv";
public static const MP4:String = "MP4";
public static const HIGH_QAULITY_MP4:String = "highQaulityMP4";
public static const HIGH_DEFINITION_MP4:String = "highDefinitionMP4";
}
}//package com.metacafe.config
Section 111
//TubeMoguleIDs (com.metacafe.config.TubeMoguleIDs)
package com.metacafe.config {
public class TubeMoguleIDs {
public static function getPlayerTypeID(_arg1:String){
var _local2 = "";
switch (_arg1){
case VideoPlayerTypes.TYPE_PORTAL:
_local2 = "TR-3IP-UT6";
break;
case VideoPlayerTypes.TYPE_EMBED:
_local2 = "TR-6G7-AHU";
break;
case VideoPlayerTypes.TYPE_ADUNIT:
_local2 = "TR-SQZ-VCT";
break;
case VideoPlayerTypes.TYPE_BILLBOARD:
_local2 = "TR-4NF-18T";
break;
default:
_local2 = "TR-DI2-4I3";
break;
};
return (_local2);
}
}
}//package com.metacafe.config
Section 112
//VideoPlayerTypes (com.metacafe.config.VideoPlayerTypes)
package com.metacafe.config {
public class VideoPlayerTypes {
public static const TYPE_PORTAL:String = "Portal";
public static const TYPE_EMBED:String = "Embed";
public static const TYPE_ADUNIT:String = "AdUnit";
public static const TYPE_BILLBOARD:String = "Billboard";
public static const TYPE_MTV:String = "MTV";
}
}//package com.metacafe.config
Section 113
//VMAdFormats (com.metacafe.config.VMAdFormats)
package com.metacafe.config {
public class VMAdFormats {
public static const LINEAR_AD:String = "LA";
public static const LINEAR_PREROLL:String = "LPR";
public static const LINEAR_MIDROLL:String = "LPM";
public static const LINEAR_POSTROLL:String = "LPO";
public static const NON_LINEAR_OVL_STATIC:String = "NLOIS";
public static const NON_LINEAR_OVL_VIDEO:String = "NLOIV";
}
}//package com.metacafe.config
Section 114
//AdditionalReportsValues (com.metacafe.dataObjects.AdditionalReportsValues)
package com.metacafe.dataObjects {
public class AdditionalReportsValues {
private var _prevPageType:String;
public function get prevPageType():String{
return (_prevPageType);
}
public function set prevPageType(_arg1:String):void{
_prevPageType = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 115
//Advertisement (com.metacafe.dataObjects.Advertisement)
package com.metacafe.dataObjects {
public class Advertisement {
private var _adVendorID:String;
private var _adVendorModuleURL:String;
private var _adVendorData:Object;
private var _sponsorshipData:Object;
public function get adVendorID():String{
return (_adVendorID);
}
public function set adVendorID(_arg1:String):void{
_adVendorID = _arg1;
}
public function get adVendorModuleURL():String{
return (_adVendorModuleURL);
}
public function set adVendorModuleURL(_arg1:String):void{
_adVendorModuleURL = _arg1;
}
public function get adVendorData():Object{
return (_adVendorData);
}
public function set adVendorData(_arg1:Object):void{
_adVendorData = _arg1;
}
public function get sponsorshipData():Object{
return (_sponsorshipData);
}
public function set sponsorshipData(_arg1:Object):void{
_sponsorshipData = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 116
//DartConfig (com.metacafe.dataObjects.DartConfig)
package com.metacafe.dataObjects {
public class DartConfig {
private var _host:String;
private var _site:String;
private var _zones:Object;
private var _params:String;
public function get host():String{
return (_host);
}
public function set host(_arg1:String):void{
_host = _arg1;
}
public function get site():String{
return (_site);
}
public function set site(_arg1:String):void{
_site = _arg1;
}
public function get zones():Object{
return (_zones);
}
public function set zones(_arg1:Object):void{
_zones = _arg1;
}
public function get params():String{
return (_params);
}
public function set params(_arg1:String):void{
_params = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 117
//Env (com.metacafe.dataObjects.Env)
package com.metacafe.dataObjects {
public class Env {
private var _staticURL:String;
private var _serviceURL:String;
private var _altServerURL:String;
private var _pageURL:String;
private var _reportsBaseURL:String;
public function get staticURL():String{
return (_staticURL);
}
public function set staticURL(_arg1:String):void{
_staticURL = _arg1;
}
public function get altServerURL():String{
return (_altServerURL);
}
public function set altServerURL(_arg1:String):void{
_altServerURL = _arg1;
}
public function get pageURL():String{
return (_pageURL);
}
public function set pageURL(_arg1:String):void{
_pageURL = _arg1;
}
public function get serviceURL():String{
return (_serviceURL);
}
public function set serviceURL(_arg1:String):void{
_serviceURL = _arg1;
}
public function get reportsBaseURL():String{
return (_reportsBaseURL);
}
public function set reportsBaseURL(_arg1:String):void{
_reportsBaseURL = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 118
//Item (com.metacafe.dataObjects.Item)
package com.metacafe.dataObjects {
public class Item {
private var _itemID:String;
private var _origID:String;
private var _duration:Number;
private var _title:String;
private var _normalizedTitle:String;
private var _keywords:Array;
private var _categories:Array;
private var _description:String;
private var _views:uint;
private var _comments:uint;
private var _isSponsoredVideo:Boolean;
private var _mediaURL:String;
private var _mediaData:Object;
private var _accessControlKey:String;
private var _affiliateID:String;
private var _isWatermarked:Boolean;
private var _isIndexed:Boolean;
private var _indexedItemID:String;
private var _submitterID:String;
private var _numOfRanks:uint;
private var _rank:Number;
private var _reportID:String;
private var _producer:String;
private var _earnings:String;
public function get itemID():String{
return (_itemID);
}
public function set itemID(_arg1:String):void{
_itemID = _arg1;
}
public function get origID():String{
return (_origID);
}
public function set origID(_arg1:String):void{
_origID = _arg1;
}
public function get duration():Number{
return (_duration);
}
public function set duration(_arg1:Number):void{
_duration = _arg1;
}
public function get title():String{
return (_title);
}
public function set title(_arg1:String):void{
_title = _arg1;
}
public function get normalizedTitle():String{
return (_normalizedTitle);
}
public function set normalizedTitle(_arg1:String):void{
_normalizedTitle = _arg1;
}
public function get keywords():Array{
return (_keywords);
}
public function set keywords(_arg1:Array):void{
_keywords = _arg1;
}
public function get categories():Array{
return (_categories);
}
public function set categories(_arg1:Array):void{
_categories = _arg1;
}
public function get description():String{
return (_description);
}
public function set description(_arg1:String):void{
_description = _arg1;
}
public function get isSponsoredVideo():Boolean{
return (_isSponsoredVideo);
}
public function set isSponsoredVideo(_arg1:Boolean):void{
_isSponsoredVideo = _arg1;
}
public function get mediaURL():String{
var _local1:String = ((accessControlKey) || (""));
var _local2 = "";
if (_local1.length){
_local2 = ("?__gda__=" + _local1);
};
return ((_mediaURL + _local2));
}
public function set mediaURL(_arg1:String):void{
_mediaURL = _arg1;
trace("mediaURL set to", _arg1);
}
public function get accessControlKey():String{
return (_accessControlKey);
}
public function set accessControlKey(_arg1:String):void{
_accessControlKey = _arg1;
}
public function get mediaData():Object{
return (_mediaData);
}
public function set mediaData(_arg1:Object):void{
_mediaData = _arg1;
}
public function get affiliateID():String{
return (_affiliateID);
}
public function set affiliateID(_arg1:String):void{
_affiliateID = _arg1;
}
public function get isWatermarked():Boolean{
return (_isWatermarked);
}
public function set isWatermarked(_arg1:Boolean):void{
_isWatermarked = _arg1;
}
public function get isIndexed():Boolean{
return (_isIndexed);
}
public function set isIndexed(_arg1:Boolean):void{
_isIndexed = _arg1;
}
public function get submitterID():String{
return (_submitterID);
}
public function set submitterID(_arg1:String):void{
_submitterID = _arg1;
}
public function get numOfRanks():uint{
return (_numOfRanks);
}
public function set numOfRanks(_arg1:uint):void{
_numOfRanks = _arg1;
}
public function get rank():Number{
return (_rank);
}
public function set rank(_arg1:Number):void{
_rank = _arg1;
}
public function get reportID():String{
return (_reportID);
}
public function set reportID(_arg1:String):void{
_reportID = _arg1;
}
public function get producer():String{
return (_producer);
}
public function set producer(_arg1:String):void{
_producer = _arg1;
}
public function get earnings():String{
return (_earnings);
}
public function set earnings(_arg1:String):void{
_earnings = _arg1;
}
public function get indexedItemID():String{
return (_indexedItemID);
}
public function set indexedItemID(_arg1:String):void{
_indexedItemID = _arg1;
}
public function get views():uint{
return (_views);
}
public function set views(_arg1:uint):void{
_views = _arg1;
}
public function get comments():uint{
return (_comments);
}
public function set comments(_arg1:uint):void{
_comments = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 119
//mediaDTO (com.metacafe.dataObjects.mediaDTO)
package com.metacafe.dataObjects {
public class mediaDTO {
private var _mediaURL:String;
private var _jpn:Boolean;
private var _bitRate:int;
private var _buffer:int;
private var _key:String;
public function get mediaURL():String{
return (_mediaURL);
}
public function set mediaURL(_arg1:String):void{
_mediaURL = _arg1;
}
public function get jpn():Boolean{
return (_jpn);
}
public function set jpn(_arg1:Boolean):void{
_jpn = _arg1;
}
public function get bitRate():int{
return (_bitRate);
}
public function set bitRate(_arg1:int):void{
_bitRate = _arg1;
}
public function get buffer():int{
return (_buffer);
}
public function set buffer(_arg1:int):void{
_buffer = _arg1;
}
public function get key():String{
return (_key);
}
public function set key(_arg1:String):void{
_key = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 120
//PlayerConfiguration (com.metacafe.dataObjects.PlayerConfiguration)
package com.metacafe.dataObjects {
import flash.geom.*;
public class PlayerConfiguration {
private var _playerType:String;
private var _playerVars:Object;
private var _postRollContentURL:String;
private var _errorCatalogURL:String;
private var _campaignID:String;
private var _componentURLs:Object;
private var _beacons:Array;
private var _isSite:Boolean;
private var _reviewMode:String;
private var _errorCode:uint;
private var _errorTitle:String;
private var _errorDescription:String;
private var _errorDisplayFileURL:String;
private var _subType:String;
private var _inHousePreroll:String;
private var _embeddingURL:String;
private var _clickURL:String;
private var _clickTarget:String;
private var _isNetworkAllowed:Boolean;
private var _size:Rectangle;
private var _comscoreURL:String;
private var _reportToWinter:Boolean;
private var _isJPN:Boolean;
private var _reportVM:Boolean;
private var _reportTM:Boolean;
private var _mediaType:String;
private var _tmDebugOn:Boolean;
private var _ytConfig:YTConfiguration;
private var _uniqueInstanceID:String;
private var _forceMute:Boolean;
private var _additionalReportsValues:AdditionalReportsValues;
private var _chromelessURL:String;
private var _isFullScreenAllowed:Boolean;
private var _context:String;
public function get playerVars():Object{
return (_playerVars);
}
public function set playerVars(_arg1:Object):void{
_playerVars = _arg1;
}
public function get playerType():String{
return (_playerType);
}
public function set playerType(_arg1:String):void{
_playerType = _arg1;
}
public function get postRollContentURL():String{
return (_postRollContentURL);
}
public function set postRollContentURL(_arg1:String):void{
_postRollContentURL = _arg1;
}
public function get errorCatalogURL():String{
return (_errorCatalogURL);
}
public function set errorCatalogURL(_arg1:String):void{
_errorCatalogURL = _arg1;
}
public function get campaignID():String{
return (_campaignID);
}
public function set campaignID(_arg1:String):void{
_campaignID = _arg1;
}
public function get componentURLs():Object{
return (_componentURLs);
}
public function set componentURLs(_arg1:Object):void{
_componentURLs = _arg1;
}
public function get beacons():Array{
return (_beacons);
}
public function set beacons(_arg1:Array):void{
_beacons = _arg1;
}
public function get isSite():Boolean{
return (_isSite);
}
public function set isSite(_arg1:Boolean):void{
_isSite = _arg1;
}
public function get reviewMode():String{
return (_reviewMode);
}
public function set reviewMode(_arg1:String):void{
_reviewMode = _arg1;
}
public function get errorCode():uint{
return (_errorCode);
}
public function set errorCode(_arg1:uint):void{
_errorCode = _arg1;
}
public function get errorTitle():String{
return (_errorTitle);
}
public function set errorTitle(_arg1:String):void{
_errorTitle = _arg1;
}
public function get errorDescription():String{
return (_errorDescription);
}
public function set errorDescription(_arg1:String):void{
_errorDescription = _arg1;
}
public function get subType():String{
return (_subType);
}
public function set subType(_arg1:String):void{
_subType = _arg1;
}
public function get errorDisplayFileURL():String{
return (_errorDisplayFileURL);
}
public function set errorDisplayFileURL(_arg1:String):void{
_errorDisplayFileURL = _arg1;
}
public function get inHousePreroll():String{
return (_inHousePreroll);
}
public function set inHousePreroll(_arg1:String):void{
_inHousePreroll = _arg1;
}
public function get embeddingURL():String{
return (_embeddingURL);
}
public function set embeddingURL(_arg1:String):void{
_embeddingURL = _arg1;
}
public function get tmDebugOn():Boolean{
return (_tmDebugOn);
}
public function set tmDebugOn(_arg1:Boolean):void{
_tmDebugOn = _arg1;
}
public function get embeddingDomain():String{
return (_embeddingURL.split("/")[2]);
}
public function get isNetworkAllowed():Boolean{
return (_isNetworkAllowed);
}
public function set isNetworkAllowed(_arg1:Boolean):void{
_isNetworkAllowed = _arg1;
}
public function get clickURL():String{
return (_clickURL);
}
public function set clickURL(_arg1:String):void{
_clickURL = _arg1;
}
public function get clickTarget():String{
return (_clickTarget);
}
public function set clickTarget(_arg1:String):void{
_clickTarget = _arg1;
}
public function get size():Rectangle{
return (_size);
}
public function set size(_arg1:Rectangle):void{
_size = _arg1;
}
public function get comscoreURL():String{
return (_comscoreURL);
}
public function set comscoreURL(_arg1:String):void{
_comscoreURL = _arg1;
}
public function get reportToWinter():Boolean{
return (_reportToWinter);
}
public function set reportToWinter(_arg1:Boolean):void{
_reportToWinter = _arg1;
}
public function get isJPN():Boolean{
return (_isJPN);
}
public function set isJPN(_arg1:Boolean):void{
_isJPN = _arg1;
}
public function get reportVM():Boolean{
return (_reportVM);
}
public function set reportVM(_arg1:Boolean):void{
_reportVM = _arg1;
}
public function get reportTM():Boolean{
return (_reportTM);
}
public function set reportTM(_arg1:Boolean):void{
_reportTM = _arg1;
}
public function get mediaType():String{
return (_mediaType);
}
public function set mediaType(_arg1:String):void{
_mediaType = _arg1;
}
public function get ytConfig():YTConfiguration{
return (_ytConfig);
}
public function set ytConfig(_arg1:YTConfiguration):void{
_ytConfig = _arg1;
}
public function get uniqueInstanceID():String{
return (_uniqueInstanceID);
}
public function set uniqueInstanceID(_arg1:String):void{
_uniqueInstanceID = _arg1;
}
public function get forceMute():Boolean{
return (_forceMute);
}
public function set forceMute(_arg1:Boolean):void{
_forceMute = _arg1;
}
public function get additionalReportsValues():AdditionalReportsValues{
return (_additionalReportsValues);
}
public function set additionalReportsValues(_arg1:AdditionalReportsValues):void{
_additionalReportsValues = _arg1;
}
public function get chromelessURL():String{
return (_chromelessURL);
}
public function set chromelessURL(_arg1:String):void{
_chromelessURL = _arg1;
}
public function get isFullScreenAllowed():Boolean{
return (_isFullScreenAllowed);
}
public function set isFullScreenAllowed(_arg1:Boolean):void{
_isFullScreenAllowed = _arg1;
}
public function get context():String{
return (_context);
}
public function set context(_arg1:String):void{
_context = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 121
//User (com.metacafe.dataObjects.User)
package com.metacafe.dataObjects {
public class User {
private var _userID:String;
private var _nickName:String;
private var _visitID:String;
private var _sessionID:String;
private var _UUID:String;
private var _clientIP:String;
private var _externalUserId:String;
private var _LEID:String;
private var _audienceCode:String;
private var _countryCode:String;
private var _userItemRank:Number;
private var _age:Number;
private var _gender:String;
private var _userPageID:String;
public function get userID():String{
return (_userID);
}
public function set userID(_arg1:String):void{
_userID = _arg1;
}
public function get nickName():String{
return (_nickName);
}
public function set nickName(_arg1:String):void{
_nickName = _arg1;
}
public function get visitID():String{
return (_visitID);
}
public function set visitID(_arg1:String):void{
_visitID = _arg1;
}
public function get sessionID():String{
return (_sessionID);
}
public function set sessionID(_arg1:String):void{
_sessionID = _arg1;
}
public function get UUID():String{
return (_UUID);
}
public function set UUID(_arg1:String):void{
_UUID = _arg1;
}
public function get clientIP():String{
return (_clientIP);
}
public function set clientIP(_arg1:String):void{
_clientIP = _arg1;
}
public function get externalUserId():String{
return (_externalUserId);
}
public function set externalUserId(_arg1:String):void{
_externalUserId = _arg1;
}
public function get LEID():String{
return (_LEID);
}
public function set LEID(_arg1:String):void{
_LEID = _arg1;
}
public function get audienceCode():String{
return (_audienceCode);
}
public function set audienceCode(_arg1:String):void{
_audienceCode = _arg1;
}
public function get countryCode():String{
return (_countryCode);
}
public function set countryCode(_arg1:String):void{
_countryCode = _arg1;
}
public function get userItemRank():Number{
return (_userItemRank);
}
public function set userItemRank(_arg1:Number):void{
_userItemRank = _arg1;
}
public function get age():Number{
return (_age);
}
public function set age(_arg1:Number):void{
_age = _arg1;
}
public function get gender():String{
return (_gender);
}
public function set gender(_arg1:String):void{
_gender = _arg1;
}
public function get userPageID():String{
return (_userPageID);
}
public function set userPageID(_arg1:String):void{
_userPageID = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 122
//VideoSegment (com.metacafe.dataObjects.VideoSegment)
package com.metacafe.dataObjects {
public class VideoSegment {
private var _startTime:Number;
private var _duration:Number;
public function VideoSegment(_arg1:Number=0, _arg2:Number=0){
_startTime = _arg1;
_duration = _arg2;
}
public function get startTime():Number{
return (_startTime);
}
public function set startTime(_arg1:Number):void{
_startTime = _arg1;
}
public function get duration():Number{
return (_duration);
}
public function set duration(_arg1:Number):void{
_duration = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 123
//YTConfiguration (com.metacafe.dataObjects.YTConfiguration)
package com.metacafe.dataObjects {
public class YTConfiguration {
private var _wrapperFileURL:String;
private var _useRefetching:Boolean;
private var _clLoadTimeouts:Array;
private var _defaultYTQuality:String;
public function get wrapperFileURL():String{
return (_wrapperFileURL);
}
public function set wrapperFileURL(_arg1:String):void{
_wrapperFileURL = _arg1;
}
public function get useRefetching():Boolean{
return (_useRefetching);
}
public function set useRefetching(_arg1:Boolean):void{
_useRefetching = _arg1;
}
public function get clLoadTimeouts():Array{
return (_clLoadTimeouts);
}
public function set clLoadTimeouts(_arg1:Array):void{
_clLoadTimeouts = _arg1;
}
public function get defaultYTQuality():String{
return (_defaultYTQuality);
}
public function set defaultYTQuality(_arg1:String):void{
_defaultYTQuality = _arg1;
}
}
}//package com.metacafe.dataObjects
Section 124
//CommonEmbedVideoPlayer (com.metacafe.embed.CommonEmbedVideoPlayer)
package com.metacafe.embed {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import flash.geom.*;
import com.metacafe.video.*;
import flash.net.*;
import flash.display.*;
import com.adobe.serialization.json.*;
import com.metacafe.base.*;
import com.metacafe.config.*;
public class CommonEmbedVideoPlayer extends CommonVideoPlayer {
protected var splash:Splash;
protected var isExtendedDataLoaded:Boolean;// = false
protected var pendingActions:Array;
protected var _extendedData:Object;
protected static const THUMB_URL_TEMPLATE:String = "[STATIC_URL]/thumb/[PLAYER_TYPE]/[ITEM_ID].jpg";
protected static const DEFAULT_SERVICE_URL:String = "http://www.metacafe.com";
public function get extendedData():Object{
return (_extendedData);
}
public function set extendedData(_arg1:Object):void{
_extendedData = _arg1;
}
override public function init():void{
super.init();
trace(this, "init");
pendingActions = [];
initDataPendingActions();
var _local1:Registery = registery;
var _local2:PlayerConfiguration = _local1.playerConfig;
var _local3:Object = _local2.playerVars;
var _local4:Boolean = (_local3) ? _local3.autoPlay : false;
trace("autoPlay:", _local4);
if (_local4){
startPlayback();
} else {
initSplash();
};
}
protected function initSplash():void{
var _local1:Splash = (splash = new Splash());
addChild(_local1);
swapChildren(_local1, mediaControls);
_local1.addEventListener(MouseEvent.CLICK, onPlayVideoClick);
loadThumb();
}
protected function loadThumb():void{
var _local1:Registery = registery;
var _local2:Splash = splash;
var _local3:Item = _local1.itemData;
var _local4:String = _local3.itemID;
var _local5:String = _local3.affiliateID;
var _local6:String = (_local5) ? ((_local5 + "-") + _local4) : _local4;
var _local7:String = _local1.playerConfig.playerType.toLowerCase();
var _local8:String = THUMB_URL_TEMPLATE.replace("[STATIC_URL]", _local1.envData.staticURL);
_local8 = _local8.replace("[PLAYER_TYPE]", _local7);
_local8 = _local8.replace("[ITEM_ID]", _local6);
_local2.loadThumb(_local8);
}
protected function initDataPendingActions():void{
addPendingActions();
if (pendingActions.length){
loadExtendedData();
};
}
protected function addPendingActions():void{
}
protected function loadExtendedData():void{
if (isExtendedDataLoaded){
return;
};
var _local1:Registery = registery;
var _local2:String = _local1.envData.serviceURL;
var _local3:Item = _local1.itemData;
var _local4:String = _local3.affiliateID;
var _local5:String = (_local4) ? ((_local4 + "-") + _local3.itemID) : _local3.itemID;
var _local6:Object = {comscoreURL:{}, componentURLs:{}, itemIDs:[_local5]};
var _local7:URLVariables = new URLVariables("pageToLoad=controllerResponse&controllerGroup=FlashComponents&inputType=api");
_local7.json = JSON.encode(_local6);
_local7.playerType = _local1.playerConfig.playerType;
_local7.eDomain = _local1.playerConfig.embeddingDomain;
var _local8:URLRequest = new URLRequest((_local2 + "/index.php"));
_local8.data = _local7;
var _local9:URLLoader = new URLLoader();
_local9.addEventListener(Event.COMPLETE, onExtenededDataLoaded);
_local9.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
_local9.load(_local8);
}
protected function onExtenededDataLoaded(_arg1:Event):void{
var response:Object;
var e = _arg1;
var ldr:URLLoader = (e.target as URLLoader);
trace(ldr.data);
try {
response = JSON.decode(ldr.data).responseParams;
} catch(err:JSONParseError) {
trace(err, "\n", err.location, err.text);
};
extendedData = response;
harvestExtendedData();
doPendingActions();
}
protected function harvestExtendedData():void{
var _local1:Registery = registery;
var _local2:Item = _local1.itemData;
var _local3:String = _local2.affiliateID;
var _local4:String = (_local3) ? ((_local3 + "-") + _local2.itemID) : _local2.itemID;
var _local5:PlayerConfiguration = _local1.playerConfig;
var _local6:Object = extendedData.items[_local4];
_local2.title = _local6.title;
_local2.description = _local6.description;
_local2.categories = _local6.categories;
_local2.keywords = _local6.keywords;
_local2.views = uint(_local6.views);
_local2.rank = Number(_local6.rank);
_local2.comments = uint(_local6.comments);
if (_local6.isPR){
_local2.earnings = _local6.totalEarnings;
};
_local5.componentURLs = extendedData.componentURLs;
_local5.comscoreURL = extendedData.comscoreURL;
}
protected function doPendingActions():void{
}
protected function onIOError(_arg1:IOErrorEvent):void{
trace(_arg1);
}
protected function onPlayVideoClick(_arg1:MouseEvent):void{
hideSplash();
startPlayback();
}
protected function hideSplash():void{
if (splash){
splash.visible = false;
};
}
override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
super.onVideoStateChanged(_arg1);
var _local2:Splash = splash;
if (_local2){
_local2.visible = (((_arg1.info.state == StreamStates.STATE_WAITING)) && (isFirstPlayback));
};
}
override public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{
super.onMediaControlsButtonClick(_arg1);
var _local2:String = _arg1.info.name;
switch (_local2){
case MediaControlsNames.PLAY:
hideSplash();
break;
};
}
override protected function initEnvData():void{
super.initEnvData();
var _local1:Registery = registery;
_local1.envData.serviceURL = ((_local1.envData.serviceURL) || (DEFAULT_SERVICE_URL));
}
override protected function initCofigurationData():void{
var _local5:Array;
var _local6:uint;
var _local7:Object;
var _local8:int;
var _local9:Array;
super.initCofigurationData();
var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var _local2:Function = Data.assignDefault;
var _local3:PlayerConfiguration = registery.playerConfig;
var _local4:String = _local2(_local1, "playerVars", "false");
if (((_local4) && (!((_local4 == "false"))))){
_local5 = _local4.split("|");
_local6 = _local5.length;
_local7 = {};
_local8 = 0;
while (_local8 < _local6) {
_local9 = _local5[_local8].split("=");
_local7[_local9[0]] = ((_local9[1] == "yes")) ? true : ((_local9[1] == "no")) ? false : unescape(_local9[1]);
_local8++;
};
_local7.showTitle = !((_local4.indexOf("|videoTitle=") == -1));
_local3.playerVars = _local7;
};
_local3.embeddingURL = _local2(_local1, "embeddingURL", "");
}
override protected function playMainItem():void{
super.playMainItem();
setThirdPartyReportCurrentStream(true);
isMainItem = true;
}
override protected function size():void{
super.size();
var _local1:Number = width;
var _local2:Number = height;
var _local3:Rectangle = videoPlayer.screenRect;
var _local4 = (stage.displayState == StageDisplayState.FULL_SCREEN);
var _local5 = (videoPlayer.mediaControlsPlacement == MediaControlsPlacementTypes.INTERNAL);
var _local6:Number = (_local4) ? _local1 : _local3.width;
var _local7:Number = (((_local4) || (_local5))) ? _local2 : _local3.height;
var _local8:Splash = splash;
if (_local8){
_local8.x = _local3.x;
_local8.y = _local3.y;
_local8.setSize(_local6, _local7);
};
}
}
}//package com.metacafe.embed
Section 125
//EmbedStatsLoader (com.metacafe.embed.EmbedStatsLoader)
package com.metacafe.embed {
import com.metacafe.video.events.*;
import gs.*;
import com.metacafe.utils.*;
import com.metacafe.video.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.base.*;
import com.metacafe.config.*;
import gs.easing.*;
import flash.system.*;
public class EmbedStatsLoader extends VideoPlayerSpriteModuleBase {
private var loader:Loader;
private var isShowing:Boolean;
public function EmbedStatsLoader(){
init();
}
private function init():void{
var _local1:Loader = (loader = new Loader());
addChild(_local1);
}
public function load():void{
var _local1:String = Registery.getInstance().playerConfig.componentURLs[EmbedComponents.EMBED_STATS];
var _local2:URLRequest = new URLRequest(_local1);
var _local3:LoaderContext = new LoaderContext();
_local3.applicationDomain = loaderInfo.applicationDomain;
var _local4:Loader = loader;
_local4.load(_local2, _local3);
isShowing = true;
}
override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
var _local2:String = _arg1.info.state;
trace(this, _local2);
switch (_local2){
case StreamStates.STATE_STOPPED:
case StreamStates.STATE_ENDED:
case StreamStates.STATE_FILE_NOT_FOUND:
visible = false;
break;
case StreamStates.STATE_PLAYING:
case StreamStates.STATE_BUFFERING:
visible = true;
hide();
break;
default:
visible = true;
};
}
public function show():void{
if (isShowing){
return;
};
isShowing = true;
trace(this, ".show()");
TweenLite.to(loader, 0.5, {y:0, ease:Sine.easeIn});
}
public function hide():void{
isShowing = false;
trace(this, ".hide()");
TweenLite.to(loader, 0.5, {y:-(loader.height)});
}
override protected function size():void{
var content:*;
var w:Number = width;
var h:Number = height;
try {
content = loader.contentLoaderInfo.content;
content.setSize(w, h);
} catch(err:Error) {
trace(err);
};
}
}
}//package com.metacafe.embed
Section 126
//EmbedVideoPlayerBase (com.metacafe.embed.EmbedVideoPlayerBase)
package com.metacafe.embed {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import flash.geom.*;
import com.metacafe.video.*;
import flash.net.*;
import flash.display.*;
import com.google.analytics.*;
import com.metacafe.base.*;
import com.metacafe.gui.*;
import com.metacafe.catalog.events.*;
import com.metacafe.portal.events.*;
import com.metacafe.config.*;
import com.metacafe.social.*;
import com.zorked.*;
import flash.utils.*;
import flash.external.*;
public class EmbedVideoPlayerBase extends CommonEmbedVideoPlayer {
protected var componentLoader:ComponentLoaderBase;
protected var statsLoader:EmbedStatsLoader;
override protected function addPendingActions():void{
super.addPendingActions();
var _local1:Array = pendingActions;
var _local2:Registery = registery;
var _local3:PlayerConfiguration = _local2.playerConfig;
var _local4:Object = _local3.playerVars;
if (_local4){
if (((_local4.showStats) || (_local4.showTitle))){
_local1.push(EmbedPendingActions.SHOW_STATS);
};
};
}
override protected function doPendingActions():void{
super.doPendingActions();
var _local1:Array = pendingActions;
var _local2:int = _local1.indexOf(EmbedPendingActions.SHOW_STATS);
if (_local2 != -1){
_local1.splice(_local2, 1);
initStatsDisplay();
};
_local2 = _local1.indexOf(EmbedPendingActions.SHARE);
if (_local2 != -1){
_local1.splice(_local2, 1);
loadShareModule();
};
}
override protected function initMediaControls():void{
var _local1:VideoPlayer = videoPlayer;
var _local2:MediaControlsEmbed = new MediaControlsEmbed();
mediaControls = (_local2 as MediaControlsBase);
_local2.name = MediaControlsNames.CONTROLS;
addChild(_local2);
_local1.setMediaControls(_local2);
_local2.showFullScreenButton = registery.playerConfig.isFullScreenAllowed;
}
protected function initStatsDisplay():void{
var _local1:EmbedStatsLoader = (statsLoader = new EmbedStatsLoader());
addChild(_local1);
videoPlayer.registerModule(_local1);
_local1.load();
}
private function initShareModule():void{
var _local1:Array = pendingActions;
_local1.push(EmbedPendingActions.SHARE);
if (isExtendedDataLoaded){
doPendingActions();
} else {
loadExtendedData();
};
}
private function loadShareModule():void{
if (!componentLoader){
initComponentLoader();
};
var _local1:ComponentLoaderBase = componentLoader;
_local1.socialTabID = SocialContentIDs.EMAIL_TAB;
_local1.loadComponent(EmbedComponents.EMBED_SHARE);
}
override public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{
var pageURL:String;
var evt = _arg1;
super.onMediaControlsButtonClick(evt);
var buttonName:String = evt.info.name;
trace(buttonName);
switch (buttonName){
case EmbedPlayerButtonNames.SHARE:
initShareModule();
break;
case EmbedPlayerButtonNames.LOGO:
pageURL = "http://www.metacafe.com/";
try {
URLNavigator.ChangePage(pageURL, "_blank");
} catch(err:Error) {
navigateToURL(new URLRequest(pageURL), "_blank");
};
break;
};
}
override protected function onPostRollContentInit(_arg1:Event):void{
var cat:*;
var evt = _arg1;
super.onPostRollContentInit(evt);
var prLdr:Loader = postRollLoader;
var info:LoaderInfo = prLdr.contentLoaderInfo;
var content:* = info.content;
content.init();
content.addEventListener(CatalogHeaderEvent.SHARE_CLICK, onCatalogShareClick);
content.addEventListener(CatalogHeaderEvent.REPLAY_CLICK, onCatalogReplayClick);
try {
cat = evt.target.content;
cat.thumbsEnabled = false;
} catch(err:Error) {
};
}
protected function onCatalogReplayClick(_arg1:CatalogHeaderEvent):void{
var _local2:VideoPlayer = videoPlayer;
_local2.seekEnabled = (_local2.volumeEnabled = (_local2.fullScreenEnabled = true));
playMainItem();
}
protected function onCatalogShareClick(_arg1:CatalogHeaderEvent):void{
initShareModule();
}
protected function initComponentLoader():void{
var _local1:ComponentLoaderBase = (componentLoader = new ComponentLoaderBase());
_local1.componentURLs = registery.playerConfig.componentURLs;
addChildAt(_local1, uint(numChildren));
var _local2:Rectangle = videoPlayer.screenRect;
_local1.setSize(_local2.width, _local2.height);
_local1.visible = false;
_local1.addEventListener(ComponentLoaderEvent.SHOW, onComponentShow);
_local1.addEventListener(ComponentLoaderEvent.HIDE, onComponentHide);
}
protected function onComponentShow(_arg1:ComponentLoaderEvent):void{
var cat:*;
var evt = _arg1;
var vp:VideoPlayer = videoPlayer;
if ((((vp.state == StreamStates.STATE_PLAYING)) || ((vp.state == StreamStates.STATE_BUFFERING)))){
vp.pause();
};
var prLdr:Loader = postRollLoader;
try {
cat = prLdr.contentLoaderInfo.content;
cat.thumbsEnabled = false;
} catch(err:Error) {
};
}
protected function onComponentHide(_arg1:ComponentLoaderEvent):void{
var cat:*;
var evt = _arg1;
var vp:VideoPlayer = videoPlayer;
if (vp.state == StreamStates.STATE_PAUSED){
vp.play();
};
var prLdr:Loader = postRollLoader;
try {
cat = prLdr.contentLoaderInfo.content;
cat.thumbsEnabled = prLdr.visible;
} catch(err:Error) {
};
}
override public function onScreenClick(_arg1:VideoPlayerEvent):void{
var pageURL:String;
var ga:AnalyticsTracker;
var gaDict:Dictionary;
var gaReports:*;
var obj:Object;
var evt = _arg1;
var env:Env = registery.envData;
pageURL = env.pageURL;
trace("onScreenClick!", pageURL);
if (((pageURL) && (!((videoPlayer.state == StreamStates.STATE_PAUSED))))){
try {
URLNavigator.ChangePage(pageURL, "_blank");
} catch(err:Error) {
navigateToURL(new URLRequest(pageURL), "_blank");
};
ga = gaTracker;
gaDict = allGAReports;
gaReports = gaDict["reports"];
obj = gaReports[GA.EMBED_SCREEN_CLICK_ACTION];
if (obj){
ga.trackEvent(gaDict["category"], obj.action);
};
};
super.onScreenClick(evt);
}
override protected function initCofigurationData():void{
var vars:Object;
var cfg:PlayerConfiguration;
var eDomain:String;
var ret:*;
super.initCofigurationData();
vars = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var def:Function = Data.assignDefault;
cfg = registery.playerConfig;
cfg.playerType = VideoPlayerTypes.TYPE_EMBED;
cfg.isSite = (def(vars, "isSite", "true") == "true");
cfg.subType = def(vars, "subType", "");
cfg.isNetworkAllowed = (def(vars, "networkingAllowed", "true") == "true");
cfg.isFullScreenAllowed = !((def(vars, "fullScreenAllowed", "true") == "false"));
try {
eDomain = cfg.embeddingDomain;
if (eDomain.toLowerCase().match("facebook")){
if (cfg.playerVars){
cfg.playerVars.autoPlay = true;
} else {
cfg.playerVars = {autoPlay:true};
};
};
} catch(err:Error) {
};
try {
ret = ExternalInterface.call("function() {return navigator.userAgent;}");
if (((!(ret)) || (!(ExternalInterface.available)))){
cfg.postRollContentURL = def(vars, "jsDisabledPRCURL", cfg.postRollContentURL);
};
} catch(err:Error) {
cfg.postRollContentURL = def(vars, "jsDisabledPRCURL", cfg.postRollContentURL);
};
}
override protected function onMouseInactive(_arg1:TimerEvent):void{
super.onMouseInactive(_arg1);
var _local2:EmbedStatsLoader = statsLoader;
if (_local2){
_local2.hide();
};
}
override protected function onMouseReActive():void{
super.onMouseReActive();
var _local1:EmbedStatsLoader = statsLoader;
if (_local1){
_local1.show();
};
}
override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
var _local3:ComponentLoaderBase;
super.onVideoStateChanged(_arg1);
var _local2:String = _arg1.info.state;
switch (_local2){
case StreamStates.STATE_PLAYING:
_local3 = componentLoader;
if (_local3){
if (_local3.visible){
_local3.hide();
};
};
break;
};
}
override protected function size():void{
super.size();
var _local1:Number = width;
var _local2:Number = height;
if (statsLoader){
statsLoader.setSize(_local1, _local2);
};
if (componentLoader){
componentLoader.setSize(_local1, _local2);
};
}
}
}//package com.metacafe.embed
Section 127
//Initializer (com.metacafe.embed.Initializer)
package com.metacafe.embed {
import flash.events.*;
import flash.display.*;
public class Initializer extends Sprite {
private var player:Player;
public function Initializer(){
init();
}
private function onLogEmbedIOError(_arg1:IOErrorEvent):void{
trace("onLogEmbedIOError", _arg1);
}
private function init():void{
stage.addEventListener(Event.RESIZE, onStageResize);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var _local1:Player = (player = new Player());
addChild(_local1);
_local1.init();
_local1.setSize(stage.stageWidth, stage.stageHeight);
}
private function onStageResize(_arg1:Event):void{
var plr:Player;
var evt = _arg1;
var stg:Stage = (evt.target as Stage);
try {
plr = player;
plr.setSize(stg.stageWidth, stg.stageHeight);
} catch(e:Error) {
trace(e);
};
}
}
}//package com.metacafe.embed
Section 128
//Player (com.metacafe.embed.Player)
package com.metacafe.embed {
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import com.metacafe.video.*;
import com.adobe.serialization.json.*;
import com.metacafe.base.*;
import com.metacafe.gui.*;
import com.metacafe.portal.events.*;
import com.metacafe.config.*;
import com.metacafe.*;
import com.metacafe.portal.*;
import flash.utils.*;
public class Player extends EmbedVideoPlayerBase {
protected var adModuleLoader:AdModuleLoader;
protected var watermark:MCWatermark;
protected var isOpenxBeaconsReported:Boolean;
override protected function initFlashvarsStub():void{
flashvarsStub = new FVStubMCEmbed();
}
override protected function initMediaControls():void{
super.initMediaControls();
var _local1:MediaControlsBase = mediaControls;
if (registery.itemData.mediaData){
if (registery.itemData.mediaData[MediaFileTypes.HIGH_DEFINITION_MP4]){
_local1.showMediaTypeButton = true;
};
};
}
override protected function onMainItem2SecondCuePoint(_arg1:TimerEvent):void{
var _local2:MediaControlsBase;
super.onMainItem2SecondCuePoint(_arg1);
if (((!((currentMediaType == MediaFileTypes.HIGH_DEFINITION_MP4))) && (registery.itemData.mediaData.hasOwnProperty(MediaFileTypes.HIGH_DEFINITION_MP4)))){
_local2 = mediaControls;
_local2.showHDTooltip(true);
setTimeout(_local2.showHDTooltip, 3000, false);
};
}
override protected function startPlayback():void{
if (registery.adData){
if (registery.adData.adVendorModuleURL){
initAds();
} else {
super.startPlayback();
};
} else {
super.startPlayback();
};
}
override protected function playMainItem():void{
var _local3:Stream;
var _local5:String;
super.playMainItem();
if (adModuleLoader){
adModuleLoader.visible = true;
};
var _local1:String = currentMediaType;
var _local2:VideoPlayer = videoPlayer;
_local2.killStream();
var _local4:Item = registery.itemData;
var _local6:mediaDTO = (_local4.mediaData[_local1] as mediaDTO);
_local3 = new Stream(_local6.jpn, _local6.key, _local6.buffer, _local6.bitRate);
_local5 = _local6.mediaURL;
_local4.mediaURL = _local5;
_local4.accessControlKey = _local6.key;
var _local7:Registery = registery;
var _local8:PlayerConfiguration = _local7.playerConfig;
if (_local8.reportVM){
vmReporter.currentPlaybackType = PlaybackTypes.TYPE_ITEM;
vmReporter.itemMediaURL = _local5;
} else {
if (vmReporter){
vmReporter.reportCurrentStream = false;
};
};
_local2.setStream(_local3);
_local3.play(_local5);
if (!isOpenxBeaconsReported){
dispatchOpenxBeacons();
};
}
override protected function addPendingActions():void{
var _local1:Array;
super.addPendingActions();
if (!((root.loaderInfo.parameters.allowAds) && ((root.loaderInfo.parameters.allowAds == "false")))){
_local1 = pendingActions;
_local1.push(EmbedPendingActions.INIT_ADS);
};
}
override protected function doPendingActions():void{
super.doPendingActions();
var _local1:Array = pendingActions;
var _local2:int = _local1.indexOf(EmbedPendingActions.INIT_ADS);
if (_local2 != -1){
_local1.splice(_local2, 1);
};
}
override protected function harvestExtendedData():void{
super.harvestExtendedData();
var def:Function = Data.assignDefault;
var reg:Registery = registery;
var item:Item = reg.itemData;
var cfg:PlayerConfiguration = reg.playerConfig;
var affID:String = item.affiliateID;
var itemID:String = (affID) ? ((affID + "-") + item.itemID) : item.itemID;
var serverItem:Object = extendedData.items[itemID];
var resItem:* = (_isOnline) ? serverItem : flashvarsStub;
var adv:Advertisement = new Advertisement();
adv.adVendorID = def(resItem, "adVendorID", "");
adv.adVendorModuleURL = def(resItem, "adVendorModuleURL", "");
try {
adv.adVendorData = JSON.decode(def(resItem, "adVendorData", "{}"));
} catch(err:JSONParseError) {
trace(err);
};
registery.adData = adv;
cfg.beacons = (def(serverItem, "beacons", [])) ? def(serverItem, "beacons", []) : [];
}
protected function dispatchOpenxBeacons():void{
var _local1:PlayerConfiguration = registery.playerConfig;
var _local2:OpenAdsBeaconDispatcher = new OpenAdsBeaconDispatcher();
_local2.beaconURLs = _local1.beacons;
isOpenxBeaconsReported = true;
}
private function initAds(){
var _local1:Advertisement = registery.adData;
var _local2:String = _local1.adVendorModuleURL;
var _local3:int = mediaControlsDepth;
var _local4:AdModuleLoader = (adModuleLoader = new AdModuleLoader(_local2));
addChildAt(_local4, _local3);
_local4.addEventListener(Event.INIT, onAdModuleReady);
_local4.addEventListener(IOErrorEvent.IO_ERROR, onAdModuleLoadFail);
_local4.load();
trace(this, "initializing ad module", _local2);
}
private function onAdModuleLoadFail(_arg1:IOErrorEvent):void{
super.startPlayback();
}
private function onAdModuleReady(_arg1:Event):void{
var modLoader:AdModuleLoader;
var vp:VideoPlayer;
var intMod:OverlayAdIntegrationBase;
var evt = _arg1;
try {
modLoader = (evt.target as AdModuleLoader);
vp = videoPlayer;
intMod = modLoader.integrationModule;
intMod.videoPlayer = vp;
vp.registerModule(intMod);
intMod.addEventListener(AdModuleEvent.VIDEO_AD_COMPLETE, onAdModuleEvent);
intMod.addEventListener(AdModuleEvent.VIDEO_AD_SKIPPED, onAdModuleEvent);
intMod.addEventListener(AdModuleEvent.TIME_OUT, onAdModuleEvent);
intMod.addEventListener(AdModuleEvent.ERROR, onAdModuleEvent);
} catch(err:Error) {
trace(err.getStackTrace());
} finally {
super.startPlayback();
};
}
private function onAdModuleEvent(_arg1:AdModuleEvent):void{
var _local2:AdModuleLoader;
trace(this, "onAdModuleEvent", _arg1);
switch (_arg1.type){
case AdModuleEvent.VIDEO_AD_SKIPPED:
case AdModuleEvent.VIDEO_AD_COMPLETE:
case AdModuleEvent.TIME_OUT:
case AdModuleEvent.ERROR:
_local2 = adModuleLoader;
_local2.unload();
super.startPlayback();
break;
};
}
override protected function initWatermark():void{
var _local2:MCWatermark;
var _local1:Boolean = registery.itemData.isWatermarked;
trace("initWatermark()", _local1);
if (!_local1){
_local2 = (watermark = new MCWatermark());
addChild(_local2);
videoPlayer.registerModule(_local2);
trace("Watermark:", _local2);
trace((_local2 + ".visible ="), _local2.visible);
};
size();
}
override protected function showPostRollContent():void{
super.showPostRollContent();
if (adModuleLoader){
adModuleLoader.visible = false;
};
}
override protected function initCofigurationData():void{
super.initCofigurationData();
var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub;
var _local2:PlayerConfiguration = registery.playerConfig;
var _local3:Function = Data.assignDefault;
_local2.beacons = _local3(_local1, "beacons", []);
}
override protected function size():void{
super.size();
var w:Number = width;
var h:Number = height;
var scrH:Number = videoPlayer.screenRect.height;
if (adModuleLoader){
try {
adModuleLoader.setSize(w, scrH);
} catch(err:Error) {
};
};
var wm:MCWatermark = watermark;
wm.y = scrH;
wm.x = w;
}
}
}//package com.metacafe.embed
Section 129
//Splash (com.metacafe.embed.Splash)
package com.metacafe.embed {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.base.*;
import com.metacafe.gui.events.*;
import com.metacafe.gui.shapes.*;
import com.metacafe.gui.buttons.*;
public class Splash extends ResizeableSprite {
private var thumbLoader:Loader;
private var tintRect:Rect;
private var playVideoButton:SimpleButton;
public function Splash(){
var _local1:Loader = (thumbLoader = new Loader());
addChild(_local1);
_local1.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbLoaded);
_local1.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation);
var _local2:Rect = (tintRect = new Rect(100, 110));
addChild(_local2);
_local2.alpha = 0.15;
var _local3:SimpleButton = (playVideoButton = new PlayVideoButton());
addChild(_local3);
_local3.useHandCursor = true;
}
public function hideRect():void{
var _local1:Rect = tintRect;
_local1.visible = false;
}
private function onThumbLoaded(_arg1:Event):void{
size();
}
public function loadThumb(_arg1:String){
thumbLoader.load(new URLRequest(_arg1));
}
override protected function size():void{
var img:DisplayObject;
var w:Number = width;
var h:Number = height;
try {
img = thumbLoader.content;
img.width = w;
img.height = h;
} catch(err:Error) {
};
var tr:Rect = tintRect;
tr.width = w;
tr.y = (((h - tr.height) / 2) + 10);
var btn:SimpleButton = playVideoButton;
btn.x = ((w - btn.width) / 2);
btn.y = (((h - btn.height) / 2) + 14);
}
}
}//package com.metacafe.embed
Section 130
//SuccessEvent (com.metacafe.events.SuccessEvent)
package com.metacafe.events {
import flash.events.*;
public class SuccessEvent extends Event {
private var _info:Object;
public static const SUCCESS:String = "success";
public function SuccessEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
super(_arg1, _arg2, _arg3);
_info = _arg4;
}
public function get info():Object{
return (_info);
}
public function set info(_arg1:Object):void{
_info = _arg1;
}
override public function clone():Event{
return (new SuccessEvent(type, bubbles, cancelable));
}
override public function toString():String{
return (formatToString("SuccessEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.events
Section 131
//FullScreenButton (com.metacafe.gui.buttons.FullScreenButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class FullScreenButton extends SimpleButton {
public function FullScreenButton(){
upState = new FullScreenButtonUpState();
hitTestState = upState;
overState = new FullScreenButtonOverState();
downState = new FullScreenButtonDownState();
}
override public function get enabled():Boolean{
return (super.enabled);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = (mouseEnabled = _arg1);
alpha = (_arg1) ? 1 : 0.5;
}
}
}//package com.metacafe.gui.buttons
Section 132
//HDButton (com.metacafe.gui.buttons.HDButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class HDButton extends SimpleButton {
public function HDButton(){
upState = new HDButtonUpState();
hitTestState = upState;
overState = new HDButtonOverState();
downState = new HDButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 133
//HDToggledButton (com.metacafe.gui.buttons.HDToggledButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class HDToggledButton extends SimpleButton {
public function HDToggledButton(){
upState = new HDTglButtonUpState();
hitTestState = upState;
overState = new HDTglButtonOverState();
downState = new HDTglButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 134
//MetacafeLogoButton (com.metacafe.gui.buttons.MetacafeLogoButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class MetacafeLogoButton extends SimpleButton {
public function MetacafeLogoButton(){
upState = (overState = (downState = (hitTestState = new MetacafeLogoButtonState())));
}
}
}//package com.metacafe.gui.buttons
Section 135
//PauseButton (com.metacafe.gui.buttons.PauseButton)
package com.metacafe.gui.buttons {
public class PauseButton extends PlaybackButtonBase {
public function PauseButton(){
upState = new PauseButtonUpState();
hitTestState = upState;
overState = new PauseButtonOverState();
downState = new PauseButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 136
//PlaybackButtonBase (com.metacafe.gui.buttons.PlaybackButtonBase)
package com.metacafe.gui.buttons {
import flash.display.*;
public class PlaybackButtonBase extends SimpleButton {
override public function get enabled():Boolean{
return (super.enabled);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = (mouseEnabled = _arg1);
alpha = (_arg1) ? 1 : 0.5;
}
}
}//package com.metacafe.gui.buttons
Section 137
//PlayButton (com.metacafe.gui.buttons.PlayButton)
package com.metacafe.gui.buttons {
public class PlayButton extends PlaybackButtonBase {
public function PlayButton(){
upState = new PlayButtonUpState();
hitTestState = upState;
overState = new PlayButtonOverState();
downState = new PlayButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 138
//PlayVideoButton (com.metacafe.gui.buttons.PlayVideoButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class PlayVideoButton extends SimpleButton {
public function PlayVideoButton(){
upState = new PlayVideoButtonUpState();
overState = new PlayVideoButtonOverState();
downState = new PlayVideoButtonDownState();
hitTestState = upState;
}
}
}//package com.metacafe.gui.buttons
Section 139
//RectButton (com.metacafe.gui.buttons.RectButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class RectButton extends SimpleButton {
public function RectButton(){
upState = new RectButtonUpState();
hitTestState = upState;
overState = new RectButtonOverState();
downState = new RectButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 140
//ReplayButton (com.metacafe.gui.buttons.ReplayButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class ReplayButton extends SimpleButton {
public function ReplayButton(){
upState = new ReplayButtonUpState();
hitTestState = upState;
overState = new ReplayButtonOverState();
downState = new ReplayButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 141
//ShareButton (com.metacafe.gui.buttons.ShareButton)
package com.metacafe.gui.buttons {
import flash.display.*;
public class ShareButton extends SimpleButton {
public function ShareButton(){
upState = new ShareButtonUpState();
overState = new ShareButtonOverState();
downState = new ShareButtonDownState();
hitTestState = upState;
}
}
}//package com.metacafe.gui.buttons
Section 142
//SliderHandle (com.metacafe.gui.buttons.SliderHandle)
package com.metacafe.gui.buttons {
import flash.display.*;
public class SliderHandle extends SimpleButton {
public function SliderHandle(){
upState = new SliderHandleUpState();
hitTestState = upState;
overState = new SliderHandleOverState();
downState = new SliderHandleDownState();
}
}
}//package com.metacafe.gui.buttons
Section 143
//SliderTrack (com.metacafe.gui.buttons.SliderTrack)
package com.metacafe.gui.buttons {
import flash.display.*;
public class SliderTrack extends SimpleButton {
public function SliderTrack(){
upState = new SliderTrackGraphics();
downState = (overState = upState);
upState.y = 3;
var _local1:Sprite = new Sprite();
var _local2:Graphics = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, upState.width, 8);
_local2.endFill();
hitTestState = _local1;
}
}
}//package com.metacafe.gui.buttons
Section 144
//StopButton (com.metacafe.gui.buttons.StopButton)
package com.metacafe.gui.buttons {
public class StopButton extends PlaybackButtonBase {
public function StopButton(){
upState = new StopButtonUpState();
hitTestState = upState;
overState = new StopButtonOverState();
downState = new StopButtonDownState();
}
}
}//package com.metacafe.gui.buttons
Section 145
//CloseClickEvent (com.metacafe.gui.events.CloseClickEvent)
package com.metacafe.gui.events {
import flash.events.*;
public class CloseClickEvent extends Event {
public static const CLOSE:String = "close";
public function CloseClickEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new CloseClickEvent(type, bubbles, cancelable));
}
override public function toString():String{
return (formatToString("CloseClickEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.gui.events
Section 146
//SliderEvent (com.metacafe.gui.events.SliderEvent)
package com.metacafe.gui.events {
import flash.events.*;
public class SliderEvent extends Event {
public static const START_DRAG:String = "startDrag";
public static const STOP_DRAG:String = "stopDrag";
public static const TRACK_CLICK:String = "trackClick";
public function SliderEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new SliderEvent(type));
}
override public function toString():String{
return (formatToString("SliderEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.gui.events
Section 147
//StopPropagation (com.metacafe.gui.events.StopPropagation)
package com.metacafe.gui.events {
import flash.events.*;
public class StopPropagation {
public static function stopEventPropagation(_arg1:Event){
_arg1.stopPropagation();
}
}
}//package com.metacafe.gui.events
Section 148
//Rect (com.metacafe.gui.shapes.Rect)
package com.metacafe.gui.shapes {
import flash.display.*;
public class Rect extends Shape {
public function Rect(_arg1:Number=100, _arg2:Number=100, _arg3:uint=0){
var _local4:Graphics = graphics;
_local4.beginFill(_arg3);
_local4.drawRect(0, 0, _arg1, _arg2);
_local4.endFill();
}
}
}//package com.metacafe.gui.shapes
Section 149
//TooltipShape (com.metacafe.gui.tooltip.TooltipShape)
package com.metacafe.gui.tooltip {
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import com.metacafe.base.*;
import com.metacafe.gui.*;
public class TooltipShape extends ResizeableSprite {
protected var _color:uint;
protected var _borderColor:uint;
protected var _alignment:String;
protected var _tipOffset:Point;
public function TooltipShape(){
_color = 0;
_borderColor = 0xFFFFFF;
_alignment = Alignment.BOTTOM_LEFT;
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function get color():uint{
return (_color);
}
public function set color(_arg1:uint):void{
_color = _arg1;
render();
}
public function get borderColor():uint{
return (_borderColor);
}
public function set borderColor(_arg1:uint):void{
_borderColor = _arg1;
render();
}
public function get alignment():String{
return (_alignment);
}
public function set alignment(_arg1:String):void{
_alignment = _arg1;
render();
size();
}
public function get tipOffset():Point{
return (_tipOffset);
}
private function onAddedToStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
render();
}
public function render():void{
var _local7:Boolean;
var _local8:Point;
var _local12:Number;
var _local1:Number = width;
var _local2:Number = height;
var _local3:Graphics = graphics;
_local3.clear();
var _local4:uint = color;
var _local5:uint = borderColor;
var _local6 = !((_local4 == _local5));
var _local9:* = Math.min((0.3 * _local1), 15);
var _local10:* = Math.max((0.7 * _local1), (_local1 - 15));
switch (alignment){
case Alignment.TOP_LEFT:
_local7 = true;
_local8 = new Point(_local10, _local2);
break;
case Alignment.TOP_CENTER:
_local7 = true;
_local8 = new Point((0.5 * _local1), _local2);
break;
case Alignment.TOP_RIGHT:
_local7 = true;
_local8 = new Point(_local9, _local2);
break;
case Alignment.BOTTOM_LEFT:
_local7 = false;
_local8 = new Point(_local10, 0);
break;
case Alignment.BOTTOM_CENTER:
_local7 = false;
_local8 = new Point((0.5 * _local1), 0);
break;
case Alignment.BOTTOM_RIGHT:
_local7 = false;
_local8 = new Point(_local9, 0);
break;
};
var _local11:Number = (_local7) ? 6 : -6;
if (_local6){
_local12 = (_local7) ? 1 : -1;
_local3.beginFill(_local5);
_local3.moveTo((_local8.x - 4), (_local8.y + _local12));
_local3.lineTo(_local8.x, ((_local8.y + _local11) + (_local12 * 2)));
_local3.lineTo((_local8.x + 4), (_local8.y + _local12));
_local3.drawRoundRect(-1, -1, (_local1 + 2), (_local2 + 2), 5);
_local3.moveTo((_local8.x - 3), _local8.y);
_local3.lineTo(_local8.x, (_local8.y + _local11));
_local3.lineTo((_local8.x + 3), _local8.y);
_local3.drawRoundRect(0, 0, _local1, _local2, 4);
_local3.endFill();
};
_local3.beginFill(_local4);
_local3.moveTo((_local8.x - 3), _local8.y);
_local3.lineTo(_local8.x, (_local8.y + _local11));
_local3.lineTo((_local8.x + 3), _local8.y);
_local3.drawRoundRect(0, 0, _local1, _local2, 4);
_local3.endFill();
_tipOffset = new Point(_local8.x, (_local8.y + _local11));
}
override protected function size():void{
render();
}
}
}//package com.metacafe.gui.tooltip
Section 150
//Alignment (com.metacafe.gui.Alignment)
package com.metacafe.gui {
public class Alignment {
public static const TOP_LEFT:String = "topLeft";
public static const TOP_CENTER:String = "topCenter";
public static const TOP_RIGHT:String = "topR";
public static const MIDDLE_LEFT:String = "middleLeft";
public static const MIDDLE_CENTER:String = "middleCenter";
public static const MIDDLE_RIGHT:String = "middleRight";
public static const BOTTOM_LEFT:String = "bottomLeft";
public static const BOTTOM_CENTER:String = "bottomCenter";
public static const BOTTOM_RIGHT:String = "bottomRight";
}
}//package com.metacafe.gui
Section 151
//IDisplayObject (com.metacafe.gui.IDisplayObject)
package com.metacafe.gui {
public interface IDisplayObject {
function get x():Number;
function set x(_arg1:Number):void;
function get y():Number;
function set y(_arg1:Number):void;
function get width():Number;
function set width(_arg1:Number):void;
function get height():Number;
function set height(_arg1:Number):void;
function get alpha():Number;
function set alpha(_arg1:Number):void;
function get scaleX():Number;
function set scaleX(_arg1:Number):void;
function get scaleY():Number;
function set scaleY(_arg1:Number):void;
function get visible():Boolean;
function set visible(_arg1:Boolean):void;
}
}//package com.metacafe.gui
Section 152
//IEnableable (com.metacafe.gui.IEnableable)
package com.metacafe.gui {
public interface IEnableable {
function get enabled():Boolean;
function set enabled(_arg1:Boolean):void;
}
}//package com.metacafe.gui
Section 153
//IMediaControls (com.metacafe.gui.IMediaControls)
package com.metacafe.gui {
import com.metacafe.mvc.*;
import flash.events.*;
public interface IMediaControls extends IView, IResizeable, IEnableable, IEventDispatcher, IDisplayObject {
function get playbackControlsEnabled():Boolean;
function set playbackControlsEnabled(_arg1:Boolean):void;
function get stopEnabled():Boolean;
function set stopEnabled(_arg1:Boolean):void;
function get seekEnabled():Boolean;
function set seekEnabled(_arg1:Boolean):void;
function get volumeEnabled():Boolean;
function set volumeEnabled(_arg1:Boolean):void;
function get fullScreenEnabled():Boolean;
function set fullScreenEnabled(_arg1:Boolean):void;
function get showMediaTypeButton():Boolean;
function set showMediaTypeButton(_arg1:Boolean):void;
function get showFullScreenButton():Boolean;
function set showFullScreenButton(_arg1:Boolean):void;
function get selectedMediaType():String;
function set selectedMediaType(_arg1:String):void;
function get placement():String;
function set placement(_arg1:String):void;
function resetSeek():void;
function showHDTooltip(_arg1:Boolean=true):void;
}
}//package com.metacafe.gui
Section 154
//IResizeable (com.metacafe.gui.IResizeable)
package com.metacafe.gui {
public interface IResizeable {
function setSize(_arg1:Number, _arg2:Number):void;
}
}//package com.metacafe.gui
Section 155
//IVolumeUnit (com.metacafe.gui.IVolumeUnit)
package com.metacafe.gui {
import flash.events.*;
public interface IVolumeUnit extends IResizeable, IEnableable, IDisplayObject, IEventDispatcher {
function get volume():Number;
function set volume(_arg1:Number):void;
function get cachedVolume():Number;
function set cachedVolume(_arg1:Number):void;
function get isActive():Boolean;
function set isActive(_arg1:Boolean):void;
}
}//package com.metacafe.gui
Section 156
//MCWatermark (com.metacafe.gui.MCWatermark)
package com.metacafe.gui {
import com.metacafe.video.events.*;
import com.metacafe.video.*;
import flash.display.*;
public class MCWatermark extends MovieClip implements IVideoPlayerModule {
private var _prevVideoPlayerState:String;
private var _hasPlayed:Boolean;
public function MCWatermark(){
addFrameScript(0, frame1, 1, frame2, 69, frame70);
super();
}
public function get prevVideoPlayerState():String{
return (_prevVideoPlayerState);
}
public function set prevVideoPlayerState(_arg1:String):void{
_prevVideoPlayerState = _arg1;
}
public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{
}
public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
var _local2:String = _arg1.info.state;
switch (_local2){
case StreamStates.STATE_FILE_NOT_FOUND:
case StreamStates.STATE_STOPPED:
case StreamStates.STATE_ENDED:
gotoAndStop(1);
_hasPlayed = false;
break;
case StreamStates.STATE_PLAYING:
switch (prevVideoPlayerState){
case StreamStates.STATE_PAUSED:
case StreamStates.STATE_BUFFERING:
break;
default:
gotoAndPlay("begin");
_hasPlayed = true;
};
break;
};
prevVideoPlayerState = _local2;
}
public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
if ((((_arg1.info.time > 0.2)) && (!(_hasPlayed)))){
gotoAndPlay("begin");
_hasPlayed = true;
};
}
public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{
}
public function onScreenClick(_arg1:VideoPlayerEvent):void{
}
public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{
}
public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{
}
function frame1(){
stop();
}
function frame2(){
play();
}
function frame70(){
stop();
}
}
}//package com.metacafe.gui
Section 157
//MediaControlsBase (com.metacafe.gui.MediaControlsBase)
package com.metacafe.gui {
import com.metacafe.video.events.*;
import com.metacafe.mvc.*;
import com.metacafe.mvc.events.*;
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.video.*;
import flash.net.*;
import flash.display.*;
import flash.text.*;
import com.metacafe.base.*;
import com.metacafe.gui.events.*;
import com.metacafe.config.*;
import com.metacafe.gui.buttons.*;
public class MediaControlsBase extends ResizeableSprite implements IMediaControls {
public var output_txt:TextField;
private var controller:VideoController;
private var model:VideoModel;
protected var _showMediaTypeButton:Boolean;
protected var _showFullScreenButton:Boolean;
protected var background:Sprite;
protected var playButton:PlayButton;
protected var pauseButton:PauseButton;
protected var stopButton:StopButton;
protected var replayButton:ReplayButton;
protected var fullScreenButton:FullScreenButton;
protected var seekSlider:Slider;
protected var volumeUnit:VolumeUnit;
protected var outputText:TextField;
protected var mediaTypeButton:ToggleButton;
protected var watchHDTooltip:Tooltip;
protected var watchNormalTooltip:Tooltip;
protected var _selectedMediaType:String;
protected var _playbackControlsEnabled:Boolean;
protected var _seekEnabled:Boolean;
protected var _stopEnabled:Boolean;
protected var _placement:String;
public function MediaControlsBase(_arg1:IController=null, _arg2:IModel=null){
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
override public function get alpha():Number{
return (super.alpha);
}
override public function set alpha(_arg1:Number):void{
super.alpha = (enabled) ? _arg1 : super.alpha;
}
public function get playbackControlsEnabled():Boolean{
return (_playbackControlsEnabled);
}
public function set playbackControlsEnabled(_arg1:Boolean):void{
_playbackControlsEnabled = (playButton.enabled = (pauseButton.enabled = (stopEnabled = (seekEnabled = _arg1))));
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
mouseChildren = _arg1;
super.alpha = (_arg1) ? 1 : 0.5;
}
public function get stopEnabled():Boolean{
return (_stopEnabled);
}
public function set stopEnabled(_arg1:Boolean):void{
_stopEnabled = (stopButton.enabled = _arg1);
}
public function get seekEnabled():Boolean{
return (_seekEnabled);
}
public function set seekEnabled(_arg1:Boolean):void{
_seekEnabled = _arg1;
setSeekEnabled(_arg1);
}
public function get volumeEnabled():Boolean{
return (volumeUnit.enabled);
}
public function set volumeEnabled(_arg1:Boolean):void{
volumeUnit.enabled = _arg1;
}
public function get fullScreenEnabled():Boolean{
return (fullScreenButton.enabled);
}
public function set fullScreenEnabled(_arg1:Boolean):void{
fullScreenButton.enabled = _arg1;
}
public function get showMediaTypeButton():Boolean{
return (_showMediaTypeButton);
}
public function set showMediaTypeButton(_arg1:Boolean):void{
_showMediaTypeButton = (mediaTypeButton.visible = _arg1);
size();
}
public function get showFullScreenButton():Boolean{
return (_showFullScreenButton);
}
public function set showFullScreenButton(_arg1:Boolean):void{
_showFullScreenButton = (fullScreenButton.visible = _arg1);
size();
}
public function get selectedMediaType():String{
return (_selectedMediaType);
}
public function set selectedMediaType(_arg1:String):void{
_selectedMediaType = _arg1;
mediaTypeButton.isToggled = (_arg1 == MediaFileTypes.HIGH_DEFINITION_MP4);
}
public function get placement():String{
return (_placement);
}
public function set placement(_arg1:String):void{
_placement = _arg1;
background.alpha = ((_arg1)==MediaControlsPlacementTypes.INTERNAL) ? 1 : 0;
}
private function onAddedToStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
init();
}
protected function init():void{
var _local16:*;
var _local17:Tooltip;
var _local18:Tooltip;
var _local1:Number = width;
var _local2:Sprite = (background = new MediaControlsBackground());
var _local3:PlayButton = (playButton = new PlayButton());
var _local4:PauseButton = (pauseButton = new PauseButton());
var _local5:StopButton = (stopButton = new StopButton());
var _local6:ReplayButton = (replayButton = new ReplayButton());
var _local7:ToggleButton = (mediaTypeButton = new ToggleButton());
var _local8:FullScreenButton = (fullScreenButton = new FullScreenButton());
var _local9:Slider = (seekSlider = new Slider());
var _local10:VolumeUnit = (volumeUnit = new VolumeUnit());
var _local11:TextField = (outputText = new TextField());
_local3.name = MediaControlsNames.PLAY;
_local4.name = MediaControlsNames.PAUSE;
_local5.name = MediaControlsNames.STOP;
_local6.name = MediaControlsNames.REPLAY;
_local8.name = MediaControlsNames.FULLSCREEN;
_local9.name = MediaControlsNames.SEEK;
_local10.name = MediaControlsNames.VOLUME;
var _local12:SimpleButton = (_local7.unToggledButton = new HDButton());
var _local13:SimpleButton = (_local7.toggledButton = new HDToggledButton());
_local12.name = MediaControlsNames.MEDIA_TYPE_HD;
_local13.name = MediaControlsNames.MEDIA_TYPE_FLV;
var _local14:TextFormat = new TextFormat("Trebuchet MS", 10, 0xFFFFFF);
_local14.align = TextFormatAlign.CENTER;
var _local15:Array = [_local2, _local11, _local10, _local9, _local8, _local7, _local6, _local3, _local4, _local5];
for each (_local16 in _local15) {
addChild(_local16);
};
_local17 = (watchHDTooltip = new Tooltip());
_local18 = (watchNormalTooltip = new Tooltip());
addChild(_local17);
addChild(_local18);
_local17.visible = (_local18.visible = false);
_local17.alpha = (_local18.alpha = 0);
_local17.embedFonts = (_local18.embedFonts = true);
_local17.setSize(88, 16);
_local18.setSize(120, 16);
_local17.alignment = (_local18.alignment = Alignment.TOP_LEFT);
_local17.label = "Watch in HD";
_local18.label = "Watch in normal quality";
_local17.labelFormat = (_local18.labelFormat = _local14);
_local17.baloonAlpha = (_local18.baloonAlpha = 0.5);
_local7.addEventListener(MouseEvent.MOUSE_OVER, onMediaTypeButtonMouseEvent);
_local7.addEventListener(MouseEvent.MOUSE_OUT, onMediaTypeButtonMouseEvent);
_local2.alpha = 0;
_local3.x = (_local4.x = (_local6.x = (_local3.y = (_local4.y = (_local6.y = (_local5.y = 3))))));
_local5.x = 31;
_local8.x = (_local1 - 30);
_local8.y = (_local10.y = (_local7.y = 5));
_local10.x = (_local1 - 60);
_local4.visible = (_local6.visible = false);
_local9.x = 130;
_local9.y = 9;
_local9.setSize(Slider.MIN_WIDTH, 14);
_local11.x = 63;
_local11.y = 9;
_local11.width = 60;
_local11.height = 15;
_local11.defaultTextFormat = new TextFormat("Verdana", 8, 0xFFFFFF);
_local11.embedFonts = true;
_local11.antiAliasType = AntiAliasType.ADVANCED;
_local11.selectable = false;
_local11.text = "00:00/00:00";
_local3.addEventListener(MouseEvent.CLICK, onPlayClick);
_local4.addEventListener(MouseEvent.CLICK, onPauseClick);
_local5.addEventListener(MouseEvent.CLICK, onStopClick);
_local6.addEventListener(MouseEvent.CLICK, onReplayClick);
_local8.addEventListener(MouseEvent.CLICK, onFullScreenClick);
_local9.addEventListener(SliderEvent.START_DRAG, onSeekBegin);
_local9.addEventListener(Event.CHANGE, onSeekChange);
_local9.addEventListener(SliderEvent.STOP_DRAG, onSeekEnd);
_local9.addEventListener(SliderEvent.TRACK_CLICK, onSeekTrackClick);
_local10.addEventListener(MouseEvent.CLICK, onVolumeClick);
_local10.addEventListener(Event.CHANGE, onVolumeChange);
_showFullScreenButton = true;
_showMediaTypeButton = (_local7.visible = false);
stopButton.enabled = false;
setSeekEnabled(true);
_stopEnabled = (_seekEnabled = true);
size();
}
public function setController(_arg1:IController):void{
controller = (_arg1 as VideoController);
}
public function setModel(_arg1:IModel):void{
model = (_arg1 as VideoModel);
model.addView(this);
}
public function modelChanged(_arg1:ModelEvent):void{
var _local3:VideoModel;
var _local12:PlayButton;
var _local13:PauseButton;
var _local14:ReplayButton;
var _local15:String;
var _local16:Number;
var _local17:Boolean;
var _local2:VideoModelEvent = (_arg1 as VideoModelEvent);
_local3 = (_local2.target as VideoModel);
var _local4:String = _local2.eventName;
var _local5:VolumeUnit = volumeUnit;
var _local6:Slider = seekSlider;
var _local7:TextField = outputText;
var _local8:Number = _local3.time;
var _local9:Number = _local3.duration;
SharedObject.defaultObjectEncoding = ObjectEncoding.AMF0;
var _local10:SharedObject = SharedObject.getLocal("vpPrefs", "/");
var _local11:Object = _local10.data;
switch (_local4){
case VideoModelEvent.STATE_CHANGED:
_local12 = playButton;
_local13 = pauseButton;
_local14 = replayButton;
_local12.visible = (_local13.visible = (_local14.visible = false));
_local15 = _local3.state;
switch (_local15){
case StreamStates.STATE_WAITING:
_local12.visible = true;
break;
case StreamStates.STATE_BUFFERING:
_local13.visible = true;
break;
case StreamStates.STATE_PLAYING:
_local13.visible = true;
break;
case StreamStates.STATE_PAUSED:
_local12.visible = true;
break;
case StreamStates.STATE_SEEKING:
_local13.visible = true;
break;
case StreamStates.STATE_ENDED:
_local6.value = 1;
controller.setTime(_local3.duration);
controller.setState(StreamStates.STATE_STOPPED);
case StreamStates.STATE_STOPPED:
stopButton.enabled = false;
case StreamStates.STATE_FILE_NOT_FOUND:
_local14.visible = true;
volumeEnabled = (fullScreenEnabled = false);
setSeekEnabled(false);
break;
default:
_local12.visible = true;
};
break;
case VideoModelEvent.VOLUME_CHANGED:
_local16 = _local3.volume;
_local5.volume = _local16;
_local11.volume = (_local3.isMute) ? _local5.cachedVolume : _local16;
_local10.flush();
break;
case VideoModelEvent.MUTE_CHANGED:
_local17 = _local3.isMute;
if (_local17){
_local5.cachedVolume = (_local11.volume = _local5.volume);
_local5.volume = 0;
} else {
_local5.volume = (_local11.volume = _local5.cachedVolume);
};
_local11.isMute = _local17;
_local10.flush();
trace(this, "saved mute", SharedObject.getLocal("vpPrefs", "/").data.isMute);
break;
case VideoModelEvent.TIME_CHANGED:
_local6.setValue((((_local8 / _local9)) || (0)));
_local7.text = ((TimeFormat.formatMinutes(Math.max(_local8, 0)) + "/") + TimeFormat.formatMinutes(Math.max(_local9, 0)));
stopButton.enabled = ((_stopEnabled) && ((_local8 > 0)));
setSeekEnabled(((_seekEnabled) && ((_local8 > 0))));
break;
case VideoModelEvent.SEEKTIME_CHANGED:
_local6.setValue((_local3.seekTime / _local9));
_local7.text = ((TimeFormat.formatMinutes(_local3.seekTime) + "/") + TimeFormat.formatMinutes(_local9));
break;
case VideoModelEvent.DOWNLOAD_PROGRESS_CHANGED:
_local6.fullness = _local3.downloadProgress;
break;
case VideoModelEvent.VIDEO_SEGMENT_CHANGED:
_local6.fullnessXOffset = ((_local3.videoSegmentData.startTime / _local3.duration) * _local6.width);
break;
};
}
private function onPlayClick(_arg1:MouseEvent):void{
if (model.state == StreamStates.STATE_WAITING){
return;
};
controller.play();
}
private function onPauseClick(_arg1:MouseEvent):void{
controller.pause();
}
protected function onStopClick(_arg1:MouseEvent):void{
controller.stop();
}
private function onReplayClick(_arg1:MouseEvent):void{
controller.replay();
}
protected function onFullScreenClick(_arg1:MouseEvent):void{
var _local2:String = stage.displayState;
stage.displayState = ((_local2 == StageDisplayState.NORMAL)) ? StageDisplayState.FULL_SCREEN : StageDisplayState.NORMAL;
background.alpha = ((((stage.displayState == StageDisplayState.FULL_SCREEN)) || ((placement == MediaControlsPlacementTypes.INTERNAL)))) ? 1 : 0;
}
private function onSeekBegin(_arg1:SliderEvent):void{
var _local2:VideoController = controller;
var _local3:VideoModel = model;
_local2.setState(StreamStates.STATE_SEEKING);
}
private function onSeekChange(_arg1:Event):void{
}
private function onSeekEnd(_arg1:SliderEvent):void{
var _local2:VideoController = controller;
var _local3:VideoModel = model;
var _local4:Slider = (_arg1.target as Slider);
var _local5:Number = _local4.value;
_local2.seek(_local5);
}
private function onSeekTrackClick(_arg1:SliderEvent):void{
var _local2:VideoController = controller;
var _local3:VideoModel = model;
_local2.setState(StreamStates.STATE_SEEKING);
onSeekEnd(_arg1);
}
private function onVolumeClick(_arg1:MouseEvent):void{
trace(this, "::onVolumeClick", _arg1.target);
controller.toggleMute();
}
private function onVolumeChange(_arg1:Event):void{
var _local2:VolumeUnit = (_arg1.target as VolumeUnit);
var _local3:Number = _local2.volume;
controller.setVolume(_local3);
}
protected function setSeekEnabled(_arg1:Boolean):void{
seekSlider.enabled = _arg1;
outputText.alpha = (_arg1) ? 1 : 0.5;
}
public function resetSeek():void{
var _local1:Slider = seekSlider;
_local1.setValue(0, false);
}
protected function onMediaTypeButtonMouseEvent(_arg1:MouseEvent):void{
var _local2:SimpleButton = (_arg1.target as SimpleButton);
var _local3:Tooltip = ((_local2.name == MediaControlsNames.MEDIA_TYPE_HD)) ? watchHDTooltip : watchNormalTooltip;
switch (_arg1.type){
case MouseEvent.MOUSE_OVER:
_local3.show();
break;
case MouseEvent.MOUSE_OUT:
_local3.hide();
break;
};
}
public function showHDTooltip(_arg1:Boolean=true):void{
if (_arg1){
watchHDTooltip.show();
} else {
watchHDTooltip.hide();
};
}
override protected function size():void{
var _local13:DisplayObject;
var _local1:Number = width;
var _local2:Number = height;
background.width = _local1;
var _local3:FullScreenButton = fullScreenButton;
var _local4:VolumeUnit = volumeUnit;
var _local5:ToggleButton = mediaTypeButton;
var _local6:Slider = seekSlider;
var _local7:Tooltip = watchHDTooltip;
var _local8:Tooltip = watchNormalTooltip;
var _local9:Array = [_local5, _local4, _local3];
if (!showFullScreenButton){
_local9.splice(_local9.indexOf(_local3), 1);
};
if (!showMediaTypeButton){
_local9.splice(_local9.indexOf(_local5), 1);
};
var _local10:uint = _local9.length;
var _local11:Number = (_local1 - (_local10 * 30));
var _local12:int;
while (_local12 < _local10) {
_local13 = (_local9[_local12] as DisplayObject);
_local13.x = (_local11 + (_local12 * 30));
_local12++;
};
_local7.x = (_local8.x = (_local5.x + (_local5.width / 2)));
_local6.setSize(((_local11 - _local6.x) - 3), 14);
}
}
}//package com.metacafe.gui
Section 158
//MediaControlsEmbed (com.metacafe.gui.MediaControlsEmbed)
package com.metacafe.gui {
import com.metacafe.mvc.*;
import flash.display.*;
import flash.text.*;
import com.metacafe.config.*;
import com.metacafe.gui.buttons.*;
public class MediaControlsEmbed extends MediaControlsBase {
public var boundingBox_mc:MovieClip;
protected var shareButton:ShareButton;
protected var logoButton:MetacafeLogoButton;
public function MediaControlsEmbed(_arg1:IController=null, _arg2:IModel=null){
}
override protected function init():void{
super.init();
var _local1:ShareButton = (shareButton = new ShareButton());
var _local2:MetacafeLogoButton = (logoButton = new MetacafeLogoButton());
var _local3:FullScreenButton = fullScreenButton;
var _local4:Slider = seekSlider;
var _local5:VolumeUnit = volumeUnit;
var _local6:TextField = outputText;
addChild(_local1);
addChild(_local2);
_local1.name = EmbedPlayerButtonNames.SHARE;
_local2.name = EmbedPlayerButtonNames.LOGO;
_local4.x = (_local6.x = 60);
_local4.y = 2;
_local6.y = 18;
_local1.y = 5;
_local2.y = 14;
setSeekEnabled(false);
}
override protected function size():void{
var shrBtn:ShareButton;
var fsBtn:FullScreenButton;
var mtBtn:ToggleButton;
var volUnt:VolumeUnit;
var skSld:Slider;
var logoBtn:MetacafeLogoButton;
var hdTip:Tooltip;
var normalTip:Tooltip;
var buttonsRight:Number;
var btns:Array;
var l:uint;
var buttonsLeft:Number;
var i:int;
var btn:DisplayObject;
super.size();
var w:Number = width;
var h:Number = height;
try {
shrBtn = shareButton;
fsBtn = fullScreenButton;
mtBtn = mediaTypeButton;
volUnt = volumeUnit;
skSld = seekSlider;
logoBtn = logoButton;
hdTip = watchHDTooltip;
normalTip = watchNormalTooltip;
shrBtn.x = (w - 49);
buttonsRight = shrBtn.x;
btns = [mtBtn, volUnt, fsBtn];
if (!showFullScreenButton){
btns.splice(btns.indexOf(fsBtn), 1);
};
if (!showMediaTypeButton){
btns.splice(btns.indexOf(mtBtn), 1);
};
l = btns.length;
buttonsLeft = (buttonsRight - (l * 30));
i = 0;
while (i < l) {
btn = (btns[i] as DisplayObject);
btn.x = (buttonsLeft + (i * 30));
i = (i + 1);
};
hdTip.x = (normalTip.x = (mtBtn.x + (mtBtn.width / 2)));
skSld.setSize(((buttonsLeft - skSld.x) - 3), 14);
logoBtn.x = ((skSld.x + skSld.width) - logoBtn.width);
} catch(err:Error) {
};
}
}
}//package com.metacafe.gui
Section 159
//Slider (com.metacafe.gui.Slider)
package com.metacafe.gui {
import gs.*;
import flash.events.*;
import flash.geom.*;
import flash.display.*;
import com.metacafe.base.*;
import com.metacafe.gui.events.*;
import gs.easing.*;
import flash.utils.*;
import com.metacafe.gui.buttons.*;
import flash.filters.*;
public class Slider extends ResizeableSprite {
public var boundingBox_mc:MovieClip;
private var track_mc:SliderTrack;
private var fullness_mc:Sprite;
private var handle_mc:Sprite;
private var dragUpdateTimer:Timer;
private var _value:Number;
private var _fullness:Number;
private var _fullnessXOffset:Number;
private var isInteractive:Boolean;
private var _handleXMin:Number;// = 0
private var _handleXMax:Number;// = 100
private var _handleButton:SliderHandle;
private var _tweenDuration:Number;
public static const FULLNESS_DEFAULT_ALPHA:Number = 0.6;
public static const FULLNESS_ACTIVE_ALPHA:Number = 0.8;
public static const MIN_WIDTH:Number = 28;
public static var DEFAULT_TWEEN_DURATION:Number = 1;
public function Slider(){
init();
}
public function get value():Number{
return (_value);
}
public function set value(_arg1:Number):void{
var _local2:Sprite;
var _local3:Number;
if (_arg1 == _value){
return;
};
if (!isInteractive){
_local2 = handle_mc;
_local3 = (_arg1 * range);
TweenLite.killTweensOf(_local2);
_local2.x = _local3;
};
_value = _arg1;
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get fullness():Number{
return (_fullness);
}
public function set fullness(_arg1:Number):void{
var _local2:Number = (width * _arg1);
var _local3:Sprite = fullness_mc;
TweenLite.killTweensOf(_local3);
TweenLite.to(_local3, 0.2, {width:_local2, ease:Linear.easeNone});
_fullness = _arg1;
}
public function get fullnessXOffset():Number{
return (_fullnessXOffset);
}
public function set fullnessXOffset(_arg1:Number):void{
var _local2:Sprite = fullness_mc;
_fullnessXOffset = (_local2.x = _arg1);
}
public function get handleXMin():Number{
return (_handleXMin);
}
public function set handleXMin(_arg1:Number):void{
_handleXMin = _arg1;
}
public function get handleXMax():Number{
return (_handleXMax);
}
public function set handleXMax(_arg1:Number):void{
_handleXMax = _arg1;
}
private function get range():Number{
return ((handleXMax - handleXMin));
}
override public function get enabled():Boolean{
return (super.enabled);
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = _arg1;
var _local2:SliderTrack = track_mc;
_handleButton.mouseEnabled = (mouseChildren = _arg1);
alpha = (_arg1) ? 1 : 0.5;
}
public function get tweenDuration():Number{
return (_tweenDuration);
}
public function set tweenDuration(_arg1:Number):void{
_tweenDuration = _arg1;
}
private function init(){
var _local7:*;
var _local8:Timer;
var _local1:MovieClip = boundingBox_mc;
_local1.scaleX = (_local1.scaleY = 0);
_local1.visible = false;
tweenDuration = DEFAULT_TWEEN_DURATION;
var _local2:SliderTrack = (track_mc = new SliderTrack());
var _local3:Sprite = (fullness_mc = new SliderFullness());
var _local4:Sprite = (handle_mc = new Sprite());
var _local5:SliderHandle = (_handleButton = new SliderHandle());
_local5.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation);
_local4.addChild(_local5);
_local2.addEventListener(MouseEvent.MOUSE_OVER, onTrackRollOver);
_local2.addEventListener(MouseEvent.MOUSE_OUT, onTrackRollOut);
_local2.addEventListener(MouseEvent.CLICK, onTrackClick);
_local4.addEventListener(MouseEvent.MOUSE_DOWN, onHandleDrag);
_local4.addEventListener(MouseEvent.MOUSE_UP, onHandleDrop);
var _local6:Array = [_local2, _local3, _local4];
for each (_local7 in _local6) {
addChild(_local7);
};
_local2.y = 2;
_local2.name = "sliderTrack";
_local3.y = 5;
_local3.alpha = FULLNESS_DEFAULT_ALPHA;
_local3.mouseEnabled = false;
_local4.name = "sliderHandle";
enabled = true;
value = 0;
fullness = 0;
_local8 = (dragUpdateTimer = new Timer(33));
_local8.addEventListener(TimerEvent.TIMER, updateHandlePosition);
size();
}
public function setValue(_arg1:Number, _arg2:Boolean=true){
_arg1 = ((_arg1 == Infinity)) ? 0 : _arg1;
var _local3:Sprite = handle_mc;
var _local4:Number = Math.min(Math.max((_arg1 * range), handleXMin), handleXMax);
TweenLite.killTweensOf(_local3);
if (_arg2){
TweenLite.to(_local3, tweenDuration, {x:_local4, ease:Linear.easeNone});
} else {
_local3.x = _local4;
};
_value = _arg1;
}
private function onHandleDrag(_arg1:MouseEvent):void{
isInteractive = true;
stage.addEventListener(MouseEvent.MOUSE_UP, onHandleDrop);
var _local2:Timer = dragUpdateTimer;
_local2.start();
var _local3:Sprite = handle_mc;
TweenLite.killTweensOf(_local3);
_local3.startDrag(false, new Rectangle(handleXMin, 0, (width - _local3.width), 0));
dispatchEvent(new SliderEvent(SliderEvent.START_DRAG));
}
private function onHandleDrop(_arg1:MouseEvent):void{
isInteractive = false;
stage.removeEventListener(MouseEvent.MOUSE_UP, onHandleDrop);
var _local2:Timer = dragUpdateTimer;
_local2.stop();
var _local3:Sprite = handle_mc;
_local3.stopDrag();
dispatchEvent(new SliderEvent(SliderEvent.STOP_DRAG));
}
private function onTrackRollOver(_arg1:MouseEvent):void{
var _local2:Sprite = fullness_mc;
_local2.alpha = FULLNESS_ACTIVE_ALPHA;
_local2.filters = [new GlowFilter(10641698, 0.5, 2, 8, 3, 3)];
}
private function onTrackRollOut(_arg1:MouseEvent):void{
var _local2:Sprite = fullness_mc;
_local2.alpha = FULLNESS_DEFAULT_ALPHA;
_local2.filters = [];
}
private function onTrackClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
isInteractive = true;
var _local2:Sprite = handle_mc;
var _local3:Number = mouseX;
var _local4:Number = (value = Math.min((_local3 / range), 1));
var _local5:Number = (_local4 * range);
TweenLite.killTweensOf(_local2);
TweenLite.to(_local2, 0.2, {x:_local5, onComplete:onHandleTweeenComplete});
dispatchEvent(new SliderEvent(SliderEvent.TRACK_CLICK));
}
private function onHandleTweeenComplete():void{
isInteractive = false;
}
private function updateHandlePosition(_arg1:TimerEvent){
var _local2:Sprite = handle_mc;
var _local3:Number = (handleXMax - handleXMin);
var _local4:Number = _local2.x;
value = (_local4 / _local3);
}
override protected function size():void{
var _local1:Number = Math.max(width, MIN_WIDTH);
var _local2:SliderTrack = track_mc;
var _local3:Sprite = fullness_mc;
var _local4:Sprite = handle_mc;
TweenLite.killTweensOf(_local4);
TweenLite.killTweensOf(_local3);
_local2.width = _local1;
_local3.width = (_local1 * fullness);
handleXMax = ((handleXMin + _local1) - _local4.width);
_local4.x = (value * (handleXMax - handleXMin));
}
}
}//package com.metacafe.gui
Section 160
//ToggleButton (com.metacafe.gui.ToggleButton)
package com.metacafe.gui {
import flash.events.*;
import flash.display.*;
public class ToggleButton extends Sprite {
private var _unToggledButton:SimpleButton;
private var _toggledButton:SimpleButton;
private var _isToggled:Boolean;
public function ToggleButton(_arg1:Boolean=false){
_isToggled = _arg1;
}
public function get isToggled():Boolean{
return (_isToggled);
}
public function set isToggled(_arg1:Boolean):void{
_isToggled = _arg1;
setToggle();
}
public function get unToggledButton():SimpleButton{
return (_unToggledButton);
}
public function set unToggledButton(_arg1:SimpleButton):void{
var value = _arg1;
if (_unToggledButton){
removeChild(_unToggledButton);
};
addChild(value);
var btn:SimpleButton = (_unToggledButton = value);
btn.visible = !(isToggled);
btn.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{
isToggled = true;
});
}
public function get toggledButton():SimpleButton{
return (_toggledButton);
}
public function set toggledButton(_arg1:SimpleButton):void{
var value = _arg1;
if (_toggledButton){
removeChild(_toggledButton);
};
addChild(value);
var btn:SimpleButton = (_toggledButton = value);
btn.visible = isToggled;
btn.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{
isToggled = false;
});
}
protected function setToggle():void{
if (toggledButton){
toggledButton.visible = isToggled;
};
if (unToggledButton){
unToggledButton.visible = !(isToggled);
};
}
public function toggle():void{
isToggled = !(isToggled);
}
}
}//package com.metacafe.gui
Section 161
//Tooltip (com.metacafe.gui.Tooltip)
package com.metacafe.gui {
import flash.events.*;
import flash.geom.*;
import com.greensock.*;
import flash.display.*;
import flash.text.*;
import com.metacafe.base.*;
import com.greensock.plugins.*;
import com.metacafe.gui.tooltip.*;
public class Tooltip extends ResizeableSprite {
protected var _content:DisplayObject;
protected var _label:String;
protected var _labelField:TextField;
protected var _labelFormat:TextFormat;
protected var _embedFonts:Boolean;
protected var _shape:TooltipShape;
public function Tooltip(){
TweenPlugin.activate([AutoAlphaPlugin]);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function get label():String{
return (_label);
}
public function set label(_arg1:String):void{
_label = _arg1;
renderLabel();
}
public function get labelFormat():TextFormat{
return (_labelFormat);
}
public function set labelFormat(_arg1:TextFormat):void{
_labelFormat = _arg1;
renderLabel();
}
public function get embedFonts():Boolean{
return (_embedFonts);
}
public function set embedFonts(_arg1:Boolean):void{
_embedFonts = _arg1;
renderLabel();
}
public function get color():uint{
return (_shape.color);
}
public function set color(_arg1:uint):void{
_shape.color = _arg1;
}
public function get borderColor():uint{
return (_shape.borderColor);
}
public function set borderColor(_arg1:uint):void{
_shape.borderColor = _arg1;
}
public function get alignment():String{
return (_shape.alignment);
}
public function set alignment(_arg1:String):void{
_shape.alignment = _arg1;
size();
}
public function get baloonAlpha():Number{
return (_shape.alpha);
}
public function set baloonAlpha(_arg1:Number):void{
_shape.alpha = _arg1;
}
public function get content():DisplayObject{
return (_content);
}
public function set content(_arg1:DisplayObject):void{
if (_arg1 != _content){
if (_content){
removeChild(_content);
};
_content = (addChild(_arg1) as DisplayObject);
setChildIndex(_content, 1);
};
size();
}
protected function onAddedToStage(_arg1:Event):void{
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
init();
}
protected function init():void{
var _local1:TooltipShape = (_shape = new TooltipShape());
addChild(_local1);
_local1.mouseEnabled = false;
_label = "";
_labelFormat = new TextFormat();
_embedFonts = false;
var _local2:TextField = (_labelField = new TextField());
addChild(_local2);
_local2.selectable = false;
_local2.multiline = true;
_local2.wordWrap = true;
_local2.defaultTextFormat = labelFormat;
render();
}
protected function render():void{
renderLabel();
_shape.render();
size();
}
public function show():void{
TweenLite.to(this, 0.5, {autoAlpha:1, delay:0.5});
}
public function hide():void{
TweenLite.to(this, 0.5, {autoAlpha:0});
}
protected function renderLabel():void{
var _local1:TextField = _labelField;
_local1.embedFonts = embedFonts;
_local1.antiAliasType = (embedFonts) ? AntiAliasType.ADVANCED : AntiAliasType.NORMAL;
_local1.defaultTextFormat = labelFormat;
_local1.text = label;
_local1.visible = (_local1.text.length > 0);
size();
}
override protected function size():void{
var _local1:Number = width;
var _local2:Number = height;
var _local3:TooltipShape = _shape;
_local3.setSize(_local1, _local2);
var _local4:TextField = _labelField;
var _local5:Point = _shape.tipOffset;
_local3.x = (_local4.x = -(_local5.x));
_local3.y = -(_local5.y);
_local4.y = ((_local3.y + ((_local2 - _local4.textHeight) / 2)) - 2);
_local4.width = _local1;
_local4.height = _local2;
if (_content){
_content.x = (((_local1 - _content.width) / 2) - _local5.x);
_content.y = (((_local2 - _content.height) / 2) - _local5.y);
};
}
}
}//package com.metacafe.gui
Section 162
//VolumeUnit (com.metacafe.gui.VolumeUnit)
package com.metacafe.gui {
import gs.*;
import flash.events.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.base.*;
import com.metacafe.gui.events.*;
import flash.utils.*;
import com.metacafe.gui.buttons.*;
public class VolumeUnit extends ResizeableSprite {
public var boundingBox_mc:MovieClip;
private var button:RectButton;
private var icon:MovieClip;
private var slider:Slider;
private var background:Sprite;
private var sliderCombo:Sprite;
private var _isActive:Boolean;
private var _volume:Number;
private var _cachedVolume:Number;
private var sliderCloseTimer:Timer;
public function VolumeUnit(){
init();
}
override public function set enabled(_arg1:Boolean):void{
super.enabled = (background.visible = (slider.visible = (button.mouseEnabled = _arg1)));
alpha = (_arg1) ? 1 : 0.5;
}
public function get volume():Number{
return (_volume);
}
public function set volume(_arg1:Number):void{
if (_arg1 == _volume){
return;
};
_volume = _arg1;
var _local2:Slider = slider;
if (_local2.value != _arg1){
_local2.setValue(_arg1, false);
};
_local2.fullness = _arg1;
var _local3:int = ((_arg1 == 0)) ? 1 : (Math.ceil((_arg1 * 3)) + 1);
icon.gotoAndStop(_local3);
dispatchEvent(new Event(Event.CHANGE, true));
}
public function get cachedVolume():Number{
return (_cachedVolume);
}
public function set cachedVolume(_arg1:Number):void{
_cachedVolume = _arg1;
}
public function get isActive():Boolean{
return (_isActive);
}
public function set isActive(_arg1:Boolean):void{
if (_arg1){
addEventListener(MouseEvent.MOUSE_MOVE, onActiveMouseMove);
} else {
removeEventListener(MouseEvent.MOUSE_MOVE, onActiveMouseMove);
};
_isActive = _arg1;
}
private function init(){
var _local8:*;
var _local9:Timer;
var _local10:SharedObject;
var _local11:Object;
mouseEnabled = false;
var _local1:MovieClip = boundingBox_mc;
_local1.scaleX = (_local1.scaleY = 0);
_local1.visible = false;
var _local2:RectButton = (button = new RectButton());
var _local3:MovieClip = (icon = new VolumeIcon());
var _local4:Sprite = (sliderCombo = new Sprite());
var _local5:Sprite = (background = new VolumeSliderBackground());
var _local6:Slider = (slider = new Slider());
var _local7:Array = [_local4, _local3, _local2];
for each (_local8 in _local7) {
addChild(_local8);
};
_local5.y = -84;
_local5.useHandCursor = false;
_local5.addEventListener(MouseEvent.MOUSE_OVER, onBgRollOver);
_local5.addEventListener(MouseEvent.MOUSE_OUT, onBgRollOut);
_local5.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation);
_local5.name = "volumeBackground";
_local2.addEventListener(MouseEvent.MOUSE_OVER, onButtonRollOver);
_local2.addEventListener(MouseEvent.MOUSE_OUT, onButtonRollOut);
_local2.addEventListener(MouseEvent.CLICK, onButtonClick);
_local2.name = "volumeButton";
_local6.rotation = -90;
_local6.setSize(60, 14);
_local6.addEventListener(Event.CHANGE, onSliderChange);
_local6.name = "volumeSlider";
_local4.addChild(_local5);
_local4.addChild(_local6);
_local4.alpha = 0;
_local4.visible = false;
_local6.x = 6;
_local6.y = (-((_local5.height - _local6.width)) / 2);
_local3.mouseEnabled = false;
_local9 = (sliderCloseTimer = new Timer(200, 1));
_local9.addEventListener(TimerEvent.TIMER_COMPLETE, onCloseTimerComplete);
cachedVolume = (volume = 1);
_local10 = SharedObject.getLocal("vpPrefs", "/");
_local11 = _local10.data;
if (_local11.isMute){
volume = 0;
cachedVolume = _local11.volume;
} else {
volume = (cachedVolume = ((_local11.volume) || (1)));
};
size();
hideSlider();
}
private function onCloseTimerComplete(_arg1:TimerEvent):void{
hideSlider();
}
private function showSlider():void{
var _local1:Timer = sliderCloseTimer;
_local1.stop();
var _local2:Sprite = sliderCombo;
TweenLite.killTweensOf(_local2);
TweenLite.to(_local2, 0.3, {autoAlpha:1});
_local2.mouseChildren = true;
}
private function hideSlider():void{
var _local1:Sprite = sliderCombo;
TweenLite.killTweensOf(_local1);
TweenLite.to(_local1, 0.3, {autoAlpha:0});
_local1.mouseChildren = false;
isActive = false;
}
private function onBgRollOver(_arg1:MouseEvent):void{
var _local2:Timer = sliderCloseTimer;
_local2.stop();
isActive = true;
}
private function onBgRollOut(_arg1:MouseEvent):void{
var _local2:InteractiveObject = _arg1.relatedObject;
if (((!((_local2 == button))) && (!((_local2 == slider))))){
startCloseTimer();
};
}
private function onButtonClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
}
private function onButtonRollOver(_arg1:MouseEvent):void{
showSlider();
}
private function onButtonRollOut(_arg1:MouseEvent):void{
var _local2:InteractiveObject = _arg1.relatedObject;
if (_local2 != background){
startCloseTimer();
};
}
private function onActiveMouseMove(_arg1:MouseEvent):void{
var _local3:Timer;
var _local2:Sprite = background;
if (_local2.hitTestPoint(stage.mouseX, stage.mouseY)){
_local3 = sliderCloseTimer;
_local3.stop();
} else {
hideSlider();
};
}
private function onSliderChange(_arg1:Event):void{
var _local2:Slider = (_arg1.target as Slider);
volume = _local2.value;
_arg1.stopPropagation();
}
private function startCloseTimer(){
trace("startCloseTimer");
var _local1:Timer = sliderCloseTimer;
_local1.reset();
_local1.start();
}
override protected function size():void{
var _local1:Number = width;
var _local2:Number = height;
var _local3:Sprite = background;
var _local4:Slider = slider;
var _local5:MovieClip = icon;
_local5.x = ((_local1 - _local5.width) / 2);
_local5.y = ((_local2 - _local5.height) / 2);
}
}
}//package com.metacafe.gui
Section 163
//TimeTrackerEvent (com.metacafe.modules.events.TimeTrackerEvent)
package com.metacafe.modules.events {
import flash.events.*;
public class TimeTrackerEvent extends Event {
public static const PLAYBACK_REPORT_CUE:String = "playbackReportCue";
public static const CACHE_NEXT_CUE:String = "cacheNextCue";
public function TimeTrackerEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new TimeTrackerEvent(type));
}
override public function toString():String{
return (formatToString("TimeTrackerEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.modules.events
Section 164
//TimeTracker (com.metacafe.modules.TimeTracker)
package com.metacafe.modules {
import com.metacafe.video.events.*;
import com.metacafe.base.*;
public class TimeTracker extends VideoPlayerModuleBase {
override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
var _local2:Object = _arg1.info;
var _local3:Number = _local2.time;
var _local4:Number = _local2.duration;
var _local5:Number = (_local4 - _local3);
if ((((((_local4 > 0)) && ((_local3 > 0)))) && ((((_local5 < 5)) || ((_local4 < 5)))))){
};
}
}
}//package com.metacafe.modules
Section 165
//ModelEvent (com.metacafe.mvc.events.ModelEvent)
package com.metacafe.mvc.events {
import flash.events.*;
public class ModelEvent extends Event {
public var eventName:String;
public static const MODEL_CHANGED:String = "modelChanged";
public function ModelEvent(_arg1:String="", _arg2=false, _arg3=false){
super(MODEL_CHANGED, _arg2, _arg3);
eventName = _arg1;
}
override public function clone():Event{
return (new ModelEvent(eventName));
}
override public function toString():String{
return (formatToString("ModelEvent", "type", "bubbles", "cancelable", "eventPhase", "eventName"));
}
}
}//package com.metacafe.mvc.events
Section 166
//Controller (com.metacafe.mvc.Controller)
package com.metacafe.mvc {
public class Controller implements IController {
protected var model:IModel;
public function Controller(_arg1:IModel=null){
setModel(_arg1);
}
public function setModel(_arg1:IModel):void{
model = _arg1;
}
}
}//package com.metacafe.mvc
Section 167
//IController (com.metacafe.mvc.IController)
package com.metacafe.mvc {
public interface IController {
function setModel(_arg1:IModel):void;
}
}//package com.metacafe.mvc
Section 168
//IModel (com.metacafe.mvc.IModel)
package com.metacafe.mvc {
import flash.events.*;
public interface IModel extends IEventDispatcher {
function addView(_arg1:IView):void;
function removeView(_arg1:IView):void;
}
}//package com.metacafe.mvc
Section 169
//IView (com.metacafe.mvc.IView)
package com.metacafe.mvc {
import com.metacafe.mvc.events.*;
public interface IView {
function setController(_arg1:IController):void;
function setModel(_arg1:IModel):void;
function modelChanged(_arg1:ModelEvent):void;
}
}//package com.metacafe.mvc
Section 170
//Model (com.metacafe.mvc.Model)
package com.metacafe.mvc {
import com.metacafe.mvc.events.*;
import flash.events.*;
public class Model extends EventDispatcher implements IModel {
private var views:Array;
public function Model(){
views = [];
}
public function addView(_arg1:IView):void{
if (views.indexOf(_arg1) != -1){
return;
};
views.push(_arg1);
_arg1.setModel(this);
addEventListener(ModelEvent.MODEL_CHANGED, _arg1.modelChanged);
}
public function removeView(_arg1:IView):void{
var _local2:Number = views.length;
var _local3:uint;
while (_local3 < _local2) {
if (views[_local3] === _arg1){
views.splice(_local3, 1);
};
break;
_local3++;
};
removeEventListener(ModelEvent.MODEL_CHANGED, _arg1.modelChanged);
}
}
}//package com.metacafe.mvc
Section 171
//ResizeableSpriteView (com.metacafe.mvc.ResizeableSpriteView)
package com.metacafe.mvc {
import com.metacafe.mvc.events.*;
import com.metacafe.base.*;
public class ResizeableSpriteView extends ResizeableSprite implements IView {
protected var model:IModel;
protected var controller:IController;
public function ResizeableSpriteView(_arg1:IController, _arg2:IModel){
setController(_arg1);
setModel(_arg2);
}
public function setController(_arg1:IController):void{
controller = _arg1;
}
public function setModel(_arg1:IModel):void{
model = _arg1;
model.addView(this);
}
public function modelChanged(_arg1:ModelEvent):void{
}
}
}//package com.metacafe.mvc
Section 172
//View (com.metacafe.mvc.View)
package com.metacafe.mvc {
import com.metacafe.mvc.events.*;
import flash.events.*;
public class View extends EventDispatcher implements IView {
protected var model:IModel;
protected var controller:IController;
public function View(_arg1:IController, _arg2:IModel){
setController(_arg1);
setModel(_arg2);
}
public function setController(_arg1:IController):void{
controller = _arg1;
}
public function setModel(_arg1:IModel):void{
model = _arg1;
model.addView(this);
}
public function modelChanged(_arg1:ModelEvent):void{
}
}
}//package com.metacafe.mvc
Section 173
//AdModuleEvent (com.metacafe.portal.events.AdModuleEvent)
package com.metacafe.portal.events {
import flash.events.*;
public class AdModuleEvent extends Event {
public static const VIDEO_AD_COMPLETE:String = "videoAdComplete";
public static const TIME_OUT:String = "timeout";
public static const ERROR:String = "error";
public static const VIDEO_AD_SKIPPED:String = "videoAdSkipped";
public function AdModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new AdModuleEvent(type, bubbles, cancelable));
}
override public function toString():String{
return (formatToString("AdModuleEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.portal.events
Section 174
//ComponentLoaderEvent (com.metacafe.portal.events.ComponentLoaderEvent)
package com.metacafe.portal.events {
import flash.events.*;
public class ComponentLoaderEvent extends Event {
public static const CLOSE:String = "close";
public static const SHOW:String = "show";
public static const HIDE:String = "hide";
public function ComponentLoaderEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new ComponentLoaderEvent(type, bubbles, cancelable));
}
override public function toString():String{
return (formatToString("ComponentLoaderEvent", "type", "bubbles", "cancelable", "eventPhase"));
}
}
}//package com.metacafe.portal.events
Section 175
//AdModuleLoader (com.metacafe.portal.AdModuleLoader)
package com.metacafe.portal {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.base.*;
import flash.system.*;
public class AdModuleLoader extends ResizeableSprite {
private var _isLoading:Boolean;
private var loader:Loader;
private var _moduleURL:String;
private var _adVendorData:Object;
public function AdModuleLoader(_arg1:String=""){
moduleURL = _arg1;
}
public function get moduleURL():String{
return (_moduleURL);
}
public function set moduleURL(_arg1:String):void{
_moduleURL = _arg1;
}
public function get integrationModule():OverlayAdIntegrationBase{
var mod:OverlayAdIntegrationBase;
var content:*;
try {
content = loader.content;
mod = content.module;
} catch(err:Error) {
trace(err);
};
return (mod);
}
public function get adVendorData():Object{
return (_adVendorData);
}
public function set adVendorData(_arg1:Object):void{
_adVendorData = _arg1;
}
public function get isLoading():Boolean{
return (_isLoading);
}
public function load(){
_isLoading = true;
var _local1:String = moduleURL;
var _local2:Loader = (loader = new Loader());
addChild(_local2);
_local2.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInfoEvent);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoaderInfoEvent);
var _local3:LoaderContext = new LoaderContext();
_local3.applicationDomain = root.loaderInfo.applicationDomain;
var _local4:URLRequest = new URLRequest(_local1);
_local2.load(_local4, _local3);
}
private function onLoaderInfoEvent(_arg1:Event):void{
_isLoading = false;
switch (_arg1.type){
case Event.INIT:
integrationModule.adVendorData = adVendorData;
size();
dispatchEvent(new Event(Event.INIT));
break;
case IOErrorEvent.IO_ERROR:
trace(this, _arg1);
dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR));
break;
};
}
public function unload(){
var _local1:Loader = loader;
_local1.unload();
}
override protected function size():void{
var w:Number = width;
var h:Number = height;
if (integrationModule){
try {
integrationModule.setSize(w, h);
} catch(err:Error) {
};
};
}
}
}//package com.metacafe.portal
Section 176
//OpenAdsBeaconDispatcher (com.metacafe.portal.OpenAdsBeaconDispatcher)
package com.metacafe.portal {
import flash.events.*;
import flash.net.*;
import flash.display.*;
public class OpenAdsBeaconDispatcher {
private var _beaconURLs:Array;
public function get beaconURLs():Array{
return (_beaconURLs);
}
public function set beaconURLs(_arg1:Array):void{
var _local4:String;
var _local2:Array = (_beaconURLs = _arg1);
var _local3:int;
while (_local2[_local3]) {
_local4 = _local2[_local3];
callBeacon(_local4);
_local3++;
};
}
private function callBeacon(_arg1:String):void{
var _local2:URLRequest = new URLRequest(_arg1);
var _local3:Loader = new Loader();
var _local4:LoaderInfo = _local3.contentLoaderInfo;
_local4.addEventListener(Event.COMPLETE, onBeaconCallSuccess);
_local4.addEventListener(IOErrorEvent.IO_ERROR, onBeaconCallFail);
_local3.load(_local2);
trace(((this + " calling ") + _arg1));
}
private function onBeaconCallSuccess(_arg1:Event):void{
trace((this + " Beacon called successfully"));
}
private function onBeaconCallFail(_arg1:IOErrorEvent):void{
trace(((this + " Beacon call failed ") + _arg1));
}
}
}//package com.metacafe.portal
Section 177
//PlaybackTypes (com.metacafe.portal.PlaybackTypes)
package com.metacafe.portal {
public class PlaybackTypes {
public static const TYPE_ITEM:String = "item";
public static const TYPE_PREROLL_VIDEO_AD:String = "preRollVideoAd";
public static const TYPE_POSTROLL_VIDEO_AD:String = "postRollVideoAd";
}
}//package com.metacafe.portal
Section 178
//CommonReporter (com.metacafe.reports.CommonReporter)
package com.metacafe.reports {
import flash.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import flash.net.*;
import com.adobe.serialization.json.*;
import com.metacafe.base.*;
import com.metacafe.*;
public class CommonReporter implements IReporter {
private var owner:CommonVideoPlayer;
private var isStartReported:Boolean;
private var isOverallPlaytimeReported:Boolean;
public static const REPORT_BASE_URL:String = "/services/fplayer/report.php";
public static const CREPORTER_BASE_URL:String = "/index.php";
public static const CREPORTER_BASE_QUERYSTRING:URLVariables = new URLVariables("inputType=reporter");
public function CommonReporter(_arg1:CommonVideoPlayer){
owner = (_arg1 as CommonVideoPlayer);
}
public function resetOverallPlaytimeFlag():void{
isOverallPlaytimeReported = false;
}
public function reset():void{
isStartReported = (isOverallPlaytimeReported = false);
}
public function sendReport(_arg1:String, _arg2:Object):void{
var _local10:URLRequest;
var _local13:String;
var _local3:CommonVideoPlayer = owner;
var _local4:Registery = Registery.getInstance();
var _local5:Env = _local4.envData;
var _local6:PlayerConfiguration = _local4.playerConfig;
var _local7:String = _local5.reportsBaseURL;
var _local8:String = (((_local6.reportToWinter) && (_local7.length))) ? _local7 : _local5.altServerURL;
var _local9:String = (_local8 + REPORT_BASE_URL);
var _local11:URLLoader = new URLLoader();
_local11.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
var _local12:URLVariables = new URLVariables();
for (_local13 in _arg2) {
_local12[_local13] = _arg2[_local13];
};
switch (_arg1){
case ReportNames.VIEW_START:
if (isStartReported){
return;
};
_local10 = new URLRequest(_local9);
_local10.data = _local12;
_local10.method = URLRequestMethod.GET;
_local11.load(_local10);
isStartReported = true;
break;
case ReportNames.OVERALL_PLAY_TIME:
if (isOverallPlaytimeReported){
return;
};
_local12 = CREPORTER_BASE_QUERYSTRING;
_local12.reportName = _arg1;
for (_local13 in _arg2) {
_local12[_local13] = _arg2[_local13];
trace(_local13, _arg2[_local13]);
};
_local10 = new URLRequest((_local8 + CREPORTER_BASE_URL));
_local10.data = _local12;
_local10.method = URLRequestMethod.GET;
_local11.load(_local10);
isOverallPlaytimeReported = true;
break;
case ReportNames.MEDIA_FILE_PLAY_ERROR:
_local12 = CREPORTER_BASE_QUERYSTRING;
_local12.reportName = _arg1;
for (_local13 in _arg2) {
_local12[_local13] = _arg2[_local13];
trace(_local13, _arg2[_local13]);
};
_local10 = new URLRequest((_local8 + CREPORTER_BASE_URL));
_local10.data = _local12;
_local10.method = URLRequestMethod.GET;
_local11.load(_local10);
break;
};
trace((_arg1 + " report sent to:"), _local10.url, ("\nData: " + Debug.dump(_arg2)));
Logger.getInstance().log({scope:"[Object CommonReporter]", message:((((("'" + _arg1) + "' report sent to:") + _local10.url) + ". Report data: ") + JSON.encode(_arg2))});
}
private function onIOError(_arg1:IOErrorEvent):void{
trace(_arg1);
}
}
}//package com.metacafe.reports
Section 179
//ComScoreBeaconDispatcher (com.metacafe.reports.ComScoreBeaconDispatcher)
package com.metacafe.reports {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.utils.*;
import flash.net.*;
import com.metacafe.base.*;
public class ComScoreBeaconDispatcher extends VideoPlayerModuleBase {
private var isReported:Boolean;
private var _reportCurrentStream:Boolean;
private var loader:URLLoader;
public function ComScoreBeaconDispatcher(){
super();
isReported = false;
reportCurrentStream = true;
var ldr:URLLoader = (loader = new URLLoader());
ldr.addEventListener(Event.COMPLETE, onBeaconResponse);
ldr.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent){
});
}
public function get reportCurrentStream():Boolean{
return (_reportCurrentStream);
}
public function set reportCurrentStream(_arg1:Boolean):void{
_reportCurrentStream = _arg1;
}
override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
super.onVideoTimeChanged(_arg1);
var _local2:Number = _arg1.info.time;
if ((((((_local2 > 1)) && (!(isReported)))) && (reportCurrentStream))){
dispatchBeacon();
};
}
private function dispatchBeacon():void{
isReported = true;
var _local1:URLLoader = loader;
var _local2:String = Registery.getInstance().playerConfig.comscoreURL;
if (!_local2){
return;
};
var _local3:URLRequest = new URLRequest(_local2);
_local1.load(_local3);
trace(this, "dispatching beacon:", _local2);
}
private function onBeaconResponse(_arg1:Event):void{
trace(this, "beacon called successfully");
}
}
}//package com.metacafe.reports
Section 180
//IReporter (com.metacafe.reports.IReporter)
package com.metacafe.reports {
public interface IReporter {
function sendReport(_arg1:String, _arg2:Object):void;
}
}//package com.metacafe.reports
Section 181
//ReportNames (com.metacafe.reports.ReportNames)
package com.metacafe.reports {
public class ReportNames {
public static const VIEW_START:String = "viewStart";
public static const VIDEO_VIEW:String = "videoView";
public static const OVERALL_PLAY_TIME:String = "OverallPlayTime";
public static const MEDIA_FILE_PLAY_ERROR:String = "MediaFilePlayError";
}
}//package com.metacafe.reports
Section 182
//TubeMogulReporter (com.metacafe.reports.TubeMogulReporter)
package com.metacafe.reports {
import com.metacafe.video.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import com.metacafe.video.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.base.*;
import com.tubemogul.inplay.*;
import com.metacafe.config.*;
public class TubeMogulReporter extends VideoPlayerModuleBase {
private var _registery:Registery;
private var _playTime:Number;// = 0
private var _playDuration:Number;// = 0
private var _isStopped:Boolean;// = false
private var _displayObject:DisplayObject;
private var _ipStream:Generic_IP;
private var _videoPlayer:VideoPlayer;
private var _reportCurrentStream:Boolean;// = false
public function TubeMogulReporter(_arg1:DisplayObject){
_displayObject = _arg1;
_registery = Registery.getInstance();
init();
}
public function get reportCurrentStream():Boolean{
return (_reportCurrentStream);
}
public function set reportCurrentStream(_arg1:Boolean):void{
_reportCurrentStream = _arg1;
}
public function get videoPlayer():VideoPlayer{
return (_videoPlayer);
}
public function set videoPlayer(_arg1:VideoPlayer):void{
_videoPlayer = _arg1;
}
private function init():void{
var _local1:Registery = _registery;
var _local2:PlayerConfiguration = _local1.playerConfig;
var _local3:Env = _local1.envData;
var _local4:Item = _local1.itemData;
var _local5:User = _local1.userData;
var _local6:String = (_local2.embeddingURL) ? _local2.embeddingURL : (_local3.pageURL) ? _local3.pageURL : "";
var _local7:String = TubeMoguleIDs.getPlayerTypeID(_local2.playerType);
var _local8:String = _local5.nickName;
var _local9:Object = {display:_displayObject, playerID:"P-Y04-TDU", trackerIDs:_local7, defaultBrowserURL:_local6, debugOn:_local2.tmDebugOn};
Generic_IP.startPlayer(_local9);
var _local10:Object = {videoID:_local4.itemID, publisherID:_local8, displayName:unescape(_local4.title), categories:_local4.categories};
var _local11:Generic_IP = (_ipStream = new Generic_IP(_local10));
}
private function getPlayheadPosition():Number{
return (_playTime);
}
private function getBytesLoaded():Number{
var _local2:NetStream;
var _local1:VideoPlayer = videoPlayer;
if (_local1.currentNetStream){
_local2 = _local1.currentNetStream;
return (_local2.bytesLoaded);
};
return (0);
}
private function registerStreamMetadata():void{
var _local6:NetStream;
var _local1:Generic_IP = _ipStream;
var _local2:VideoPlayer = (videoPlayer as VideoPlayer);
var _local3:uint;
var _local4:Object = _local2.metadata;
var _local5:Number = _playTime;
_local4.duration = _local2.duration;
if (_local2.currentNetStream){
_local6 = _local2.currentNetStream;
_local3 = _local6.bytesTotal;
};
_local1.metadataReceived(_local5, _local4, _local3);
}
override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
var _local2:Generic_IP;
var _local3:VideoPlayer;
if ((((((_playDuration == 0)) && ((_arg1.info.duration > 0)))) && (_reportCurrentStream))){
_playDuration = _arg1.info.duration;
registerStreamMetadata();
};
if (_reportCurrentStream){
_local2 = _ipStream;
_local3 = (videoPlayer as VideoPlayer);
_local2.playheadTime = (_playTime = _arg1.info.time);
};
}
override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
if (!_reportCurrentStream){
return;
};
var _local2:String = _arg1.info.state;
var _local3:Generic_IP = _ipStream;
var _local4:Number = _playTime;
var _local5:VideoPlayer = videoPlayer;
var _local6:Number = _local5.seekTime;
switch (_local2){
case StreamStates.STATE_BUFFERING:
_local3.buffering(_local4);
break;
case StreamStates.STATE_PLAYING:
_local3.play(_local4);
break;
case StreamStates.STATE_PAUSED:
_local3.pause(_local4);
break;
case StreamStates.STATE_STOPPED:
_local3.stop(_local4);
_isStopped = true;
_playDuration = 0;
break;
case StreamStates.STATE_SEEKING:
_local3.seek(_local6);
break;
};
}
override public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{
_playDuration = 0;
_playTime = 0;
if (!_reportCurrentStream){
return;
};
var _local2:Registery = _registery;
var _local3:Item = _local2.itemData;
var _local4:Env = _local2.envData;
var _local5:Generic_IP = _ipStream;
var _local6:Number = _playTime;
var _local7:String = (_local3.affiliateID) ? _local4.pageURL : _local3.mediaURL;
_local5.loading(_local6, _local7);
_local5.registerBytesLoadedHandler(getBytesLoaded);
}
}
}//package com.metacafe.reports
Section 183
//VisibleMeasureReporter (com.metacafe.reports.VisibleMeasureReporter)
package com.metacafe.reports {
import com.metacafe.video.events.*;
import com.metacafe.utils.*;
import com.metacafe.dataObjects.*;
import com.metacafe.video.*;
import com.metacafe.base.*;
import com.metacafe.adv.*;
import com.metacafe.config.*;
import com.metacafe.*;
import com.metacafe.portal.*;
import com.vmc.integration.*;
import com.metacafe.social.events.*;
public class VisibleMeasureReporter extends VideoPlayerModuleBase {
private var _isInitialized:Boolean;
private var _registery:Registery;
private var _time:Number;// = 0
private var _duration:Number;// = -1
private var _isStopped:Boolean;// = false
private var _seeking:Boolean;// = false
private var _eventStack:Array;
private var _videoPlayer:IVideoPlayer;
private var _reportCurrentStream:Boolean;// = true
private var _clipInfo:Object;
private var _itemClipInfo:Object;
private var _videoAdClipInfo:Object;
private var _currentPlaybackType:String;
private var _isModuleLoaded:Boolean;
private static var myInstance:VisibleMeasureReporter;
public function VisibleMeasureReporter(_arg1:SingletonLock){
_eventStack = [];
super();
init();
}
public function get reportCurrentStream():Boolean{
return (_reportCurrentStream);
}
public function set reportCurrentStream(_arg1:Boolean):void{
_reportCurrentStream = _arg1;
if (APILoader.getRemoteNode()){
APILoader.getRemoteNode().reset();
};
}
public function get videoPlayer():IVideoPlayer{
return (_videoPlayer);
}
public function set videoPlayer(_arg1:IVideoPlayer):void{
_videoPlayer = _arg1;
}
public function get currentPlaybackType():String{
return (_currentPlaybackType);
}
public function set currentPlaybackType(_arg1:String):void{
_currentPlaybackType = _arg1;
switch (_arg1){
case PlaybackTypes.TYPE_ITEM:
_clipInfo = _itemClipInfo;
break;
case PlaybackTypes.TYPE_PREROLL_VIDEO_AD:
case PlaybackTypes.TYPE_POSTROLL_VIDEO_AD:
_clipInfo = _videoAdClipInfo;
break;
};
trace(this, "currentPlaybackType set to", _arg1);
trace("_clipInfo is now", Debug.dump(_clipInfo));
}
public function set itemMediaURL(_arg1:String):void{
var value = _arg1;
try {
_itemClipInfo.flvSourceUrl = value;
} catch(err:Error) {
};
}
public function get isInitialized():Boolean{
return (_isInitialized);
}
private function init():void{
_isInitialized = true;
var _local1:Registery = (_registery = Registery.getInstance());
var _local2:Item = _local1.itemData;
var _local3:PlayerConfiguration = _local1.playerConfig;
var _local4:Object = _local3.playerVars;
var _local5:Env = _local1.envData;
var _local6 = (_local3.playerType + " Player");
var _local7:String = (_local2.affiliateID) ? (_local2.affiliateID + " Player") : "Metacafe Player";
var _local8:String = (_local3.embeddingURL) ? _local3.embeddingURL : (_local5.pageURL) ? _local5.pageURL : "";
var _local9:Boolean = (_local4) ? _local4.autoPlay : false;
var _local10:Object = {callback:onModuleLoad, accountKey:"be60e5f0b5b611dd89bb0019b9f1584b", target:this, playerInfo:{id:_local6, name:_local7, autoPlay:_local9, hostPage:_local8}, genericTimerInfo:{property:getPlayheadPosition, target:this, units:"seconds"}, APIConfiguration:{SCRUB_FORWARDS_BUFFER:2500}};
APILoader.load(_local10);
trace(this, "-------------------------------------------------------------- init");
}
public function populateItemData():void{
trace(this, "-------------------------------------------------------------- populateItemData");
var _local1:Registery = _registery;
var _local2:Item = _local1.itemData;
var _local3:User = _local1.userData;
var _local4 = (((_local1.envData.staticURL + "/thumb/") + _local2.itemID) + "/0/directors_cut/0/1/thumb.jpg");
_itemClipInfo = {id:_local2.itemID, title:unescape(_local2.title), description:unescape(_local2.description), category:_local3.nickName, tags:_local2.keywords, flvSourceUrl:_local2.mediaURL, thumbnailUrl:_local4};
}
public function populateAdData(_arg1:AdDataDTO=null){
var _local2:Object;
var _local3:String;
trace(this, "-------------------------------------------------------------- populateAdData");
if (_arg1){
if (_arg1.vendorID == AdVendors.METACAFE){
_local2 = _arg1.config;
trace("adVendorData:", Debug.dump(_local2));
if (_local2.type == AdTypes.VIDEO){
_local3 = ((_local2.spot == AdSpots.POSTROLL)) ? VMAdFormats.LINEAR_POSTROLL : VMAdFormats.LINEAR_PREROLL;
_videoAdClipInfo = {assetType:1, adFormat:_local3, id:_local2.bannerid, campaign:_local2.campaignid, flvSourceUrl:_local2.videoAdData.mediaURL};
};
};
};
}
private function onModuleLoad():void{
trace(this, "-------------------------------------------------------------- moduleLoad");
_isModuleLoaded = true;
}
protected function getPlayheadPosition():Number{
return (_time);
}
override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
var remoteNode:Object;
var evt = _arg1;
_time = evt.info.time;
if ((((((((((_duration == -1)) && ((evt.info.duration > 0)))) && (_reportCurrentStream))) && (_isModuleLoaded))) && (APILoader.getRemoteNode()))){
_duration = (evt.info.duration * 1000);
try {
remoteNode = APILoader.getRemoteNode();
remoteNode.clipViewed(_clipInfo);
trace(this, "-----------------clipViewed:", Debug.dump(_clipInfo));
remoteNode.setClipDuration(_duration);
trace(this, "-----------------duration:", _duration);
} catch(err:Error) {
};
};
}
override public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{
_duration = -1;
}
override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{
if (!_reportCurrentStream){
return;
};
var _local2:Number = _time;
var _local3:IVideoPlayer = videoPlayer;
var _local4:Number = _local3.getSeekTime();
var _local5:String = _arg1.info.state;
var _local6:* = APILoader.getRemoteNode();
switch (_local5){
case StreamStates.STATE_PLAYING:
if (_isStopped){
_isStopped = false;
_local5 = "rewind";
_time = 0;
};
break;
case StreamStates.STATE_STOPPED:
_isStopped = true;
break;
case StreamStates.STATE_SEEKING:
if (_seeking){
_seeking = false;
if (_local4 == 0){
_local5 = "rewind";
_time = 0;
};
};
break;
};
if (_local6){
_local6.logCustomEvent(_local5);
};
trace("-------------------------------------------------------------- stateChanged", _local5);
}
override public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{
var _local2:String = _arg1.info.name;
if (_local2 == MediaControlsNames.SEEK){
_seeking = true;
};
}
public function reportSocialEvent(_arg1:String):void{
var _local2:* = APILoader.getRemoteNode();
switch (_arg1){
case PostSocialEvent.EMBED:
_local2.logReferEmbed();
trace("---------------------------- reporting social event:", _arg1);
break;
case PostSocialEvent.SEND_TO_FRIEND:
_local2.logReferEmail();
trace("---------------------------- reporting social event:", _arg1);
break;
};
}
public static function getInstance():VisibleMeasureReporter{
if (!myInstance){
myInstance = new VisibleMeasureReporter(new SingletonLock());
};
return (myInstance);
}
}
}//package com.metacafe.reports
class SingletonLock {
private function SingletonLock(){
}
}
Section 184
//URLValidator (com.metacafe.security.URLValidator)
package com.metacafe.security {
public class URLValidator {
public static const VALID_DOMAINS:Array = ["metacafe.com", "metacafe.co.il", "mcstatic.com", "mccont.com", "products.edgeboss.net"];
public static function validate(_arg1:String=""){
var _local2:RegExp = new RegExp((("^http://((www.|s.|v.|mcqacont.qa.|qacont02.stable.|akvideos.|cdn.|lbc.|rtl.|gdi.|winter.|rtlnojpn.|jpnnortl.)|(.*?.dev.)|(.*?.qa.))?(" + VALID_DOMAINS.join("|")) + ")"));
if (_arg1.match(_local2)){
return (_arg1);
};
trace(("Invalid URL: " + _arg1));
return (null);
}
}
}//package com.metacafe.security
Section 185
//PostSocialEvent (com.metacafe.social.events.PostSocialEvent)
package com.metacafe.social.events {
import flash.events.*;
public class PostSocialEvent extends Event {
public var info:Object;
public static const EMBED:String = "embed";
public static const SEND_TO_FRIEND:String = "sendToFriend";
public function PostSocialEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
this.info = _arg4;
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new PostSocialEvent(type, bubbles, cancelable, info));
}
override public function toString():String{
return (formatToString("PostSocialEvent", "type", "bubbles", "cancelable", "eventPhase", "info"));
}
}
}//package com.metacafe.social.events
Section 186
//SocialContentIDs (com.metacafe.social.SocialContentIDs)
package com.metacafe.social {
public class SocialContentIDs {
public static const EMAIL_TAB:String = "PostSocialEmail";
public static const BOOKMARK_TAB:String = "PostSocialBookmark";
public static const POST_TAB:String = "PostSocialEmbed";
public static const LINK_TAB:String = "PostSocialLink";
public static const PORTAL_SHARE:String = "PortalShare";
}
}//package com.metacafe.social
Section 187
//Data (com.metacafe.utils.Data)
package com.metacafe.utils {
public class Data {
public static function assignDefault(_arg1:Object=null, _arg2:String="", _arg3=null){
var _local4:* = (_arg1.hasOwnProperty(_arg2)) ? _arg1[_arg2] : _arg3;
trace(_arg1, ("." + _arg2), "set to", _local4);
return (_local4);
}
}
}//package com.metacafe.utils
Section 188
//Logger (com.metacafe.utils.Logger)
package com.metacafe.utils {
import flash.net.*;
import com.adobe.serialization.json.*;
public class Logger {
private var _logURL:String;
private static var myInstance:Logger;
public function Logger(_arg1:SingletonLock){
}
public function get logURL():String{
return (_logURL);
}
public function set logURL(_arg1:String):void{
_logURL = _arg1;
}
public function log(_arg1:Object){
if (!_logURL){
return;
};
var _local2:URLVariables = new URLVariables();
_local2.info = JSON.encode(_arg1);
var _local3:URLRequest = new URLRequest(logURL);
_local3.data = _local2;
_local3.method = URLRequestMethod.POST;
new URLLoader().load(_local3);
trace(this, "log(", _local2.info, ")");
}
public static function getInstance():Logger{
if (!myInstance){
myInstance = new Logger(new SingletonLock());
};
return (myInstance);
}
}
}//package com.metacafe.utils
class SingletonLock {
private function SingletonLock(){
}
}
Section 189
//Registery (com.metacafe.utils.Registery)
package com.metacafe.utils {
import com.metacafe.dataObjects.*;
public dynamic class Registery {
private var _itemData:Item;
private var _userData:User;
private var _playerConfig:PlayerConfiguration;
private var _envData:Env;
private var _adData:Advertisement;
private var _dartConfig:DartConfig;
private static var myInstance:Registery;
public function get itemData():Item{
return (_itemData);
}
public function set itemData(_arg1:Item):void{
_itemData = _arg1;
}
public function get userData():User{
return (_userData);
}
public function set userData(_arg1:User):void{
_userData = _arg1;
}
public function get playerConfig():PlayerConfiguration{
return (_playerConfig);
}
public function set playerConfig(_arg1:PlayerConfiguration):void{
_playerConfig = _arg1;
}
public function get envData():Env{
return (_envData);
}
public function set envData(_arg1:Env):void{
_envData = _arg1;
}
public function get adData():Advertisement{
return (_adData);
}
public function set adData(_arg1:Advertisement):void{
_adData = _arg1;
}
public function get dartConfig():DartConfig{
return (_dartConfig);
}
public function set dartConfig(_arg1:DartConfig):void{
_dartConfig = _arg1;
}
public static function getInstance():Registery{
if (!myInstance){
myInstance = new (Registery);
};
return (myInstance);
}
}
}//package com.metacafe.utils
Section 190
//TimeFormat (com.metacafe.utils.TimeFormat)
package com.metacafe.utils {
public class TimeFormat {
public static function formatMinutes(_arg1:Number):String{
var _local2:Number = Math.floor((_arg1 / 60));
_arg1 = (_arg1 % 60);
return (((((_local2) || ("0")) + ":") + addLeadingZero(_arg1)));
}
public static function addLeadingZero(_arg1:Number):String{
var _local2:String = Math.floor(_arg1).toString();
if (_local2.length == 1){
_local2 = ("0" + _local2);
};
return (_local2);
}
}
}//package com.metacafe.utils
Section 191
//StreamEvent (com.metacafe.video.events.StreamEvent)
package com.metacafe.video.events {
import flash.events.*;
public class StreamEvent extends Event {
public var info:Object;
public static const STATE_CHANGED:String = "stateChanged";
public static const METADATA_CHANGED:String = "metadataChanged";
public static const REBUFFERING:String = "reBuffering";
public function StreamEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
this.info = _arg4;
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new StreamEvent(type, bubbles, cancelable, info));
}
override public function toString():String{
return (formatToString("StreamEvent", "type", "bubbles", "cancelable", "eventPhase", "info"));
}
}
}//package com.metacafe.video.events
Section 192
//VideoModelEvent (com.metacafe.video.events.VideoModelEvent)
package com.metacafe.video.events {
import com.metacafe.mvc.events.*;
import flash.events.*;
public class VideoModelEvent extends ModelEvent {
public static const STREAM_CHANGED:String = "streamChanged";
public static const METADATA_CHANGED:String = "metadataChanged";
public static const DURATION_CHANGED:String = "durationChanged";
public static const VIDEO_SEGMENT_CHANGED:String = "videoSegmentChanged";
public static const TIME_CHANGED:String = "timeChanged";
public static const DOWNLOAD_PROGRESS_CHANGED:String = "downloadProgressChanged";
public static const BUFFER_CHANGED:String = "bufferChanged";
public static const SEEKTIME_CHANGED:String = "seektimeChanged";
public static const STATE_CHANGED:String = "stateChanged";
public static const VOLUME_CHANGED:String = "volumeChanged";
public static const MUTE_CHANGED:String = "muteChanged";
public static const VIDEO_SIZE_CHANGED:String = "videoSizeChanged";
public function VideoModelEvent(_arg1:String=""){
super(MODEL_CHANGED);
eventName = _arg1;
}
override public function clone():Event{
return (new VideoModelEvent(eventName));
}
override public function toString():String{
return (formatToString("VideoModelEvent", "type", "bubbles", "cancelable", "eventPhase", "eventName"));
}
}
}//package com.metacafe.video.events
Section 193
//VideoPlayerEvent (com.metacafe.video.events.VideoPlayerEvent)
package com.metacafe.video.events {
import flash.events.*;
public class VideoPlayerEvent extends Event {
public var info:Object;
public static const BUTTON_CLICK:String = "buttonClick";
public static const SLIDER_CHANGED:String = "sliderChanged";
public static const SCREEN_CLICK:String = "screenClick";
public static const SCREEN_DOUBLE_CLICK:String = "screenDoubleClick";
public static const STATE_CHANGED:String = "stateChanged";
public static const STREAM_CHANGED:String = "streamChanged";
public static const TIME_CHANGED:String = "timeChanged";
public static const SEEK_TIME_CHANGED:String = "seekTimeChanged";
public static const STREAM_DOWNLOAD_CHANGED:String = "streamDownloadChanged";
public function VideoPlayerEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){
this.info = _arg4;
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new VideoPlayerEvent(type, bubbles, cancelable, info));
}
override public function toString():String{
return (formatToString("VideoPlayerEvent", "type", "bubbles", "cancelable", "eventPhase", "info"));
}
}
}//package com.metacafe.video.events
Section 194
//AbstractVideoPlayer (com.metacafe.video.AbstractVideoPlayer)
package com.metacafe.video {
import flash.geom.*;
import flash.net.*;
import com.metacafe.base.*;
public class AbstractVideoPlayer extends ResizeableSprite implements IVideoPlayer {
public function registerModule(_arg1:IVideoPlayerModule):void{
}
public function unRegisterModule(_arg1:IVideoPlayerModule):void{
}
public function getState():String{
return ("");
}
public function getTime():Number{
return (0);
}
public function getSeekTime():Number{
return (0);
}
public function getDuration():Number{
return (0);
}
public function getVolume():Number{
return (0);
}
public function getMute():Boolean{
return (false);
}
public function getNetStream():NetStream{
return (new NetStream(null));
}
public function getScreenRect():Rectangle{
return (new Rectangle());
}
public function getVideoRect():Rectangle{
return (new Rectangle());
}
public function setVolume(_arg1:Number):void{
}
public function setMute(_arg1:Boolean):void{
}
public function setStream(_arg1:Stream):void{
}
public function killStream():void{
}
public function play():void{
}
public function pause():void{
}
public function stop():void{
}
public function rewind():void{
}
public function seek(_arg1:Number):void{
}
public function getDownloadProgress():Number{
return (0);
}
public function get mediaControlsEnabled():Boolean{
return (true);
}
public function set mediaControlsEnabled(_arg1:Boolean):void{
}
public function get seekEnabled():Boolean{
return (true);
}
public function set seekEnabled(_arg1:Boolean):void{
}
public function set allowSeekAhead(_arg1:Boolean):void{
}
public function get allowSeekAhead():Boolean{
return (false);
}
}
}//package com.metacafe.video
Section 195
//CuePoint (com.metacafe.video.CuePoint)
package com.metacafe.video {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.base.*;
public class CuePoint extends VideoPlayerModuleBase {
private var _time:Number;
private var _hasTicked:Boolean;
private var _fireOnce:Boolean;
private var _id:String;
public function CuePoint(){
hasTicked = false;
fireOnce = false;
}
public function get time():Number{
return (_time);
}
public function set time(_arg1:Number):void{
_time = _arg1;
}
public function get hasTicked():Boolean{
return (_hasTicked);
}
public function set hasTicked(_arg1:Boolean):void{
_hasTicked = _arg1;
}
public function get id():String{
return (_id);
}
public function set id(_arg1:String):void{
_id = _arg1;
}
public function get fireOnce():Boolean{
return (_fireOnce);
}
public function set fireOnce(_arg1:Boolean):void{
_fireOnce = _arg1;
}
override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{
if ((((_arg1.info.time >= time)) && (!(hasTicked)))){
hasTicked = true;
dispatchEvent(new TimerEvent(TimerEvent.TIMER));
};
}
override public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{
if ((((_arg1.info.seekTime < time)) && (!(fireOnce)))){
hasTicked = false;
};
}
}
}//package com.metacafe.video
Section 196
//IVideoDisplay (com.metacafe.video.IVideoDisplay)
package com.metacafe.video {
import com.metacafe.mvc.*;
import flash.geom.*;
public interface IVideoDisplay extends IView {
function getVideoRect():Rectangle;
function setSize(_arg1:Number, _arg2:Number):void;
}
}//package com.metacafe.video
Section 197
//IVideoPlaybackController (com.metacafe.video.IVideoPlaybackController)
package com.metacafe.video {
public interface IVideoPlaybackController {
function playVideo():void;
function pauseVideo():void;
function stopVideo():void;
function seek(_arg1:Number):void;
function setMediaType(_arg1:String):void;
}
}//package com.metacafe.video
Section 198
//IVideoPlayer (com.metacafe.video.IVideoPlayer)
package com.metacafe.video {
import flash.geom.*;
import flash.net.*;
public interface IVideoPlayer {
function registerModule(_arg1:IVideoPlayerModule):void;
function unRegisterModule(_arg1:IVideoPlayerModule):void;
function getState():String;
function getDownloadProgress():Number;
function getTime():Number;
function getSeekTime():Number;
function getDuration():Number;
function getVolume():Number;
function getMute():Boolean;
function getNetStream():NetStream;
function getScreenRect():Rectangle;
function getVideoRect():Rectangle;
function setVolume(_arg1:Number):void;
function setMute(_arg1:Boolean):void;
function setStream(_arg1:Stream):void;
function killStream():void;
function play():void;
function pause():void;
function stop():void;
function rewind():void;
function seek(_arg1:Number):void;
function get seekEnabled():Boolean;
function set seekEnabled(_arg1:Boolean):void;
function get mediaControlsEnabled():Boolean;
function set mediaControlsEnabled(_arg1:Boolean):void;
}
}//package com.metacafe.video
Section 199
//IVideoPlayerModule (com.metacafe.video.IVideoPlayerModule)
package com.metacafe.video {
import com.metacafe.video.events.*;
public interface IVideoPlayerModule {
function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void;
function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void;
function onVideoStateChanged(_arg1:VideoPlayerEvent):void;
function onVideoTimeChanged(_arg1:VideoPlayerEvent):void;
function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void;
function onVideoStreamChanged(_arg1:VideoPlayerEvent):void;
function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void;
function onScreenClick(_arg1:VideoPlayerEvent):void;
function onScreenDoubleClick(_arg1:VideoPlayerEvent):void;
}
}//package com.metacafe.video
Section 200
//Stream (com.metacafe.video.Stream)
package com.metacafe.video {
import com.metacafe.video.events.*;
import flash.events.*;
import com.metacafe.utils.*;
import flash.geom.*;
import flash.net.*;
import flash.utils.*;
import flash.media.*;
import com.akamai.*;
import flash.external.*;
public class Stream extends EventDispatcher {
private var netConnection:NetConnection;
private var _netStream:AkamaiEnhancedNetStream;
private var _isBufferFlushed:Boolean;
private var _videoSize:Rectangle;
private var isBuffReported:Boolean;
private var _cachedVolume:Number;
private var _jpnEnabled:Boolean;
private var _authKey:String;
private var _initialBuffer:uint;
private var _bitRate:uint;
private var _akState:String;
private var _akPrevState:String;
private var reBufferCount:uint;
private static const BIT_RATE_PARAM:String = "rtl_bitrate";
private static const BUFFER_PARAM:String = "rtl_buffer";
private static const AUTH_KEY_PARAM:String = "__gda__";
public function Stream(_arg1:Boolean=true, _arg2:String="", _arg3:uint=0, _arg4:uint=0){
_jpnEnabled = _arg1;
if (_arg2){
_authKey = _arg2;
};
if (_arg3){
_initialBuffer = _arg3;
};
if (_arg4){
_bitRate = _arg4;
};
trace("new Stream instance!", "jpnEnabled:", _arg1, "authKey:", _arg2, "initialBuffer:", _arg3, "bitRate:", _arg4);
init();
}
public function get state():String{
var _local2:String;
var _local1:AkamaiEnhancedNetStream = _netStream;
akState = _local1.state;
switch (_local1.state){
case _local1.STATE_BUFFERING:
_local2 = StreamStates.STATE_BUFFERING;
break;
case _local1.STATE_PLAYING:
_local2 = StreamStates.STATE_PLAYING;
break;
case _local1.STATE_PAUSED:
_local2 = StreamStates.STATE_PAUSED;
break;
case _local1.STATE_SEEKING:
_local2 = StreamStates.STATE_SEEKING;
break;
case _local1.STATE_STOPPED:
_local2 = StreamStates.STATE_STOPPED;
break;
case _local1.STATE_ENDED:
_local2 = StreamStates.STATE_ENDED;
break;
case _local1.STATE_FAILED:
_local2 = StreamStates.STATE_FILE_NOT_FOUND;
break;
};
return (_local2);
}
public function get width(){
return (_netStream.width);
}
public function get height(){
return (_netStream.height);
}
public function get isBufferFlushed():Boolean{
return (_isBufferFlushed);
}
public function set isBufferFlushed(_arg1:Boolean):void{
_isBufferFlushed = _arg1;
}
public function get bytesLoaded():uint{
return (_netStream.bytesLoaded);
}
public function get bytesTotal():uint{
return (_netStream.bytesTotal);
}
public function get segmentLoadRatio(){
return (_netStream.segmentLoadRatio);
}
public function get time():Number{
return (_netStream.time);
}
public function get bufferTime():Number{
return (_netStream.bufferTime);
}
public function get bufferLength():Number{
return (_netStream.bufferLength);
}
public function get volume():Number{
return (_netStream.soundTransform.volume);
}
public function set volume(_arg1:Number):void{
var _local2:SoundTransform = new SoundTransform();
_local2.volume = (cachedVolume = _arg1);
_netStream.soundTransform = _local2;
}
public function get netStream():NetStream{
return ((_netStream as NetStream));
}
public function get duration():Number{
return (_netStream.duration);
}
public function get segmentStartTime():Number{
return (_netStream.segmentStartTime);
}
public function get segmentDuration():Number{
return (_netStream.segmentDuration);
}
public function get videoSize():Rectangle{
return (_videoSize);
}
public function set videoSize(_arg1:Rectangle):void{
_videoSize = _arg1;
}
public function get cachedVolume():Number{
return (_cachedVolume);
}
public function set cachedVolume(_arg1:Number):void{
_cachedVolume = _arg1;
}
public function get akState():String{
return (_akState);
}
public function set akState(_arg1:String):void{
akPrevState = _akState;
_akState = _arg1;
var _local2:AkamaiEnhancedNetStream = _netStream;
if ((((((_local2.time > 1)) && ((_arg1 == _local2.STATE_BUFFERING)))) && ((akPrevState == _local2.STATE_PLAYING)))){
dispatchEvent(new StreamEvent(StreamEvent.REBUFFERING, false, false, {count:++reBufferCount}));
};
}
public function get akPrevState():String{
return (_akPrevState);
}
public function set akPrevState(_arg1:String):void{
_akPrevState = _arg1;
}
private function init(){
isBufferFlushed = false;
reBufferCount = 0;
var _local1:NetConnection = (netConnection = new NetConnection());
_local1.connect(null);
var _local2:AkamaiEnhancedNetStream = (_netStream = new AkamaiEnhancedNetStream(_local1));
_local2.checkPolicyFile = true;
_akState = _local2.state;
_local2.jpnEnabled = _jpnEnabled;
_local2.client = this;
_local2.addEventListener(NetStatusEvent.NET_STATUS, handleNetStatus);
_local2.addEventListener("stateChange", handleStateChange);
_local2.bufferTime = 2;
}
public function play(_arg1:String){
var _local4:String;
isBufferFlushed = false;
var _local2:Object = {};
if (_authKey){
_local2[AUTH_KEY_PARAM] = _authKey;
};
if (_initialBuffer > 0){
_local2[BUFFER_PARAM] = _initialBuffer;
};
if (_bitRate > 0){
_local2[BIT_RATE_PARAM] = _bitRate;
};
var _local3:Array = [];
for (_local4 in _local2) {
_local3.push(((_local4 + "=") + _local2[_local4]));
};
if (_local3.length){
_arg1 = (_arg1 + ("?" + _local3.join("&")));
};
_netStream.play(_arg1);
var _local5:Logger = Logger.getInstance();
_local5.log({scope:this.toString(), message:("Requesting " + _arg1)});
}
public function stop(){
_netStream.close();
netConnection.close();
}
public function pause(){
_netStream.pause();
}
public function resume(){
_netStream.resume();
}
public function seek(_arg1:Number){
_netStream.seek(_arg1);
}
public function close(){
_netStream.close();
netConnection.close();
}
private function handleNetStatus(_arg1:NetStatusEvent):void{
var e = _arg1;
var code:String = e.info.code;
var lgr:Logger = Logger.getInstance();
switch (code){
case "NetStream.Play.Stop":
lgr.log({scope:this.toString(), message:"Video stopped"});
break;
case "NetStream.Play.Start":
if (!isBuffReported){
lgr.log({scope:this.toString(), message:"Initial buffering started"});
try {
ExternalInterface.call("fpOnBufferStart");
trace(this, "fpOnBufferStart called", getTimer());
} catch(e:Error) {
trace(e);
};
};
break;
case "NetStream.Buffer.Full":
if (!isBuffReported){
lgr.log({scope:this.toString(), message:"Initial buffering complete"});
try {
ExternalInterface.call("fpOnBufferFull");
ExternalInterface.call("fpStartPlay2");
ExternalInterface.call("kpi.addReport", {name:"VideoPlayerBuffer", value:getTimer()});
trace(this, "fpOnBufferFull called", getTimer());
trace(this, "fpStartPlay2 called", getTimer());
isBuffReported = true;
} catch(e:Error) {
trace(e);
};
};
volume = cachedVolume;
break;
case "NetStream.Buffer.Flush":
isBufferFlushed = true;
break;
case "NetStream.Buffer.Empty":
if (isBufferFlushed){
lgr.log({scope:this.toString(), message:"Video complete"});
dispatchEvent(new StreamEvent(StreamEvent.STATE_CHANGED, false, false, StreamStates.STATE_ENDED));
};
break;
case "NetStream.Play.StreamNotFound":
lgr.log({scope:this.toString(), message:"Video not found", type:"ERROR"});
break;
};
}
private function handleStateChange(_arg1:NetStatusEvent):void{
dispatchEvent(new StreamEvent(StreamEvent.STATE_CHANGED, false, false, state));
}
public function onMetaData(_arg1:Object){
var _local4:String;
var _local2:Number = _arg1.width;
var _local3:Number = _arg1.height;
for (_local4 in _arg1) {
trace(_local4, ":", _arg1[_local4]);
};
videoSize = new Rectangle(0, 0, _local2, _local3);
dispatchEvent(new StreamEvent(StreamEvent.METADATA_CHANGED, false, false, _arg1));
}
private function myTrace(_arg1:Object){
trace(((this + ":: ") + _arg1));
}
}
}//package com.metacafe.video
Section 201
//StreamStates (com.metacafe.video.StreamStates)
package com.metacafe.video {
public class StreamStates {
public static const STATE_WAITING:String = "waiting";
public static const STATE_BUFFERING:String = "buffering";
public static const STATE_PLAYING:String = "playing";
public static const STATE_PAUSED:String = "paused";
public static const STATE_STOPPED:String = "stopped";
public static const STATE_ENDED:String = "ended";
public static const STATE_SEEKING:String = "seeking";
public static const STATE_FILE_NOT_FOUND:String = "fileNotFound";
}
}//package com.metacafe.video
Section 202
//StreamView (com.metacafe.video.StreamView)
package com.metacafe.video {
import com.metacafe.video.events.*;
import com.metacafe.mvc.*;
import com.metacafe.mvc.events.*;
import flash.events.*;
import com.metacafe.dataObjects.*;
import flash.geom.*;
import flash.utils.*;
public class StreamView extends View implements IView {
private var _stream:Stream;
private var timeUpdateTimer:Timer;
private var bufferUpdateTimer:Timer;
private var progressUpdateTimer:Timer;
public function StreamView(_arg1:IController, _arg2:IModel){
super(_arg1, _arg2);
init();
}
public function get stream():Stream{
return (_stream);
}
public function set stream(_arg1:Stream):void{
_stream = _arg1;
}
public function get isStreamDownloadComplete(){
var _local1:Stream = stream;
return ((((((((_local1.bytesLoaded > 0)) && ((_local1.bytesTotal > 0)))) && ((_local1.bytesLoaded == _local1.bytesTotal)))) || ((_local1.segmentLoadRatio == 1))));
}
private function init():void{
var _local1:Timer = (timeUpdateTimer = new Timer(1000, 0));
_local1.addEventListener(TimerEvent.TIMER, sendTimeUpdate);
var _local2:Timer = (bufferUpdateTimer = new Timer(250, 0));
_local2.addEventListener(TimerEvent.TIMER, sendBufferUpdate);
var _local3:Timer = (progressUpdateTimer = new Timer(1000, 0));
_local3.addEventListener(TimerEvent.TIMER, sendProgressUpdate);
}
override public function setController(_arg1:IController):void{
controller = (_arg1 as VideoController);
}
override public function setModel(_arg1:IModel):void{
model = (_arg1 as VideoModel);
_arg1.addView(this);
}
public function registerStream(_arg1:Stream):void{
stream = _arg1;
var _local2:VideoModel = (model as VideoModel);
var _local3:Number = (_local2.isMute) ? 0 : _local2.volume;
_arg1.volume = _local3;
trace(this, "set the stream volume to", _local3);
_arg1.addEventListener(StreamEvent.STATE_CHANGED, onStreamStateChange);
_arg1.addEventListener(StreamEvent.METADATA_CHANGED, onStreamMetadataChange);
var _local4:VideoController = (controller as VideoController);
_local4.setStream(_arg1);
if (_arg1.duration){
_local4.setDuration(_arg1.duration);
};
if (_arg1.videoSize){
_local4.setVideoSize(_arg1.videoSize);
};
}
public function killStream(){
var strm:Stream;
var ctrl:VideoController;
try {
strm = stream;
strm.removeEventListener(StreamEvent.STATE_CHANGED, onStreamStateChange);
strm.removeEventListener(StreamEvent.METADATA_CHANGED, onStreamMetadataChange);
strm.close();
ctrl = (controller as VideoController);
ctrl.unSetStream();
} catch(err:Error) {
};
}
private function onStreamMetadataChange(_arg1:StreamEvent):void{
var _local2:Number = stream.duration;
var _local3:Number = stream.segmentStartTime;
var _local4:Number = stream.segmentDuration;
var _local5:Number = stream.width;
var _local6:Number = stream.height;
var _local7:VideoController = (controller as VideoController);
_local7.setVideoSize(new Rectangle(0, 0, _local5, _local6));
_local7.setDuration(_local2);
_local7.setVideoSegmentData(new VideoSegment(_local3, _local4));
_local7.setMetadata(_arg1.info);
}
private function onStreamStateChange(_arg1:StreamEvent):void{
var _local2:VideoController = (controller as VideoController);
_local2.setState(_arg1.info.toString());
}
override public function modelChanged(_arg1:ModelEvent):void{
var _local4:VideoModel;
var _local9:String;
var _local10:Timer;
super.modelChanged(_arg1);
var _local2:VideoController = (controller as VideoController);
var _local3:VideoModelEvent = (_arg1 as VideoModelEvent);
_local4 = (_local3.target as VideoModel);
var _local5:String = _local3.eventName;
var _local6:Stream = stream;
var _local7:Timer = timeUpdateTimer;
var _local8:Timer = bufferUpdateTimer;
switch (_local5){
case VideoModelEvent.STATE_CHANGED:
_local7.stop();
_local8.stop();
_local9 = _local4.state;
switch (_local9){
case StreamStates.STATE_WAITING:
break;
case StreamStates.STATE_BUFFERING:
_local8.start();
break;
case StreamStates.STATE_PLAYING:
_local8.stop();
_local7.start();
_local6.resume();
break;
case StreamStates.STATE_SEEKING:
break;
case StreamStates.STATE_PAUSED:
_local6.pause();
break;
case StreamStates.STATE_STOPPED:
_local6.stop();
break;
};
break;
case VideoModelEvent.STREAM_CHANGED:
_local10 = progressUpdateTimer;
if (!isStreamDownloadComplete){
_local10.start();
};
_local6.volume = (_local4.isMute) ? 0 : _local4.volume;
break;
case VideoModelEvent.SEEKTIME_CHANGED:
_local6.seek(_local4.seekTime);
break;
case VideoModelEvent.VOLUME_CHANGED:
_local6.volume = _local4.volume;
break;
case VideoModelEvent.MUTE_CHANGED:
if (!_local4.isMute){
_local6.volume = _local4.volume;
};
break;
case VideoModelEvent.DURATION_CHANGED:
break;
};
}
private function sendTimeUpdate(_arg1:TimerEvent):void{
var _local2:VideoController = (controller as VideoController);
var _local3:Stream = stream;
_local2.setTime(_local3.time);
}
private function sendBufferUpdate(_arg1:TimerEvent):void{
var _local2:VideoController = (controller as VideoController);
var _local3:Stream = stream;
_local2.setBuffer((_local3.bufferLength / _local3.bufferTime));
}
private function sendProgressUpdate(_arg1:TimerEvent):void{
var _local2:VideoController = (controller as VideoController);
var _local3:Stream = stream;
var _local4:Number = _local3.segmentLoadRatio;
_local2.setDownloadProgress(_local4);
if (isStreamDownloadComplete){
progressUpdateTimer.stop();
};
}
}
}//package com.metacafe.video
Section 203
//VideoController (com.metacafe.video.VideoController)
package com.metacafe.video {
import com.metacafe.mvc.*;
import com.metacafe.dataObjects.*;
import flash.geom.*;
import flash.net.*;
public class VideoController extends Controller {
public function VideoController(_arg1:IModel=null){
super(_arg1);
}
override public function setModel(_arg1:IModel):void{
model = (_arg1 as Model);
var _local2:SharedObject = SharedObject.getLocal("vpPrefs", "/");
var _local3:Object = _local2.data;
if (_local3.volume){
setVolume(_local3.volume);
};
if (_local3.isMute){
setMute(true);
};
}
public function setAllowSeekAhead(_arg1:Boolean){
var _local2:VideoModel = (model as VideoModel);
_local2.allowSeekAhead = _arg1;
}
public function play(){
var _local1:VideoModel = (model as VideoModel);
_local1.state = StreamStates.STATE_PLAYING;
_local1.isPlaying = true;
_local1.isPaused = false;
}
public function pause(){
var _local1:VideoModel = (model as VideoModel);
_local1.state = StreamStates.STATE_PAUSED;
_local1.isPlaying = false;
_local1.isPaused = true;
}
public function stop(){
var _local1:VideoModel = (model as VideoModel);
_local1.state = StreamStates.STATE_STOPPED;
}
public function replay(){
}
public function seek(_arg1:Number){
var _local2:VideoModel = (model as VideoModel);
var _local3:Number = _local2.duration;
_local2.seekTime = (_arg1 * _local3);
}
public function setVideoSegmentData(_arg1:VideoSegment){
var _local2:VideoModel = (model as VideoModel);
_local2.videoSegmentData = _arg1;
}
public function setStream(_arg1:Stream):void{
var _local2:VideoModel = (model as VideoModel);
_arg1.volume = (_local2.isMute) ? 0 : _local2.volume;
_local2.stream = _arg1;
}
public function unSetStream():void{
var _local1:VideoModel = (model as VideoModel);
_local1.stream = new Stream();
}
public function setMetadata(_arg1:Object):void{
var _local2:VideoModel = (model as VideoModel);
_local2.metadata = _arg1;
}
public function setDuration(_arg1:Number):void{
var _local2:VideoModel = (model as VideoModel);
_local2.duration = _arg1;
}
public function setVideoSize(_arg1:Rectangle):void{
var _local2:VideoModel = (model as VideoModel);
_local2.videoSize = _arg1;
}
public function setState(_arg1:String):void{
var _local2:VideoModel = (model as VideoModel);
_local2.state = _arg1;
}
public function setCachedState(_arg1:String):void{
var _local2:VideoModel = (model as VideoModel);
_local2.cachedState = _arg1;
}
public function setTime(_arg1:Number):void{
var _local2:VideoModel = (model as VideoModel);
_local2.time = _arg1;
}
public function setBuffer(_arg1:Number):void{
var _local2:VideoModel = (model as VideoModel);
_local2.buffer = _arg1;
}
public function setDownloadProgress(_arg1:Number):void{
var _local2:VideoModel = (model as VideoModel);
_local2.downloadProgress = _arg1;
}
public function setVolume(_arg1:Number):void{
var _local2:VideoModel = (model as VideoModel);
_local2.volume = _arg1;
if ((((_arg1 > 0)) && (_local2.isMute))){
setMute(false);
};
}
public function toggleMute():void{
var _local1:VideoModel = (model as VideoModel);
_local1.isMute = !(_local1.isMute);
}
public function setMute(_arg1:Boolean):void{
var _local2:VideoModel = (model as VideoModel);
_local2.isMute = _arg1;
}
}
}//package com.metacafe.video
Section 204
//VideoDisplay (com.metacafe.video.VideoDisplay)
package com.metacafe.video {
import com.metacafe.video.events.*;
import com.metacafe.mvc.*;
import com.metacafe.mvc.events.*;
import gs.*;
import flash.geom.*;
import flash.net.*;
import flash.media.*;
public class VideoDisplay extends ResizeableSpriteView implements IVideoDisplay {
private var screen:Video;
private var pauseIndicator:PauseIndicator;
public function VideoDisplay(_arg1:IController, _arg2:IModel){
super(_arg1, _arg2);
var _local3:Video = (screen = new Video());
_local3.smoothing = true;
addChild(_local3);
var _local4:PauseIndicator = (pauseIndicator = new PauseIndicator());
_local4.alpha = 0;
_local4.visible = false;
addChild(_local4);
}
public function get videoRect():Rectangle{
var _local1:Video = screen;
return (new Rectangle(_local1.x, _local1.y, _local1.width, _local1.height));
}
override public function modelChanged(_arg1:ModelEvent):void{
var _local2:VideoModel;
var _local6:Stream;
var _local7:NetStream;
var _local8:Video;
_arg1 = (_arg1 as VideoModelEvent);
_local2 = (_arg1.target as VideoModel);
var _local3:String = _arg1.eventName;
var _local4:PauseIndicator = pauseIndicator;
var _local5:String = _local2.state;
switch (_local3){
case VideoModelEvent.VIDEO_SIZE_CHANGED:
size();
break;
case VideoModelEvent.STREAM_CHANGED:
_local6 = _local2.stream;
_local7 = _local6.netStream;
_local8 = screen;
_local8.attachNetStream(_local7);
break;
case VideoModelEvent.STATE_CHANGED:
switch (_local5){
case StreamStates.STATE_PAUSED:
TweenLite.to(_local4, 0.25, {autoAlpha:1});
break;
default:
if (_local4.alpha > 0){
TweenLite.to(_local4, 0.25, {autoAlpha:0});
};
};
break;
case VideoModelEvent.TIME_CHANGED:
if (((!((_local5 == StreamStates.STATE_PAUSED))) && (_local4.visible))){
TweenLite.to(_local4, 0.25, {autoAlpha:0});
};
break;
};
}
override protected function size():void{
var _local1:Number = width;
var _local2:Number = height;
var _local3:Video = screen;
var _local4:PauseIndicator = pauseIndicator;
var _local5:VideoModel = (model as VideoModel);
var _local6:Rectangle = _local5.videoSize;
var _local7:Number = ((((_local6.width) || (_local3.videoWidth))) || (4));
var _local8:Number = ((((_local6.height) || (_local3.videoHeight))) || (3));
var _local9:Number = (_local1 / _local2);
var _local10:Number = (_local7 / _local8);
if (_local9 >= _local10){
_local3.height = _local2;
_local3.width = (_local2 * _local10);
_local3.x = ((_local1 - _local3.width) / 2);
_local3.y = 0;
} else {
_local3.width = _local1;
_local3.height = (_local1 / _local10);
_local3.x = 0;
_local3.y = ((_local2 - _local3.height) / 2);
};
_local4.x = ((_local1 - _local4.width) / 2);
_local4.y = ((_local2 - _local4.height) / 2);
}
public function getVideoRect():Rectangle{
return (videoRect);
}
}
}//package com.metacafe.video
Section 205
//VideoModel (com.metacafe.video.VideoModel)
package com.metacafe.video {
import com.metacafe.video.events.*;
import com.metacafe.mvc.*;
import com.metacafe.dataObjects.*;
import flash.geom.*;
public class VideoModel extends Model implements IModel {
private var _stream:Stream;
private var _state:String;
private var _cachedState:String;
private var _videoSize:Rectangle;
private var _duration:Number;
private var _videoSegmentData:VideoSegment;
private var _time:Number;
private var _seekTime:Number;
private var _buffer:Number;
private var _downloadProgress:Number;
private var _volume:Number;
private var _isMute:Boolean;
private var _isPlaying:Boolean;
private var _isPaused:Boolean;
private var _allowSeekAhead:Boolean;
private var _metadata:Object;
public function VideoModel(){
_stream = null;
_metadata = {};
_videoSegmentData = new VideoSegment();
_state = (_cachedState = StreamStates.STATE_WAITING);
_videoSize = new Rectangle(0, 0, 0, 0);
_duration = 0;
_time = 0;
_seekTime = 0;
_buffer = 0;
_downloadProgress = 0;
_volume = 1;
_isMute = false;
_allowSeekAhead = false;
}
public function get state():String{
return (_state);
}
public function set state(_arg1:String):void{
if (_arg1 == _state){
return;
};
_state = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.STATE_CHANGED));
}
public function get cachedState():String{
return (_cachedState);
}
public function set cachedState(_arg1:String):void{
_cachedState = _arg1;
}
public function get isPlaying():Boolean{
return (_isPlaying);
}
public function set isPlaying(_arg1:Boolean):void{
_isPlaying = _arg1;
}
public function get isPaused():Boolean{
return (_isPaused);
}
public function set isPaused(_arg1:Boolean):void{
_isPaused = _arg1;
}
public function get videoSize():Rectangle{
return (_videoSize);
}
public function set videoSize(_arg1:Rectangle):void{
_videoSize = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.VIDEO_SIZE_CHANGED));
}
public function get duration():Number{
return (_duration);
}
public function set duration(_arg1:Number):void{
if (_arg1 == duration){
return;
};
_duration = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.DURATION_CHANGED));
}
public function get videoSegmentData():VideoSegment{
return (_videoSegmentData);
}
public function set videoSegmentData(_arg1:VideoSegment):void{
_videoSegmentData = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.VIDEO_SEGMENT_CHANGED));
}
public function get stream():Stream{
return (_stream);
}
public function set stream(_arg1:Stream):void{
if (_arg1 == _stream){
return;
};
_stream = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.STREAM_CHANGED));
}
public function get time():Number{
return (_time);
}
public function set time(_arg1:Number):void{
_time = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.TIME_CHANGED));
}
public function get buffer():Number{
return (_buffer);
}
public function set buffer(_arg1:Number):void{
_buffer = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.BUFFER_CHANGED));
}
public function get downloadProgress():Number{
return (_downloadProgress);
}
public function set downloadProgress(_arg1:Number):void{
_downloadProgress = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.DOWNLOAD_PROGRESS_CHANGED));
}
public function get seekTime():Number{
return (_seekTime);
}
public function set seekTime(_arg1:Number):void{
_seekTime = (allowSeekAhead) ? _arg1 : Math.min(_arg1, (duration * downloadProgress));
dispatchEvent(new VideoModelEvent(VideoModelEvent.SEEKTIME_CHANGED));
}
public function get volume():Number{
return (_volume);
}
public function set volume(_arg1:Number):void{
if (_arg1 == _volume){
return;
};
_volume = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.VOLUME_CHANGED));
}
public function get isMute():Boolean{
return (_isMute);
}
public function set isMute(_arg1:Boolean):void{
if (_arg1 == _isMute){
return;
};
_isMute = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.MUTE_CHANGED));
}
public function get allowSeekAhead():Boolean{
return (_allowSeekAhead);
}
public function set allowSeekAhead(_arg1:Boolean):void{
_allowSeekAhead = _arg1;
}
public function get metadata():Object{
return (_metadata);
}
public function set metadata(_arg1:Object):void{
_metadata = _arg1;
dispatchEvent(new VideoModelEvent(VideoModelEvent.METADATA_CHANGED));
}
}
}//package com.metacafe.video
Section 206
//VideoPlayer (com.metacafe.video.VideoPlayer)
package com.metacafe.video {
import com.metacafe.video.events.*;
import com.metacafe.mvc.events.*;
import flash.events.*;
import flash.geom.*;
import com.greensock.*;
import flash.net.*;
import flash.display.*;
import com.metacafe.gui.*;
import com.metacafe.config.*;
import com.greensock.plugins.*;
import com.metacafe.gui.shapes.*;
public class VideoPlayer extends AbstractVideoPlayer implements IVideoPlayer {
protected var model:VideoModel;
protected var controller:VideoController;
private var streamView:StreamView;
protected var background:Rect;
protected var videoDisplay:IVideoDisplay;
protected var mediaControls:IMediaControls;
protected var screenButton:Sprite;
protected var _screenRect:Rectangle;
protected var _mediaControlsVisible:Boolean;
protected var _mediaControlsPlacement:String;
protected var _mediaControlsTransitionType:String;// = "fade"
public function VideoPlayer(){
TweenPlugin.activate([AutoAlphaPlugin]);
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
override public function get mediaControlsEnabled():Boolean{
return (mediaControls.enabled);
}
override public function set mediaControlsEnabled(_arg1:Boolean):void{
mediaControls.enabled = _arg1;
}
override public function get allowSeekAhead():Boolean{
return (model.allowSeekAhead);
}
override public function set allowSeekAhead(_arg1:Boolean):void{
controller.setAllowSeekAhead(_arg1);
}
override public function get seekEnabled():Boolean{
return (mediaControls.seekEnabled);
}
override public function set seekEnabled(_arg1:Boolean):void{
mediaControls.seekEnabled = _arg1;
}
public function get volumeEnabled():Boolean{
return (mediaControls.volumeEnabled);
}
public function set volumeEnabled(_arg1:Boolean):void{
mediaControls.volumeEnabled = _arg1;
}
public function get fullScreenEnabled():Boolean{
return (mediaControls.fullScreenEnabled);
}
public function set fullScreenEnabled(_arg1:Boolean):void{
mediaControls.fullScreenEnabled = _arg1;
}
public function get mediaControlsHeight():Number{
var _local1:Number = 0;
if (mediaControls){
_local1 = mediaControls.height;
};
return (_local1);
}
public function get metadata():Object{
return (model.metadata);
}
public function get state():String{
return (model.state);
}
public function get duration():Number{
return (model.duration);
}
public function get time():Number{
return (model.time);
}
public function get downloadProgress():Number{
return (model.downloadProgress);
}
public function get isMute():Boolean{
return (model.isMute);
}
public function get volume():Number{
return (model.volume);
}
public function set volume(_arg1:Number):void{
controller.setVolume(_arg1);
}
public function get seekTime():Number{
return (model.seekTime);
}
public function get currentNetStream():NetStream{
var _local1:NetStream;
if (((streamView) && (streamView.stream))){
_local1 = streamView.stream.netStream;
};
return (_local1);
}
public function get screenRect():Rectangle{
return (_screenRect);
}
public function get videoRect():Rectangle{
return (videoDisplay.getVideoRect());
}
public function get mediaControlsVisible():Boolean{
return (_mediaControlsVisible);
}
public function set mediaControlsVisible(_arg1:Boolean):void{
_mediaControlsVisible = _arg1;
setMediaControlsVisible();
}
public function get mediaControlsPlacement():String{
return (_mediaControlsPlacement);
}
public function set mediaControlsPlacement(_arg1:String):void{
var value = _arg1;
_mediaControlsPlacement = value;
try {
mediaControls.placement = value;
} catch(err:Error) {
};
}
public function get mediaControlsTransitionType():String{
return (_mediaControlsTransitionType);
}
public function set mediaControlsTransitionType(_arg1:String):void{
_mediaControlsTransitionType = _arg1;
}
private function onAddedToStage(_arg1:Event):void{
loaderInfo.addEventListener(Event.UNLOAD, onUnLoad);
init();
}
protected function init(){
var _local1:VideoModel = (model = new VideoModel());
_local1.addEventListener(ModelEvent.MODEL_CHANGED, onVideoModelChanged);
var _local2:VideoController = (controller = new VideoController(_local1));
setMediaControlsPlacement();
var _local3:Rect = (background = new Rect());
addChild(_local3);
initViews();
initScreenButton();
_screenRect = new Rectangle();
_mediaControlsVisible = true;
}
protected function initScreenButton():void{
var _local1:Sprite = (screenButton = new Sprite());
addChild(_local1);
_local1.buttonMode = (_local1.useHandCursor = true);
var _local2:Graphics = _local1.graphics;
_local2.beginFill(0, 0);
_local2.drawRect(0, 0, 100, 100);
_local2.endFill();
_local1.name = MediaControlsNames.SCREEN;
_local1.doubleClickEnabled = true;
_local1.addEventListener(MouseEvent.CLICK, onScreenClick);
_local1.addEventListener(MouseEvent.DOUBLE_CLICK, onScreenDoubleClick);
_local1.visible = false;
}
protected function onUnLoad(_arg1:Event):void{
killStream();
}
protected function initViews(){
var _local1:VideoModel = model;
var _local2:VideoController = controller;
var _local3:IVideoDisplay = (videoDisplay = new VideoDisplay(_local2, _local1));
addChild(VideoDisplay(_local3));
var _local4:StreamView = (streamView = new StreamView(_local2, _local1));
}
public function setMediaControlsPlacement(_arg1:String="external"):void{
mediaControlsPlacement = _arg1;
}
public function setMediaControls(_arg1:IMediaControls){
mediaControls = _arg1;
_arg1.setController(controller);
_arg1.setModel(model);
_arg1.addEventListener(MouseEvent.CLICK, onMediaControlsButtonClick);
_arg1.addEventListener(Event.CHANGE, onMediaControlsSliderChanged);
}
override public function setStream(_arg1:Stream):void{
if (mediaControls){
mediaControls.resetSeek();
};
var _local2:StreamView = streamView;
_local2.registerStream(_arg1);
}
override public function killStream():void{
var _local1:StreamView = streamView;
_local1.killStream();
}
override public function registerModule(_arg1:IVideoPlayerModule):void{
addEventListener(VideoPlayerEvent.BUTTON_CLICK, _arg1.onMediaControlsButtonClick);
addEventListener(VideoPlayerEvent.SCREEN_CLICK, _arg1.onScreenClick);
addEventListener(VideoPlayerEvent.SCREEN_DOUBLE_CLICK, _arg1.onScreenDoubleClick);
addEventListener(VideoPlayerEvent.SLIDER_CHANGED, _arg1.onMediaControlsSliderChanged);
addEventListener(VideoPlayerEvent.STATE_CHANGED, _arg1.onVideoStateChanged);
addEventListener(VideoPlayerEvent.TIME_CHANGED, _arg1.onVideoTimeChanged);
addEventListener(VideoPlayerEvent.SEEK_TIME_CHANGED, _arg1.onVideoSeekTimeChanged);
addEventListener(VideoPlayerEvent.STREAM_CHANGED, _arg1.onVideoStreamChanged);
addEventListener(VideoPlayerEvent.STREAM_DOWNLOAD_CHANGED, _arg1.onVideoStreamDownloadChanged);
}
override public function unRegisterModule(_arg1:IVideoPlayerModule):void{
removeEventListener(VideoPlayerEvent.BUTTON_CLICK, _arg1.onMediaControlsButtonClick);
removeEventListener(VideoPlayerEvent.SCREEN_CLICK, _arg1.onScreenClick);
removeEventListener(VideoPlayerEvent.SCREEN_DOUBLE_CLICK, _arg1.onScreenDoubleClick);
removeEventListener(VideoPlayerEvent.SLIDER_CHANGED, _arg1.onMediaControlsSliderChanged);
removeEventListener(VideoPlayerEvent.STATE_CHANGED, _arg1.onVideoStateChanged);
removeEventListener(VideoPlayerEvent.TIME_CHANGED, _arg1.onVideoTimeChanged);
removeEventListener(VideoPlayerEvent.SEEK_TIME_CHANGED, _arg1.onVideoSeekTimeChanged);
removeEventListener(VideoPlayerEvent.STREAM_CHANGED, _arg1.onVideoStreamChanged);
removeEventListener(VideoPlayerEvent.STREAM_DOWNLOAD_CHANGED, _arg1.onVideoStreamDownloadChanged);
}
override public function play():void{
controller.play();
}
override public function pause():void{
controller.pause();
}
override public function stop():void{
controller.stop();
}
override public function rewind():void{
controller.seek(0);
}
override public function seek(_arg1:Number):void{
controller.seek(_arg1);
}
override public function setMute(_arg1:Boolean):void{
controller.setMute(_arg1);
}
override public function getState():String{
return (state);
}
override public function getTime():Number{
return (time);
}
override public function getSeekTime():Number{
return (seekTime);
}
override public function getDuration():Number{
return (duration);
}
override public function getVolume():Number{
return (volume);
}
override public function setVolume(_arg1:Number):void{
volume = _arg1;
}
override public function getNetStream():NetStream{
return (currentNetStream);
}
override public function getScreenRect():Rectangle{
return (screenRect);
}
override public function getVideoRect():Rectangle{
return (videoRect);
}
override public function getDownloadProgress():Number{
var value:Number = 0;
try {
value = (currentNetStream.bytesLoaded / currentNetStream.bytesTotal);
} catch(err:Error) {
};
return (value);
}
protected function onScreenDoubleClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SCREEN_DOUBLE_CLICK));
}
protected function onScreenClick(_arg1:MouseEvent):void{
_arg1.stopPropagation();
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SCREEN_CLICK, false, false, {x:_arg1.stageX, y:_arg1.stageY}));
}
protected function onVideoModelChanged(_arg1:ModelEvent):void{
var _local4:Sprite;
var _local2:VideoModel = (_arg1.target as VideoModel);
var _local3:String = _arg1.eventName;
switch (_local3){
case VideoModelEvent.STATE_CHANGED:
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.STATE_CHANGED, false, false, {state:_local2.state}));
_local4 = screenButton;
switch (_local2.state){
case StreamStates.STATE_ENDED:
case StreamStates.STATE_FILE_NOT_FOUND:
case StreamStates.STATE_STOPPED:
if (_local4){
_local4.visible = false;
};
break;
default:
if (_local4){
_local4.visible = true;
};
};
break;
case VideoModelEvent.TIME_CHANGED:
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.TIME_CHANGED, false, false, {time:_local2.time, duration:_local2.duration}));
break;
case VideoModelEvent.SEEKTIME_CHANGED:
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SEEK_TIME_CHANGED, false, false, {seekTime:_local2.seekTime, time:_local2.time, duration:_local2.duration}));
break;
case VideoModelEvent.STREAM_CHANGED:
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.STREAM_CHANGED, false, false, {stream:_local2.stream}));
break;
case VideoModelEvent.DOWNLOAD_PROGRESS_CHANGED:
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.STREAM_DOWNLOAD_CHANGED, false, false, {progress:_local2.downloadProgress}));
break;
};
}
protected function onMediaControlsSliderChanged(_arg1:Event):void{
_arg1.stopPropagation();
var _local2:* = _arg1.target;
var _local3:String = _local2.name;
var _local4:* = ((_local2 is IVolumeUnit)) ? _local2.volume : _local2.value;
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SLIDER_CHANGED, false, false, {name:_local3, value:_local4}));
}
protected function onMediaControlsButtonClick(_arg1:MouseEvent):void{
var _local2:String = _arg1.target.name;
dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.BUTTON_CLICK, false, false, {name:_local2}));
_arg1.stopPropagation();
}
protected function setMediaControlsVisible():void{
var _local1:String = mediaControlsTransitionType;
var _local2:IMediaControls = mediaControls;
TweenLite.killTweensOf(_local2);
trace("setMediaControlsVisible(", mediaControlsVisible, ")");
var _local3:uint = (mediaControlsVisible) ? 1 : 0;
var _local4:Object = {autoAlpha:_local3};
if (_local1 == MediaControlsTransitionTypes.SLIDE){
_local4.y = (mediaControlsVisible) ? (height - mediaControlsHeight) : height;
};
TweenLite.to(_local2, 0.25, _local4);
}
override protected function size():void{
var _local2:Number;
var _local4:IMediaControls;
var _local10:Number;
var _local1:Number = width;
_local2 = height;
var _local3:IVideoDisplay = videoDisplay;
var _local5:Number = 0;
if (mediaControls){
_local4 = mediaControls;
_local5 = mediaControlsHeight;
_local4.alpha = 1;
TweenLite.killTweensOf(_local4);
};
var _local6:Rect = background;
var _local7:Sprite = screenButton;
var _local8:String = ((stage.displayState) || (StageDisplayState.NORMAL));
var _local9 = (mediaControlsPlacement == MediaControlsPlacementTypes.EXTERNAL);
switch (_local8){
case StageDisplayState.NORMAL:
_local10 = _local2;
if (_local4){
_local4.x = 0;
_local4.y = (_local2 - _local5);
_local4.setSize(_local1, _local5);
_local10 = (_local9) ? _local4.y : _local2;
};
_local3.setSize(_local1, _local10);
_local6.height = (_local2 - (_local9) ? _local5 : 0);
break;
case StageDisplayState.FULL_SCREEN:
_local3.setSize(_local1, _local2);
if (_local4){
_local4.setSize(400, _local5);
_local4.x = ((_local1 - _local4.width) / 2);
_local4.y = ((_local2 - _local5) - 3);
};
_local6.height = _local2;
break;
};
_local6.width = (_screenRect.width = _local1);
_screenRect.height = (_local2 - _local5);
if (_local7){
_local7.width = _local1;
_local7.height = (_local2 - _local5);
};
}
}
}//package com.metacafe.video
Section 207
//Debug (com.metacafe.Debug)
package com.metacafe {
public class Debug {
public static function dump(_arg1, _arg2:String="", _arg3:String=""):String{
var _local5:*;
var _local6:*;
var _local4:* = false;
if (_arg3 == null){
_arg3 = "\t";
} else {
_arg3 = (_arg3 + "\t");
};
if (_arg2 == null){
_arg2 = "Object: {";
} else {
_arg2 = (_arg2 + "{");
};
for (_local5 in _arg1) {
_arg2 = (_arg2 + ("\n" + _arg3));
if (!_local4){
_local4 = true;
};
_local6 = _arg1[_local5];
if ((_local6 is Array)){
_arg2 = (_arg2 + (((_local5 + ": [") + dump(_local6, (_local5 + ": "), _arg3)) + "]"));
} else {
if ((((((((((((((_local6 is Object)) && (!((_local6 is Function))))) && (!((_local6 is Number))))) && (!((_local6 is int))))) && (!((_local6 is uint))))) && (!((_local6 is String))))) && (!((_local6 is Boolean))))){
_arg2 = (_arg2 + dump(_local6, (_local5 + ": "), _arg3));
} else {
if ((_local6 is Function)){
_arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(function)"));
} else {
if ((_local6 is Number)){
_arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(number)"));
} else {
if ((_local6 is int)){
_arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(int)"));
} else {
if ((_local6 is uint)){
_arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(uint)"));
} else {
if ((_local6 is Boolean)){
_arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(boolean)"));
} else {
_arg2 = (_arg2 + ((_local5 + ": ") + _local6));
};
};
};
};
};
};
};
};
return ((((_arg2 + "\n") + _arg3.slice(0, -1)) + "}"));
}
}
}//package com.metacafe
Section 208
//FlashvarsStubBase (com.metacafe.FlashvarsStubBase)
package com.metacafe {
public class FlashvarsStubBase {
}
}//package com.metacafe
Section 209
//FVStubMCEmbed (com.metacafe.FVStubMCEmbed)
package com.metacafe {
public class FVStubMCEmbed extends FlashvarsStubBase {
public var embeddingURL;// = "http://www.facebook.com/elorilan?ref=profile"
public var mediaType;// = "highDefinitionMP4"
public var playerType;// = "taylor_swift_vma_side_story"
public var itemID;// = "3373432"
public var duration;// = "30"
public var LEID;// = "2214"
public var indexedItemID;// = "3373432"
public var staticURL;// = "http://cdn.elor.dev.metacafe.com"
public var isViral;// = "false"
public var isWatermarked;// = "false"
public var pageURL;// = "http://elor.dev.metacafe.com/watch/3373432/taylor_swift_vma_side_story/"
public var altServerURL;// = "http://elor.dev.metacafe.com"
public var mediaData;// = "{"flv":{"jpn":false,"buffer":0,"bitRate":0,"mediaURL":"http://lbc.metacafe.com/ItemFiles/%5BFrom%20www.metacafe.com%5D%202899638.10680127.11.flv"},"highDefinitionMP4":{"jpn":false,"buffer":0,"bitRate":0,"mediaURL":"http://lbc.metacafe.com/ItemFiles/%5BFrom%20www.metacafe.com%5D%202899638.10680127.11.flv"}}"
public var errorDisplayFileURL;// = ""
public var reportBaseURL;// = "http://mcqa02.qa.metacafe.com"
public var reportToWinter;// = "false"
public var postRollContentURL;// = "../../prc/EmbedCatalog_2.0.1.0.swf"
public var jsDisabledPRCURL;// = "../../prc/EmbedCatalog_2.0.1.0.swf"
public var networkingAllowed;// = "true"
public var fullScreenAllowed;// = "true"
public var reportVM;// = "false"
public var reportTM;// = "false"
public var logURL;// = ""
public var playerVars;// = "showStats=no|autoPlay=yes"
public var allowAds;// = "false"
}
}//package com.metacafe
Section 210
//Generic_IP (com.tubemogul.inplay.Generic_IP)
package com.tubemogul.inplay {
import flash.events.*;
import flash.display.*;
import flash.utils.*;
public class Generic_IP {
private var streamNum:int;// = -1
private var _playheadTime:Number;// = 0
private var _playheadFunc:Function;// = null
private var _bytesLoaded:Number;// = 0
private var _bytesLoadedFunc:Function;// = null
private var _poller:Timer;// = null
public static const BUFFERING:String = "buffering";
public static const PAUSED:String = "paused";
public static const STOPPED:String = "stopped";
public static const LOADING:String = "loading";
public static const PLAYING:String = "playing";
public static const SEEKING:String = "seeking";
public static const REWINDING:String = "rewinding";
private static const BOOTLOADER_ID:String = "B-K5F-82N";
private static var streams:Array = new Array();
private static var display:DisplayObject = null;
private static var _params:Object = null;
public function Generic_IP(_arg1:Object):void{
var reuseStream:Boolean;
var params = _arg1;
super();
try {
Utils.assertarg(((params.display) || (Generic_IP.display)), "No display:DisplayObject passed in!");
if (!params){
params = new Object();
};
if (!params.display){
params.display = Generic_IP.display;
};
startPlayer(params);
params.thePlayer = _params.thePlayer;
reuseStream = (((params.streamID >= 0)) && (streams[params.streamID]));
if (reuseStream){
Utils.debug((("Got streamID of " + params.streamID) + ". Re-using existing streamID!"));
streamNum = params.streamID;
} else {
Utils.debug((("Got streamID of " + params.streamID) + ". Creating stream!"));
streamNum = streams.length;
};
streams[streamNum] = this;
if (reuseStream){
InPlayApi.api.queueEvent(InPlayEvent.UPDATE_STREAM, params, streamNum);
} else {
InPlayApi.api.queueEvent(InPlayEvent.NEW_STREAM, params, streamNum);
};
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in Generic_IP constructor:");
Utils.dumpException(err);
};
}
public function getStreamID():int{
try {
if (!streams[streamNum]){
return (-1);
};
return (streamNum);
} catch(err:Error) {
Utils.error("Unintentional exception in Generic_IP.getStreamID:");
Utils.dumpException(err);
};
return (-1);
}
public function deleteStream():void{
try {
if (!streams[streamNum]){
return;
};
streams[streamNum] = null;
streamNum = -1;
clearPoller();
if (_playheadFunc != null){
_playheadFunc = null;
};
if (_bytesLoadedFunc != null){
_bytesLoadedFunc = null;
};
} catch(err:Error) {
Utils.error("Unintentional exception in Generic_IP.deleteStream:");
Utils.dumpException(err);
};
}
public function loading(_arg1:Number, _arg2:String):void{
_params.thePlayer.source = _arg2;
stateChange(LOADING, _arg1);
}
public function metadataReceived(_arg1:Number, _arg2:Object, _arg3:int):void{
var params:Object;
var time = _arg1;
var metaObj = _arg2;
var bytesTotal = _arg3;
try {
Utils.debug("%%%%%%%%% In metaDataReceived.");
_params.thePlayer.bytesTotal = bytesTotal;
params = new Object();
params.info = metaObj;
params.playheadTime = (this.playheadTime = time);
InPlayApi.api.queueEvent(InPlayEvent.METADATA, params, streamNum);
} catch(err:Error) {
Utils.error("Unintentional exception in metaDataReceived:");
Utils.dumpException(err);
};
}
public function buffering(_arg1:Number):void{
stateChange(BUFFERING, _arg1);
}
public function play(_arg1:Number):void{
stateChange(PLAYING, _arg1);
}
public function pause(_arg1:Number):void{
stateChange(PAUSED, _arg1);
}
public function stop(_arg1:Number):void{
stateChange(STOPPED, _arg1);
}
public function seek(_arg1:Number):void{
stateChange(SEEKING, _arg1);
}
public function rewind(_arg1:Number):void{
stateChange(REWINDING, _arg1);
}
public function stateChange(_arg1:String, _arg2:Number):void{
var params:Object;
var state = _arg1;
var time = _arg2;
try {
Utils.debug(("%%%%%%%%% Sending STATE_CHANGE event: " + state));
params = new Object();
params.playheadTime = (_params.thePlayer.playheadTime = (this.playheadTime = time));
params.state = (_params.thePlayer.state = state);
InPlayApi.api.queueEvent(InPlayEvent.STATE_CHANGE, params, streamNum);
} catch(err:Error) {
Utils.error(("Unintentional exception in stateChange:" + state));
Utils.dumpException(err);
};
}
public function registerPlayheadTimeHandler(_arg1:Function):void{
Utils.assert(!((_arg1 == null)), "Generic_IP.registerPlayheadTimeHandler: No func provided");
_playheadFunc = _arg1;
startPoller();
}
public function registerBytesLoadedHandler(_arg1:Function):void{
Utils.assert(!((_arg1 == null)), "Generic_IP.registerBytesLoadedHandler: No func provided");
_bytesLoadedFunc = _arg1;
startPoller();
}
public function set playheadTime(_arg1:Number):void{
_params.thePlayer.playheadTime = (_playheadTime = _arg1);
}
public function get playheadTime():Number{
if (_playheadFunc != null){
return (_playheadFunc());
};
return (_playheadTime);
}
public function set bytesLoaded(_arg1:uint):void{
_params.thePlayer.bytesLoaded = (_bytesLoaded = _arg1);
}
public function get bytesLoaded():uint{
if (_bytesLoadedFunc != null){
return (_bytesLoadedFunc());
};
return (_bytesLoaded);
}
private function startPoller():void{
if (!_poller){
_poller = new Timer(100, 0);
_poller.addEventListener(TimerEvent.TIMER, pollHandler);
_poller.start();
};
}
private function clearPoller():void{
if (!_poller){
return;
};
_poller.stop();
_poller = null;
}
private function pollHandler(_arg1:TimerEvent):void{
_params.thePlayer.playheadTime = this.playheadTime;
_params.thePlayer.bytesLoaded = this.bytesLoaded;
}
public static function startPlayer(_arg1:Object):void{
var params = _arg1;
try {
if (!InPlayLoader.getInPlayLoader()){
Utils.info("In Generic_IP.startPlayer");
Utils.assertarg(params, "No params passed in!");
Utils.assertarg(params.display, "No display:DisplayObject passed in!");
params.playerType = "Generic";
params.bootloaderID = Generic_IP.BOOTLOADER_ID;
Generic_IP.display = params.display;
params.thePlayer = new Object();
params.thePlayer.playheadTime = 0;
params.thePlayer.bytesLoaded = 0;
params.thePlayer.bytesTotal = 0;
params.thePlayer.source = "";
params.thePlayer.metadata = new Object();
params.thePlayer.metadata.videodatarate = 0;
params.thePlayer.metadata.duration = 0;
_params = params;
InPlayLoader.init(params);
};
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in Generic_IP.startPlayer:");
Utils.dumpException(err);
};
}
}
}//package com.tubemogul.inplay
Section 211
//IInPlayCore (com.tubemogul.inplay.IInPlayCore)
package com.tubemogul.inplay {
public interface IInPlayCore {
}
}//package com.tubemogul.inplay
Section 212
//InPlayApi (com.tubemogul.inplay.InPlayApi)
package com.tubemogul.inplay {
import flash.events.*;
import flash.display.*;
public class InPlayApi extends EventDispatcher {
private var eventPendingQ:Array;
private var _coreReady:Boolean;// = false
private static var _core:IInPlayCore = null;
private static var _api:InPlayApi = null;
public function InPlayApi(){
eventPendingQ = new Array();
super();
if (_api != null){
return;
};
if (_api == null){
_api = this;
};
}
public function setCore(_arg1:IInPlayCore):void{
_core = _arg1;
}
public function getCore():IInPlayCore{
return (_core);
}
public function onDisplayList(_arg1:DisplayObjectContainer):DisplayObject{
Utils.debug("In InPlayApi.onDisplayList");
if (!_core){
Utils.error("core needs to be set first!");
return (null);
};
if (_arg1.contains((_core as DisplayObject))){
Utils.debug("core already on display list.");
return (_arg1.addChild((_core as DisplayObject)));
};
Utils.debug("Putting core on display list.");
return (_arg1.addChild((_core as DisplayObject)));
}
public function call(_arg1:String, _arg2:Object=null, _arg3:int=0):void{
var _local4:Object = new Object();
_local4.func = _arg1;
_local4.params = _arg2;
queueEvent(InPlayEvent.CALL_API, _local4, _arg3);
}
override public function dispatchEvent(_arg1:Event):Boolean{
if (_arg1.type == InPlayEvent.CORE_READY){
_coreReady = true;
};
if (!_coreReady){
Utils.error("core not ready to receive events!");
return (false);
};
Utils.debug(("***** Dispatching event: " + _arg1.toString()));
return (super.dispatchEvent(_arg1));
}
public function queueEvent(_arg1:String, _arg2:Object=null, _arg3:int=-1):void{
var event:InPlayEvent;
var type = _arg1;
var params = _arg2;
var streamNum = _arg3;
try {
event = new InPlayEvent(type, params, streamNum);
if (_coreReady){
dispatchEvent(event);
} else {
Utils.debug(("Queueing " + event.toString()));
eventPendingQ.unshift(event);
};
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in queueEvent:");
Utils.dumpException(err);
};
}
public function dequeueEvents():void{
var event:InPlayEvent;
try {
while ((((eventPendingQ.length > 0)) && (_coreReady))) {
event = (eventPendingQ.pop() as InPlayEvent);
dispatchEvent(event);
};
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in dequeueEvents:");
Utils.dumpException(err);
};
}
public static function init():void{
if (!_api){
_api = new (InPlayApi);
};
}
public static function get api():InPlayApi{
return (_api);
}
}
}//package com.tubemogul.inplay
Section 213
//InPlayEvent (com.tubemogul.inplay.InPlayEvent)
package com.tubemogul.inplay {
import flash.events.*;
public class InPlayEvent extends Event {
private var _streamNum:int;
private var _params:Object;
public static const STREAM_NUM_PLAYER:int = -1;
public static const CORE_READY:String = "coreReady";
public static const START:String = "start";
public static const NEW_STREAM:String = "newStream";
public static const UPDATE_STREAM:String = "updateStream";
public static const VAR_CHANGED:String = "variableChanged";
public static const NS_CLOSE:String = "close";
public static const NET_STATUS:String = "netStatus";
public static const STATE_CHANGE:String = "stateChange";
public static const METADATA:String = "metadataReceived";
public static const NS_PLAY:String = "play";
public static const NS_PAUSE:String = "pause";
public static const NS_RESUME:String = "resume";
public static const NS_TOGGLE_PAUSE:String = "togglePause";
public static const PLAY_STATUS:String = "playStatus";
public static const LAST_SECOND:String = "lastSecond";
public static const CUE_POINT:String = "cuePoint";
public static const SOUND_UPDATE:String = "soundUpdate";
public static const CALL_API:String = "callApi";
public static const CUSTOM:String = "custom";
public function InPlayEvent(_arg1:String, _arg2:Object=null, _arg3:int=-1){
super(_arg1);
_params = _arg2;
_streamNum = _arg3;
}
public function get streamNum():uint{
return (_streamNum);
}
public function get params():Object{
return (_params);
}
override public function toString():String{
return (((("InPlayEvent: " + this.type) + ", streamNum: ") + _streamNum));
}
}
}//package com.tubemogul.inplay
Section 214
//InPlayLoader (com.tubemogul.inplay.InPlayLoader)
package com.tubemogul.inplay {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.external.*;
import flash.system.*;
public class InPlayLoader extends Sprite {
private var loadURL:String;// = "http://load2.tubemogul.com/core"
private var _params:Object;// = null
private var playerID:String;// = ""
private var usingLoader:Boolean;// = true
private var loader:Loader;// = null
private var isStarted:Boolean;// = false
private static const PROTO_VERSION:uint = 3;
private static var inPlayLoader:InPlayLoader = null;
public function InPlayLoader(_arg1:Object):void{
Utils.debug("In InPlayLoader constructor");
Utils.assert(_arg1, "No params passed in!");
Utils.assert(_arg1.display, "No display:DisplayObject passed in!");
Utils.assert(_arg1.bootloaderID, "No bootloaderID passed in!");
if (inPlayLoader != null){
return;
};
if (inPlayLoader == null){
inPlayLoader = this;
};
_arg1.bootloader = this;
_params = _arg1;
InPlayApi.init();
InPlayApi.api.addEventListener(InPlayEvent.CORE_READY, launchInPlay);
_params.display.addEventListener(Event.ADDED_TO_STAGE, onStage);
Utils.dumpObject("_params.display.stage", _params.display.stage);
if (_params.display.stage){
onStage(new Event(Event.ADDED_TO_STAGE));
};
}
public function onStage(_arg1:Event):void{
var event = _arg1;
try {
_params.display.removeEventListener(Event.ADDED_TO_STAGE, onStage);
Utils.debug("In InPlayLoader.onStage");
if (((!(_params.playerURL)) && (!((_params.display.root == null))))){
_params.playerURL = _params.display.root.loaderInfo.url;
};
Utils.initParams(_params.display, _params);
Utils.initDebug();
playerID = Utils.checkForParam("playerID", "");
loadURL = Utils.checkForParam("loadURL", loadURL);
usingLoader = ((Utils.checkForParam("usingLoader", String(usingLoader)) == "true")) ? true : false;
Utils.assertarg(Utils.isSpecified(playerID), "No playerID passed in!");
if (usingLoader){
loadURL = (loadURL + (((("?" + "playerID=") + playerID) + "&bootloaderID=") + _params.bootloaderID));
loadInPlay();
} else {
Utils.debug("Not using bootloader.");
InPlayApi.api.setCore(null);
InPlayApi.api.onDisplayList(this);
};
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in onDisplayList:");
Utils.dumpException(err);
};
}
private function loadInPlay():void{
var urlReq:URLRequest;
var loadCtx:LoaderContext;
try {
Utils.info(("InPlayLoader: Attempting to load " + loadURL));
Security.allowDomain(loadURL);
urlReq = new URLRequest(loadURL);
loadCtx = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
loader = new Loader();
addChild(loader);
loader.load(urlReq, loadCtx);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
} catch(err:Error) {
Utils.error("Unintentional exception in loadInPlay:");
Utils.dumpException(err);
};
}
private function onLoaded(_arg1:Event):void{
var core:IInPlayCore;
var event = _arg1;
Utils.debug("In InPlayLoader.onLoaded");
try {
core = (loader.content as IInPlayCore);
InPlayApi.api.setCore(core);
InPlayApi.api.onDisplayList(this);
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in onLoaded:");
Utils.dumpException(err);
};
}
private function launchInPlay(_arg1:Event):void{
var event = _arg1;
try {
if (!isStarted){
Utils.info("Launching InPlay.");
InPlayApi.api.dispatchEvent(new InPlayEvent(InPlayEvent.START, _params));
InPlayApi.api.dequeueEvents();
isStarted = true;
};
} catch(err:ArgumentError) {
throw (err);
} catch(err:Error) {
Utils.error("Unintentional exception in launchInPlay:");
Utils.dumpException(err);
};
}
private function ioErrorHandler(_arg1:Event):void{
Utils.fatal("Failed server response. Event details:");
Utils.fatal(_arg1.toString());
}
public function extInterfaceCallRelay(_arg1:String):Object{
var str = _arg1;
try {
Utils.debug("In extInterfaceCallRelay");
return (ExternalInterface.call(str));
} catch(err:Error) {
Utils.error("Unintentional exception in extInterfaceCallRelay:");
Utils.dumpException(err);
};
return (null);
}
public static function init(_arg1:Object):void{
if (!inPlayLoader){
inPlayLoader = new InPlayLoader(_arg1);
};
}
public static function getInPlayLoader():InPlayLoader{
return (inPlayLoader);
}
}
}//package com.tubemogul.inplay
Section 215
//Utils (com.tubemogul.inplay.Utils)
package com.tubemogul.inplay {
import flash.display.*;
import com.luminicbox.log.*;
public class Utils {
public static const LOG = "LOG";
public static const DEBUG = "DEBUG";
public static const INFO = "INFO";
public static const WARN = "WARN";
public static const ERROR = "ERROR";
public static const FATAL = "FATAL";
private static var display = null;
private static var lc_params = null;
private static var lc_extParams = null;
private static var _debugOn = false;
private static var _log = null;
private static var timeOffset = 0;
public static function isSpecified(_arg1:String):Boolean{
if (((((!(_arg1)) || ((_arg1 == "null")))) || ((_arg1 == "undefined")))){
return (false);
};
return (true);
}
public static function paramsToLC(_arg1:Object):Object{
var _local3:*;
if (!_arg1){
return (null);
};
var _local2:* = new Object();
for (_local3 in _arg1) {
_local2[_local3.toLowerCase()] = unescape(_arg1[_local3]);
};
return (_local2);
}
public static function initParams(_arg1:DisplayObject, _arg2:Object):void{
var _local4:*;
Utils.display = _arg1;
lc_params = paramsToLC(_arg2);
Utils.dumpObject("lc_params", lc_params);
var _local3:* = ((((_arg1) && (_arg1.root))) && (_arg1.root.loaderInfo));
if (_local3){
_local4 = _arg1.root.loaderInfo.parameters;
lc_extParams = paramsToLC(_local4);
Utils.dumpObject("lc_extParams", lc_extParams);
};
}
public static function getLCParams():Object{
return (lc_params);
}
public static function getLCExtParams():Object{
return (lc_extParams);
}
public static function checkForParam(_arg1:String, _arg2:String):String{
Utils.assert(((Utils.display) && (Utils.lc_params)), "checkForParam called before initParams!");
var _local3:* = _arg1.toLowerCase();
var _local4:* = ("tm_" + _local3);
var _local5:* = false;
var _local6:* = 0;
while ((((_local6 < 2)) && ((_local5 == false)))) {
if (_local6 == 1){
_local4 = _local3;
};
if (((lc_extParams) && (isSpecified(lc_extParams[_local4])))){
Utils.debug((((("Found " + _local4) + " = ") + lc_extParams[_local4]) + " on root timeline."));
lc_params[_local3] = lc_extParams[_local4];
_local5 = true;
} else {
if (((lc_params) && (isSpecified(lc_params[_local4])))){
Utils.debug((((("Got " + _local4) + " = ") + lc_params[_local4]) + " passed in via params."));
lc_params[_local3] = lc_params[_local4];
_local5 = true;
};
};
_local6++;
};
if (!_local5){
Utils.debug((((("Setting " + _local3) + " = ") + _arg2) + " based on default."));
lc_params[_local3] = _arg2;
};
return (lc_params[_local3]);
}
public static function initDebug():void{
debugOn = ((Utils.checkForParam("debugOn", String(debugOn)) == "true")) ? true : false;
Utils.debug("If you see this, debugging is on.");
}
public static function get debugOn():Boolean{
return (_debugOn);
}
public static function set debugOn(_arg1:Boolean):void{
_debugOn = _arg1;
}
public static function assertarg(_arg1:Boolean, _arg2:String):void{
if (!_arg1){
throw (new ArgumentError(_arg2));
};
}
public static function assert(_arg1:Boolean, _arg2:String):void{
if (!_arg1){
throw (new Error(_arg2));
};
}
public static function log(_arg1:Object):void{
tlog(LOG, _arg1);
}
public static function debug(_arg1:Object):void{
tlog(DEBUG, _arg1);
}
public static function info(_arg1:Object):void{
tlog(INFO, _arg1);
}
public static function warn(_arg1:Object):void{
tlog(WARN, _arg1);
}
public static function error(_arg1:Object):void{
tlog(ERROR, _arg1);
}
public static function fatal(_arg1:Object):void{
tlog(FATAL, _arg1);
}
public static function tlog(_arg1:String, _arg2:Object):void{
var _local3:*;
var _local4:*;
if (((!(_arg2)) || ((_arg2 == "")))){
return;
};
if (timeOffset == 0){
timeOffset = new Date().getTime();
};
if ((typeof(_arg2) as String) == "string"){
_local3 = (new Date().getTime() - timeOffset);
_local4 = ((_local3 + ": ") + _arg2.toString());
Utils.llog(_arg1, _local4);
} else {
Utils.llog(_arg1, _arg2);
};
}
private static function llog(_arg1:String, _arg2:Object):void{
if (debugOn){
if (!_log){
_log = new Logger();
_log.addPublisher(new ConsolePublisher());
_log.addPublisher(new TracePublisher());
};
_log.publish(_arg2, Level.getLevel(_arg1));
};
}
public static function dumpObject(_arg1:String, _arg2:Object):void{
var _local3:*;
if (!_arg2){
Utils.debug((("--------</" + _arg1) + ">--------"));
return;
};
Utils.debug((("--------<" + _arg1) + ">--------"));
for (_local3 in _arg2) {
Utils.debug(((_local3 + " = ") + _arg2[_local3]));
};
Utils.debug((("--------</" + _arg1) + ">--------"));
}
public static function dumpException(_arg1:Error):void{
Utils.error((" errorID = " + _arg1.errorID));
Utils.error((" message = " + _arg1.message));
Utils.error((" name = " + _arg1.name));
}
try {
LOG = "LOG";
DEBUG = "DEBUG";
INFO = "INFO";
WARN = "WARN";
ERROR = "ERROR";
FATAL = "FATAL";
display = null;
lc_params = null;
lc_extParams = null;
_debugOn = false;
_log = null;
timeOffset = 0;
} catch(err:Error) {
Utils.error("Unintentional exception at the class level:");
Utils.dumpException(err);
};
}
}//package com.tubemogul.inplay
Section 216
//APILoader (com.vmc.integration.APILoader)
package com.vmc.integration {
import flash.events.*;
import flash.net.*;
import flash.display.*;
import flash.system.*;
public class APILoader {
public static const DEFAULT_VMC_API_URL:String = "http://cdn.visiblemeasures.com/swf/as3/v4.2/vmcutility.swf";
public static const NODE_TYPE_VIDEO:String = "video";
public static const NODE_TYPE_AD:String = "ad";
public static const VERSION:String = "1.6";
private static var vmcUtility:Object;
private static var initInfo:Object;
private static var apiUrl:String;
private static var accountKey:String;
private static var callback:Function;
private static var target:Object;
public static function getVMCUtility():Object{
return (APILoader.vmcUtility);
}
public static function getRemoteNode(_arg1:String=null, _arg2:String=null):Object{
if (vmcUtility){
return (vmcUtility.getRemoteNode(_arg1, _arg2));
};
return (null);
}
public static function load(_arg1:Object):void{
Security.allowDomain("cdn.visiblemeasures.com");
Security.allowDomain("qa.visiblemeasures.com");
log(VERSION);
if (!_arg1.apiUrl){
_arg1.apiUrl = APILoader.DEFAULT_VMC_API_URL;
};
var _local2:Number = new Date().getTime();
_arg1.apiLoadStartTime = _local2;
if (!_arg1.playerStartTime){
_arg1.playerStartTime = _local2;
};
var _local3:Boolean;
if (!_arg1.callback){
log("*** ERROR: No initInfoParam.callback propery supplied in APILoader.load()");
_local3 = true;
};
if (!_arg1.target){
log("*** WARNING: No initInfoParam.target propery supplied in APILoader.load()");
};
if (!_arg1.accountKey){
log("*** WARNING: No initInfoParam.accountKey propery supplied in APILoader.load()");
};
if (_local3){
log("*** ERROR: Could not load VMCUtility due to bad arguments in APILoader.");
return;
};
APILoader.initInfo = _arg1;
APILoader.callback = _arg1.callback;
APILoader.target = _arg1.target;
if (vmcUtility){
completeLoad(vmcUtility);
return;
};
loadApi();
}
private static function loadApi():void{
var _local1:String = APILoader.initInfo.apiUrl;
var _local2:Loader = new Loader();
_local2.contentLoaderInfo.addEventListener(Event.INIT, onLoadInit);
_local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
log(("Loading " + _local1));
_local2.load(new URLRequest(_local1));
}
private static function completeLoad(_arg1:Object):void{
vmcUtility = _arg1;
vmcUtility.configure(APILoader.initInfo);
if (callback != null){
callback.apply(APILoader.target);
};
}
private static function onLoadInit(_arg1:Event):void{
completeLoad(LoaderInfo(_arg1.target).content);
}
private static function onLoadError(_arg1:IOErrorEvent):void{
log(("Error: " + _arg1.text));
if (callback != null){
callback.apply(APILoader.target);
};
}
private static function log(_arg1:Object):void{
trace(("[APILoader] " + _arg1));
}
}
}//package com.vmc.integration
Section 217
//URLNavigator (com.zorked.URLNavigator)
package com.zorked {
import flash.net.*;
import flash.external.*;
public class URLNavigator {
public static function ChangePage(_arg1, _arg2:String="_self"):void{
var _local4:String;
var _local3:URLRequest = ((_arg1 is String)) ? new URLRequest(_arg1) : _arg1;
if (!ExternalInterface.available){
navigateToURL(_local3, _arg2);
} else {
_local4 = String(ExternalInterface.call("function() {return navigator.userAgent;}")).toLowerCase();
if (((!((_local4.indexOf("firefox") == -1))) || (((!((_local4.indexOf("msie") == -1))) && ((uint(_local4.substr((_local4.indexOf("msie") + 5), 3)) >= 7)))))){
ExternalInterface.call("window.open", _local3.url, _arg2);
} else {
navigateToURL(_local3, _arg2);
};
};
}
}
}//package com.zorked
Section 218
//Linear (gs.easing.Linear)
package gs.easing {
public class Linear {
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package gs.easing
Section 219
//Sine (gs.easing.Sine)
package gs.easing {
public class Sine {
private static const _HALF_PI:Number = 1.5707963267949;
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * _HALF_PI))) + _arg3) + _arg2));
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (((_arg3 * Math.sin(((_arg1 / _arg4) * _HALF_PI))) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2));
}
}
}//package gs.easing
Section 220
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin)
package gs.plugins {
import gs.*;
import flash.display.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _tweenVisible:Boolean;
protected var _visible:Boolean;
protected var _tween:TweenLite;
protected var _target:Object;
public static const VERSION:Number = 1;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
this.onComplete = onCompleteTween;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_visible = Boolean(!((_arg2 == 0)));
_tweenVisible = true;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_tweenVisible = !(Boolean(("visible" in _arg1)));
}
public function onCompleteTween():void{
if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){
_target.visible = _visible;
};
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (((!((_target.visible == true))) && (_tweenVisible))){
_target.visible = true;
};
}
}
}//package gs.plugins
Section 221
//EndArrayPlugin (gs.plugins.EndArrayPlugin)
package gs.plugins {
import gs.*;
import flash.display.*;
import gs.utils.tween.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _a:Array;
protected var _info:Array;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
public function init(_arg1:Array, _arg2:Array):void{
_a = _arg1;
var _local3:int = (_arg2.length - 1);
while (_local3 > -1) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
_local3--;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:ArrayTweenInfo;
var _local4:Number;
var _local5:int;
if (this.round){
_local2 = (_info.length - 1);
while (_local2 > -1) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local5 = ((_local4)<0) ? -1 : 1;
_a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4);
_local2--;
};
} else {
_local2 = (_info.length - 1);
while (_local2 > -1) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
_local2--;
};
};
}
}
}//package gs.plugins
Section 222
//FramePlugin (gs.plugins.FramePlugin)
package gs.plugins {
import gs.*;
import flash.display.*;
public class FramePlugin extends TweenPlugin {
public var frame:int;
protected var _target:MovieClip;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package gs.plugins
Section 223
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin)
package gs.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package gs.plugins
Section 224
//TintPlugin (gs.plugins.TintPlugin)
package gs.plugins {
import gs.*;
import flash.geom.*;
import flash.display.*;
import gs.utils.tween.*;
public class TintPlugin extends TweenPlugin {
protected var _target:DisplayObject;
protected var _ct:ColorTransform;
protected var _ignoreAlpha:Boolean;
public static const VERSION:Number = 1.1;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg1 is DisplayObject)){
return (false);
};
var _local4:ColorTransform = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.exposedVars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local3:int;
var _local4:String;
_target = _arg1;
_ct = _target.transform.colorTransform;
_local3 = (_props.length - 1);
while (_local3 > -1) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
_tweens[_tweens.length] = new TweenInfo(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
_local3--;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_ignoreAlpha){
_local2 = _target.transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_target.transform.colorTransform = _ct;
}
}
}//package gs.plugins
Section 225
//TweenPlugin (gs.plugins.TweenPlugin)
package gs.plugins {
import gs.*;
import gs.utils.tween.*;
public class TweenPlugin {
public var propName:String;
public var overwriteProps:Array;
public var round:Boolean;
public var onComplete:Function;
protected var _tweens:Array;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.03;
public static const API:Number = 1;
public function TweenPlugin(){
_tweens = [];
super();
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new TweenInfo(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
protected function updateTweens(_arg1:Number):void{
var _local2:int;
var _local3:TweenInfo;
var _local4:Number;
var _local5:int;
if (this.round){
_local2 = (_tweens.length - 1);
while (_local2 > -1) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local5 = ((_local4)<0) ? -1 : 1;
_local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4);
_local2--;
};
} else {
_local2 = (_tweens.length - 1);
while (_local2 > -1) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
_local2--;
};
};
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function killProps(_arg1:Object):void{
var _local2:int;
_local2 = (this.overwriteProps.length - 1);
while (_local2 > -1) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
_local2--;
};
_local2 = (_tweens.length - 1);
while (_local2 > -1) {
if ((_tweens[_local2].name in _arg1)){
_tweens.splice(_local2, 1);
};
_local2--;
};
}
public static function activate(_arg1:Array):Boolean{
var _local2:int;
var _local3:Object;
_local2 = (_arg1.length - 1);
while (_local2 > -1) {
_local3 = new (_arg1[_local2]);
TweenLite.plugins[_local3.propName] = _arg1[_local2];
_local2--;
};
return (true);
}
}
}//package gs.plugins
Section 226
//VisiblePlugin (gs.plugins.VisiblePlugin)
package gs.plugins {
import gs.*;
import flash.display.*;
public class VisiblePlugin extends TweenPlugin {
protected var _target:Object;
protected var _tween:TweenLite;
protected var _visible:Boolean;
public static const VERSION:Number = 1;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
this.onComplete = onCompleteTween;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_visible = Boolean(_arg2);
return (true);
}
public function onCompleteTween():void{
if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){
_target.visible = _visible;
};
}
override public function set changeFactor(_arg1:Number):void{
if (_target.visible != true){
_target.visible = true;
};
}
}
}//package gs.plugins
Section 227
//VolumePlugin (gs.plugins.VolumePlugin)
package gs.plugins {
import gs.*;
import flash.display.*;
import flash.media.*;
public class VolumePlugin extends TweenPlugin {
protected var _target:Object;
protected var _st:SoundTransform;
public static const VERSION:Number = 1.01;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package gs.plugins
Section 228
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo)
package gs.utils.tween {
public class ArrayTweenInfo {
public var index:uint;
public var start:Number;
public var change:Number;
public function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
}//package gs.utils.tween
Section 229
//TweenInfo (gs.utils.tween.TweenInfo)
package gs.utils.tween {
public class TweenInfo {
public var target:Object;
public var property:String;
public var start:Number;
public var change:Number;
public var name:String;
public var isPlugin:Boolean;
public function TweenInfo(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
}
}
}//package gs.utils.tween
Section 230
//TweenLite (gs.TweenLite)
package gs {
import flash.events.*;
import flash.display.*;
import gs.utils.tween.*;
import gs.plugins.*;
import flash.utils.*;
public class TweenLite {
public var duration:Number;
public var vars:Object;
public var delay:Number;
public var startTime:Number;
public var initTime:Number;
public var tweens:Array;
public var target:Object;
public var active:Boolean;
public var ease:Function;
public var initted:Boolean;
public var combinedTimeScale:Number;
public var gc:Boolean;
public var started:Boolean;
public var exposedVars:Object;
protected var _hasPlugins:Boolean;
protected var _hasUpdate:Boolean;
public static const version:Number = 10.092;
public static var plugins:Object = {};
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public static var defaultEase:Function = TweenLite.easeOut;
public static var overwriteManager:Object;
public static var currentTime:uint;
public static var masterList:Dictionary = new Dictionary(false);
public static var timingSprite:Sprite = new Sprite();
private static var _tlInitted:Boolean;
private static var _timer:Timer = new Timer(2000);
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
if (_arg1 == null){
return;
};
if (!_tlInitted){
TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]);
currentTime = getTimer();
timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
_timer.addEventListener("timer", killGarbage, false, 0, true);
_timer.start();
_tlInitted = true;
};
this.vars = _arg3;
this.duration = ((_arg2) || (0.001));
this.delay = ((_arg3.delay) || (0));
this.combinedTimeScale = ((_arg3.timeScale) || (1));
this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0))));
this.target = _arg1;
if (typeof(this.vars.ease) != "function"){
this.vars.ease = defaultEase;
};
if (this.vars.easeParams != null){
this.vars.proxiedEase = this.vars.ease;
this.vars.ease = easeProxy;
};
this.ease = this.vars.ease;
this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars;
this.tweens = [];
this.initTime = currentTime;
this.startTime = (this.initTime + (this.delay * 1000));
var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
if (((!((_arg1 in masterList))) || ((_local4 == 1)))){
masterList[_arg1] = [this];
} else {
masterList[_arg1].push(this);
};
if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){
initTweenVals();
if (this.active){
render((this.startTime + 1));
} else {
render(this.startTime);
};
if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){
this.target.visible = this.exposedVars.visible;
};
};
}
public function initTweenVals():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:TweenInfo;
if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){
this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false);
};
for (_local1 in this.exposedVars) {
if ((_local1 in _reservedProps)){
} else {
if ((_local1 in plugins)){
_local3 = new (plugins[_local1]);
if (_local3.onInitTween(this.target, this.exposedVars[_local1], this) == false){
this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false);
} else {
this.tweens[this.tweens.length] = new TweenInfo(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true);
_hasPlugins = true;
};
} else {
this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false);
};
};
};
if (this.vars.runBackwards == true){
_local2 = (this.tweens.length - 1);
while (_local2 > -1) {
_local4 = this.tweens[_local2];
this.tweens[_local2].start = (_local4.start + _local4.change);
_local4.change = -(_local4.change);
_local2--;
};
};
if (this.vars.onUpdate != null){
_hasUpdate = true;
};
if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){
overwriteManager.manageOverwrites(this, masterList[this.target]);
};
this.initted = true;
}
public function activate():void{
this.started = (this.active = true);
if (!this.initted){
initTweenVals();
};
if (this.vars.onStart != null){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (this.duration == 0.001){
this.startTime = (this.startTime - 1);
};
}
public function render(_arg1:uint):void{
var _local3:Number;
var _local4:TweenInfo;
var _local5:int;
var _local2:Number = ((_arg1 - this.startTime) * 0.001);
if (_local2 >= this.duration){
_local2 = this.duration;
_local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0;
} else {
_local3 = this.ease(_local2, 0, 1, this.duration);
};
_local5 = (this.tweens.length - 1);
while (_local5 > -1) {
_local4 = this.tweens[_local5];
_local4.target[_local4.property] = (_local4.start + (_local3 * _local4.change));
_local5--;
};
if (_hasUpdate){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local2 == this.duration){
complete(true);
};
}
public function complete(_arg1:Boolean=false):void{
var _local2:int;
if (!_arg1){
if (!this.initted){
initTweenVals();
};
this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale));
render(currentTime);
return;
};
if (_hasPlugins){
_local2 = (this.tweens.length - 1);
while (_local2 > -1) {
if (((this.tweens[_local2].isPlugin) && (!((this.tweens[_local2].target.onComplete == null))))){
this.tweens[_local2].target.onComplete();
};
_local2--;
};
};
if (this.vars.persist != true){
this.enabled = false;
};
if (this.vars.onComplete != null){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
};
}
public function clear():void{
this.tweens = [];
this.vars = (this.exposedVars = {ease:this.vars.ease});
_hasUpdate = false;
}
public function killVars(_arg1:Object):void{
if (overwriteManager.enabled){
overwriteManager.killVars(_arg1, this.exposedVars, this.tweens);
};
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
public function get enabled():Boolean{
return ((this.gc) ? false : true);
}
public function set enabled(_arg1:Boolean):void{
var _local2:Array;
var _local3:Boolean;
var _local4:int;
if (_arg1){
if (!(this.target in masterList)){
masterList[this.target] = [this];
} else {
_local2 = masterList[this.target];
_local4 = (_local2.length - 1);
while (_local4 > -1) {
if (_local2[_local4] == this){
_local3 = true;
break;
};
_local4--;
};
if (!_local3){
_local2[_local2.length] = this;
};
};
};
this.gc = (_arg1) ? false : true;
if (this.gc){
this.active = false;
} else {
this.active = this.started;
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
return (new TweenLite(_arg1, _arg2, _arg3));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0}));
}
public static function updateAll(_arg1:Event=null):void{
var _local4:Array;
var _local5:int;
var _local6:TweenLite;
var _local2:uint = (currentTime = getTimer());
var _local3:Dictionary = masterList;
for each (_local4 in _local3) {
_local5 = (_local4.length - 1);
while (_local5 > -1) {
_local6 = _local4[_local5];
if (_local6.active){
_local6.render(_local2);
} else {
if (_local6.gc){
_local4.splice(_local5, 1);
} else {
if (_local2 >= _local6.startTime){
_local6.activate();
_local6.render(_local2);
};
};
};
_local5--;
};
};
}
public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{
if (_arg1 != null){
if (_arg2){
_arg1.clear();
};
_arg1.enabled = false;
};
}
public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
var _local5:TweenLite;
if (((!((_arg1 == null))) && ((_arg1 in masterList)))){
_local3 = masterList[_arg1];
_local4 = (_local3.length - 1);
while (_local4 > -1) {
_local5 = _local3[_local4];
if (((_arg2) && (!(_local5.gc)))){
_local5.complete(false);
};
_local5.clear();
_local4--;
};
delete masterList[_arg1];
};
}
protected static function killGarbage(_arg1:TimerEvent):void{
var _local3:Object;
var _local2:Dictionary = masterList;
for (_local3 in _local2) {
if (_local2[_local3].length == 0){
delete _local2[_local3];
};
};
}
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2));
}
}
}//package gs
Section 231
//FullScreenButtonDownState (FullScreenButtonDownState)
package {
import flash.display.*;
public dynamic class FullScreenButtonDownState extends Sprite {
}
}//package
Section 232
//FullScreenButtonOverState (FullScreenButtonOverState)
package {
import flash.display.*;
public dynamic class FullScreenButtonOverState extends Sprite {
}
}//package
Section 233
//FullScreenButtonUpState (FullScreenButtonUpState)
package {
import flash.display.*;
public dynamic class FullScreenButtonUpState extends Sprite {
}
}//package
Section 234
//HDButtonDownState (HDButtonDownState)
package {
import flash.display.*;
public dynamic class HDButtonDownState extends Sprite {
}
}//package
Section 235
//HDButtonOverState (HDButtonOverState)
package {
import flash.display.*;
public dynamic class HDButtonOverState extends Sprite {
}
}//package
Section 236
//HDButtonUpState (HDButtonUpState)
package {
import flash.display.*;
public dynamic class HDButtonUpState extends Sprite {
}
}//package
Section 237
//HDTglButtonDownState (HDTglButtonDownState)
package {
import flash.display.*;
public dynamic class HDTglButtonDownState extends Sprite {
}
}//package
Section 238
//HDTglButtonOverState (HDTglButtonOverState)
package {
import flash.display.*;
public dynamic class HDTglButtonOverState extends Sprite {
}
}//package
Section 239
//HDTglButtonUpState (HDTglButtonUpState)
package {
import flash.display.*;
public dynamic class HDTglButtonUpState extends Sprite {
}
}//package
Section 240
//MediaControlsBackground (MediaControlsBackground)
package {
import flash.display.*;
public dynamic class MediaControlsBackground extends Sprite {
public var bg1_mc:MovieClip;
}
}//package
Section 241
//MetacafeLogoButtonState (MetacafeLogoButtonState)
package {
import flash.display.*;
public dynamic class MetacafeLogoButtonState extends Sprite {
}
}//package
Section 242
//PauseButtonDownState (PauseButtonDownState)
package {
import flash.display.*;
public dynamic class PauseButtonDownState extends Sprite {
}
}//package
Section 243
//PauseButtonOverState (PauseButtonOverState)
package {
import flash.display.*;
public dynamic class PauseButtonOverState extends Sprite {
}
}//package
Section 244
//PauseButtonUpState (PauseButtonUpState)
package {
import flash.display.*;
public dynamic class PauseButtonUpState extends Sprite {
}
}//package
Section 245
//PauseIndicator (PauseIndicator)
package {
import flash.display.*;
public dynamic class PauseIndicator extends Sprite {
}
}//package
Section 246
//PlayButtonDownState (PlayButtonDownState)
package {
import flash.display.*;
public dynamic class PlayButtonDownState extends Sprite {
}
}//package
Section 247
//PlayButtonOverState (PlayButtonOverState)
package {
import flash.display.*;
public dynamic class PlayButtonOverState extends Sprite {
}
}//package
Section 248
//PlayButtonUpState (PlayButtonUpState)
package {
import flash.display.*;
public dynamic class PlayButtonUpState extends Sprite {
}
}//package
Section 249
//PlayVideoButtonDownState (PlayVideoButtonDownState)
package {
import flash.display.*;
public dynamic class PlayVideoButtonDownState extends Sprite {
}
}//package
Section 250
//PlayVideoButtonOverState (PlayVideoButtonOverState)
package {
import flash.display.*;
public dynamic class PlayVideoButtonOverState extends Sprite {
}
}//package
Section 251
//PlayVideoButtonUpState (PlayVideoButtonUpState)
package {
import flash.display.*;
public dynamic class PlayVideoButtonUpState extends Sprite {
}
}//package
Section 252
//RectButtonDownState (RectButtonDownState)
package {
import flash.display.*;
public dynamic class RectButtonDownState extends Sprite {
}
}//package
Section 253
//RectButtonOverState (RectButtonOverState)
package {
import flash.display.*;
public dynamic class RectButtonOverState extends Sprite {
}
}//package
Section 254
//RectButtonUpState (RectButtonUpState)
package {
import flash.display.*;
public dynamic class RectButtonUpState extends Sprite {
}
}//package
Section 255
//ReplayButtonDownState (ReplayButtonDownState)
package {
import flash.display.*;
public dynamic class ReplayButtonDownState extends Sprite {
}
}//package
Section 256
//ReplayButtonOverState (ReplayButtonOverState)
package {
import flash.display.*;
public dynamic class ReplayButtonOverState extends Sprite {
}
}//package
Section 257
//ReplayButtonUpState (ReplayButtonUpState)
package {
import flash.display.*;
public dynamic class ReplayButtonUpState extends Sprite {
}
}//package
Section 258
//ShareButtonDownState (ShareButtonDownState)
package {
import flash.display.*;
public dynamic class ShareButtonDownState extends Sprite {
}
}//package
Section 259
//ShareButtonOverState (ShareButtonOverState)
package {
import flash.display.*;
public dynamic class ShareButtonOverState extends Sprite {
}
}//package
Section 260
//ShareButtonUpState (ShareButtonUpState)
package {
import flash.display.*;
public dynamic class ShareButtonUpState extends Sprite {
}
}//package
Section 261
//SliderFullness (SliderFullness)
package {
import flash.display.*;
public dynamic class SliderFullness extends Sprite {
}
}//package
Section 262
//SliderHandleDownState (SliderHandleDownState)
package {
import flash.display.*;
public dynamic class SliderHandleDownState extends Sprite {
}
}//package
Section 263
//SliderHandleOverState (SliderHandleOverState)
package {
import flash.display.*;
public dynamic class SliderHandleOverState extends Sprite {
}
}//package
Section 264
//SliderHandleUpState (SliderHandleUpState)
package {
import flash.display.*;
public dynamic class SliderHandleUpState extends Sprite {
}
}//package
Section 265
//SliderTrackGraphics (SliderTrackGraphics)
package {
import flash.display.*;
public dynamic class SliderTrackGraphics extends Sprite {
}
}//package
Section 266
//StopButtonDownState (StopButtonDownState)
package {
import flash.display.*;
public dynamic class StopButtonDownState extends Sprite {
}
}//package
Section 267
//StopButtonOverState (StopButtonOverState)
package {
import flash.display.*;
public dynamic class StopButtonOverState extends Sprite {
}
}//package
Section 268
//StopButtonUpState (StopButtonUpState)
package {
import flash.display.*;
public dynamic class StopButtonUpState extends Sprite {
}
}//package
Section 269
//TrebuchetRegular (TrebuchetRegular)
package {
import flash.text.*;
public dynamic class TrebuchetRegular extends Font {
}
}//package
Section 270
//VolumeIcon (VolumeIcon)
package {
import flash.display.*;
public dynamic class VolumeIcon extends MovieClip {
public function VolumeIcon(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package
Section 271
//VolumeSliderBackground (VolumeSliderBackground)
package {
import flash.display.*;
public dynamic class VolumeSliderBackground extends Sprite {
}
}//package