// Turner XMP, Release Build,  2007 Turner Broadcasting System, Inc. A Time Warner Company.  Version: 0.1.633.2120
// xmp_baseplayer, xmp_baseplayer_0_1_633_2120.js
xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.Bootstrapper=function(){this.p_boot_state=0;this.p_callbackObj=null;};xmp.baseplayer.Bootstrapper.prototype.i_init=function(){this.p_addSystemLoggerListeners();};xmp.baseplayer.Bootstrapper.prototype.i_isNew=function(){return(this.p_boot_state===0);};xmp.baseplayer.Bootstrapper.prototype.i_bootStrap=function(aa){this.p_boot_state=-1;this.p_callbackObj=aa;var cb=new xmp.util.Callback('Bootstrapper_bootStrap',this.p_onBootStrap,this);xmp.net.AjaxRequestManager.getInstance().init(null,cb);};xmp.baseplayer.Bootstrapper.prototype.p_onInternalUserDetectionInited=function(ba){this.p_boot_state=1;this.p_callbackObj.i_handleBootstrappedInternal(null);};xmp.baseplayer.Bootstrapper.prototype.p_onBootStrap=function(ca,da){if(da==='Ready'){this.p_boot_state=0;var ea=new xmp.util.Callback('Bootstrapper.p_onInternalUserDetectionInited',this.p_onInternalUserDetectionInited,this);xmp.InternalUserDetection.getInstance().init(ea);}
else{this.p_boot_state=-1;this.p_callbackObj.i_handleBootstrappedInternal(da);}};xmp.baseplayer.Bootstrapper.prototype.p_addSystemLoggerListeners=function(){var fa=xmp.util.SettingsManager.getInstance();var ga=fa.getGlobalContextNode();var ha=ga.getNodeForPath('Instrumentation');var ia=ha.getBoolean('enabled',false);if(ia===true){var ja=new xmp.baseplayer.listeners.logging.InstrumentationLoggerListener(fa);xmp.util.Logger.getInstance().addListener(ja);}
var ka=xmp.getQueryArgOpt('xmpErrorThreshold','fatal');var la=xmp.util.LogLevels.i_fromString(ka);la=Math.min(xmp.util.LogLevels.WARN,la);var ma=new xmp.baseplayer.listeners.logging.ErrorLoggerListener(la);xmp.util.Logger.getInstance().addListener(ma);};xmp.baseplayer.Bootstrapper.i_cacheHtmlObjects=function(){var na=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('CacheSlates');var oa=na.retrieveKeys();for(var i=0;i<oa.length;i++){var pa=oa[i];var qa=na.getString(pa,"").split(",");var ra=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create(pa);ra.setIds(qa,null);ra.load();}};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.AbstractNodeListener=function(id,sa){xmp.validateArguments(arguments,[xmp.i_STRING_TYPE,xmp.i_OBJECT_TYPE],"AbstractNodeListener.ctor");if(id===null||id.length===0||sa===null){throw new xmp.util.internals.InvalidArgsError("The 'id' argument must be non-empty, "+"and the 'player' argument must be non-null.");}
this.p_id=id;this.p_player=sa;};xmp.baseplayer.listeners.AbstractNodeListener.prototype.getId=function(){return this.p_id;};xmp.baseplayer.listeners.AbstractNodeListener.prototype.getPlayer=function(){return this.p_player;};xmp.baseplayer.listeners.AbstractNodeListener.prototype.canUserControl=function(ta){return true;};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleInitialize=function(ua){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleDynamicRules=function(va){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleComplete=function(wa){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.i_canCompleteNow=function(xa){return true;};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleCompleteAsynch=function(ya,za){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleRender=function(Aa){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleOpen=function(Ba){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleConnecting=function(Ca){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleConnected=function(Da){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handlePlay=function(Ea){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleFirstFrameRendered=function(Fa){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handlePause=function(Ga){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleStop=function(Ha){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleRewind=function(Ia){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleFastForward=function(Ja){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleSeekable=function(Ka){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleEnded=function(La){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleBuffering=function(Ma,Na){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleTimelineChange=function(Oa,Pa,Qa){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleError=function(Ra,e){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleOverrideAdResources=function(Sa,Ta){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleValidate=function(Ua){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.handleRenderAd=function(Va,Wa,Xa){};xmp.baseplayer.listeners.AbstractNodeListener.prototype.i_isFrameworkNodeListener=function(){return false;};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.FrameworkNodeListener=function(id,Ya){xmp.baseplayer.listeners.FrameworkNodeListener.ctor.call(this,id,Ya);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.AbstractNodeListener,xmp.baseplayer.listeners.FrameworkNodeListener);xmp.baseplayer.listeners.FrameworkNodeListener.prototype.i_isFrameworkNodeListener=function(){return true;};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultBaseNodeListener=function(Za,$a){xmp.baseplayer.listeners.DefaultBaseNodeListener.ctor.call(this,Za,$a);this.p_bnl_logger=new xmp.util.internals.CategoryLogger('DefaultBaseNodeListener');};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.AbstractNodeListener,xmp.baseplayer.listeners.DefaultBaseNodeListener);xmp.baseplayer.listeners.DefaultBaseNodeListener.prototype.handleRender=function(ab){this.getPlayer().getMediaPlayer().open(ab);};xmp.baseplayer.listeners.DefaultBaseNodeListener.prototype.handleEnded=function(bb){this.getPlayer().advance();};xmp.baseplayer.listeners.DefaultBaseNodeListener.prototype.handleError=function(db,e){this.p_bnl_logger.warn("Dropping node: "+db.getBestId()+', error: '+xmp.extractErrorMessage(e));this.getPlayer().advance();};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultSlateNodeListener=function(eb,fb){xmp.baseplayer.listeners.DefaultSlateNodeListener.ctor.call(this,eb,fb);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultBaseNodeListener,xmp.baseplayer.listeners.DefaultSlateNodeListener);xmp.baseplayer.listeners.DefaultSlateNodeListener.prototype.handleInitialize=function(gb){var hb=gb.getMetadata("url","");if(hb.length>0){gb.setURI(hb);}
gb.setMimeType(xmp.DHTML_MIME_TYPE);};xmp.baseplayer.listeners.DefaultSlateNodeListener.prototype.i_findNextContentNode=function(){var ib=this.getPlayer().getLookAheadNodeArray();for(var i=0;i<ib.length;i++){var jb=ib[i];if(jb.isContentType()){return jb;}}
return null;};xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.TriggerNodeListener=function(id,kb){xmp.baseplayer.listeners.internal.TriggerNodeListener.ctor.call(this,id,kb);this.p_tracked_midpoint=false;this.p_live=false;};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.FrameworkNodeListener,xmp.baseplayer.listeners.internal.TriggerNodeListener);xmp.baseplayer.listeners.internal.TriggerNodeListener.prototype.handleRender=function(lb){this.p_tracked_midpoint=false;this.p_live=(lb.i_getStreamingMode()==='live');if(false===this.p_live){xmp.util.TriggerHelper.i_handleTrackRequest(lb,this.getPlayer());}
xmp.baseplayer.listeners.internal.TriggerNodeListener.base.handleRender.call(this,lb);};xmp.baseplayer.listeners.internal.TriggerNodeListener.prototype.handleOpen=function(mb){this.p_tracked_midpoint=false;this.p_live=(mb.i_getStreamingMode()==='live');xmp.util.TriggerHelper.i_handleTrackStart(mb,this.getPlayer());xmp.baseplayer.listeners.internal.TriggerNodeListener.base.handleOpen.call(this,mb);};xmp.baseplayer.listeners.internal.TriggerNodeListener.prototype.handleEnded=function(nb){if(false===this.p_live){xmp.util.TriggerHelper.handleTrackEnd(nb,this.getPlayer());}
xmp.baseplayer.listeners.internal.TriggerNodeListener.base.handleEnded.call(this,nb);};xmp.baseplayer.listeners.internal.TriggerNodeListener.prototype.handleTimelineChange=function(ob,pb,qb){xmp.baseplayer.listeners.internal.TriggerNodeListener.base.handleTimelineChange.call(this,ob,pb,qb);if(false===this.p_live&&false===this.p_tracked_midpoint){if(qb===0){return;}
var sb=(((ob.getTimeLimitInSeconds()!==xmp.NO_TIME_LIMIT)?ob.getTimeLimitInSeconds():qb)/2);if(pb>=sb){xmp.util.TriggerHelper.i_handleTrackMidpoint(ob,this.getPlayer());this.p_tracked_midpoint=true;}}};xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.AdResNodeListener=function(id,tb){xmp.baseplayer.listeners.internal.AdResNodeListener.ctor.call(this,id,tb);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.FrameworkNodeListener,xmp.baseplayer.listeners.internal.AdResNodeListener);xmp.baseplayer.listeners.internal.AdResNodeListener.prototype.i_canCompleteNow=function(ub){var rb=ub.i_getMetaResourceBundle();if(rb.isError()||rb.isLoaded()){this.i_handleResBundleLoaded(ub,rb);}
if(rb.isError()){return true;}
return rb.isLoaded();};xmp.baseplayer.listeners.internal.AdResNodeListener.prototype.handleCompleteAsynch=function(vb,wb){var xb=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('BasePlayer').getString('videoAdMetaLoader','videoAdMeta');var yb=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create(xb);var zb=new xmp.util.Callback('gotAdCallback',this.p_gotAdCallback,this);zb.setMetadata('RelayCallback',wb);zb.setMetadata('theNode',vb);yb.setResBundle(vb.i_getMetaResourceBundle(),zb);yb.load();};xmp.baseplayer.listeners.internal.AdResNodeListener.prototype.p_gotAdCallback=function(Ab,Bb){var Cb=Ab.getMetadata('RelayCallback',{});var Db=Ab.getMetadata('theNode',{});this.i_handleResBundleLoaded(Db,Bb);Cb.call(Db);};xmp.baseplayer.listeners.internal.AdResNodeListener.prototype.i_handleResBundleLoaded=function(Eb,Fb){};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer._NLMap=function(Gb){this.p_player=Gb;this.p_nodeListernerMap={};this.p_frameworkListenerMap={};this.p_frameworkListenerMap.adLoader=new xmp.baseplayer.listeners.internal.AdLoaderNodeListener(this.p_player);this.p_frameworkListenerMap.nonAdLoader=new xmp.baseplayer.listeners.internal.NonAdLoaderNodeListener(this.p_player);this.p_frameworkListenerMap.promoLoader=new xmp.baseplayer.listeners.internal.PromoLoaderNodeListener(this.p_player);this.p_frameworkListenerMap.tracking=new xmp.baseplayer.listeners.internal.TrackingNodeListener(this.p_player);this.p_frameworkListenerMap.metering=new xmp.baseplayer.listeners.internal.MeteringNodeListener(this.p_player);this.p_frameworkListenerMap.firstFrame=new xmp.baseplayer.listeners.internal.FirstFrameNodeListener(this.p_player);this.p_frameworkListenerNameMap={};this.p_frameworkListenerNameMap.Ad=['adLoader','metering','firstFrame'];this.p_frameworkListenerNameMap.Promo=['promoLoader','firstFrame'];this.p_frameworkListenerNameMap.Content=['nonAdLoader','tracking','firstFrame'];this.p_frameworkListenerNameMap.DEFAULT=['nonAdLoader'];this.p_registrationArray=[];};xmp.baseplayer._NLMap.prototype.i_getNodeListener=function(Hb){var Ib=this.p_nodeListernerMap[Hb.getNodeTypeName()];if(!Ib){Ib=this.p_createCompositeNodeListener(Hb.getNodeTypeName());this.p_nodeListernerMap[Hb.getNodeTypeName()]=Ib;}
return Ib;};xmp.baseplayer._NLMap.prototype.i_registerNodeListener=function(Jb,Kb){xmp.validateArguments(arguments,[xmp.i_OBJECT_TYPE,xmp.i_OBJECT_TYPE],"_NLMap.i_registerNodeListener");if(!Jb||!Kb||(Kb.length===0)){throw new xmp.util.internals.InvalidArgsError("The 'listener' argument must be non-null, and the 'nodeTypeArray' argument must be non-null and non-empty.");}
for(var i=0;i<Kb.length;i++){var Lb=Kb[i];if(!(typeof Lb==='string'&&Lb.length>0)){throw new xmp.util.internals.InvalidArgsError("The 'nodeTypeArray' argument must be an array of non-empty strings.");}}
this.p_registrationArray.push({l:Jb,nta:Kb});};xmp.baseplayer._NLMap.prototype.p_getFrameworkListeners=function(Mb){var Nb=[];var Ob=xmp.playlistapi.PlayableNodeType.getBaseNodeTypeName(Mb);var Pb=this.p_frameworkListenerNameMap[Ob];for(var i=0;i<Pb.length;i++){var Qb=Pb[i];var Rb=this.p_frameworkListenerMap[Qb];Nb.push(Rb);}
return Nb;};xmp.baseplayer._NLMap.prototype.p_getVerticalListeners=function(Sb){var Tb=[];for(var i=0;i<this.p_registrationArray.length;i++){var Ub=this.p_registrationArray[i];var Vb=Ub.l;var Wb=Ub.nta;for(var j=0;j<Wb.length;j++){var Xb=Wb[j];if((Xb==='*')||(Xb===Sb)){Tb.push(Vb);}}}
return Tb;};xmp.baseplayer._NLMap.prototype.p_getAndCheckVerticalListeners=function(Yb){var Zb=this.p_getVerticalListeners(Yb);if(Zb.length===0){throw new xmp.util.internals.InvalidArgsError('No vertical node listener registered for node type: '+Yb);}
return Zb;};xmp.baseplayer._NLMap.prototype.p_validateListeners=function($b,ac){for(var i=0;i<ac.length;i++){var bc=ac[i];for(var j=i+1;j<ac.length;j++){var cc=ac[j];if(bc===cc){throw new xmp.util.internals.InvalidArgsError('Same listener registered more than once for node type: '+$b);}}}};xmp.baseplayer._NLMap.prototype.p_createCompositeNodeListener=function(dc){var ec=this.p_getFrameworkListeners(dc);ec=ec.concat(this.p_getAndCheckVerticalListeners(dc));this.p_validateListeners(dc,ec);var fc=new xmp.baseplayer.listeners.CompositeNodeListener(this.p_player);for(var i=0;i<ec.length;i++){fc.i_addChild(ec[i]);}
return fc;};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer._PDMapArray=function(){this.p_array=[];this.p_map={};};xmp.baseplayer._PDMapArray.prototype.i_insert=function(gc,hc){if(gc>=this.i_getCount()){this.p_array.push(hc);}
else{this.p_array.splice(gc,0,hc);}
this.p_map[hc.getMetaResourceId()]=hc;};xmp.baseplayer._PDMapArray.prototype.i_removeAll=function(){this.p_array=[];this.p_map={};};xmp.baseplayer._PDMapArray.prototype.i_remove=function(ic){var jc=this.p_array.splice(ic,1)[0];delete this.p_map[jc.getMetaResourceId()];return jc;};xmp.baseplayer._PDMapArray.prototype.i_move=function(kc,lc){var mc=this.i_remove(kc);this.i_insert(lc,mc);};xmp.baseplayer._PDMapArray.prototype.i_getCount=function(){return this.p_array.length;};xmp.baseplayer._PDMapArray.prototype.i_getAtIndex=function(nc){return this.p_array[nc];};xmp.baseplayer._PDMapArray.prototype.i_findItem=function(id){var oc=this.p_map[id];return(!oc)?null:oc;};xmp.baseplayer._PDMapArray.prototype.i_findItemIndex=function(id){var pc=this.i_getCount();for(var i=0;i<pc;i++){if(this.i_getAtIndex(i).getMetaResourceId()===id){return i;}}
return-1;};xmp.baseplayer._PDMapArray.prototype.i_extractIdArray=function(qc){var rc=[];for(var i=qc;i<this.p_array.length;i++){var sc=this.p_array[i];rc.push(sc.getMetaResourceId());}
return rc;};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer._PLCtx=function(tc,uc,vc,wc){this.p_AD_PATTERN_CALL_BACK='adPatternCB';this.p_key=tc;this.p_owner=uc;this.p_logger=this.p_owner.i_getLogger();this.p_latch=null;this.p_advanceToId="";this.p_pdMapArray=new xmp.baseplayer._PDMapArray();this.p_xmpPlayList=null;this.p_ruleMap=null;this.p_currentNode=null;this.p_currentContentNode=null;this.p_previousNode=null;this.p_stateListener=null;this.p_initPlayListData={p:wc,ira:[]};this.p_modArray=[];this.p_init(vc);};xmp.baseplayer._PLCtx.prototype.i_getXmpPlayList=function(){return this.p_xmpPlayList;};xmp.baseplayer._PLCtx.p_staticCbCounter=0;xmp.baseplayer._PLCtx.prototype.i_debugPrint=function(xc){var yc=xc+": ";yc+="key = "+this.p_key+"; ";yc+="owner = "+this.p_owner.getId()+"; ";yc+="advanceToId = "+this.p_advanceToId+"; ";yc+="currently rendering node = "+xmp.util.PlayableNode.safeGetBestId(this.p_currentNode)+"; ";yc+="current content node = "+xmp.util.PlayableNode.safeGetBestId(this.p_currentContentNode)+"; ";yc+="current playing index = "+this.p_getCurrentlyPlayingItemIndex()+"; ";this.p_logger.debug(yc);};xmp.baseplayer._PLCtx.prototype.getLookAheadNodeArray=function(){return this.p_xmpPlayList.getLookAheadNodeArray();};xmp.baseplayer._PLCtx.prototype.getLookBehindNodeArray=function(){return this.p_xmpPlayList.getLookBehindNodeArray();};xmp.baseplayer._PLCtx.prototype.p_init=function(zc){xmp.validateArguments(arguments,[xmp.i_STRING_TYPE],"_PLCtx.p_init");try{var Ac=new xmp.util.Callback('masterCB',this.p_latchComplete,this);this.p_latch=new xmp.util.Latch([],Ac);this.p_ruleMap=new xmp.baseplayer._RuleMap(this.p_latch,this);this.p_initPlayListData.ira=this.p_ruleMap.i_loadInvariantRules();this.p_loadAdPattern(zc);this.p_ruleMap.i_loadRuleImplementations();}
catch(e){this.p_logger.warn('Error in init',e);throw e;}};xmp.baseplayer._PLCtx.prototype.i_loadContent=function(Bc,Cc){xmp.validateArguments(arguments,[xmp.i_OBJECT_TYPE,xmp.i_STRING_TYPE],"_PLCtx.i_loadContent");try{var Dc=[];var Ec={};for(var i=0;i<Bc.length;i++){var Fc=Bc[i];if(!xmp.isNonEmptyString(Fc)){throw new xmp.util.internals.InvalidArgsError("The 'mridArray' argument must contain only non-empty strings.");}
if(typeof(Ec[Fc])!=='undefined'){this.p_logger.info('Dropping duplicate content ID: '+Fc);continue;}
Ec[Fc]=Fc;Dc.push(Fc);}
Bc=Dc;if(Bc.length===0){throw new xmp.util.internals.InvalidArgsError("The 'mridArray' argument must contain at least one unique id.");}
if(Cc.length===0){Cc=Bc[0];}
if(typeof(Ec[Cc])==='undefined'){throw new xmp.util.internals.InvalidArgsError("The 'startResourceId' argument must be empty or refer to an id in 'mridArray'.");}
this.p_advanceToId=Cc;this.p_pdMapArray.i_removeAll();return this.p_handleLoadContent('loadContent','Batch',Bc,0);}
catch(e){this.p_logger.warn('Error in loadContent',e);throw e;}};xmp.baseplayer._PLCtx.prototype.p_handleLoadContent=function(Gc,id,Hc,Ic){var cb=this.p_createPLModCbObj(Gc,id);this.p_latch.i_addCbName(cb.i_getId());var Jc=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create('videoContentMeta');var Kc=Jc.setIds(Hc,null);Jc.setAllLoadedCallback(cb);for(var i=0;i<Kc.length;i++){var Lc=Kc[i];Lc.i_reInitRuntimeMetadata();this.p_pdMapArray.i_insert(Ic+i,Lc);}
Jc.load();return cb.getMetadata('_modNum',0);};xmp.baseplayer._PLCtx.prototype.i_getKey=function(){return this.p_key;};xmp.baseplayer._PLCtx.prototype.i_setStateListener=function(Mc){this.p_stateListener=Mc;};xmp.baseplayer._PLCtx.prototype.i_appendToPlayList=function(Nc,Oc){var Pc=null;var Qc=this.i_getPlayListItemCount();if(Qc>0){Pc=this.i_getPlayListItem(Qc-1).getMetaResourceId();}
return this.p_insertInPlayListEx('append',Nc,Pc,Oc);};xmp.baseplayer._PLCtx.prototype.i_removeFromPlayList=function(Rc){var Sc=this.i_findPlayListItemIndex(Rc);if(Sc<0){return-1;}
this.p_pdMapArray.i_remove(Sc);return this.p_doLatchAsynch('remove',Rc);};xmp.baseplayer._PLCtx.prototype.i_insertInPlayList=function(Tc,Uc,Vc){return this.p_insertInPlayListEx('insert',Tc,Uc,Vc);};xmp.baseplayer._PLCtx.prototype.p_insertInPlayListEx=function(Wc,Xc,Yc,Zc){var $c=this.p_validateInsertAndMoveArgs(Xc,Yc,Zc,false);if(Zc||!this.p_isRunning()){this.p_advanceToId=Xc;}
return this.p_handleLoadContent(Wc,Xc,[Xc],$c.a+1);};xmp.baseplayer._PLCtx.prototype.i_moveWithinPlayList=function(ad,bd,cd){var dd=this.p_validateInsertAndMoveArgs(ad,bd,cd,true);var ed=dd.a;if(dd.a<dd.i){ed++;}
this.p_pdMapArray.i_move(dd.i,ed);if(cd){this.p_advanceToId=ad;}
return this.p_doLatchAsynch('move',ad);};xmp.baseplayer._PLCtx.prototype.i_setCurrentPlayListItem=function(fd){var gd=this.i_findPlayListItemIndex(fd);if(gd<0){throw new xmp.util.internals.InvalidArgsError("The 'mrid' argument must refer to an exising playlist item.");}
this.p_advanceToId=fd;return this.p_doLatchAsynch('setCur',fd);};xmp.baseplayer._PLCtx.prototype.i_getCurrentPlayListItem=function(){var hd=this.p_currentNode;if(this.p_isValidNode(hd)){if(hd.isContentType()){return hd.getPlayableData().getMetaResourceId();}
else{var a=this.getLookAheadNodeArray();for(var i=0;i<a.length;i++){var jd=a[i];if(jd.isContentType()){return jd.getPlayableData().getMetaResourceId();}}}}
return'';};xmp.baseplayer._PLCtx.prototype.i_getPlayListItemCount=function(){return this.p_pdMapArray.i_getCount();};xmp.baseplayer._PLCtx.prototype.i_getPlayListItem=function(kd){return this.p_pdMapArray.i_getAtIndex(kd);};xmp.baseplayer._PLCtx.prototype.i_findPlayListItem=function(ld){return this.p_pdMapArray.i_findItem(ld);};xmp.baseplayer._PLCtx.prototype.i_findPlayListItemIndex=function(md){return this.p_pdMapArray.i_findItemIndex(md);};xmp.baseplayer._PLCtx.prototype.i_registerRuleClass=function(nd,od){this.p_ruleMap.i_registerRuleClass(nd,od);this.p_xmpPlayList.addRuleFactory(nd,this.p_ruleMap);};xmp.baseplayer._PLCtx.prototype.p_loadAdPattern=function(pd){var cb=new xmp.util.Callback(this.p_AD_PATTERN_CALL_BACK,this.p_adPatternCb,this);this.p_latch.i_addCbName(cb.i_getId());xmp.net.AjaxRequestManager.getInstance().request(pd,cb,'adPolicy',pd,xmp.net.ContentTypes.JSON,null);};xmp.baseplayer._PLCtx.prototype.p_adPatternCb=function(cb,qd){var rd=null;if(qd.isError()){rd={e:qd.getErrorObject(),j:null};var sd=new xmp.baseplayer.ApplicationError(qd.getErrorObject(),'FailToGetAdPattern',null,[{label:"Url",text:qd.getFullUrl()}]);this.p_logger.warn(sd.message,sd);}
else{rd={e:null,j:qd.getJsonObject()};}
this.p_latch.called(cb.i_getId(),rd);if(this.p_logger.isDebugEnabled()){this.p_logger.debug("_PLCtx.p_adPatternCb");}};xmp.baseplayer._PLCtx.prototype.p_PLModCb=function(cb){this.p_latch.called(cb.i_getId(),null);if(this.p_logger.isDebugEnabled()){this.p_logger.debug("_PLCtx.p_PLModCb: "+cb.i_getId());}};xmp.baseplayer._PLCtx.prototype.p_latchComplete=function(cb){if(!this.p_xmpPlayList){var td=cb.getMetadata(this.p_AD_PATTERN_CALL_BACK,{});this.p_initXmpPlayList(td);}
var ud=this.p_isRunning();var vd=this.p_getCurrentlyPlayingItemIndex();if(this.p_logger.isDebugEnabled()){var wd='Latch Complete, run state = '+this.p_calcRunState()+', count = '+this.i_getPlayListItemCount()+', current index = '+vd+', _advanceToId = '+this.p_advanceToId;this.p_logger.debug(wd);}
var xd=this.p_calcAdvanceToIndex();var yd=-1;if(xd>=0){yd=xd;}
else{if(vd<0&&ud){vd=-1;}
yd=(vd+1);}
if(yd<0){this.p_logger.warn('Invalid refreshFromIndex, correcting to 0: '+yd);yd=0;}
this.p_xmpPlayList.setContentMetaResourceIds(this.p_pdMapArray.i_extractIdArray(yd));this.p_xmpPlayList.getIterator().first();if(xd>=0&&this.p_canAdvance()){this.i_advance();}
this.p_notifyPLMods();};xmp.baseplayer._PLCtx.prototype.p_initXmpPlayList=function(zd){try{if(zd.e!==null){throw zd.e;}
this.p_xmpPlayList=new xmp.playlistapi.AdPatternPlayList(this,zd.j,this.p_initPlayListData.ira,this.p_initPlayListData.p);var Bd=this.p_xmpPlayList.getRuleIdArray();this.p_ruleMap.i_registerRules(Bd);this.p_xmpPlayList.loadRuleFactoryArray([this.p_ruleMap]);}
catch(e){this.p_logger.warn('Error initializing playlist',e);}};xmp.baseplayer._PLCtx.prototype.i_getCurrentNode=function(){return this.p_currentNode;};xmp.baseplayer._PLCtx.prototype.i_advance=function(){if(this.p_xmpPlayList.getIterator().hasNext()){var Cd=this.p_xmpPlayList.getIterator().next();this.p_previousNode=this.p_currentNode;if(this.p_currentNode===null){this.p_notifyPLStarted();}
this.p_currentNode=Cd;if(Cd.isContentType()){this.p_currentContentNode=Cd;}
if(this.p_stateListener){this.p_stateListener.i_onAdvance();}}
else{this.p_currentNode=null;this.p_currentContentNode=null;this.p_notifyPLEnded();}};xmp.baseplayer._PLCtx.prototype.p_calcAdvanceToIndex=function(){var Dd=-1;if(this.p_advanceToId.length>0){Dd=this.i_findPlayListItemIndex(this.p_advanceToId);if((Dd<0)&&this.p_logger.isDebugEnabled()){this.p_logger.debug("_PLCtx.p_calcAdvanceToIndex: "+this.p_advanceToId+" is not a valid play list item id; cannot advance to it.");}}
this.p_advanceToId='';return Dd;};xmp.baseplayer._PLCtx.prototype.p_canAdvance=function(){var Ed=this.p_isRunning();var Fd=this.p_currentNode;return(!Ed||(Ed&&this.p_owner.i_getNodeListener(Fd).canUserControl(Fd)));};xmp.baseplayer._PLCtx.prototype.p_isRunning=function(){return this.p_isValidNode(this.p_currentNode);};xmp.baseplayer._PLCtx.prototype.p_isValidNode=function(Gd){return(Gd&&Gd.isValid()&&Gd.getPlayableData());};xmp.baseplayer._PLCtx.prototype.handleInitializePlayableNode=function(Hd){this.p_owner.handleInitializePlayableNode(Hd);};xmp.baseplayer._PLCtx.prototype.p_createPLModCbObj=function(Id,id){xmp.baseplayer._PLCtx.p_staticCbCounter++;var c=xmp.baseplayer._PLCtx.p_staticCbCounter.toString();var Jd='PLModCb_'+c+'_'+Id+':'+id;var cb=new xmp.util.Callback(Jd,this.p_PLModCb,this);var Kd=new xmp.baseplayer.PlayListMod(Id,id);cb.setMetadata('_modNum',Kd.getModNum());this.p_modArray.push(Kd);return cb;};xmp.baseplayer._PLCtx.prototype.p_doLatchAsynch=function(Ld,id){var cb=this.p_createPLModCbObj(Ld,id);this.p_latch.i_addCbName(cb.i_getId());xmp.util.Timer.doSimpleCallback(cb);return cb.getMetadata('_modNum',0);};xmp.baseplayer._PLCtx.prototype.p_getCurrentlyPlayingItemIndex=function(){var Md=this.p_currentContentNode;if(this.p_isValidNode(Md)){return this.i_findPlayListItemIndex(Md.getPlayableData().getMetaResourceId());}
return-1;};xmp.baseplayer._PLCtx.prototype.getPlayableData=function(Nd){return this.i_findPlayListItem(Nd);};xmp.baseplayer._PLCtx.prototype.p_validateInsertAndMoveArgs=function(Od,Pd,Qd,Rd){var Sd={a:-1,i:-1};if(!(xmp.isNonEmptyString(Od)&&(Pd===null||xmp.isNonEmptyString(Pd)))){throw new xmp.util.internals.InvalidArgsError("The 'mrid' argument must be a non-null, non-empty string, "+"and the 'afterMrid' must EITHER be null OR a a non-null, non-empty string");}
if(Od===Pd){throw new xmp.util.internals.InvalidArgsError("The 'mrid' argument must NOT be the same value as the 'afterMrid' value.");}
if(typeof(Qd)!=='boolean'){throw new xmp.util.internals.InvalidArgsError("The 'setPos' argument must be of boolean type.");}
if(Pd!==null){Sd.a=this.i_findPlayListItemIndex(Pd);if(Sd.a<0){throw new xmp.util.internals.InvalidArgsError("The 'afterMrid' argument must be set to null, or must refer to an exising playlist item.");}}
Sd.i=this.i_findPlayListItemIndex(Od);if(Rd){if(Sd.i<0){throw new xmp.util.internals.InvalidArgsError("The 'mrid' argument must refer to an exising playlist item when moving.");}}
else{if(Sd.i>-1){throw new xmp.util.internals.InvalidArgsError("The 'mrid' argument must NOT refer to an exising playlist item when inserting/appending.");}}
return Sd;};xmp.baseplayer._PLCtx.prototype.p_calcRunState=function(){if(this.p_isRunning()){return'running';}
else{return this.p_isValidNode(this.p_previousNode)?'stopped':'never started';}};xmp.baseplayer._PLCtx.prototype.p_notifyPLStarted=function(){this.p_owner.i_doGuardedCall(this.p_owner,this.p_owner.handlePlayListStarted,'handlePlayListStarted',[]);};xmp.baseplayer._PLCtx.prototype.p_notifyPLEnded=function(){this.p_owner.i_doGuardedCall(this.p_owner,this.p_owner.handlePlayListEnded,'handlePlayListEnded',[]);};xmp.baseplayer._PLCtx.prototype.p_notifyPLMods=function(){var Td=[];Td=Td.concat(this.p_modArray);this.p_modArray=[];this.p_owner.i_doGuardedCall(this.p_owner,this.p_owner.handlePlayListModified,'handlePlayListModified',[Td]);};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer._RuleMap=function(Ud,Vd){this.p_logger=new xmp.util.internals.CategoryLogger('_RuleMap');this.p_ruleIdArray=[];this.p_ruleIdToConstructorMap={};this.p_latch=Ud;this.p_player=Vd;};xmp.baseplayer._RuleMap.prototype.i_registerRuleClass=function(Wd,Xd){if(!(xmp.isNonEmptyString(Wd)&&xmp.isNonEmptyString(Xd))){throw new xmp.util.internals.InvalidArgsError("The 'ruleId' and 'ruleFullyQualifiedConstructor' arguments must be non-null, non-empty strings.");}
if(typeof(this.p_ruleIdToConstructorMap[Wd])==='undefined'){this.p_ruleIdArray.push(Wd);this.p_ruleIdToConstructorMap[Wd]=Xd;}};xmp.baseplayer._RuleMap.prototype.i_loadInvariantRules=function(){var Yd=xmp.util.SettingsManager.getInstance().getContextNode();if(!Yd.nodeExists('invariantRules')){return[];}
var Zd=Yd.getNodeForPath('invariantRules');var $d=Zd.retrieveKeys();var ae="[";for(var i=0;i<$d.length;i++){var be=$d[i];ae+=Zd.getString(be,'');if(i!==($d.length-1)){ae+=",";}}
ae+="]";try{return xmp.net.AjaxRequestManager.getInstance().i_parseJson(ae);}
catch(e){this.p_logger.warn('Error loading invariant rule ids.',e);throw e;}};xmp.baseplayer._RuleMap.prototype.i_registerRules=function(ce){var de=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('BasePlayer').getString('rule classes namespace','');for(var i=0;i<ce.length;i++){var ee=ce[i];var fe=ee;if(de.length>0){fe=(de+'.'+fe);}
this.i_registerRuleClass(ee,fe);}};xmp.baseplayer._RuleMap.prototype.i_loadRuleImplementations=function(){var ge=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('BasePlayer').getString('rule classes relative URL','');var cb=new xmp.util.Callback('getRulesCB',this.p_ruleImplementationsCb,this);this.p_latch.i_addCbName(cb.i_getId());if(ge==='NONE'){cb.setMetadata('no_rules','true');cb.i_callAsynch([]);}
else{xmp.net.AjaxRequestManager.getInstance().request(ge,cb,'ruleClasses',ge,xmp.net.ContentTypes.TEXT,null);}};xmp.baseplayer._RuleMap.prototype.p_ruleImplementationsCb=function(cb,he){if(cb.getMetadata('no_rules','false')==='true'){this.p_latch.called(cb.i_getId(),{e:null});return;}
if(he.isError()){var je=new xmp.baseplayer.ApplicationError(he.getErrorObject(),'RulesNotDownLoaded',null,[{label:"Url",text:he.getFullUrl()}]);this.p_logger.warn(je.message,je);this.p_latch.called(cb.i_getId(),{e:he.getErrorObject()});}
else{try{xmp.net.AjaxRequestManager.getInstance().i_parseJavaScript(he.getText());this.p_latch.called(cb.i_getId(),{e:null});}
catch(e){var ke=(e instanceof Error)?e:new Error('UKNOWN ERROR');this.p_latch.called(cb.i_getId(),{e:ke});}}};xmp.baseplayer._RuleMap.prototype.getCreatableRuleIds=function(){return this.p_ruleIdArray;};xmp.baseplayer._RuleMap.prototype.createRule=function(le){var me=this.p_ruleIdToConstructorMap[le];if(!me){return null;}
var ne=xmp.getNamespacedMethod(me);var oe=new ne(this.p_player);return oe;};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.AppErrorCodes=function(){};xmp.baseplayer.AppErrorCodes.data=[];xmp.baseplayer.AppErrorCodes.data.badAdPolicy='Ad policy not found';xmp.baseplayer.AppErrorCodes.data.badAdPattern='Bad ad pattern';xmp.baseplayer.AppErrorCodes.data.FailToGetAdPattern='Failed to get the "ad pattern" JSON:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid JSON file exists at the specified location.  Also, make sure that the required cross-domain XML file on the JSON host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.RulesNotDownLoaded='Failed to get the "rules JavaScript" file:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid JS file exists at the specified location.  Also, make sure that the required cross-domain XML file on the JS host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.missingContent='Missing content';xmp.baseplayer.AppErrorCodes.data.FailToGetDhtmlObject='Failed to load the DHTML object:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid DHTML object exists at the specified location.  Also, make sure that the required cross-domain XML file on the DHTML host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.missingAd='Failed to get the ad:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid ad file exists at the specified location.  Also, make sure that the required cross-domain XML file on the ad host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.badAdJson='Bad ad JSON';xmp.baseplayer.AppErrorCodes.data.FailToGetAdVideo='Failed to get the ad video:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid ad-video file exists at the specified location.  Also, make sure that the required cross-domain XML file on the ad-video host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.FailToGetAdMan='Failed to get the ad-man file:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid ad-man file exists at the specified location.  Also, make sure that the required cross-domain XML file on the ad-video host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.missingVideoJson='Failed to get the video JSON:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid JSON file exists at the specified location.  Also, make sure that the required cross-domain XML file on the JSON host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.FailToGetVideoJson='Failed to get the video JSON:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid JSON file exists at the specified location.  Also, make sure that the required cross-domain XML file on the JSON host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.FailToGetPromoJson='Failed to get the promo JSON:  Make sure that the corresponding value for "rootUrl" in primary.js is correct, and that a valid JSON file exists at the specified location.  Also, make sure that the required cross-domain XML file on the JSON host has the needed site entry.';xmp.baseplayer.AppErrorCodes.data.badVideoJson='Exception caught during "all loaded" notification.  The video JSON might be invalid.';xmp.baseplayer.AppErrorCodes.data.mediaPlayerError='Media-player error';xmp.baseplayer.AppErrorCodes.data.badInitialFlashObject='Timed out initializing Flash:  Make sure that the corresponding value for "rootUrl" in primary.js is correct for the initial Flash object.  Also, make sure that the Flash plug-in is installed and that the installation is not corrupted.';xmp.baseplayer.AppErrorCodes.getDescription=function(pe){var qe=xmp.baseplayer.AppErrorCodes.data[pe];if(qe===null){qe='Unknown error: '+pe;}
return qe;};xmp.baseplayer.ApplicationError=function(e,se,te,ue){var ve=xmp.baseplayer.AppErrorCodes.getDescription(se);xmp.baseplayer.ApplicationError.ctor.call(this,"ApplicationError",te,ve,ue);this.setInnerError(e);};xmp.DERIVE_CLASS(xmp.util.internals.XMPError,xmp.baseplayer.ApplicationError);xmp.baseplayer.ApplicationError.prototype.getInnerError=function(){return this.innerError;};xmp.baseplayer.ApplicationError.prototype.getMessage=function(){return this.message;};xmp.baseplayer.ApplicationError.prototype.getContext=function(){return this.context;};xmp.baseplayer.ApplicationError.prototype.getExtendedInfo=function(){return this.extendedInfo;};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.BasePlayer=function(id,we,xe){xmp.util.LogConfigurator.configure();if(xmp.baseplayer.BasePlayer.p_singleInstance!==null){throw new Error('Only one instance of BasePlayer allowed per browser session.');}
this.p_nextPlayListContextKey=1;this.p_playListContextCollection={};this.p_currentPlayListContext=null;this.p_logger=new xmp.util.internals.CategoryLogger('BasePlayer');this.p_id=id;xmp.baseplayer.BasePlayer.p_playerMap[this.getId()]=this;this.p_metadataMap=new xmp.util.internals.MetadataMap(true);this.p_metadataMap.i_reInitialize(we);this.p_parameters=xe;this.p_mediaPlayer=null;this.p_nlMap=new xmp.baseplayer._NLMap(this);this.p_bootStrapper=xmp.baseplayer.BasePlayer.p_bootStrapper;this.p_bootStrapper.i_init();this.p_options=we;xmp.baseplayer.BasePlayer.p_singleInstance=this;};xmp.baseplayer.BasePlayer.p_playerMap={};xmp.baseplayer.BasePlayer.p_singleInstance=null;xmp.baseplayer.BasePlayer.i_getSingleInstance=function(){return xmp.baseplayer.BasePlayer.p_singleInstance;};xmp.baseplayer.BasePlayer.p_bootStrapper=new xmp.baseplayer.Bootstrapper();xmp.baseplayer.BasePlayer.p_fatalException=xmp.FatalException.createFatalException(xmp.XmpErrorCodes.FATAL_UNSPECIFIED_ERROR,'BasePlayer','not boostrapped yet');xmp.baseplayer.BasePlayer.i_setFatalException=function(ye){xmp.baseplayer.BasePlayer.p_fatalException=ye;};xmp.baseplayer.BasePlayer.prototype.i_getLogger=function(){return this.p_logger;};xmp.baseplayer.BasePlayer.prototype.getAbsoluteURI=function(ze,Ae){if(ze.length>0&&ze.charAt(0)==='/'){var Be="http://"+window.location.host;var Ce=Be;if(typeof Ae!=='undefined'&&Ae!=='defaultRoot'){Ce=xmp.util.RootUrlProvider.getInstance().i_getRootUrl(Ae,Be);}
ze=Ce+ze;}
return ze;};xmp.baseplayer.BasePlayer.findPlayer=function(id){var De=xmp.baseplayer.BasePlayer.p_playerMap[id];return(!De)?null:De;};xmp.baseplayer.BasePlayer.configure=function(Ee,Fe){var Ge=[xmp.internal_settings_pref_api];Ge=Ge.concat(Ee);xmp.util.SettingsManager.getInstance().init(Ge,Fe);var He=xmp.util.internals.MockTestMode.getInstance();if(He.isActive()){He.configure();}};xmp.baseplayer.BasePlayer.prototype.bootStrap=function(){try{if(!this.p_bootStrapper.i_isNew()){throw new Error('Already tried to bootstrap.');}
var Ie=xmp.baseplayer.BasePlayer.p_fatalException;xmp.PlayerPolicy.i_validateBootstrap(this);if(Ie===xmp.baseplayer.BasePlayer.p_fatalException){this.p_bootStrapper.i_bootStrap(this);}
else{this.i_doGuardedCall(this,this.handleBootstrapped,'handleBootstrapped',[false],xmp.util.LogLevels.i_FATAL);}}
catch(e){this.i_handleBootstrappedInternal(e);}};xmp.baseplayer.BasePlayer.prototype.fini=function(){if(this.p_mediaPlayer!==null){this.p_mediaPlayer.fini();this.p_mediaPlayer=null;}
xmp.ServiceRegistry.i_fini();};xmp.baseplayer.BasePlayer.prototype.getId=function(){return this.p_id;};xmp.baseplayer.BasePlayer.prototype.renderAds=function(Je,Ke){if(Ke==='node'){throw new Error('Renderer type "node" is reserved.');}
var Le=Je.i_getAssociatedResourceBundleTypes();var Me=xmp.playlistapi.ResouceBundle.i_filterByRenderer(Le,Ke);for(var i=0;i<Me.length;i++){var Ne=Me[i];var Oe=Je.getMetaResource(Ne);if(Oe){var Pe=this.i_getNodeListener(Je);this.i_doGuardedCall(Pe,Pe.handleRenderAd,'handleRenderAd',[Je,Oe,Ke]);}}};xmp.baseplayer.BasePlayer.prototype.getMediaPlayer=function(){return this.p_mediaPlayer;};xmp.baseplayer.BasePlayer.prototype.getLookAheadNodeArray=function(){return this.p_getCurCtx('getLookAheadNodeArray').getLookAheadNodeArray();};xmp.baseplayer.BasePlayer.prototype.getLookBehindNodeArray=function(){return this.p_getCurCtx('getLookBehindNodeArray').getLookBehindNodeArray();};xmp.baseplayer.BasePlayer.prototype.getMetadata=function(Qe,Re){return this.p_metadataMap.i_get(Qe,Re);};xmp.baseplayer.BasePlayer.prototype.setPlayerContext=function(Se){xmp.util.PlayerStats.getInstance().i_setValue('playerContext',Se);xmp.util.SettingsManager.getInstance().setContext(Se);xmp.baseplayer.Bootstrapper.i_cacheHtmlObjects();};xmp.baseplayer.BasePlayer.prototype.createPlayListContext=function(Te){this.p_checkXmpState();this.p_faultMediaPlayer();var Ue=this.p_getAdPatternRelPath(Te);var Ve=this.p_getContextParameters();Ve=Ve.concat(this.p_parameters);var We=this.p_createPlayListContext(Ue,Ve);this.p_setCurrentPlayListContext(We);var Xe=We.i_getKey();if(this.p_logger.isDebugEnabled()){this.p_logger.debug("Created new playlist, key = "+Xe);We.i_debugPrint("Initial State");}
return Xe;};xmp.baseplayer.BasePlayer.prototype.loadContent=function(Ye,Ze){this.p_checkXmpState();return this.p_getCurCtx('i_loadContent').i_loadContent(Ye,(Ze?Ze:''));};xmp.baseplayer.BasePlayer.prototype.load=function($e,af,bf){this.p_logger.warn('Method "BasePlayer.load" is deprecated, please change code to no longer use this method.');var cf=this.createPlayListContext(bf);this.loadContent($e,af);return cf;};xmp.baseplayer.BasePlayer.prototype.loadItem=function(df,ef,ff){this.p_faultMediaPlayer();var gf=this.p_createPlayableNode(df,ef,ff);var hf=this.i_getNodeListener(gf);this.i_doGuardedCall(hf,hf.handleInitialize,'handleInitialize',[gf]);this.i_doGuardedCall(hf,hf.handleValidate,'handleValidate',[gf]);this.i_doGuardedCall(hf,hf.handleComplete,'handleComplete',[gf]);this.i_doGuardedCall(hf,hf.handleRender,'handleRender',[gf]);};xmp.baseplayer.BasePlayer.prototype.p_createPlayableNode=function(jf,kf,lf){var mf=new xmp.util.PlayableNode();mf.i_setNodeType(new xmp.playlistapi.internals.RuleSetPlayableNodeType(null,jf,jf,[],{}));if(kf){if(kf.url){mf.setURI(kf.url);}
mf.i_setData(((kf.metadata)?kf.metadata:new xmp.util.PlayableData('DEFAULT')));}
if(lf){var nf=lf.length;for(var i=0;i<nf;i++){mf.setMetadata(lf[i].name,lf[i].value);}}
return mf;};xmp.baseplayer.BasePlayer.prototype.p_getAdPatternRelPath=function(of){var pf='';var qf=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('BasePlayer/ad patterns');if(typeof(of)==='undefined'){var rf=qf.retrieveKeys();if(rf.length>0){pf=qf.getString(rf[0],'');}}
else{if(!xmp.isNonEmptyString(of)){throw new xmp.util.internals.InvalidArgsError('The adPatternKey parameter must be a non-empty string');}
pf=qf.getString(of,'');}
if(!xmp.isNonEmptyString(pf)){throw new xmp.util.internals.InvalidArgsError('Failed to find ad pattern relative URL.');}
return pf;};xmp.baseplayer.BasePlayer.prototype.p_createPlayListContext=function(sf,tf){var uf=this.p_nextPlayListContextKey++;var vf=new xmp.baseplayer._PLCtx(uf,this,sf,tf);this.p_playListContextCollection[uf]=vf;return vf;};xmp.baseplayer.BasePlayer.prototype.switchPlayList=function(wf){var xf=this.p_playListContextCollection[wf];if(!xf){throw new xmp.util.internals.InvalidArgsError(""+wf+" is not a valid playlist context key");}
else{if(this.p_logger.isDebugEnabled()){this.p_logger.debug("Switching playlist context:");this.p_currentPlayListContext.i_debugPrint("old context");}
this.p_setCurrentPlayListContext(xf);if(this.p_logger.isDebugEnabled()){this.p_currentPlayListContext.i_debugPrint("new context");}
this.p_tryRender();}};xmp.baseplayer.BasePlayer.prototype.hasPlayListContext=function(){return this.p_currentPlayListContext!==null;};xmp.baseplayer.BasePlayer.prototype.p_setCurrentPlayListContext=function(yf){if(this.p_currentPlayListContext){this.p_currentPlayListContext.i_setStateListener(null);}
this.p_currentPlayListContext=yf;this.p_currentPlayListContext.i_setStateListener(this);};xmp.baseplayer.BasePlayer.prototype.p_getCurCtx=function(zf){if(!this.p_currentPlayListContext){throw new Error('BasePlayer.'+zf+": Cannot perform operation because playlist context has not been set. Call load() first.");}
return this.p_currentPlayListContext;};xmp.baseplayer.BasePlayer.prototype.appendToPlayList=function(Af,Bf){this.p_checkXmpState();return this.p_getCurCtx('i_appendToPlayList').i_appendToPlayList(Af,((Bf)?Bf:false));};xmp.baseplayer.BasePlayer.prototype.removeFromPlayList=function(Cf){this.p_checkXmpState();return this.p_getCurCtx('i_removeFromPlayList').i_removeFromPlayList(Cf);};xmp.baseplayer.BasePlayer.prototype.insertInPlayList=function(Df,Ef,Ff){this.p_checkXmpState();return this.p_getCurCtx('i_insertInPlayList').i_insertInPlayList(Df,Ef,((Ff)?Ff:false));};xmp.baseplayer.BasePlayer.prototype.moveWithinPlayList=function(Gf,Hf,If){this.p_checkXmpState();return this.p_getCurCtx('i_moveWithinPlayList').i_moveWithinPlayList(Gf,Hf,((If)?If:false));};xmp.baseplayer.BasePlayer.prototype.setCurrentPlayListPosition=function(Jf){this.p_checkXmpState();return this.p_getCurCtx('i_setCurrentPlayListPosition').i_setCurrentPlayListItem(Jf);};xmp.baseplayer.BasePlayer.prototype.getCurrentPlayListItem=function(){return this.p_getCurCtx('i_getCurrentPlayListItem').i_getCurrentPlayListItem();};xmp.baseplayer.BasePlayer.prototype.getPlayListItemCount=function(){return this.p_getCurCtx('i_getPlayListItemCount').i_getPlayListItemCount();};xmp.baseplayer.BasePlayer.prototype.getPlayListItem=function(Kf){return this.p_getCurCtx('i_getPlayListItem').i_getPlayListItem(Kf);};xmp.baseplayer.BasePlayer.prototype.findPlayListItem=function(Lf){return this.p_getCurCtx('i_findPlayListItem').i_findPlayListItem(Lf);};xmp.baseplayer.BasePlayer.prototype.findPlayListItemIndex=function(Mf){return this.p_getCurCtx('i_findPlayListItemIndex').i_findPlayListItemIndex(Mf);};xmp.baseplayer.BasePlayer.prototype.advance=function(){this.p_checkXmpState();this.p_getCurCtx('i_advance').i_advance();};xmp.baseplayer.BasePlayer.prototype.i_onAdvance=function(){this.p_tryRender();};xmp.baseplayer.BasePlayer.prototype.p_tryRender=function(){if(this.p_isReady()){var Nf=this.p_currentPlayListContext.i_getCurrentNode();if(Nf){this.p_renderNode(Nf,true);}}};xmp.baseplayer.BasePlayer.prototype.registerNodeListener=function(Of,Pf){this.p_nlMap.i_registerNodeListener(Of,Pf);};xmp.baseplayer.BasePlayer.prototype.p_initServices=function(Qf){if(Qf.services){xmp.ServiceRegistry.i_init(this,Qf.services);}};xmp.baseplayer.BasePlayer.prototype.handlePlayListStarted=function(){this.p_logger.info('PlayList started, override "handlePlayListStarted" to do specific handling.');};xmp.baseplayer.BasePlayer.prototype.handlePlayListEnded=function(){this.p_logger.info('PlayList ended, override "handlePlayListEnded" to do specific handling.');};xmp.baseplayer.BasePlayer.prototype.handlePlayListModified=function(Rf){this.p_logger.info('PlayList modified, override "handlePlayListModified" to do specific handling.');};xmp.baseplayer.BasePlayer.prototype.handleMediaPlayerReady=function(){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.handleCreateViewport=function(Sf,Tf,Uf,Vf){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.handleDestroyViewport=function(Wf,Xf){var Yf=xmp.findDomElement(Xf);if(Yf){var Zf=xmp.getDomParent(Yf);Zf.removeChild(Yf);}};xmp.baseplayer.BasePlayer.prototype.handleFatalException=function(e){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.handleBootstrapped=function($f){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.handleRegisterNodeListeners=function(){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.i_onControlStreamError=function(e){this.i_doGuardedCall(this,this.handleControlStreamError,'handleControlStreamError',[e]);};xmp.baseplayer.BasePlayer.prototype.handleControlStreamError=function(e){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.i_onControlStreamTriggerInit=function(ag,bg){this.i_doGuardedCall(this,this.handleControlStreamTriggerInit,'handleControlStreamTriggerInit',[ag,bg]);};xmp.baseplayer.BasePlayer.prototype.handleControlStreamTriggerInit=function(cg,dg){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.i_onControlStreamTrigger=function(eg,fg){this.i_doGuardedCall(this,this.handleControlStreamTrigger,'handleControlStreamTrigger',[eg,fg]);};xmp.baseplayer.BasePlayer.prototype.handleControlStreamTrigger=function(gg,hg){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.i_onRetrieveImage=function(ig,jg){this.i_doGuardedCall(this,this.handleRetrieveImage,'handleRetrieveImage',[ig,jg]);};xmp.baseplayer.BasePlayer.prototype.handleRetrieveImage=function(kg,lg){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.i_onImageRetrieverError=function(e){this.i_doGuardedCall(this,this.handleImageRetrieverError,'handleImageRetrieverError',[e]);};xmp.baseplayer.BasePlayer.prototype.handleImageRetrieverError=function(e){this.p_throwMustOverrideError();};xmp.baseplayer.BasePlayer.prototype.p_throwMustOverrideError=function(){throw new xmp.playlistapi.internals.PlayListError('Not implemented, must override.');};xmp.baseplayer.BasePlayer.prototype.i_getNodeListener=function(mg){return this.p_nlMap.i_getNodeListener(mg);};xmp.baseplayer.BasePlayer.prototype.p_faultMediaPlayer=function(){if(this.p_mediaPlayer===null){this.p_createMediaPlayer();}};xmp.baseplayer.BasePlayer.prototype.p_createMediaPlayer=function(){this.p_mediaPlayer=xmp.MediaPlayerFactory.createPlayer(this.getId(),this);this.p_mediaPlayer.init();};xmp.baseplayer.BasePlayer.prototype.onInitialized=function(){this.i_doGuardedCall(this,this.handleMediaPlayerReady,'handleMediaPlayerReady',[],xmp.util.LogLevels.i_FATAL);this.i_doGuardedCall(this,this.handleRegisterNodeListeners,'handleRegisterNodeListeners',[],xmp.util.LogLevels.i_FATAL);};xmp.baseplayer.BasePlayer.prototype.i_onTimelineChange=function(ng,og,pg){var qg=this.i_getNodeListener(ng);this.i_doGuardedCall(qg,qg.handleTimelineChange,'handleTimelineChange',[ng,og,pg]);};xmp.baseplayer.BasePlayer.prototype.onStateChange=function(rg,sg,tg){var ug=this.i_getNodeListener(rg);var vg=null;var wg=null;var xg=[rg];switch(sg){case xmp.OPEN:vg=ug.handleOpen;wg='handleOpen';break;case xmp.CONNECTING:vg=ug.handleConnecting;wg='handleConnecting';break;case xmp.CONNECTED:vg=ug.handleConnected;wg='handleConnected';break;case xmp.PLAY:vg=ug.handlePlay;wg='handlePlay';break;case xmp.PAUSE:vg=ug.handlePause;wg='handlePause';break;case xmp.STOP:vg=ug.handleStop;wg='handleStop';break;case xmp.REWIND:vg=ug.handleRewind;wg='handleRewind';break;case xmp.FAST_FORWARD:vg=ug.handleFastForward;wg='handleFastForward';break;case xmp.SEEKABLE:vg=ug.handleSeekable;wg='handleSeekable';break;case xmp.ENDED:vg=ug.handleEnded;wg='handleEnded';break;case xmp.FIRST_FRAME_RENDERED:vg=ug.handleFirstFrameRendered;wg='handleFirstFrameRendered';break;case xmp.BUFFERING:vg=ug.handleBuffering;xg=[rg,tg];wg='handleBuffering';break;default:this.p_logger.warn('BasePlayer onStateChange: Unrecognized media player state: '+sg);break;}
if(vg!==null){this.i_doGuardedCall(ug,vg,wg,xg);}
else{this.p_logger.warn('BasePlayer onStateChange: No suitable listener method found for state: '+sg);}};xmp.baseplayer.BasePlayer.prototype.onTrigger=function(yg,zg,Ag){};xmp.baseplayer.BasePlayer.prototype.onError=function(Bg,e){var Cg=this.i_getNodeListener(Bg);this.i_doGuardedCall(Cg,Cg.handleError,'handleError',[Bg,e],xmp.util.LogLevels.i_FATAL);};xmp.baseplayer.BasePlayer.prototype.onCreateViewport=function(Dg,Eg,Fg,Gg){return this.i_doGuardedCall(this,this.handleCreateViewport,'handleCreateViewport',[Dg,Eg,Fg,Gg],xmp.util.LogLevels.i_FATAL);};xmp.baseplayer.BasePlayer.prototype.onDestroyViewport=function(Hg,Ig){this.i_doGuardedCall(this,this.handleDestroyViewport,'handleDestroyViewport',[Hg,Ig],xmp.util.LogLevels.i_FATAL);};xmp.baseplayer.BasePlayer.prototype.onPlugInError=function(e){this.p_raiseFatalException(e);};xmp.baseplayer.BasePlayer.prototype.onUnsupportedPlatformError=function(e){this.p_raiseFatalException(e);};xmp.baseplayer.BasePlayer.prototype.p_getContextParameters=function(){var Jg=[];var Kg=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('pattern parameters');var Lg=Kg.retrieveKeys();for(var i=0;i<Lg.length;i++){var Mg=Lg[i];Jg.push({name:Mg,value:Kg.getString(Mg,'')});}
return Jg;};xmp.baseplayer.BasePlayer.prototype.p_isReady=function(){return(this.p_currentPlayListContext!==null);};xmp.baseplayer.BasePlayer.prototype.handleInitializePlayableNode=function(Ng){var Og=this.i_getNodeListener(Ng);this.i_doGuardedCall(Og,Og.handleInitialize,'handleInitialize',[Ng]);this.i_doGuardedCall(Og,Og.handleDynamicRules,'handleDynamicRules',[Ng]);};xmp.baseplayer.BasePlayer.prototype.p_isStillCurrentNode=function(Pg){var Qg=this.p_currentPlayListContext.i_getCurrentNode();return(Pg===Qg);};xmp.baseplayer.BasePlayer.prototype.p_gotAsynchCompleteCallback=function(Rg,Sg){if(this.p_isStillCurrentNode(Sg)){this.p_renderNode(Sg,false);}};xmp.baseplayer.BasePlayer.prototype.p_renderNode=function(Tg,Ug){var Vg=null;try{Vg=this.i_getNodeListener(Tg);if(Ug){this.p_overrideAdRes(Vg,Tg);}
if(!this.p_isStillCurrentNode(Tg)){return;}
if(Vg.i_canCompleteNow(Tg)){if(Tg.getPlayableData().isError()){var Wg=Tg.getPlayableData().i_getError();this.i_doGuardedCall(Vg,Vg.handleError,'handleError',[Tg,Wg],xmp.util.LogLevels.i_FATAL);return;}
this.i_doGuardedCall(Vg,Vg.handleValidate,'handleValidate',[Tg]);this.i_doGuardedCall(Vg,Vg.handleComplete,'handleComplete',[Tg]);var Xg=xmp.util.internals.MockTestMode.getInstance();if(Xg.isActive()){Xg.overrideMimeType(Tg);}
if(!this.p_isStillCurrentNode(Tg)){return;}
Tg.getPlayableData().setRuntimeMetadata('history_played',true);this.i_doGuardedCall(Vg,Vg.handleRender,'handleRender',[Tg]);}
else{if(!Ug){throw new Error('_renderNode: prevent infinite loop');}
var Yg=new xmp.util.Callback('gotAsynchCompleteCallback',this.p_gotAsynchCompleteCallback,this);Vg.handleCompleteAsynch(Tg,Yg);}}
catch(e){this.p_logger.warn("Error rendering node: "+Tg.getBestId(),e);this.i_doGuardedCall(Vg,Vg.handleError,'handleError',[Tg,e],xmp.util.LogLevels.i_FATAL);}};xmp.baseplayer.BasePlayer.prototype.p_overrideAdRes=function(Zg,$g){var pm=$g.getMetadata('__DIRECTIVE_PARAMETER_MAP__',xmp.util.internals.MetadataMap.defaultObj);if(pm===xmp.util.internals.MetadataMap.defaultObj){pm=this.p_getCurCtx('_overrideAdRes').i_getXmpPlayList().i_getParameterMapInternal().clone();pm.addContextObject('node',$g.getNodeType().getDataObject());}
var ah=new xmp.playlistapi.AdResourceOverrideContext($g,pm);this.i_doGuardedCall(Zg,Zg.handleOverrideAdResources,'handleOverrideAdResources',[$g,ah]);};xmp.baseplayer.BasePlayer.prototype.registerRuleClass=function(bh,ch){this.p_getCurCtx('i_registerRuleClass').i_registerRuleClass(bh,ch);};xmp.baseplayer.BasePlayer.prototype.p_checkXmpState=function(){if(xmp.baseplayer.BasePlayer.p_fatalException!==null){throw new Error('XMP in bad state: '+xmp.extractErrorMessage(xmp.baseplayer.BasePlayer.p_fatalException));}};xmp.baseplayer.BasePlayer.prototype.p_raiseFatalException=function(e){try{var dh=null;if(e instanceof xmp.FatalException){dh=e;}
else{dh=xmp.FatalException.createFatalException(xmp.XmpErrorCodes.FATAL_UNSPECIFIED_ERROR,'BasePlayer',xmp.extractErrorMessage(e));}
xmp.baseplayer.BasePlayer.p_fatalException=dh;this.p_logger.i_fatal('fatal exception',dh);this.handleFatalException(dh);}
catch(secondE){xmp.showFatalErrorMessage('Second chance exception while raising fatal exception: '+xmp.extractErrorMessage(secondE));}};xmp.baseplayer.BasePlayer.p_staticHandleFatalEx=function(cb,e){if(xmp.baseplayer.BasePlayer.p_singleInstance!==null){xmp.baseplayer.BasePlayer.p_singleInstance.p_raiseFatalException(e);}
else{xmp.showFatalErrorMessage(xmp.extractErrorMessage(e));}};xmp.baseplayer.BasePlayer.prototype.i_doGuardedCall=function(eh,fh,gh,hh,jh){if(eh.i_isFrameworkNodeListener&&eh.i_isFrameworkNodeListener()){return fh.apply(eh,hh);}
else{var kh=xmp.util.internals.GuardedFunctions.i_execute(eh,fh,hh);if(kh.exception){var lh="When executing '"+gh+"', an unexpected exception was thrown from outside of core XMP framework";xmp.util.internals.GuardedFunctions.i_logError(this.p_logger,jh,lh,kh.exception);throw kh.exception;}
return kh.returnValue;}};xmp.i_fatalErrorCallback=new xmp.util.Callback('BasePlayer_fatalErrorCallback',xmp.baseplayer.BasePlayer.p_staticHandleFatalEx,null);xmp.baseplayer.BasePlayer.prototype.i_handleBootstrappedInternal=function(ex){xmp.baseplayer.BasePlayer.p_fatalException=null;if(ex===null){try{this.p_doAfterBootstrap();}
catch(afterEx){this.p_raiseFatalException(afterEx);ex=afterEx;}}
else{this.p_raiseFatalException(ex);}
var mh=(ex===null)?true:false;this.i_doGuardedCall(this,this.handleBootstrapped,'handleBootstrapped',[mh],xmp.util.LogLevels.i_FATAL);};xmp.baseplayer.BasePlayer.prototype.p_doAfterBootstrap=function(){this.p_initServices(this.p_options);};xmp.baseplayer.BasePlayer.prototype.seek=function(){var nh=this.getMediaPlayer().getPosition();var oh=this.getMediaPlayer().getDuration();if((nh+10)>oh){if((nh-10)<0){this.getMediaPlayer().seek(0);}
else{this.getMediaPlayer().seek(nh-10);}}
else{this.getMediaPlayer().seek(nh+10);}};xmp.baseplayer.BasePlayer.prototype.setVolume=function(){var ph=this.getMediaPlayer().getVolume();if((ph+10)>100){ph=0;}
else{ph=ph+10;}
this.getMediaPlayer().setVolume(ph);};xmp.baseplayer.BasePlayer.prototype.play=function(){this.getMediaPlayer().getViewport().hideOverlays(xmp.ALL_OVERLAYS);this.getMediaPlayer().play();};xmp.baseplayer.BasePlayer.prototype.pause=function(){this.getMediaPlayer().pause();};xmp.baseplayer.BasePlayer.prototype.stop=function(){this.getMediaPlayer().stop();};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.EmbeddedConsoleLoggerListener=function(qh,rh,sh,th,uh,vh){if(xmp.baseplayer.EmbeddedConsoleLoggerListener.p_instance!==null){throw new Error('Can have only one instance of EmbeddedConsoleLoggerListener.');}
xmp.baseplayer.EmbeddedConsoleLoggerListener.ctor.call(this,qh);xmp.baseplayer.EmbeddedConsoleLoggerListener.p_instance=this;this.p_ID_PREFIX='xmp_ec_';var wh=xmp.util.Logger.getInstance();wh.addListener(this);wh.i_setCategoryFilterArray(rh);this.p_consoleDivContainerId=(vh)?vh:null;this.p_consoleVisible=sh;this.p_logAreaVisible=true;this.p_logAreaDims={};this.p_logAreaDims.h=th;this.p_logAreaDims.w=uh;this.p_messageQueue=[];this.p_createLogArea();this.p_showConsole(this.p_consoleVisible);};xmp.DERIVE_CLASS(xmp.util.AbstractLoggerListener,xmp.baseplayer.EmbeddedConsoleLoggerListener);xmp.baseplayer.EmbeddedConsoleLoggerListener.create=function(xh){var yh=xmp.util.LogLevels.i_fromString(xmp.getQueryArgOpt('xmpLog','none'));if(yh===xmp.util.LogLevels.i_NONE){return null;}
var zh=new xmp.baseplayer.EmbeddedConsoleLoggerListener(yh,xh.exCats,(yh!==xmp.util.LogLevels.i_NONE),xh.h,xh.w,xh.cId);return zh;};xmp.baseplayer.EmbeddedConsoleLoggerListener.p_instance=null;xmp.baseplayer.EmbeddedConsoleLoggerListener.getInstance=function(){return xmp.baseplayer.EmbeddedConsoleLoggerListener.p_instance;};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.p_showConsole=function(Ah){this.p_consoleVisible=Ah;var Bh=window.document.getElementById(this.p_consoleDivContainerId);if(Bh){Bh.style.display=this.p_consoleVisible?'block':'none';}};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.isConsoleVisible=function(){return this.p_consoleVisible;};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.clearLogOutput=function(){var Ch=window.document.getElementById(this.p_ID_PREFIX+'log_output_area');if(Ch){Ch.innerHTML='';}};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.toggleLogOutput=function(){var Dh=window.document.getElementById(this.p_ID_PREFIX+'log_output_area_scroll_clip');if(Dh){this.p_logAreaVisible=!this.p_logAreaVisible;Dh.style.display=this.p_logAreaVisible?'block':'none';}};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.handleLogMessage=function(Eh,Fh,Gh){try{var Hh='<span class="'+this.p_ID_PREFIX+xmp.util.LogLevels.i_stringify(Eh)+'_message">'+Fh+': '+xmp.escapeHtml(Gh,true,true)+'</span>';this.p_messageQueue.push(Hh);while(this.p_messageQueue.length>25){this.p_messageQueue.shift();}
var Ih=window.document.getElementById(this.p_ID_PREFIX+'log_output_area');if(Ih){while(this.p_messageQueue.length>0){var Jh=this.p_messageQueue.shift();var p=window.document.createElement('P');p.innerHTML=Jh;Ih.appendChild(p);}
var Kh=window.document.getElementById(this.p_ID_PREFIX+'log_output_area_scroll_clip');if(Kh){Kh.scrollTop=Kh.scrollHeight;}}}
catch(e){this.p_handleInternalError('Error in xmp.baseplayer.EmbeddedConsoleLoggerListener.handleLogMessage: '+xmp.extractErrorMessage(e));}};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.p_handleInternalError=function(Lh){xmp.showMessage(Lh);};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.p_createLogArea=function(){var Mh=null;if(this.p_consoleDivContainerId===null){this.p_consoleDivContainerId=this.p_ID_PREFIX+'DebugConsole';Mh=window.document.createElement('div');Mh.style.display='none';Mh.id=this.p_consoleDivContainerId;xmp.insertDomChildBefore(window.document.body,Mh);}
Mh=window.document.getElementById(this.p_consoleDivContainerId);if(Mh){Mh.innerHTML=this.p_buildConsoleInnerHtml();}};xmp.baseplayer.EmbeddedConsoleLoggerListener.prototype.p_buildConsoleInnerHtml=function(){var Nh='BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; display: block; position:absolute; overflow:auto';Nh+=('; width:'+this.p_logAreaDims.w+'px');Nh+=('; height:'+this.p_logAreaDims.h+'px');var ih='';ih+='<div style="text-align:left; background-color:white; color:black; font-size: medium;">\n';if(xmp.addDynamicStyle('.'+this.p_ID_PREFIX+'fatal_message','{ font-weight: bold; color: #FF0000}')){xmp.addDynamicStyle('.'+this.p_ID_PREFIX+'critical_message','{ font-weight: bold; color: #FF0000}');xmp.addDynamicStyle('.'+this.p_ID_PREFIX+'warn_message','{ color: #FF0000}');xmp.addDynamicStyle('.'+this.p_ID_PREFIX+'info_message','{color: #009966}');xmp.addDynamicStyle('.'+this.p_ID_PREFIX+'debug_message','{color: #0000FF}');}
else{ih+='<style>\n';ih+='.'+this.p_ID_PREFIX+'fatal_message { font-weight: bold; color: #FF0000}\n';ih+='.'+this.p_ID_PREFIX+'critical_message { font-weight: bold; color: #FF0000}\n';ih+='.'+this.p_ID_PREFIX+'warn_message { color: #FF0000}\n';ih+='.'+this.p_ID_PREFIX+'info_message { color: #009966}\n';ih+='.'+this.p_ID_PREFIX+'debug_message { color: #0000FF}\n';ih+='</style>\n';}
ih+='<br>\n';ih+='<b>Logging</b>&nbsp;&nbsp;<INPUT TYPE="button" ID="'+this.p_ID_PREFIX+'ShowHideLogButton" VALUE="Show/Hide Log" onClick="xmp.baseplayer.EmbeddedConsoleLoggerListener.getInstance().toggleLogOutput();"\n';ih+='NAME="'+this.p_ID_PREFIX+'ShowHideLogButton"> &nbsp; <INPUT TYPE="button" ID="'+this.p_ID_PREFIX+'ClearLogButton" VALUE="Clear Log" onClick="xmp.baseplayer.EmbeddedConsoleLoggerListener.getInstance().clearLogOutput()"\n';ih+='NAME="'+this.p_ID_PREFIX+'ClearLogButton">&nbsp;&nbsp;\n';ih+='<br><i>(Log messages are color coded:\n';ih+='<span class="'+this.p_ID_PREFIX+'fatal_message">Fatal</span>\n';ih+='-\n';ih+='<span class="'+this.p_ID_PREFIX+'critical_message">Critical</span>\n';ih+='-\n';ih+='<span class="'+this.p_ID_PREFIX+'warn_message">Warning</span>\n';ih+='-\n';ih+='<span class="'+this.p_ID_PREFIX+'info_message">Information</span>\n';ih+='-\n';ih+='<span class="'+this.p_ID_PREFIX+'debug_message">Debug</span>)\n';ih+='</i>\n';ih+='<br>\n';ih+='<br>\n';ih+='<div id="'+this.p_ID_PREFIX+'log_output_area_scroll_clip" style="'+Nh+'">\n';ih+='<div id="'+this.p_ID_PREFIX+'log_output_area">\n';ih+='</div>\n';ih+='</div>\n';ih+='</div>\n';return ih;};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader=function(Oh,Ph,Qh){this.p_CLASS_NAME=Qh.loaderType;this.p_THIS_TYPE='videoCompositeAdMeta';this.p_logger=new xmp.util.internals.CategoryLogger(this.p_CLASS_NAME);this.p_owner=Oh;this.p_loaderId=Ph;this.p_resBundle=null;this.p_callback=null;this.p_adManArray=null;this.p_companionAdId=xmp.baseplayer.internals.Ad.i_createCompanionAdId();};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_getLoaderId=function(){return this.p_loaderId;};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.setResBundle=function(Rh,Sh){this.p_resBundle=Rh;this.p_callback=Sh;};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_getLogger=function(){return this.p_logger;};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.load=function(){try{if(this.p_shortCircuit()){return;}
this.p_loadAdMan();}
catch(e){this.i_handleError(e);}};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_shortCircuit=function(){if(this.p_resBundle.i_getCount()===0){this.p_resBundle._setRawData('Loaded (no resources)');}
if(this.p_resBundle.isLoaded()||this.p_resBundle.isError()){xmp.util.Timer.doSimpleCallback(this.p_createCb(null,'endAsynch',this.i_end));return true;}
return false;};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_getDataType=function(Th){return xmp.playlistapi.ResouceBundle.i_getDataType(Th.getType());};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_handleError=function(e){this.p_handleErrorMessage(xmp.extractErrorMessage(e));};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_handleErrorMessage=function(Uh){this.p_resBundle.i_setErrorMessage(Uh);this.i_end();};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_end=function(){if(this.p_owner!==null){this.p_owner.i_release(this);this.p_owner=null;}
if(!this.p_resBundle.isError()){if(this.p_resBundle.i_getCount()===this.p_resBundle.i_getErrorCount()){this.p_resBundle.i_setErrorMessage('All resources in composite failed.');}}
if(!this.p_resBundle.isError()){this.p_resBundle._setRawData('Loaded');}
try{this.p_callback.call(this.p_resBundle);}
catch(e){this.p_logger.warn('Error calling callback',e);}};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_createCb=function(Vh,Wh,Xh){return(new xmp.util.Callback(this.i_makeCbName(Vh,Wh),Xh,this));};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_makeCbName=function(Yh,Zh){var $h=(Yh!==null)?Yh.getType():'';return(this.p_CLASS_NAME+'_'+Zh+'_'+$h+'_'+this.p_loaderId);};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_buildAdServerRelUrl=function(ai,bi){var ci=xmp.trimString(bi);var di=ai.getMetadata('segvars','');return xmp.baseplayer.internals.Ad.i_getInstance().i_buildRelativeURL(ai.getType(),this.p_companionAdId,ci,di);};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_failAll=function(ei){this.p_resBundle.i_setErrorMessage(ei);var fi=this.p_resBundle.i_getResourceTypes();for(var i=0;i<fi.length;i++){var gi=fi[i];var hi=this.p_resBundle.i_getMetaResource(gi);hi.i_setErrorMessage(ei);}};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_loadAdMan=function(){var ii=this.p_resBundle.i_getResourceTypes();this.p_adManArray=[];for(var i=0;i<ii.length;i++){var ji=this.p_resBundle.i_getMetaResource(ii[i]);ji.i_setCompanionAdId(this.p_companionAdId);var ki=this.p_getDataType(ji);ji.i_setDataType(ki);this.p_adManArray.push({'id':ji.getId(),'res':ji,'loadable':null});}
var li=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create('adMan');var mi=li.i_setIdsEx(this.p_adManArray,null);li.setAllLoadedCallback(new xmp.util.Callback('allAdManItemsCB',this.p_doAdManComplete,this));li.load();};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_doAdManComplete=function(){this.i_preProcessAdManResults();for(var i=0;i<this.p_adManArray.length;i++){var ni=this.p_adManArray[i];var oi=ni.loadable;this.p_doResourceAdManPhase(ni.res,!oi.isError(),(oi.isError()?oi.getErrorMessage():oi.getDataObject()));}
this.i_postProcessAdManResults();};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.p_doResourceAdManPhase=function(pi,ok,qi){if(ok){var ri=this.p_buildAdServerRelUrl(pi,qi);var si=pi.getDataType();if(si==='videoJson'||si==='html'){var ct=(si==="videoJson")?xmp.net.ContentTypes.JSON:xmp.net.ContentTypes.TEXT;this.i_processAdManResult(pi,ri,ct);}
else if(si==='url'||si==='default'){var ti=xmp.baseplayer.internals.Ad.i_getAdServerRoot();pi._setRawData(ti+ri);}
else{throw new Error("Unknown data type: "+si);}}
else{pi.i_setErrorMessage(qi);}};xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader.prototype.i_doResourceAdServerPhase=function(ui,ok,vi){if(ok){var wi=ui.getDataType();if(wi==='videoJson'){try{var xi=vi;if(typeof(vi)==='string'){xi=xmp.net.AjaxRequestManager.getInstance().i_parseJson(vi);}
ui._setRawData(xi);}
catch(parseEx){this.i_getLogger().warn('Parse error with ad type: '+ui.getType()+', '+xmp.extractErrorMessage(parseEx));ui.i_setErrorMessage(xmp.extractErrorMessage(parseEx));}}
else if(wi==='html'){ui._setRawData(vi);}
else{throw new Error("Unknown data type: "+wi);}}
else{ui.i_setErrorMessage(vi);}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.Ad=function(){};xmp.baseplayer.internals.Ad.prototype.i_buildRelativeURL=function(yi,zi,Ai,Bi){var Ci=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('BasePlayer/Additional segvars').getString(yi,'');var Di='';if(zi>0){Di=this.p_makeQueryPair('tile',zi);}
Di=this.p_appendToQuery(Di,Ai);Di=this.p_appendToQuery(Di,Ci);Di=this.p_appendToQuery(Di,Bi);return Di;};xmp.baseplayer.internals.Ad.i_getAdServerRoot=function(){return xmp.util.RootUrlProvider.getInstance().i_getRootUrl('adServer');};xmp.baseplayer.internals.Ad.i_getAdManRoot=function(){return xmp.util.RootUrlProvider.getInstance().i_getRootUrl('adMan');};xmp.baseplayer.internals.Ad.prototype.p_appendToQuery=function(Ei,Fi){var Gi=Ei;if(Fi&&Fi.length!==0){if(Gi.length>0){Gi+='&';}
Gi+=Fi;}
return Gi;};xmp.baseplayer.internals.Ad.prototype.i_setPingImage=function(Hi){return xmp.baseplayer.internals.AdMeteringImagePool.i_getInstance().i_setPingImage(Hi);};xmp.baseplayer.internals.Ad.i_createCompanionAdId=function(){return Math.floor((new Date()).getTime()/1000);};xmp.baseplayer.internals.Ad.prototype.p_makeQueryPair=function(Ii,Ji){if(!Ji){Ji='';}
return Ii+'='+escape(Ji.toString());};xmp.baseplayer.internals.Ad.p_singeltonInstance=null;xmp.baseplayer.internals.Ad.i_getInstance=function(){if(xmp.baseplayer.internals.Ad.p_singeltonInstance===null){xmp.baseplayer.internals.Ad.p_singeltonInstance=new xmp.baseplayer.internals.Ad();}
return xmp.baseplayer.internals.Ad.p_singeltonInstance;};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.AdMeteringImagePool=function(){this.p_initializedState=-1;this.p_adMeteringImage='';this.p_POOL_SIZE=10;this.p_BASE_IMG_NAME='AdMeteringImg_';};xmp.baseplayer.internals.AdMeteringImagePool.p_imgPingCounter=-1;xmp.baseplayer.internals.AdMeteringImagePool.p_singeltonInstance=null;xmp.baseplayer.internals.AdMeteringImagePool.i_getInstance=function(){if(xmp.baseplayer.internals.AdMeteringImagePool.p_singeltonInstance===null){xmp.baseplayer.internals.AdMeteringImagePool.p_singeltonInstance=new xmp.baseplayer.internals.AdMeteringImagePool();}
return xmp.baseplayer.internals.AdMeteringImagePool.p_singeltonInstance;};xmp.baseplayer.internals.AdMeteringImagePool.prototype.i_setPingImage=function(Ki){this.p_init();if(this.p_initializedState!==1){return'';}
xmp.baseplayer.internals.AdMeteringImagePool.p_imgPingCounter++;var Li=xmp.baseplayer.internals.AdMeteringImagePool.p_imgPingCounter%this.p_POOL_SIZE;var Mi=this.p_BASE_IMG_NAME+Li.toString();var Ni=window.document.images[Mi];if(!Ni){throw new Error('Unexpectded did not find DOM image'+Mi);}
Ni.src=Ki;return Mi;};xmp.baseplayer.internals.AdMeteringImagePool.prototype.p_init=function(){if(this.p_initializedState===-1){try{var Oi=xmp.util.SettingsManager.getInstance().getContextNode();var Pi=Oi.getNodeForPath('BasePlayer');this.p_adMeteringImage=xmp.trimString(Pi.getString('Ad metering image URL',''));if(this.p_adMeteringImage.length===0){var Qi='Ad metering image URL not specified in primary configuration';throw new Error(Qi);}
var Ri=window.document.createElement('div');Ri.style.display='none';window.document.body.insertBefore(Ri,null);for(var i=0;i<this.p_POOL_SIZE;i++){var Si=window.document.createElement('img');Si.src=this.p_adMeteringImage;Si.id=this.p_BASE_IMG_NAME+i.toString();Si.name=Si.id;Si.alt='';Si.align='right';Si.width=Si.height=Si.border=Si.vspace=Si.hspace=0;Ri.insertBefore(Si,null);}}
catch(e){xmp.handleFatalError(e);this.p_initializedState=0;throw e;}
this.p_initializedState=1;}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader=function(Ti,Ui,Vi){Vi.loaderType='ClientSideAdCompositorMetaFileLoader';xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader.ctor.call(this,Ti,Ui,Vi);this.p_adDataArray=[];};xmp.DERIVE_CLASS(xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader,xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader);xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader.prototype.p_doAdServerComplete=function(){for(var i=0;i<this.p_adDataArray.length;i++){var Wi=this.p_adDataArray[i];var Xi=Wi.loadable;this.i_doResourceAdServerPhase(Wi.res,!Xi.isError(),(Xi.isError()?Xi.getErrorMessage():Xi.getDataObject()));}
this.i_end();};xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader.prototype.i_preProcessAdManResults=function(){this.p_adDataArray=[];};xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader.prototype.i_processAdManResult=function(Yi,Zi,$i){this.p_adDataArray.push({'id':Zi,'ct':$i,'res':Yi,'loadable':null});};xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader.prototype.i_postProcessAdManResults=function(){if(this.p_adDataArray.length===0){this.i_end();}
else{var aj=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create('videoAdOnly');var bj=aj.i_setIdsEx(this.p_adDataArray,null);aj.setAllLoadedCallback(new xmp.util.Callback('allAdServerItemsCB',this.p_doAdServerComplete,this));aj.load();}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.FileRequestHandle=function(cj,id,dj){this.p_id=id;this.p_type=cj;this.p_dataObject=null;this.p_loadState=xmp.baseplayer.internals.FileRequestHandle.i_STATE_CREATED;this.p_listenerArray=[];this.p_errorMessage=null;this.p_maxCacheTime=dj;this.p_createdTime=this.p_getCurrentTimeInSeconds();};xmp.baseplayer.internals.FileRequestHandle.i_STATE_CREATED=0;xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADING=1;xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADED=2;xmp.baseplayer.internals.FileRequestHandle.prototype.i_getId=function(){return this.p_id;};xmp.baseplayer.internals.FileRequestHandle.prototype.i_getType=function(){return this.p_type;};xmp.baseplayer.internals.FileRequestHandle.prototype.i_isNew=function(){return(this.p_loadState===xmp.baseplayer.internals.FileRequestHandle.i_STATE_CREATED);};xmp.baseplayer.internals.FileRequestHandle.prototype.i_isLoading=function(){return(this.p_loadState===xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADING);};xmp.baseplayer.internals.FileRequestHandle.prototype.i_isLoaded=function(){return(this.p_loadState===xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADED);};xmp.baseplayer.internals.FileRequestHandle.prototype.i_getDataObject=function(){return this.p_dataObject;};xmp.baseplayer.internals.FileRequestHandle.prototype.i_setDataObject=function(ej){this.p_dataObject=ej;};xmp.baseplayer.internals.FileRequestHandle.prototype.i_setAsLoading=function(){if(this.p_loadState!==xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADED){this.p_loadState=xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADING;}};xmp.baseplayer.internals.FileRequestHandle.prototype.i_setAsLoaded=function(){this.p_loadState=xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADED;this.p_notifyListeners();};xmp.baseplayer.internals.FileRequestHandle.prototype.i_notifyListener=function(fj){var gj=new xmp.util.Callback('onExecuteCB',this.p_onExecuteTimer,this);gj.setMetadata('listener',fj);var hj=new xmp.util.Timer(this.i_getId(),xmp.i_DEFAULT_TIMER_INTERVAL,1,gj);hj.start();};xmp.baseplayer.internals.FileRequestHandle.prototype.p_onExecuteTimer=function(ij,jj){var kj=ij.getMetadata('listener',{});kj.i_notifyFileRequestLoaded(this);};xmp.baseplayer.internals.FileRequestHandle.prototype.p_notifyListeners=function(){for(var i=0;i<this.p_listenerArray.length;i++){var lj=this.p_listenerArray[i];this.i_notifyListener(lj);}
this.p_listenerArray=[];};xmp.baseplayer.internals.FileRequestHandle.prototype.i_addListener=function(mj){this.p_listenerArray.push(mj);};xmp.baseplayer.internals.FileRequestHandle.prototype.i_setErrorMessage=function(nj){this.p_errorMessage=nj;};xmp.baseplayer.internals.FileRequestHandle.prototype.p_isError=function(){return(this.p_errorMessage!==null);};xmp.baseplayer.internals.FileRequestHandle.prototype.p_getErrorMessage=function(){return this.p_errorMessage;};xmp.baseplayer.internals.FileRequestHandle.prototype.p_getCurrentTimeInSeconds=function(){return Math.floor((new Date()).getTime()/1000);};xmp.baseplayer.internals.FileRequestHandle.prototype.p_getAgeInSeconds=function(){return(this.p_getCurrentTimeInSeconds()-this.p_createdTime);};xmp.baseplayer.internals.FileRequestHandle.prototype.i_isExpiredFromCache=function(){if(this.p_maxCacheTime<=-1){return false;}
if(this.p_maxCacheTime===0){return true;}
if(this.p_maxCacheTime<=this.p_getAgeInSeconds()){return true;}
return false;};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.GenericMetaFileLoader=function(oj,pj,qj){this.p_THIS_TYPE=qj.metaType;this.p_THIS_LOADER_TYPE=qj.loaderType;this.p_CONTENT_TYPE=xmp.net.ContentTypes.fromString(qj.contentType);this.p_APP_ERROR_TYPE=qj.appErrorType;this.p_MAX_CACHE_TIME=(!qj.maxCacheTime)?0:parseInt(qj.maxCacheTime,0);this.p_logger=new xmp.util.internals.CategoryLogger(this.p_THIS_LOADER_TYPE);this.p_owner=oj;this.p_loaderId=pj;this.p_handleArray=[];this.p_handleMap={};this.p_perIdCallback=null;this.p_allLoadedCallback=null;this.p_loadedCount=0;this.p_loadCalled=false;};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.i_getLoaderId=function(){return this.p_loaderId;};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.setIds=function(rj,sj){var tj=[];for(var i=0;i<rj.length;i++){var id=rj[i];tj.push({id:id,ct:this.p_CONTENT_TYPE});}
return this.i_setIdsEx(tj,sj);};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.i_setIdsEx=function(uj,vj){this.p_loadCalled=false;this.p_handleArray=[];this.p_handleMap={};this.p_perIdCallback=vj;for(var i=0;i<uj.length;i++){var wj=uj[i];var id=wj.id;var ct=((typeof(wj.ct)==='number')?wj.ct:this.p_CONTENT_TYPE);var xj=(wj.rha)?wj.rha:null;if(!(typeof id==='string'&&id.length>0)){throw new xmp.util.internals.InvalidArgsError("The 'ids' argument must be an array of non-empty strings.");}
if(!(ct===xmp.net.ContentTypes.TEXT||ct===xmp.net.ContentTypes.JSON)){throw new xmp.util.internals.InvalidArgsError("The 'ct' must 'xmp.net.ContentTypes.TEXT' or 'xmp.net.ContentTypes.JSON'.");}
var yj=this.p_handleMap[id];if(typeof(yj)!=='undefined'){this.p_logger.warn('Skipping duplicate ID: '+id);this.p_setOutLoadable(wj,yj);continue;}
var zj={'h':null,'ready':false,'ct':ct,'rha':xj};this.p_handleArray.push(zj);this.p_handleMap[id]=zj;zj.h=xmp.baseplayer.internals.MetaFileCache.i_getInstance().i_findOrCreate(this.p_THIS_TYPE,id,this,this.p_MAX_CACHE_TIME);this.p_setOutLoadable(wj,zj);}
return this.p_extractLoadableDataArray();};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_setOutLoadable=function(Aj,Bj){if(typeof(Aj.loadable)!=='undefined'){Aj.loadable=Bj.h.i_getDataObject();}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.setAllLoadedCallback=function(Cj){this.p_allLoadedCallback=Cj;};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.load=function(){this.p_loadCalled=true;if(this.p_handleArray.length===0){this.p_releaseThis();this.p_notifyAllLoaded();return;}
this.p_loadedCount=0;for(var i=0;i<this.p_handleArray.length;i++){var Dj=this.p_handleArray[i];if(Dj.ready){this.p_notifyPerFile(Dj.h);}}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_extractLoadableDataArray=function(){var Ej=[];for(var i=0;i<this.p_handleArray.length;i++){var Fj=this.p_handleArray[i].h;Ej.push(Fj.i_getDataObject());}
return Ej;};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_notifyPerFile=function(Gj){if(Gj.i_isLoaded()){this.p_loadedCount++;this.p_notifyPerFileCore(Gj);}
if(this.p_loadedCount>=this.p_handleArray.length){this.p_releaseThis();this.p_notifyAllLoaded();}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_releaseThis=function(){if(this.p_owner!==null){this.p_owner.i_release(this);this.p_owner=null;}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_notifyPerFileCore=function(Hj){try{if(this.p_perIdCallback!==null){this.p_perIdCallback.call(Hj.i_getDataObject());}}
catch(e){this.p_logger.warn('Error calling per-file-callback',e);}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_notifyAllLoaded=function(){try{if(this.p_allLoadedCallback!==null){this.p_allLoadedCallback.call();}}
catch(e){this.p_logger.warn('Error calling all-loaded-callback',e);}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.i_notifyFileRequestLoaded=function(Ij){if(this.p_loadCalled){this.p_notifyPerFile(Ij);}
else{var Jj=this.p_handleMap[Ij.i_getId()];if(Jj.h!==Ij){throw new Error('Unexpected, handles not the same reference.');}
Jj.ready=true;}};xmp.baseplayer.internals.GenericMetaFileLoader.GenericLoadable=function(id){xmp.baseplayer.internals.GenericMetaFileLoader.GenericLoadable.ctor.call(this);this.p_id=id;};xmp.DERIVE_CLASS(xmp.util.Loadable,xmp.baseplayer.internals.GenericMetaFileLoader.GenericLoadable);xmp.baseplayer.internals.GenericMetaFileLoader.GenericLoadable.prototype.getLoadableId=function(){return this.p_id;};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.i_createLoadable=function(id){return(new xmp.baseplayer.internals.GenericMetaFileLoader.GenericLoadable(id));};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.i_loadFileRequest=function(Kj){var Lj=null;try{Lj=this.i_createLoadable(Kj.i_getId());Kj.i_setDataObject(Lj);var Mj=new xmp.util.Callback(this.p_THIS_LOADER_TYPE+'_'+this.i_getLoaderId()+'_'+Kj.i_getId(),this.p_handleAjaxResponse,this);var Nj=xmp.net.AjaxRequestManager.getInstance();Mj.setMetadata('handle',Kj);var Oj=this.p_handleMap[Kj.i_getId()];Nj.request(Kj.i_getId(),Mj,Kj.i_getType(),Kj.i_getId(),Oj.ct,Oj.rha);return xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADING;}
catch(e){try{if(Lj!==null){Lj.i_setErrorMessage(xmp.extractErrorMessage(e));}}
catch(e2){this.p_logger.warn('Second chance error handling created file request',e2);}
throw e;}};xmp.baseplayer.internals.GenericMetaFileLoader.prototype.p_handleAjaxResponse=function(Pj,Qj){var Rj=Pj.getMetadata('handle',{});var Sj=Rj.i_getDataObject();var Tj=this.p_handleMap[Rj.i_getId()];if(!Qj.isError()){switch(Tj.ct){case xmp.net.ContentTypes.JSON:Sj._setRawData(Qj.getJsonObject());break;case xmp.net.ContentTypes.TEXT:Sj._setRawData(Qj.getText());break;default:throw new Error('Unexpected content type');}}
else{var Uj=new xmp.baseplayer.ApplicationError(Qj.getErrorObject(),this.p_APP_ERROR_TYPE,this.p_THIS_TYPE,[{label:'url',text:Qj.getFullUrl()}]);this.p_logger.warn(Uj.message,Uj);Rj.i_setErrorMessage(Qj.getErrorMessage());Sj.i_setErrorMessage(Qj.getErrorMessage());}
Rj.i_setAsLoaded();};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.MetaFileCache=function(){this.p_map={};this.p_logger=new xmp.util.internals.CategoryLogger('FileRequestHandle');};xmp.baseplayer.internals.MetaFileCache.p_singeltonInstance=null;xmp.baseplayer.internals.MetaFileCache.i_getInstance=function(){if(xmp.baseplayer.internals.MetaFileCache.p_singeltonInstance===null){xmp.baseplayer.internals.MetaFileCache.p_singeltonInstance=new xmp.baseplayer.internals.MetaFileCache();}
return xmp.baseplayer.internals.MetaFileCache.p_singeltonInstance;};xmp.baseplayer.internals.MetaFileCache.prototype.p_add=function(Vj){this.p_map[this.p_makeKeyH(Vj)]=Vj;};xmp.baseplayer.internals.MetaFileCache.prototype.p_find=function(Wj,id){var Xj=this.p_map[this.p_makeKey(Wj,id)];return(!Xj)?null:Xj;};xmp.baseplayer.internals.MetaFileCache.prototype.i_findOrCreate=function(Yj,id,Zj,$j){this.p_checkForExpiredHandles();var ak=this.p_find(Yj,id);if(ak===null){ak=new xmp.baseplayer.internals.FileRequestHandle(Yj,id,$j);this.p_add(ak);ak.i_addListener(Zj);if(this.p_logger.isDebugEnabled()){this.p_logger.debug('Request handle NOT in cache, loading now: '+this.p_makeKeyH(ak));}
try{var bk=Zj.i_loadFileRequest(ak);switch(bk){case xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADING:ak.i_setAsLoading();break;case xmp.baseplayer.internals.FileRequestHandle.i_STATE_LOADED:ak.i_setAsLoaded();break;default:throw new Error('Unexpected load state.');}}
catch(e){ak.i_setErrorMessage(xmp.extractErrorMessage(e));ak.i_setAsLoaded();}}
else{if(ak.i_isLoading()){if(this.p_logger.isDebugEnabled()){this.p_logger.debug('Request handle FOUND in cache, ANOTHER LOADER is loading, will wait: '+this.p_makeKeyH(ak));}
ak.i_addListener(Zj);}
else if(ak.i_isLoaded()){if(this.p_logger.isDebugEnabled()){this.p_logger.debug('Request handle FOUND in cache, already loaded: '+this.p_makeKeyH(ak));}
ak.i_notifyListener(Zj);}}
return ak;};xmp.baseplayer.internals.MetaFileCache.prototype.p_makeKey=function(ck,id){return(ck+'|'+id);};xmp.baseplayer.internals.MetaFileCache.prototype.p_makeKeyH=function(dk){return this.p_makeKey(dk.i_getType(),dk.i_getId());};xmp.baseplayer.internals.MetaFileCache.prototype.p_checkForExpiredHandles=function(){var ek=[];var fk='';var gk=null;for(var hk=xmp.MapIterator.create(this.p_map);hk.hasNext();hk.next()){fk=hk.currentKey();gk=hk.currentValue();if(this.p_isHandleExpired(gk,fk)){ek.push(gk);}}
for(var i=0;i<ek.length;i++){gk=ek[i];try{fk=this.p_makeKeyH(gk);delete this.p_map[fk];}
catch(e){this.p_logger.debug('Error removing request handle from cache.',e);}}};xmp.baseplayer.internals.MetaFileCache.prototype.p_isHandleExpired=function(ik,jk){try{if(ik.i_isExpiredFromCache()){this.p_logger.debug('Request handle expired, will remove from cache.');return true;}
return false;}
catch(e){this.p_logger.warn('Error checking for expiration: '+jk,e);}
return false;};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.NullTrigger=function(kk){this.p_logger=new xmp.util.internals.CategoryLogger('NullTrigger');this.p_type=kk;};xmp.baseplayer.internals.NullTrigger.prototype.getType=function(){return this.p_type;};xmp.baseplayer.internals.NullTrigger.prototype.doCommands=function(lk){if(this.p_logger.isDebugEnabled()){this.p_logger.debug('Trigger type: '+this.getType()+', Null Trigger, no commands to do.');}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader=function(mk,nk,pk){pk.loaderType='ServerSideAdCompositorMetaFileLoader';xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.ctor.call(this,mk,nk,pk);this.p_SERVER_REL_URL=pk.serverRelUrl;this.p_DELIM='__@@$$@@__';this.p_DELIM_RE=/__@@\$\$@@__/gm;this.p_AD_REQUEST_ID_PREFIX='ad';this.p_adDataArray=[];this.p_adServerData=null;};xmp.DERIVE_CLASS(xmp.baseplayer.internals.AbstractAdCompositorMetaFileLoader,xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader);xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.p_crackRawData=function(qk){var rk={'adReqId':'Unknown','data':'Unknown error','ok':false};try{var sk=null;var tk=qk.indexOf('\n');if(tk===-1){sk=new Error('Ad server returned malformed composite - missing line feed between header and data.');}
var uk='';if(tk===-1){uk=xmp.trimString(qk);}
else{uk=xmp.trimString(qk.substr(0,tk));}
if(uk.length===0){throw new Error('Ad server returned malformed composite - empty string header.');}
if(0!==uk.indexOf(this.p_AD_REQUEST_ID_PREFIX)){throw new Error('Ad server returned malformed composite - header does not begin with "'+this.p_DELIM+' '+this.p_AD_REQUEST_ID_PREFIX+'".');}
rk.data='';if(tk!==-1){rk.data=qk.substr(tk+1);}
tk=uk.indexOf(' ');if(tk===-1){throw new Error('Ad server returned malformed composite - missing space in header between ID and status.');}
rk.adReqId=xmp.trimString(uk.substr(0,tk));if(sk){throw sk;}
var vk=xmp.trimString(uk.substr(tk+1));if(!(vk==='OK'||vk==='ERROR')){throw new Error('Ad server returned malformed composite - status must be either "OK" or "ERROR".');}
rk.ok=(vk==='OK');if(rk.ok&&(xmp.trimString(rk.data).length===0)){rk.ok=false;rk.data='No data returned by ad server (or only white space).';}}
catch(ex){rk.ok=false;rk.data='Error parsing ad server data: '+xmp.extractErrorMessage(ex);}
return rk;};xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.p_breakComposite=function(wk){var xk={};var yk=wk.indexOf(this.p_DELIM);if(yk===-1){return xk;}
if(yk>0){wk=wk.substr(yk);}
var zk=wk.split(this.p_DELIM_RE);for(var i=0;i<zk.length;i++){var Ak=xmp.trimString(zk[i]);if(Ak.length===0){continue;}
var Bk=this.p_crackRawData(Ak);xk[Bk.adReqId]=Bk;}
return xk;};xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.p_doAdServerComplete=function(){try{if(this.p_adServerData.isError()){this.i_failAll(this.p_adServerData.getErrorMessage());this.i_end();return;}
this.p_doAdServerCompleteInternal();}
catch(e){this.i_failAll(xmp.extractErrorMessage(e));this.i_handleError(e);}};xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.p_doAdServerCompleteInternal=function(){var Ck=this.p_breakComposite(this.p_adServerData.getDataObject());for(var i=0;i<this.p_adDataArray.length;i++){var Dk=this.p_adDataArray[i];var Ek=Ck[Dk.adReqId];if(typeof(Ek)==='undefined'){throw new Error('Ajax response missing ad request ID: '+Dk.adReqId+', id: '+Dk.id+' for res type: '+Dk.res.getType());}
this.i_doResourceAdServerPhase(Dk.res,Ek.ok,Ek.data);}
this.i_end();};xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.i_preProcessAdManResults=function(){this.p_adDataArray=[];this.p_adServerData=null;};xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.i_processAdManResult=function(Fk,Gk,Hk){var Ik=this.p_AD_REQUEST_ID_PREFIX+xmp.zeroPad(this.p_adDataArray.length,2);this.p_adDataArray.push({'id':Gk,'res':Fk,'adReqId':Ik});};xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader.prototype.i_postProcessAdManResults=function(){if(this.p_adDataArray.length===0){this.i_end();}
else{var Jk={'id':this.p_SERVER_REL_URL,'rha':[]};for(var i=0;i<this.p_adDataArray.length;i++){var Kk=this.p_adDataArray[i];Jk.rha.push({name:Kk.adReqId,value:Kk.id,type:xmp.net.AjaxRequestManager.i_POST_FORM_TYPE});}
var Lk=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create('videoAdCompositorServer');this.p_adServerData=Lk.i_setIdsEx([Jk],null)[0];Lk.setAllLoadedCallback(new xmp.util.Callback('allAdServerItemsCB',this.p_doAdServerComplete,this));Lk.load();}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.Trigger=function(Mk,Nk){this.p_logger=new xmp.util.internals.CategoryLogger('Trigger');this.p_type=Mk;this.p_triggerCommandArray=Nk;};xmp.baseplayer.internals.Trigger.getTrigger=function(Ok,Pk){var Qk=[];if(Ok.getPlayableData().isLoaded()){var Rk=Ok.getPlayableData().getDataObject().triggers;if(typeof Rk==='object'){for(var i=0;i<Rk.length;i++){var Sk=Rk[i];if(typeof Sk==='object'&&Sk.trigger===Pk&&typeof Sk.commands==='object'&&Sk.commands.length>0){Qk=xmp.baseplayer.internals.Trigger.p_cloneTriggerCommands(Sk.commands);break;}}}
var Tk=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('NodeTriggers/'+Ok.getNodeTypeName()).getString(Pk,'');if(Tk.length>0){var Uk=null;try{Uk=xmp.net.AjaxRequestManager.getInstance().i_parseJson(Tk);}
catch(e){Uk=null;this.p_logger.warn('Error getting global trigger for type: '+Ok.getNodeTypeName(),e);}
if(Uk!==null){Qk=Uk.concat(Qk);}}}
if(Qk.length>0){return new xmp.baseplayer.internals.Trigger(Pk,Qk);}
else{return new xmp.baseplayer.internals.NullTrigger(Pk);}};xmp.baseplayer.internals.Trigger.p_cloneTriggerCommands=function(Vk){var Wk=[];for(var i=0;i<Vk.length;i++){var Xk=Vk[i];Wk.push({type:Xk.type,data:Xk.data});}
return Wk;};xmp.baseplayer.internals.Trigger.prototype.getType=function(){return this.p_type;};xmp.baseplayer.internals.Trigger.prototype.doCommands=function(Yk){for(var i=0;i<this.p_triggerCommandArray.length;i++){var Zk=null;try{Zk=this.p_triggerCommandArray[i];var $k=xmp.baseplayer.internals.TriggerCommandFactory.i_getInstance().create(Zk.type);Yk.setCommandData(Zk.data);Yk.setTriggerType(this.getType());var al=xmp.util.internals.GuardedFunctions.i_execute($k,$k.doCommand,[Yk]);if(al.exception){var bl="When invoking trigger command, type: '"+Zk.type+"', data: '"+Zk.data+"', an unexpected exception was thrown from outside of core XMP framework";xmp.util.internals.GuardedFunctions.i_logError(this.p_logger,xmp.util.LogLevels.i_CRITICAL,bl,al.exception);}}
catch(e){this.p_logger.warn('Error invoking trigger command, type: '+Zk.type+', data: '+Zk.data,e);}}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.TriggerCommandFactory=function(){this.p_logger=new xmp.util.internals.CategoryLogger('TriggerCommandFactory');xmp.util.SettingsManager.getInstance().i_addContextChangeListener(new xmp.util.Callback('TriggerCommandFactory',this.p_handleContextChange,this));this.p_triggerCommandMap=null;this.p_faultCfg();};xmp.baseplayer.internals.TriggerCommandFactory.p_singeltonInstance=null;xmp.baseplayer.internals.TriggerCommandFactory.i_getInstance=function(){if(xmp.baseplayer.internals.TriggerCommandFactory.p_singeltonInstance===null){xmp.baseplayer.internals.TriggerCommandFactory.p_singeltonInstance=new xmp.baseplayer.internals.TriggerCommandFactory();}
return xmp.baseplayer.internals.TriggerCommandFactory.p_singeltonInstance;};xmp.baseplayer.internals.TriggerCommandFactory.prototype.create=function(cl){var dl=this.p_triggerCommandMap[cl];if(!dl){return(new xmp.baseplayer.internals.NullTriggerCommand(cl));}
try{var el=xmp.getNamespacedMethod(dl);var fl=new el();return fl;}
catch(e){this.p_logger.warn('Error creating Trigger Command: '+cl,e);return(new xmp.baseplayer.internals.NullTriggerCommand(cl));}};xmp.baseplayer.internals.TriggerCommandFactory.prototype.p_faultCfg=function(){if(this.p_triggerCommandMap===null){this.p_triggerCommandMap={};var gl=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('TriggerCommands');var hl=gl.retrieveKeys();for(var i=0;i<hl.length;i++){var il=hl[i];var jl=gl.getString(il,'');this.p_triggerCommandMap[il]=jl;}
this.p_triggerCommandMap.setImg='xmp.baseplayer.internals.SetImageTriggerCommand';this.p_triggerCommandMap.echo='xmp.baseplayer.internals.EchoTriggerCommand';}};xmp.baseplayer.internals.TriggerCommandFactory.prototype.p_handleContextChange=function(){this.p_triggerCommandMap=null;this.p_faultCfg();};xmp.baseplayer.internals.NullTriggerCommand=function(kl){this.p_type=kl;this.p_logger=new xmp.util.internals.CategoryLogger('NullTriggerCommand');};xmp.baseplayer.internals.NullTriggerCommand.prototype.doCommand=function(ll){if(this.p_logger.isDebugEnabled()){this.p_logger.debug('Trigger Command unrecognized: '+this.p_type);}};xmp.baseplayer.internals.EchoTriggerCommand=function(){this.p_logger=new xmp.util.internals.CategoryLogger('EchoTriggerCommand');};xmp.baseplayer.internals.EchoTriggerCommand.prototype.doCommand=function(ml){var nl=ml.getCommandData();xmp.baseplayer.internals.AdStatusReporter.i_report(this.p_logger,'Trigger type: '+ml.getTriggerType()+', Doing "echo" command, data = '+nl);};xmp.baseplayer.internals.SetImageTriggerCommand=function(){this.p_logger=new xmp.util.internals.CategoryLogger('SetImageTriggerCommand');};xmp.baseplayer.internals.SetImageTriggerCommand.prototype.doCommand=function(ol){var pl=this.p_cleanImageData(ol.getCommandData());var ql=xmp.baseplayer.internals.Ad.i_getInstance().i_setPingImage(pl);xmp.baseplayer.internals.AdStatusReporter.i_report(this.p_logger,'Trigger type: '+ol.getTriggerType()+', Doing "setImg" command, data = '+pl+', using img dom ID: '+ql);};xmp.baseplayer.internals.SetImageTriggerCommand.prototype.p_cleanImageData=function(rl){var sl=rl.indexOf('\"');if(sl===-1){return rl;}
rl=rl.substr(sl+1);var tl=rl.indexOf('\"');rl=rl.substr(0,tl);return rl;};xmp.baseplayer.internals.AdStatusReporter=function(){};xmp.baseplayer.internals.AdStatusReporter.p_cb=null;xmp.baseplayer.internals.AdStatusReporter.dummySetAdStatus=function(){};xmp.baseplayer.internals.AdStatusReporter.i_report=function(ul,vl){if(xmp.baseplayer.internals.AdStatusReporter.p_cb===null){var p=xmp.baseplayer.BasePlayer.i_getSingleInstance();if((p)&&(p.setAdStatus)){xmp.baseplayer.internals.AdStatusReporter.p_cb=new xmp.util.Callback('adStatus',p.setAdStatus,p);}
else{xmp.baseplayer.internals.AdStatusReporter.p_cb=new xmp.util.Callback('adStatus',xmp.baseplayer.internals.AdStatusReporter.dummySetAdStatus,null);}
xmp.baseplayer.internals.AdStatusReporter.p_cb.i_setAddThisToCallback(false);}
try{xmp.baseplayer.internals.AdStatusReporter.p_cb.call('SMARTCOUNT: '+vl);}
catch(ex){}
if(ul.isDebugEnabled()){ul.debug(vl);}};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.VideoContentMetaFileLoader=function(wl,xl,yl){xmp.baseplayer.internals.VideoContentMetaFileLoader.ctor.call(this,wl,xl,yl);};xmp.DERIVE_CLASS(xmp.baseplayer.internals.GenericMetaFileLoader,xmp.baseplayer.internals.VideoContentMetaFileLoader);xmp.baseplayer.internals.VideoContentMetaFileLoader.prototype.i_createLoadable=function(id){return(new xmp.util.PlayableData(id));};xmp.createNamespace("xmp.baseplayer.internals");xmp.baseplayer.internals.VideoPromoMetaFileLoader=function(zl,Al){this.p_logger=new xmp.util.internals.CategoryLogger('VideoPromoMetaFileLoader');this.p_THIS_TYPE='videoPromoMeta';this.p_owner=zl;this.p_loaderId=Al;this.p_playableNode=null;this.p_callback=null;};xmp.baseplayer.internals.VideoPromoMetaFileLoader.prototype.i_getLoaderId=function(){return this.p_loaderId;};xmp.baseplayer.internals.VideoPromoMetaFileLoader.prototype.setNode=function(Bl,Cl){this.p_playableNode=Bl;this.p_callback=Cl;};xmp.baseplayer.internals.VideoPromoMetaFileLoader.prototype.load=function(){var Dl=new xmp.util.Callback('VideoPromoMetaFileLoader'+'_'+this.p_loaderId,this.p_handleAjaxResponse,this);var El=xmp.net.AjaxRequestManager.getInstance();var Fl=this.p_playableNode.getPlayableData();var id=Fl.getMetaResourceId();El.request(id,Dl,this.p_THIS_TYPE,id,xmp.net.ContentTypes.JSON,null);};xmp.baseplayer.internals.VideoPromoMetaFileLoader.prototype.p_handleAjaxResponse=function(Gl,Hl){var Il=this.p_playableNode.getPlayableData();if(!Hl.isError()){var Jl=new xmp.baseplayer.ApplicationError(Hl.getErrorObject(),'FailToGetPromoJson','VideoPromo',[{label:'url',text:Hl.getFullUrl()}]);this.p_logger.warn(Jl.message,Jl);Il._setRawData(Hl.getJsonObject());}
else{Il.i_setErrorMessage(Hl.getErrorMessage());}
if(this.p_owner!==null){this.p_owner.i_release(this);this.p_owner=null;}
try{this.p_callback.call(this.p_playableNode);}
catch(e){this.p_logger.warn('Error calling callback',e);}};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.CompositeNodeListener=function(Kl){this.p_com_logger=new xmp.util.internals.CategoryLogger('CompositeNodeListener');this.p_constants=xmp.baseplayer.listeners.CompositeNodeListener;xmp.baseplayer.listeners.CompositeNodeListener.ctor.call(this,this.p_constants.p_COMPOSITE_NODE_LISTENER,Kl);this.p_children=[];};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.FrameworkNodeListener,xmp.baseplayer.listeners.CompositeNodeListener);xmp.baseplayer.listeners.CompositeNodeListener.p_COMPOSITE_NODE_LISTENER="Composite";xmp.baseplayer.listeners.CompositeNodeListener.p_INITIALIZE="Initialize";xmp.baseplayer.listeners.CompositeNodeListener.p_COMPLETE="Complete";xmp.baseplayer.listeners.CompositeNodeListener.p_RENDER="Render";xmp.baseplayer.listeners.CompositeNodeListener.p_DYNAMIC_RULES="DynamicRules";xmp.baseplayer.listeners.CompositeNodeListener.p_TIMELINE_CHANGE="TimelineChange";xmp.baseplayer.listeners.CompositeNodeListener.p_CAN_USER_CONTROL="CanUserControl";xmp.baseplayer.listeners.CompositeNodeListener.p_CAN_COMPLETE_NOW="CanCompleteNow";xmp.baseplayer.listeners.CompositeNodeListener.p_COMPLETE_ASNCH="CompleteAsynch";xmp.baseplayer.listeners.CompositeNodeListener.p_OVERRIDE_AD_RESOURCES="OverrideAdResources";xmp.baseplayer.listeners.CompositeNodeListener.p_VALIDATE="Validate";xmp.baseplayer.listeners.CompositeNodeListener.p_HANDLE_RENDER_AD="HandleRenderAd";xmp.baseplayer.listeners.CompositeNodeListener.prototype.canUserControl=function(Ll){return this.p_dispatch(this.p_constants.p_CAN_USER_CONTROL,[Ll]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleDynamicRules=function(Ml){this.p_dispatch(this.p_constants.p_DYNAMIC_RULES,[Ml]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleRender=function(Nl){this.p_dispatch(this.p_constants.p_RENDER,[Nl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleInitialize=function(Ol){this.p_dispatch(this.p_constants.p_INITIALIZE,[Ol]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleComplete=function(Pl){this.p_dispatch(this.p_constants.p_COMPLETE,[Pl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.i_canCompleteNow=function(Ql){return this.p_dispatch(this.p_constants.p_CAN_COMPLETE_NOW,[Ql]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleCompleteAsynch=function(Rl,Sl){this.p_dispatch(this.p_constants.p_COMPLETE_ASNCH,[Rl,Sl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleOpen=function(Tl){this.p_dispatch(xmp.OPEN,[Tl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleConnecting=function(Ul){this.p_dispatch(xmp.CONNECTING,[Ul]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleConnected=function(Vl){this.p_dispatch(xmp.CONNECTED,[Vl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handlePlay=function(Wl){this.p_dispatch(xmp.PLAY,[Wl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleFirstFrameRendered=function(Xl){this.p_dispatch(xmp.FIRST_FRAME_RENDERED,[Xl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handlePause=function(Yl){this.p_dispatch(xmp.PAUSE,[Yl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleStop=function(Zl){this.p_dispatch(xmp.STOP,[Zl]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleRewind=function($l){this.p_dispatch(xmp.REWIND,[$l]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleFastForward=function(am){this.p_dispatch(xmp.FAST_FORWARD,[am]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleSeekable=function(bm){this.p_dispatch(xmp.SEEKABLE,[bm]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleEnded=function(cm){this.p_dispatch(xmp.ENDED,[cm]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleBuffering=function(dm,em){this.p_dispatch(xmp.BUFFERING,[dm,em]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleTimelineChange=function(fm,gm,hm){this.p_dispatch(this.p_constants.p_TIMELINE_CHANGE,[fm,gm,hm]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleError=function(im,e){this.p_dispatch(xmp.ERRORS,[im,e]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleOverrideAdResources=function(jm,km){this.p_dispatch(this.p_constants.p_OVERRIDE_AD_RESOURCES,[jm,km]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleValidate=function(lm){this.p_dispatch(this.p_constants.p_VALIDATE,[lm]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.handleRenderAd=function(mm,nm,om){this.p_dispatch(this.p_constants.p_HANDLE_RENDER_AD,[mm,nm,om]);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.p_dispatch=function(qm,rm){var sm=this.p_children.length;for(var i=0;i<sm;i++){var tm=this.p_children[i];var um=tm.callbacks[qm];var vm=null;try{vm=um.method.apply(tm.listener,rm);}
catch(e){if(!tm.listener.i_isFrameworkNodeListener()){var wm="While calling handler function '"+qm+"', an unexpected exception was thrown from outside of core XMP framework";xmp.util.internals.GuardedFunctions.i_logError(this.p_com_logger,xmp.util.LogLevels.i_CRITICAL,wm,e);}
else{this.p_com_logger.warn('Error dispatching: '+qm+' on '+tm.listener.getId()+' node listener.',e);}
try{var xm=rm[0];tm.listener.handleError(xm,e);}
catch(e2){if(!tm.listener.i_isFrameworkNodeListener()){var ym="While calling 'handleError' because of a previous exception, another unexpected exception was thrown from core outside of XMP framework";xmp.util.internals.GuardedFunctions.i_logError(this.p_com_logger,xmp.util.LogLevels.i_FATAL,ym,e);}
try{this.p_com_logger.warn('Error calling handleError while dispatching: '+qm+' on '+tm.listener.getId()+' node listener.',e2);}
catch(e3){}}}
if(um.return_type===xmp.i_BOOLEAN_TYPE&&false===vm){return false;}}
return true;};xmp.baseplayer.listeners.CompositeNodeListener.prototype.i_addChild=function(zm){var Am={listener:zm,callbacks:null};this.p_initChildCallbacks(Am,zm);this.p_children.push(Am);};xmp.baseplayer.listeners.CompositeNodeListener.prototype.p_initChildCallbacks=function(Bm,Cm){var Dm=[{name:this.p_constants.p_CAN_USER_CONTROL,data:{method:Cm.canUserControl,return_type:xmp.i_BOOLEAN_TYPE}},{name:this.p_constants.p_DYNAMIC_RULES,data:{method:Cm.handleDynamicRules,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_INITIALIZE,data:{method:Cm.handleInitialize,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_COMPLETE,data:{method:Cm.handleComplete,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_RENDER,data:{method:Cm.handleRender,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.OPEN,data:{method:Cm.handleOpen,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.CONNECTING,data:{method:Cm.handleConnecting,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.CONNECTED,data:{method:Cm.handleConnected,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.FIRST_FRAME_RENDERED,data:{method:Cm.handleFirstFrameRendered,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.PLAY,data:{method:Cm.handlePlay,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.PAUSE,data:{method:Cm.handlePause,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.STOP,data:{method:Cm.handleStop,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.REWIND,data:{method:Cm.handleRewind,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.FAST_FORWARD,data:{method:Cm.handleFastForward,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.SEEKABLE,data:{method:Cm.handleSeekable,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.ENDED,data:{method:Cm.handleEnded,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.BUFFERING,data:{method:Cm.handleBuffering,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_TIMELINE_CHANGE,data:{method:Cm.handleTimelineChange,return_type:xmp.i_UNDEFINED_TYPE}},{name:xmp.ERRORS,data:{method:Cm.handleError,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_CAN_COMPLETE_NOW,data:{method:Cm.i_canCompleteNow,return_type:xmp.i_BOOLEAN_TYPE}},{name:this.p_constants.p_COMPLETE_ASNCH,data:{method:Cm.handleCompleteAsynch,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_OVERRIDE_AD_RESOURCES,data:{method:Cm.handleOverrideAdResources,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_VALIDATE,data:{method:Cm.handleValidate,return_type:xmp.i_UNDEFINED_TYPE}},{name:this.p_constants.p_HANDLE_RENDER_AD,data:{method:Cm.handleRenderAd,return_type:xmp.i_UNDEFINED_TYPE}}];Bm.callbacks={};var Em=Dm.length;for(var i=0;i<Em;i++){Bm.callbacks[Dm[i].name]=Dm[i].data;}};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultAdNodeListener=function(Fm,Gm){xmp.baseplayer.listeners.DefaultAdNodeListener.ctor.call(this,Fm,Gm);this.p_logger=new xmp.util.internals.CategoryLogger('DefaultAdNodeListener');};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultBaseNodeListener,xmp.baseplayer.listeners.DefaultAdNodeListener);xmp.baseplayer.listeners.DefaultAdNodeListener.prototype.canUserControl=function(Hm){var Im=xmp.util.SettingsManager.getInstance().getContextNode().getNodeForPath('BasePlayer').getBoolean('user can control ad',false);return Im;};xmp.baseplayer.listeners.DefaultAdNodeListener.prototype.handleComplete=function(Jm){var Km=Jm.getPlayableData();Jm.setURI(Km.getPlayableId());Jm.setMimeTypes(Km.getMimeTypeArray());Jm.setStreamingMode(xmp.AD_STREAMING_MODE);};xmp.baseplayer.listeners.DefaultAdNodeListener.prototype.handleRender=function(Lm){var Mm=Lm.i_getPrimaryMetaResource(false);if(Mm!==null){this.p_logger.info('Playing ad with tile ID: '+Mm.getCompanionAdId());}
xmp.baseplayer.listeners.DefaultAdNodeListener.base.handleRender.call(this,Lm);};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultNextUpSlateNodeListener=function(Nm,Om){xmp.baseplayer.listeners.DefaultNextUpSlateNodeListener.ctor.call(this,Nm,Om);this.p_logger=new xmp.util.internals.CategoryLogger('DefaultNextUpSlateNodeListener');};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultSlateNodeListener,xmp.baseplayer.listeners.DefaultNextUpSlateNodeListener);xmp.baseplayer.listeners.DefaultNextUpSlateNodeListener.prototype.handleComplete=function(Pm){xmp.baseplayer.listeners.DefaultNextUpSlateNodeListener.base.handleComplete.call(this,Pm);var Qm=this.i_findNextContentNode();if(Qm!==null){Pm.setMetadata("headline",Qm.getPlayableData().getDataObject().headline);}
else{this.p_logger.debug("Unusual state: The NextUpSlate failed to find a next content node.");}};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultPlayerListener=function(Rm,Sm){xmp.baseplayer.listeners.DefaultPlayerListener.ctor.call(this,Rm,Sm);this.p_logger=new xmp.util.internals.CategoryLogger('DefaultPlayerListener');};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultBaseNodeListener,xmp.baseplayer.listeners.DefaultPlayerListener);xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleRender=function(Tm){};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleError=function(Um,e){};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleOpen=function(Vm){this.setStatus(Vm,xmp.OPEN);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleConnecting=function(Wm){this.setStatus(Wm,xmp.CONNECTING);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleConnected=function(Xm){this.setStatus(Xm,xmp.CONNECTED);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handlePlay=function(Ym){this.setStatus(Ym,xmp.PLAY);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handlePause=function(Zm){this.setStatus(Zm,xmp.PAUSE);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleStop=function($m){this.setStatus($m,xmp.STOP);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleRewind=function(an){this.setStatus(an,xmp.REWIND);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleFastForward=function(bn){this.setStatus(bn,xmp.FAST_FORWARD);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleSeekable=function(cn){this.setStatus(cn,xmp.SEEKABLE);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleEnded=function(dn){this.setStatus(dn,xmp.ENDED);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.handleBuffering=function(en,fn){this.setStatus(en,xmp.BUFFERING,fn);};xmp.baseplayer.listeners.DefaultPlayerListener.prototype.setStatus=function(gn,hn,jn){};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultPromoNodeListener=function(kn,ln){xmp.baseplayer.listeners.DefaultPromoNodeListener.ctor.call(this,kn,ln);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultBaseNodeListener,xmp.baseplayer.listeners.DefaultPromoNodeListener);xmp.baseplayer.listeners.DefaultPromoNodeListener.prototype.handleComplete=function(mn){var nn=mn.getPlayableData();mn.setMimeTypes(nn.getMimeTypeArray());var on=nn.getDataObject().sizes;if(on&&on.length>0){mn.i_setSizes(nn.getDataObject().sizes);}
mn.setURI(nn.getDataObject().location);mn.setStreamingMode(nn.getDataObject().streamingMode);};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultStartSlateNodeListener=function(pn,qn){xmp.baseplayer.listeners.DefaultStartSlateNodeListener.ctor.call(this,pn,qn);this.p_logger=new xmp.util.internals.CategoryLogger('DefaultStartSlateNodeListener');};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultSlateNodeListener,xmp.baseplayer.listeners.DefaultStartSlateNodeListener);xmp.baseplayer.listeners.DefaultStartSlateNodeListener.prototype.handleComplete=function(rn){xmp.baseplayer.listeners.DefaultStartSlateNodeListener.base.handleComplete.call(this,rn);var sn=this.i_findNextContentNode();if(sn!==null){var tn=sn.getPlayableData().getDataObject().images;var un=tn.length;var vn=[];var wn={};for(var i=0;i<un;i++){vn.push(tn[i].id);wn[tn[i].id]=tn[i].resource;}
rn.setMetadata("image",wn[xmp.PlayerPolicy.getSizeFromPlayer(vn)]);}
else{this.p_logger.debug("Unusual state: The StartSlate failed to find a next content node.");}};xmp.createNamespace("xmp.baseplayer.listeners");xmp.baseplayer.listeners.DefaultVideoNodeListener=function(xn,yn){xmp.baseplayer.listeners.DefaultVideoNodeListener.ctor.call(this,xn,yn,false);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.DefaultBaseNodeListener,xmp.baseplayer.listeners.DefaultVideoNodeListener);xmp.baseplayer.listeners.DefaultVideoNodeListener.prototype.handleInitialize=function(zn){var An=zn.getPlayableData();zn.setMimeTypes(An.getMimeTypeArray());var Bn=An.getDataObject().sizes;if(Bn&&Bn.length>0){zn.i_setSizes(An.getDataObject().sizes);}
zn.setURI(An.getDataObject().location);zn.setStreamingMode(An.getDataObject().streamingMode);};xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.AdLoaderNodeListener=function(Cn){xmp.baseplayer.listeners.internal.AdLoaderNodeListener.ctor.call(this,'AdLoader',Cn);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.internal.AdResNodeListener,xmp.baseplayer.listeners.internal.AdLoaderNodeListener);xmp.baseplayer.listeners.internal.AdLoaderNodeListener.prototype.i_handleResBundleLoaded=function(Dn,En){if(En.isError()){Dn.getPlayableData().i_setErrorMessage(En.getErrorMessage());}
else{var Fn=Dn.i_getPrimaryMetaResource(true);if(Fn.isError()){Dn.getPlayableData().i_setErrorMessage(Fn.getErrorMessage());}
else{Dn.getPlayableData()._setRawData(Fn.getDataObject());}}};xmp.baseplayer.listeners.internal.NonAdLoaderNodeListener=function(Gn){xmp.baseplayer.listeners.internal.NonAdLoaderNodeListener.ctor.call(this,'NonAdLoader',Gn);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.internal.AdResNodeListener,xmp.baseplayer.listeners.internal.NonAdLoaderNodeListener);xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.FirstFrameNodeListener=function(Hn){this.p_logger=new xmp.util.internals.CategoryLogger('FirstFrameNodeListener');this.p_FIRST_FRAME_TIMEOUT_MIN=10000;this.p_firstFrameTimer=null;this.p_FIRST_FRAME_TIMER_ID="FIRST_FRAME_TIMER";this.p_currentNode=null;xmp.baseplayer.listeners.internal.FirstFrameNodeListener.ctor.call(this,'FirstFrameCheck',Hn);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.FrameworkNodeListener,xmp.baseplayer.listeners.internal.FirstFrameNodeListener);xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleConnecting=function(In){if(In.getMimeType()!==xmp.FLASH_MIME_TYPE){return;}
if(this.p_firstFrameTimer){this.p_firstFrameTimer.stop();}
var Jn=new xmp.util.Callback('basePlayerTimeout',this.p_handleFirstFrameTimeout,this);var Kn=xmp.util.SettingsManager.getInstance().getGlobalContextNode();var Ln=Kn.getInt('first frame timeout',this.p_FIRST_FRAME_TIMEOUT_MIN);this.p_firstFrameTimer=new xmp.util.Timer(this.p_FIRST_FRAME_TIMER_ID,Ln,1,Jn);this.p_currentNode=In;this.p_startTimer(this.p_firstFrameTimer);};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleFirstFrameRendered=function(Mn){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handlePause=function(Nn){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleStop=function(On){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleRewind=function(Pn){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleFastForward=function(Qn){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleSeekable=function(Rn){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.handleError=function(Sn,e){this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.p_reset=function(){this.p_currentNode=null;this.p_stopTimer(this.p_firstFrameTimer);this.p_firstFrameTimer=null;};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.p_handleFirstFrameTimeout=function(){var Tn=xmp.CriticalException.createCriticalException(xmp.XmpErrorCodes.CRITICAL_FIRST_FRAME_TIMEOUT,'FirstFrameNodeListener',"Timeout received in playing "+this.p_currentNode.getBestId());this.p_logger.i_critical('First Frame Timeout',Tn);this.getPlayer().getMediaPlayer().close();this.getPlayer().onError(this.p_currentNode,Tn);this.p_reset();};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.p_startTimer=function(Un){if(Un){Un.start();}};xmp.baseplayer.listeners.internal.FirstFrameNodeListener.prototype.p_stopTimer=function(Vn){if(Vn){Vn.stop();}};xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.MeteringNodeListener=function(Wn){this.p_constants=xmp.baseplayer.listeners.internal.MeteringNodeListener;xmp.baseplayer.listeners.internal.MeteringNodeListener.ctor.call(this,this.p_constants.p_METERING_NODE_LISTENER,Wn);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.internal.TriggerNodeListener,xmp.baseplayer.listeners.internal.MeteringNodeListener);xmp.baseplayer.listeners.internal.MeteringNodeListener.p_METERING_NODE_LISTENER="Metering";xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.PromoLoaderNodeListener=function(Xn){xmp.baseplayer.listeners.internal.PromoLoaderNodeListener.ctor.call(this,'PromoLoader',Xn);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.FrameworkNodeListener,xmp.baseplayer.listeners.internal.PromoLoaderNodeListener);xmp.baseplayer.listeners.internal.PromoLoaderNodeListener.prototype.i_canCompleteNow=function(Yn){if(Yn.getPlayableData().isError()){return true;}
return Yn.getPlayableData().isLoaded();};xmp.baseplayer.listeners.internal.PromoLoaderNodeListener.prototype.handleCompleteAsynch=function(Zn,$n){var ao=xmp.baseplayer.MetaFileLoaderFactory.getInstance().create('videoPromoMeta');var bo=new xmp.util.Callback('gotPromoCallback',this.p_gotPromoCallback,this);bo.setMetadata('RelayCallback',$n);ao.setNode(Zn,bo);ao.load();};xmp.baseplayer.listeners.internal.PromoLoaderNodeListener.prototype.p_gotPromoCallback=function(co,eo){var fo=co.getMetadata('RelayCallback',{});fo.call(eo);};xmp.createNamespace("xmp.baseplayer.listeners.internal");xmp.baseplayer.listeners.internal.TrackingNodeListener=function(go){this.p_constants=xmp.baseplayer.listeners.internal.TrackingNodeListener;xmp.baseplayer.listeners.internal.TrackingNodeListener.ctor.call(this,this.p_constants.p_TRACKING_NODE_LISTENER,go);};xmp.DERIVE_CLASS(xmp.baseplayer.listeners.internal.TriggerNodeListener,xmp.baseplayer.listeners.internal.TrackingNodeListener);xmp.baseplayer.listeners.internal.TrackingNodeListener.p_TRACKING_NODE_LISTENER="Tracking";xmp.createNamespace("xmp.baseplayer.listeners.logging");xmp.baseplayer.listeners.logging.ErrorLoggerListener=function(ho){xmp.baseplayer.listeners.logging.ErrorLoggerListener.ctor.call(this,ho);};xmp.DERIVE_CLASS(xmp.util.AbstractLoggerListener,xmp.baseplayer.listeners.logging.ErrorLoggerListener);xmp.baseplayer.listeners.logging.ErrorLoggerListener.prototype.i_handleLog=function(io,jo,ko,lo){if(io>xmp.util.LogLevels.i_FATAL&&io<=this.getLogLevel()){this.handleLogError(io,jo,ko,lo);}};xmp.baseplayer.listeners.logging.ErrorLoggerListener.prototype.handleLogError=function(mo,no,oo,po){try{var qo=xmp.FatalException.createFatalException(xmp.XmpErrorCodes.FATAL_UNSPECIFIED_ERROR,'BasePlayer',xmp.extractErrorMessage(po));xmp.baseplayer.BasePlayer.i_setFatalException(qo);xmp.showFatalErrorMessage(oo);if(po instanceof xmp.baseplayer.ApplicationError){this.p_showError(oo,po);}
xmp.util.Logger.getInstance().i_fatal("ErrorLogger",oo,po);}
catch(secondE){xmp.showFatalErrorMessage('Second chance exception while raising fatal exception: '+xmp.extractErrorMessage(secondE));}};xmp.baseplayer.listeners.logging.ErrorLoggerListener.prototype.p_showError=function(ro,so){if(ro===null||ro===undefined){ro="Unknown error";}
var to=ro;var uo="";if(so instanceof xmp.baseplayer.ApplicationError){to=so.message;var ie=so.getInnerError();if(ie!==null&&ie!==undefined){uo=ie.message;}}
if(xmp.isFirefoxBrowser()){this.p_showErrorFirefox(to,uo);}else{this.p_showErrorIE(to,uo);}};xmp.baseplayer.listeners.logging.ErrorLoggerListener.prototype.p_showErrorFirefox=function(vo,wo){var re=/[\n\f\r]/gm;vo=vo.replace(re,'<br/>');wo=wo.replace(re,'<br/>');var xo="width=500,height=400,toolbar=0,";xo+="status=0,menubar=0,scrollbars=1,resizable=0";var yo=window.open("","",xo);var zo=yo.document;zo.open();zo.writeln("<html><head>");zo.writeln("<title>Error</title>");zo.writeln("<script type='text/javascript'>");zo.writeln("var showDetails = function()");zo.writeln("{");zo.writeln("  document.getElementById('mode').value = 'Hide Details';");zo.writeln("  document.getElementById('details').innerHTML = '"+wo+"';");zo.writeln("}");zo.writeln("var hideDetails = function()");zo.writeln("{");zo.writeln("  document.getElementById('mode').value = 'Show Details';");zo.writeln("  document.getElementById('details').innerHTML = '';");zo.writeln("}");zo.writeln("var showHideDetails = function()");zo.writeln("{");zo.writeln("  var mv = document.getElementById('mode').value;");zo.writeln("  if (mv == 'Show Details')");zo.writeln("    showDetails();");zo.writeln("  else");zo.writeln("    hideDetails();");zo.writeln("}");zo.writeln("</script>");zo.writeln("</head><body onblur='window.focus();'>");zo.writeln("<p style='color:red'><b>"+vo+"</b></p>");zo.writeln("<fieldset>");zo.writeln("<legend><input type=button id=mode value='Show Details' onclick='showHideDetails();' /></legend>");zo.writeln("<div id=details></div>");zo.writeln("</fieldset>");zo.writeln("<p align=right><input type=button value=Close onclick='window.close();' /></p>");zo.writeln("</body></html>");zo.close();};xmp.baseplayer.listeners.logging.ErrorLoggerListener.prototype.p_showErrorIE=function(Ao,Bo){xmp.showMessage(Ao);};xmp.createNamespace("xmp.baseplayer.listeners.logging");xmp.baseplayer.listeners.logging.InstrumentationLoggerListener=function(Co){var Do=Co.getGlobalContextNode();var Eo=Do.getNodeForPath('Instrumentation');var Fo=xmp.util.LogLevels.i_fromString(Eo.getString('thresholdLevel','critical'));var Go=Math.min(xmp.util.LogLevels.i_CRITICAL,Fo);xmp.baseplayer.listeners.logging.InstrumentationLoggerListener.ctor.call(this,Go);this.p_handler=new xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler(Co);};xmp.DERIVE_CLASS(xmp.util.AbstractLoggerListener,xmp.baseplayer.listeners.logging.InstrumentationLoggerListener);xmp.baseplayer.listeners.logging.InstrumentationLoggerListener.prototype.i_handleLog=function(Ho,Io,Jo,Ko){if(Ho<=this.getLogLevel()){this.handleLogError(Ho,Io,Ko);}};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener.prototype.handleLogMessage=function(Lo,Mo,No){};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener.prototype.handleLogError=function(Oo,Po,Qo){this.p_handler.i_log(xmp.util.PlayerStats.getInstance(),Qo);};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler=function(Ro){var So=Ro.getGlobalContextNode();var To=So.getNodeForPath('Instrumentation');this.p_maxPostsPerSession=To.getInt('maxPostsPerSession',1);this.p_numPosts=0;this.p_postUrl=To.getString('postUrl','');this.p_reportingDiv=null;};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler.prototype.p_createHiddenForm=function(Uo,Vo){if(this.p_postUrl.length>0){var Wo=this.p_assembleReport(Uo,Vo);var Xo=window.document.createElement('div');Xo.style.display='none';window.document.body.insertBefore(Xo,null);var Yo='post';var Zo="<form name='xmp_fatalErrorReportingForm' id='xmp_fatalErrorReportingForm' target='xmp_fatalErrorReportingFormIFrame' ";Zo+=("action='"+this.p_postUrl+"' ");Zo+=("method='"+Yo+"' ");Zo+=(">");for(var $o=xmp.MapIterator.create(Wo);$o.hasNext();$o.next()){var ap=$o.currentKey();var bp=$o.currentValue();Zo+=("<input type='hidden' id='"+ap+"' name='"+ap+"' value='"+bp+"'/>");}
Zo+=("</form><iframe id='xmp_fatalErrorReportingFormIFrame' name='xmp_fatalErrorReportingFormIFrame'/>");Xo.innerHTML=Zo;this.p_reportingDiv=Xo;}};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler.prototype.p_populateHiddenForm=function(cp,dp){var ep=window.document.xmp_fatalErrorReportingForm;var fp=this.p_assembleReport(cp,dp);for(var gp=xmp.MapIterator.create(fp);gp.hasNext();gp.next()){var hp=gp.currentKey();var ip=gp.currentValue();ep[hp].value=ip;}};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler.prototype.i_log=function(jp,kp){if(this.p_numPosts>=this.p_maxPostsPerSession){return;}
this.p_numPosts++;if(this.p_reportingDiv===null){this.p_createHiddenForm(jp,kp);}
else{this.p_populateHiddenForm(jp,kp);}
if(this.p_reportingDiv){var lp=window.document.xmp_fatalErrorReportingForm;lp.submit();}};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler.prototype.p_assembleReport=function(mp,np){var op={};op.timestamp=((new Date()).getTime()).toString();op.reason=this.p_extractErrorCode(np).toString();op.detail=np.message;var pp=mp.i_getKeys();for(var i=0;i<pp.length;++i){var qp=pp[i];var rp=mp.i_getValue(qp);op[qp.toLowerCase()]=rp;}
return op;};xmp.baseplayer.listeners.logging.InstrumentationLoggerListener._HttpPostHandler.prototype.p_extractErrorCode=function(sp){if(sp instanceof xmp.FatalException){return sp.getFatalErrorCode();}
if(sp instanceof xmp.CriticalException){return sp.getCriticalErrorCode();}
return xmp.XmpErrorCodes.NONE;};xmp.createNamespace("xmp.services.logging");xmp.services.logging.SystemLogListeners=function(){};xmp.services.logging.SystemLogListeners.init=function(tp,cb){var up=tp.getGlobalContextNode();var vp=up.getNodeForPath('Instrumentation');var wp=vp.getBoolean('enabled',false);if(wp===true){var xp=new xmp.services.logging.InstrumentationLoggerListener(tp);xmp.util.Logger.getInstance().addListener(xp);}
var yp=xmp.getQueryArgOpt('xmpErrorThreshold','fatal');var zp=xmp.util.LogLevels.i_fromString(yp);zp=Math.min(xmp.util.LogLevels.i_WARN,zp);var Ap=new xmp.services.logging.ErrorLoggerListener(zp);xmp.util.Logger.getInstance().addListener(Ap);cb.call();};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.MetaFileLoaderFactory=function(){this.p_loaderIdCount=0;this.p_map={};this.p_loaderDataMap={};this.p_addLoaderCtors(xmp.util.SettingsManager.getInstance());};xmp.baseplayer.MetaFileLoaderFactory.p_singeltonInstance=null;xmp.baseplayer.MetaFileLoaderFactory.getInstance=function(){if(xmp.baseplayer.MetaFileLoaderFactory.p_singeltonInstance===null){xmp.baseplayer.MetaFileLoaderFactory.p_singeltonInstance=new xmp.baseplayer.MetaFileLoaderFactory();}
return xmp.baseplayer.MetaFileLoaderFactory.p_singeltonInstance;};xmp.baseplayer.MetaFileLoaderFactory.prototype.init=function(Bp,Cp){this.p_addLoaderCtors(Bp);Cp.call();};xmp.baseplayer.MetaFileLoaderFactory.prototype.create=function(Dp){var Ep=this.p_createInternal(Dp);this.p_map[Ep.i_getLoaderId()]=Ep;return Ep;};xmp.baseplayer.MetaFileLoaderFactory.prototype.p_createInternal=function(Fp){this.p_loaderIdCount++;var id=this.p_loaderIdCount.toString();var Gp=this.p_loaderDataMap[Fp];var Hp=Gp.JSClass;if(!Hp){throw new Error('Unrecognized serializer type: '+Fp);}
var Ip=xmp.getNamespacedMethod(Hp);var Jp=new Ip(this,id,Gp);return Jp;};xmp.baseplayer.MetaFileLoaderFactory.prototype.i_release=function(Kp){if(typeof this.p_map[Kp.i_getLoaderId()]!=='undefined'){delete this.p_map[Kp.i_getLoaderId()];}};xmp.baseplayer.MetaFileLoaderFactory.prototype.p_addLoaderCtors=function(Lp){var Mp=Lp.getGlobalContextNode().getNodeForPath('loaders');var Np=Mp.retrieveChildrenNames();for(var i=0;i<Np.length;i++){var Op=Np[i];var Pp=Mp.getNodeForPath(Op);this.p_loaderDataMap[Op]=Pp.cloneKeyValueMap();}};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.PlayListMod=function(Qp,id){this.p_id=id;this.p_action=Qp;xmp.baseplayer.PlayListMod.p_staticCounter++;this.p_modNum=xmp.baseplayer.PlayListMod.p_staticCounter;};xmp.baseplayer.PlayListMod.p_staticCounter=0;xmp.baseplayer.PlayListMod.prototype.getModNum=function(){return this.p_modNum;};xmp.baseplayer.PlayListMod.prototype.getId=function(){return this.p_id;};xmp.baseplayer.PlayListMod.prototype.getAction=function(){return this.p_action;};xmp.createNamespace("xmp.baseplayer");xmp.baseplayer.TriggerContext=function(){this.p_triggerType='';this.p_commandData='';this.p_metadataMap=new xmp.util.internals.MetadataMap(false);this.p_node=null;};xmp.baseplayer.TriggerContext.prototype.getTriggerType=function(){return this.p_triggerType;};xmp.baseplayer.TriggerContext.prototype.setTriggerType=function(Rp){this.p_triggerType=(Rp)?Rp:'';};xmp.baseplayer.TriggerContext.prototype.getCommandData=function(){return this.p_commandData;};xmp.baseplayer.TriggerContext.prototype.setCommandData=function(Sp){this.p_commandData=(Sp)?Sp:'';};xmp.baseplayer.TriggerContext.prototype.getPlayableNode=function(){return this.p_node;};xmp.baseplayer.TriggerContext.prototype.setPlayableNode=function(Tp){this.p_node=(Tp)?Tp:null;};xmp.baseplayer.TriggerContext.prototype.getMetadata=function(Up,Vp){return this.p_metadataMap.i_get(Up,Vp);};xmp.baseplayer.TriggerContext.prototype.setMetadata=function(Wp,Xp){this.p_metadataMap.i_set(Wp,Xp);};xmp.internal_settings_pref_api={type:"system",map:[],nodes:[{name:"PlayerContexts",map:[],nodes:[{name:"Generic",map:[],nodes:[{name:"BasePlayer",map:[{key:"user can control ad",value:"true"},{key:"look ahead and behind count",value:"7"},{key:"bandwidth threshold",value:"500"},{key:"videoAdMetaLoader",value:"videoAdMeta"},{key:"Ad metering image URL",value:"NO_DEFAULT_VALUE"},{key:"rule classes relative URL",value:"NO_DEFAULT_VALUE"},{key:"rule classes namespace",value:"NO_DEFAULT_VALUE"}],nodes:[{name:"ad patterns",map:[],nodes:[]},{name:"PlayerSizes",map:[],nodes:[]}]},{name:"invariantRules",map:[],nodes:[]},{name:"Additional segvars",map:[],nodes:[]},{name:"pattern parameters",map:[],nodes:[]},{name:"ad resource metadata",map:[],nodes:[{name:"primary",map:[{key:"data type",value:"videoJson"},{key:"renderer",value:"node"}],nodes:[]},{name:"synch_unit",map:[{key:"data type",value:"url"},{key:"renderer",value:"external"}],nodes:[]}]},{name:"UrlStrategies",map:[],nodes:[{name:"Octoshape",map:[{key:"octo poll interval",value:"2000"},{key:"octo try limit",value:"8"},{key:"octo can use fn",value:"return ((xmp.getQueryArgOpt(\"xmpUseOctoshape\", \"true\") === \"true\") && ((xmp.isWindowsOS() && (xmp.isIEBrowser() || xmp.isFirefoxBrowser())) || (xmp.isMacOSX() && (xmp.isSafariBrowser() || xmp.isFirefoxBrowser()))));"}],nodes:[{name:"url mapping",map:[],nodes:[]}]}]}]},{name:"Global",map:[{key:"first frame timeout",value:"10000"}],nodes:[{name:"rootUrlMap",map:[],nodes:[{name:"videoContentMeta",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"videoTracking",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"videoPromoMeta",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"adPolicy",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"ruleClasses",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"adMan",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"dhtmlObject",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"errorDhtmlObject",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"xhr"}],nodes:[]},{name:"controlStreamResource",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"internalUserCheckResource",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]},{name:"video",map:[],nodes:[{name:"Flash",map:[],nodes:[{name:"ad",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]},{name:"vod",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]}]},{name:"WindowsMedia",map:[],nodes:[{name:"ad",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]},{name:"vod",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]},{name:"live",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]},{name:"control",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]}]},{name:"QuickTime",map:[],nodes:[{name:"vod",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"}],nodes:[]}]}]},{name:"image",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"adVideo",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"swf",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"adServer",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"}],nodes:[]},{name:"adCompositor",map:[{key:"rootUrl",value:"NO_DEFAULT_VALUE"},{key:"transportType",value:"flash"},{key:"requestVerb",value:"POST"}],nodes:[]}]},{name:"loaders",map:[],nodes:[{name:"videoContentMeta",map:[{key:"JSClass",value:"xmp.baseplayer.internals.VideoContentMetaFileLoader"},{key:"metaType",value:"videoContentMeta"},{key:"loaderType",value:"VideoContentMetaFileLoader"},{key:"contentType",value:"json"},{key:"appErrorType",value:"FailToGetVideoJson"},{key:"maxCacheTime",value:"-1"}],nodes:[]},{name:"videoPromoMeta",map:[{key:"JSClass",value:"xmp.baseplayer.internals.VideoPromoMetaFileLoader"}],nodes:[]},{name:"videoAdMeta",map:[{key:"JSClass",value:"xmp.baseplayer.internals.ClientSideAdCompositorMetaFileLoader"}],nodes:[]},{name:"videoCompositeAdMeta",map:[{key:"JSClass",value:"xmp.baseplayer.internals.ServerSideAdCompositorMetaFileLoader"},{key:"serverRelUrl",value:"/multi"}],nodes:[]},{name:"videoAdOnly",map:[{key:"JSClass",value:"xmp.baseplayer.internals.GenericMetaFileLoader"},{key:"metaType",value:"adServer"},{key:"loaderType",value:"VideoAdOnlyMetaFileLoader"},{key:"contentType",value:"text"},{key:"appErrorType",value:"FailToGetAdVideo"},{key:"maxCacheTime",value:"0"}],nodes:[]},{name:"videoAdCompositorServer",map:[{key:"JSClass",value:"xmp.baseplayer.internals.GenericMetaFileLoader"},{key:"metaType",value:"adCompositor"},{key:"loaderType",value:"VideoAdCompositorServerMetaFileLoader"},{key:"contentType",value:"text"},{key:"appErrorType",value:"FailToGetAdVideo"},{key:"maxCacheTime",value:"0"}],nodes:[]},{name:"dhtmlObject",map:[{key:"JSClass",value:"xmp.baseplayer.internals.GenericMetaFileLoader"},{key:"metaType",value:"dhtmlObject"},{key:"loaderType",value:"DhtmlObjectMetaFileLoader"},{key:"contentType",value:"json"},{key:"appErrorType",value:"FailToGetDhtmlObject"},{key:"maxCacheTime",value:"-1"}],nodes:[]},{name:"errorDhtmlObject",map:[{key:"JSClass",value:"xmp.baseplayer.internals.GenericMetaFileLoader"},{key:"metaType",value:"errorDhtmlObject"},{key:"loaderType",value:"ErrorDhtmlObjectMetaFileLoader"},{key:"contentType",value:"json"},{key:"appErrorType",value:"FailToGetDhtmlObject"},{key:"maxCacheTime",value:"-1"}],nodes:[]},{name:"adMan",map:[{key:"JSClass",value:"xmp.baseplayer.internals.GenericMetaFileLoader"},{key:"metaType",value:"adMan"},{key:"loaderType",value:"AdManMetaFileLoader"},{key:"contentType",value:"text"},{key:"appErrorType",value:"FailToGetAdMan"},{key:"maxCacheTime",value:"0"}],nodes:[]}]},{name:"Media Player",map:[{key:"Bandwidth Sample Interval",value:"5000"},{key:"Fullscreen Enabled",value:"true"},{key:"Stretch To Fit",value:"true"}],nodes:[]},{name:"PlayingPolicy",map:[],nodes:[{name:"Streaming Modes",map:[{key:"001",value:"live"},{key:"002",value:"control"},{key:"003",value:"ad"},{key:"004",value:"vod"}],nodes:[]},{name:"PlugIns",map:[],nodes:[{name:"Flash",map:[{key:"display-name",value:"Flash PlugIn/ActiveX Player"},{key:"minimum-version",value:"8.0.0"},{key:"download-url",value:"http://www.adobe.com/go/getflashplayer"}],nodes:[]},{name:"WindowsMedia",map:[{key:"display-name",value:"Windows Media Player"},{key:"minimum-version",value:"9.0.0"},{key:"download-url",value:"http://www.microsoft.com/windows/windowsmedia/download"}],nodes:[]},{name:"TurnerMedia",map:[{key:"display-name",value:"Turner Media Plugin"},{key:"minimum-version",value:"1.0.0.9"},{key:"download-url",value:"http://www.cnn.com/download"}],nodes:[]},{name:"QuickTime",map:[{key:"display-name",value:"QuickTime Plugin"},{key:"minimum-version",value:"7.1.2"},{key:"download-url",value:"http://www.apple.com/quicktime/download"}],nodes:[]},{name:"Flip4Mac",map:[{key:"display-name",value:"Flip4Mac Plugin"},{key:"minimum-version",value:"2.1"},{key:"download-url",value:"http://www.flip4mac.com/downloads/wmv_components/Flip4Mac%20WMV%202.1.3.10.dmg"}],nodes:[]},{name:"Octoshape",map:[{key:"display-name",value:"Octoshape Plugin"},{key:"minimum-version",value:"please-get-latest-release-version"},{key:"download-url",value:"http://www.octoshape.com/plugin/get.asp"}],nodes:[]}]},{name:"Native Players",map:[],nodes:[{name:"xmp.FlashPlayer",map:[{key:"Buffer Time",value:"4000"},{key:"Streaming Video Adapter",value:"StreamingVideoMedia"},{key:"ActiveX Version Detection JSON",value:"var version = {{version}}.split(/\\s+/g)[1];return version.replace( /,/g, \".\" );"},{key:"Mozilla Version Detection JSON",value:"var temp = {{version}}.split(/\\s+/g);var majorAndMinor = temp[2];var revision = temp[3].match(/\\d+/);var version = majorAndMinor + \".\" + revision;return version;"}],nodes:[]},{name:"xmp.WindowsMediaPlayer",map:[],nodes:[]},{name:"xmp.WindowsMediaPlugInPlayer",map:[{key:"Mozilla Version Detection JSON",value:"return {{version}}.split(/\\s+/g)[3];"}],nodes:[]},{name:"xmp.QuickTimePlayer",map:[{key:"State Change Polling Interval",value:"200"},{key:"Connection Timeout Interval",value:"30000"},{key:"ActiveX Version Detection JSON",value:"var tempVersion = parseInt({{version}}, 10).toString( 16 );return ( tempVersion.substr(0, 1) + \".\" + tempVersion.substr(1, 1) + \".\" + tempVersion.substr(2, 1) + \".\" + tempVersion.substr(3) );"},{key:"Mozilla Version Detection JSON",value:"return {{version}}.split(/\\s+/g)[2];"},{key:"Flip4Mac Version Detection JSON",value:"return {{version}}.split(/\\s+/g)[4];"}],nodes:[]},{name:"xmp.ImagePlayer",map:[],nodes:[]}]},{name:"Native Player Groups",map:[],nodes:[{name:"WindowsIEPlayers",map:[],nodes:[{name:"001",map:[{key:"mime-type",value:"video/x-ms-wmv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.WindowsMediaPlayer"}],nodes:[]}]},{name:"002",map:[{key:"mime-type",value:"video/x-flv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.FlashPlayer"}],nodes:[]}]},{name:"003",map:[{key:"mime-type",value:"application/x-image"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.ImagePlayer"}],nodes:[]}]},{name:"004",map:[{key:"mime-type",value:"video/quicktime"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.QuickTimePlayer"}],nodes:[]}]}]},{name:"WindowsMozillaPlayers",map:[],nodes:[{name:"001",map:[{key:"mime-type",value:"video/x-ms-wmv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.WindowsMediaPlugInPlayer"}],nodes:[]}]},{name:"002",map:[{key:"mime-type",value:"video/x-flv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.FlashPlayer"}],nodes:[]}]},{name:"003",map:[{key:"mime-type",value:"application/x-image"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.ImagePlayer"}],nodes:[]}]},{name:"004",map:[{key:"mime-type",value:"video/quicktime"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.QuickTimePlayer"}],nodes:[]}]}]},{name:"MacPlayers",map:[],nodes:[{name:"001",map:[{key:"mime-type",value:"video/x-ms-wmv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.QuickTimePlayer"}],nodes:[]}]},{name:"002",map:[{key:"mime-type",value:"video/x-flv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.FlashPlayer"}],nodes:[]}]},{name:"003",map:[{key:"mime-type",value:"application/x-image"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.ImagePlayer"}],nodes:[]}]},{name:"004",map:[{key:"mime-type",value:"video/quicktime"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.QuickTimePlayer"}],nodes:[]}]}]},{name:"LinuxPlayers",map:[],nodes:[{name:"002",map:[{key:"mime-type",value:"video/x-flv"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.FlashPlayer"}],nodes:[]}]},{name:"003",map:[{key:"mime-type",value:"application/x-image"}],nodes:[{name:"Players",map:[{key:"001",value:"xmp.ImagePlayer"}],nodes:[]}]}]}]},{name:"Supported Platforms",map:[],nodes:[{name:"Windows",map:[{key:"Explorer",value:"WindowsIEPlayers"},{key:"Firefox",value:"WindowsMozillaPlayers"},{key:"Opera",value:"WindowsMozillaPlayers"},{key:"Netscape",value:"WindowsMozillaPlayers"},{key:"Safari",value:"WindowsMozillaPlayers"},{key:"SeaMonkey",value:"WindowsMozillaPlayers"}],nodes:[{name:"PlugIns Overrides",map:[],nodes:[{name:"QuickTime",map:[{key:"minimum-version",value:"7.1.5"}],nodes:[]}]}]},{name:"Mac",map:[{key:"Safari",value:"MacPlayers"},{key:"Firefox",value:"MacPlayers"},{key:"Netscape",value:"MacPlayers"},{key:"Camino",value:"MacPlayers"},{key:"SeaMonkey",value:"MacPlayers"},{key:"Opera",value:"MacPlayers"}],nodes:[{name:"PlugIns Overrides",map:[],nodes:[{name:"Octoshape",map:[{key:"download-url",value:"http://www.octoshape.com/plugin/mac.asp"}],nodes:[]}]}]},{name:"Linux",map:[{key:"Firefox",value:"LinuxPlayers"},{key:"Opera",value:"LinuxPlayers"},{key:"Netscape",value:"LinuxPlayers"},{key:"SeaMonkey",value:"LinuxPlayers"},{key:"Konqueror",value:"LinuxPlayers"}],nodes:[{name:"PlugIns Overrides",map:[],nodes:[{name:"Octoshape",map:[{key:"download-url",value:"http://www.octoshape.com/plugin/linux.asp"}],nodes:[]}]}]}]},{name:"MediaTypes",map:[],nodes:[{name:"Flash",map:[{key:"mime-type",value:"video/x-flv"}],nodes:[]},{name:"WindowsMedia",map:[{key:"mime-type",value:"video/x-ms-wmv"}],nodes:[]},{name:"QuickTime",map:[{key:"mime-type",value:"video/quicktime"}],nodes:[]},{name:"Image",map:[{key:"mime-type",value:"application/x-image"}],nodes:[]}]},{name:"Playback Priority Groups",map:[],nodes:[{name:"DefaultVODPlayback",map:[{key:"001",value:"WindowsMedia"},{key:"002",value:"Flash"},{key:"003",value:"QuickTime"}],nodes:[]},{name:"DefaultAdPlayback",map:[{key:"001",value:"Flash"},{key:"002",value:"WindowsMedia"},{key:"003",value:"QuickTime"}],nodes:[]},{name:"DefaultLivePlayback",map:[{key:"001",value:"WindowsMedia"},{key:"002",value:"Flash"}],nodes:[]},{name:"DefaultControlPlayback",map:[{key:"001",value:"WindowsMedia"},{key:"002",value:"Flash"}],nodes:[]}]},{name:"Playback Platforms",map:[],nodes:[{name:"Windows",map:[],nodes:[{name:"Explorer",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Firefox",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Opera",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Netscape",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Safari",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"SeaMonkey",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]}]},{name:"Mac",map:[],nodes:[{name:"Safari",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Opera",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Firefox",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Netscape",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Camino",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"SeaMonkey",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]}]},{name:"Linux",map:[],nodes:[{name:"Opera",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Firefox",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Netscape",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"SeaMonkey",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]},{name:"Konqueror",map:[{key:"ad",value:"DefaultAdPlayback"},{key:"vod",value:"DefaultVODPlayback"},{key:"live",value:"DefaultLivePlayback"},{key:"control",value:"DefaultControlPlayback"}],nodes:[]}]}]}]}]}]}]};
