!function(){var t="vast",e="-1",i="time",r="[ERRORCODE]",n="vmap",a=5e3,s=15e3,o="jwp",d="jwpspotx",l="paused",h="playing",u="complete",p="error",c="adBidRequest",f="adBidResponse",m="adBreakIgnored",v="adComplete",g="adError",y="adImpression",A="adSchedule",k="adSkipped",P="click",w="play",T="error",b="complete",_=[y,g,"adPodError"],E=["adStarted",v,y,"adClick",k,g,"adPlay","adPause","adMeta"],C=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},I=function(){function t(t,e){for(var i=0;i"),n.contentWindow.myCallback=r,a.close(),n}(e.utils,this.vpaidURL,this.playerContainer,this.callback.bind(this)),this.toRemove.push(this.iframe))}return t.prototype.sendEvent=function(t,e){(e=e||{}).tag||(e.tag=this.adTag),this.trigger(t,e)},t.prototype.sendTimeEvent=function(t,e,i){var r=e.getAdDuration(),n=e.getAdRemainingTime(),a=S({duration:r},i);this.sendEvent(t,a),n>0&&(a.position=r-n,this.trigger("time",a))},t.prototype.handleQuartile=function(t,e){this.sendTimeEvent("quartile",t,{quartile:e})},t.prototype.genEvent=function(t){var e=this;return function(i){e.on(t,i)}},t.prototype.setMute=function(){this.player.setMute(!this.vpaidAd.getAdVolume())},t.prototype.userActive=function(){var t=this.player.utils.hasClass(this.playerContainer,"jw-flag-time-slider-above");this.player.utils.style(this.iframe,{bottom:t?66:60})},t.prototype.userInactive=function(){"paused"!==this.player.getState()&&this.player.utils.style(this.iframe,{bottom:"0.5em"})},t.prototype.prepareNonlinearAd=function(){var t=!this.player.utils.hasClass(this.playerContainer,"jw-flag-user-inactive");if(this.player.utils.style(this.iframe,{height:150}),this.resize(null,150),this.userActive(t),this.player.on("userActive",this.userActive,this),this.player.on("userInactive",this.userInactive,this),this.instream){this.instream.noResume=!0,this.instream.applyProviderListeners(null),this.instream.destroy(),this.instream=null;var e=this.playerContainer.querySelector(".jw-media"),i=e.querySelector("video,audio");e.insertBefore(i,this.iframe),i.play()}},t.prototype.genListeners=function(t){var e=this;return{AdLoaded:function(){t.startAd()},AdStarted:function(){t.getAdLinear()?e.vpaidControls||(e.instream=e.instream||e.player.createInstream(),e.instream.hide()):e.prepareNonlinearAd(),e.sendEvent("impression",{linear:t.getAdLinear()?"linear":"nonlinear"}),e.sendEvent("play",{oldstate:"buffering",newstate:h,linear:t.getAdLinear()?"linear":"nonlinear"}),t.subscribe(e.setMuteCallback,"AdVolumeChange",t)},AdVideoStart:function(){e.sendEvent("started")},AdStopped:function(){R(e.toRemove),e.sendEvent("stopped")},AdPaused:function(){e.paused||(e.paused=!0,e.sendEvent("pause",{newstate:l,oldstate:h}))},AdPlaying:function(){e.paused&&(e.paused=!1,e.sendEvent("play",{newstate:h,oldstate:l,linear:t.getAdLinear()?"linear":"nonlinear"}))},AdLinearChange:function(){t.getAdLinear()?(e.player.utils.style(e.iframe,{height:"100%"}),e.player.off(null,null,e),e.instream=e.instream||e.player.createInstream(),e.instream.init(),e.vpaidControls||e.instream.hide()):e.prepareNonlinearAd()},AdDurationChange:function(){e.sendTimeEvent("remainingTimeChange",t,{isDurationChange:!0,remainingTime:t.getAdRemainingTime()})},AdRemainingTimeChange:function(){e.sendTimeEvent("remainingTimeChange",t,{remainingTime:t.getAdRemainingTime()})},AdExpandedChange:function(){e.sendEvent("expandedChange",{expanded:t.getAdExpanded()})},AdSkipped:function(){R(e.toRemove),e.sendEvent("skipped")},AdVideoFirstQuartile:function(){e.handleQuartile(t,1)},AdVideoMidpoint:function(){e.handleQuartile(t,2)},AdVideoThirdQuartile:function(){e.handleQuartile(t,3)},AdVideoComplete:function(){e.sendEvent("complete")},AdUserClose:function(){e.sendEvent("close")},AdClickThru:function(t,i,r){e.sendEvent("click",{id:i,url:t,playerHandles:r})},AdError:function(t){R(e.toRemove);var i=function(t){if(t){var e=t.match(/\b(?:[34])[0-9]{2}\b/);if(e)return parseInt(e[0],10);if(t.match(/timeout/i))return t.match(/vpaid|vast/i)?301:402;if(t.match(/found/i))return 401;if(t.match(/supported/i))return 403;if(t.match(/(?:displaying|media file)/i))return 405}return 901}(t);e.sendEvent("error",{message:t,code:i,adErrorCode:5e4+i})}}},t.prototype.callback=function(){var t=this.vpaidAd=this.iframe.contentWindow.getVPAIDAd(),e=this.player.getMute()?0:this.player.getVolume()/100,i=t.handshakeVersion("2.0");if(parseFloat(i)<1)throw new Error("Invalid vpaid version in handshake");var r=this.genListeners(t);Object.keys(r).forEach(function(e){t.subscribe(r[e],e,t)}),this.listeners=r;var n={AdParameters:this.adParams},a=this.playerContainer.querySelector(".jw-media"),s=this.instream.getMediaElement(),o=this.iframe.contentWindow.document.createElement("div");o.className="jw-vpaid-wrapper",o.style.height="100%",this.iframe.contentWindow.document.body.appendChild(o);var d={videoSlot:s,slot:o};t.initAd(a.clientWidth,a.clientHeight,"normal",1e3,n,d),t.setAdVolume(e)},t.prototype.play=function(){this.vpaidAd.resumeAd()},t.prototype.pause=function(){this.vpaidAd.pauseAd()},t.prototype.stop=function(){if(this.vpaidAd)try{this.vpaidAd.stopAd()}catch(t){console.log("Unhandled exception from VPAID2 Creative stopAd",t)}},t.prototype.setVolume=function(t){this.vpaidAd.setAdVolume(t/100)},t.prototype.resize=function(t,e){if(this.vpaidAd&&this.vpaidAd.resizeAd){var i=this.player.getFullscreen()||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?"fullscreen":"normal";this.vpaidAd.resizeAd(t||this.player.getWidth(),e||this.player.getHeight(),i)}},t.prototype.destroy=function(){if(R(this.toRemove),this.removeEvents(),this.vpaidAd)try{var t=this.listeners,e=this.vpaidAd;Object.keys(t).forEach(function(i){e.unsubscribe(t[i],i,e)}),e.unsubscribe(this.setMuteCallback,"AdVolumeChange",e)}catch(t){console.log("Unhandled exception from VPAID2 Creative",t)}this.player=null,this.instream=null},t.prototype.removeEvents=function(){this.player&&this.player.off(null,null,this),this.off()},t.prototype.attachMedia=function(){},t.prototype.detachMedia=function(){},t.prototype.volume=function(){},t.prototype.mute=function(){},t.prototype.getState=function(){return this.vpaidState.linear?this.paused?l:h:"idle"},t}();function R(t){for(;t.length>0;){var e=t.pop();e.parentNode&&e.parentNode.removeChild(e)}}var V={},M=[];var L=function(){function t(e,i,r,n){var a=this;C(this,t);var s=e||{};this.map=s,this.debugTrackFn=i,this.trackerPlayerUtils=(o=r,{getPosition:function(){return o.getPosition()},getFile:function(){return o.getPlaylistItem().file}});var o;this.trackingFilter=n,this.lastQuartile=0,this.progressEvents=[],this.breakStarted=!1,this.started=!1,this.firedError=!1,this.hasComp=!1,V._.map(s,function(t,e){if(s.hasOwnProperty(e)&&0===e.indexOf("progress")){var i=""+e.split("_")[1],r={key:e,offset:i,tracked:!1,percentage:!1};/^\d+%$/.test(i)?(r.percentage=!0,r.offset=parseFloat(i)):r.offset=V.utils.seconds(i),a.progressEvents.push(r)}}),this.setFactories()}return t.prototype.getUrls=function(t){return this.map.hasOwnProperty(t)?this.map[t]:[]},t.prototype.addUrl=function(t,e){this.map.hasOwnProperty(t)?this.map[t].push(e):(this.map[t]=[],this.map[t].push(e))},t.prototype.trackPings=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.getUrls(t),r=this.trackingFilter,n=[],a=[],s=[];if(i.length){e=this.replaceMacros(e),i.forEach(function(t){if(t){if(V._.each(e,function(e,i){t=t.replace(i,e)}),r&&!1===r(t))return void a.push(t);var i=new Image;i.src=t,n.push(t),s.push(i)}}),Array.prototype.push.apply(M,s);for(var o=M.length;o--&&(M[o].width||M[o].complete);)M.length=o}"function"==typeof this.debugTrackFn&&this.debugTrackFn({type:"ping",data:{pingType:t,urls:n,filteredUrls:a,images:s}})},t.prototype.replaceMacros=function(t){return t["[TIMESTAMP]"]=encodeURIComponent(function(){var t=new Date,e=t.getTime(),i=t.getTimezoneOffset()/60,r=6e4*t.getTimezoneOffset();return new Date(e-r).toISOString().slice(0,-1)+(i>0?"-":"+")+("0"+i).slice(-2)}()),t["[CACHEBUSTING]"]=Math.random().toString().slice(2,10),t["[ASSETURI]"]=encodeURIComponent(this.trackerPlayerUtils.getFile()),t["[CONTENTPLAYHEAD]"]=encodeURIComponent(function(t){var e=("0"+Math.floor(t/3600)).slice(-2),i=("0"+Math.floor((t-3600*e)/60)).slice(-2);return e+":"+i+":"+("0"+Math.floor(t-3600*e-60*i)).slice(-2)+"."+(t%1).toFixed(3).toString().slice(2,5)}(this.trackerPlayerUtils.getPosition())),t},t.prototype.start=function(){this.started=!0,this.trackPings("start")},t.prototype.breakStart=function(){this.breakStarted=!0,this.trackPings("breakStart")},t.prototype.time=function(t,e){if(!(e<=1)){for(var i=(4*t+.05)/e|0;i>this.lastQuartile&&this.lastQuartile<3;)this.lastQuartile++,1===this.lastQuartile?this.trackPings("firstQuartile"):2===this.lastQuartile?this.trackPings("midpoint"):3===this.lastQuartile&&this.trackPings("thirdQuartile");this.trackProgress(t,e)}},t.prototype.trackProgress=function(t,e){for(var i=this.progressEvents.length;i--;){var r=this.progressEvents[i];if(!r.tracked){var n=r.offset;r.percentage&&(n=e*n/100),t>=n&&(r.tracked=!0,this.trackPings(r.key))}}},t.prototype.error=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:900;this.firedError=!0;var e={};e[r]=t,this.trackPings("error",e)},t.prototype.factory=function(t){var e=this;return function(){e.trackPings(t)}},t.prototype.setFactories=function(){this.creativeView=this.factory("creativeView"),this.click=this.factory("click"),this.skip=this.factory("skip"),this.complete=this.factory("complete"),this.pause=this.factory("pause"),this.resume=this.factory("resume"),this.mute=this.factory("mute"),this.unmute=this.factory("unmute"),this.fullscreen=this.factory("fullscreen"),this.expand=this.factory("expand"),this.collapse=this.factory("collapse"),this.acceptInvitation=this.factory("acceptInvitation"),this.close=this.factory("close"),this.rewind=this.factory("rewind"),this.impression=this.factory("impression"),this.breakEnd=this.factory("breakEnd")},t}();function O(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:900,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:60900,r={};return r.message=t,r.code=e,r.adErrorCode=i,r}function H(t,e){t.wrappedTags&&(e.wrapperAdSystem=t.wrapper||"",e.tag=t.wrappedTags.pop(),e.wrappedTags=t.wrappedTags),e.adsystem=t.adsystem||""}function B(e,i,r){var n=e.vmap?e.vmap:e.adschedule||e.adbreak;if(n&&r[n.breakid]){var a=r[n.breakid],s=a.bid.getEventObject(t,a.bidders,{});e.mediationLayerAdServer=s.mediationLayerAdServer,e.bidders=s.bidders,s.floorPriceCents&&(e.floorPriceCents=s.floorPriceCents)}return e}function j(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:e,client:t,adposition:null!==r?r:function(t){if(t.isBeforePlay()||0===t.getPosition())return"pre";if(t.isBeforeComplete()||t.getPosition()===t.getDuration())return"post";return"mid"}(i),viewable:i.getViewable()}}var F=function(){function e(t,i,r,n,a,s){C(this,e),this.player=i,this.staticPlayer=r,this.companion=n,this.optionalParams=a,this.debugTrackFn=s,this.scheduledAd=t.scheduledAd(),this.vastBuffet=t.adBuffet(),this.vastAdPod=t.adPod(),this.vastAd=this.vastBuffet.length?this.vastBuffet[0]:null,this.adType=null,this.vpaidPlayer=null,this.instreamPlayer=null,this.blockingInstreamPlayer=null,this.mediaType=null,this.adPodItems=null,this.creativeTimeout=null,this.vastOptions=null,this.duration=0,this.position=0,this.adPodIndex=0,this.initialIndex=0,S(this,i.Events)}return e.prototype.init=function(t){this.init=function(){throw new Error("Adplayer can only be initialized once")},this.blockingInstreamPlayer=t;return!!this.prepareAdPod()&&(this.player.on("fullscreen",this.playerFullscreenHandler,this),this.player.on("volume",this.playerVolumeHandler,this),this.player.on("mute",this.muteHandler,this),this.player.on("resize",this.playerResizeHandler,this),this.playAd())},e.prototype.prepareAdPod=function(){var t=this,e=null,i=0,r=[];if(this.vastAd&&(Q(this.vastAd,this.debugTrackFn,this.player,this.optionalParams.trackingFilter),(e=this.prepareAdPodItem(this.vastAd))&&"vpaid"===e.adType&&!N(this.vastAd)&&(e=null)),this.vastAdPod)for(var n=null,a=0;an[s.file].width)&&(s=t),e.width>=a.width&&(!o||e.width=0?this.optionalParams.skipoffset:null;return{skipoffset:t.skipoffset||this.scheduledAd.skipoffset||e,skipMessage:this.optionalParams.skipMessage,skipText:this.optionalParams.skipText}},e.prototype.getVastAd=function(t){if(this.adPodItems){var e=void 0;if((e=this.adPodItems.length?this.adPodItems[t]:this.adPodItems).vastAd)return e.vastAd}else if(this.vastAdPod&&this.vastAdPod.length)return this.vastAdPod[t];return this.vastAd},e.prototype.adError=function(t,e,i){clearTimeout(this.creativeTimeout);var r=this.getVastAd(this.adPodIndex),n=O(t,e,i=i||(e?1e4+e:null));if(q(r,n),D(r,n),this.vastAdPod&&this.adPodIndexthis.adPodIndex&&(this.vpaidPlayer&&(this.vpaidPlayer.destroy(),this.vpaidPlayer=null),this.adPodIndex++,this.playAd())},e.prototype.playVpaid=function(t){var e=this;clearTimeout(this.creativeTimeout),this.creativeTimeout=setTimeout(function(){e.creativeAdError("VPAID tag communication timeout",900,50004)},this.scheduledAd.creativeTimeout),this.vastAd=t;var i=N(t),r=this.optionalParams.conditionaladoptout&&t.conditionalAd;if(this.vastAd.selectedMedia=i,this.mediaType=i.type,"flash"===U(i))return this.creativeAdError("Flash creatives are not supported",403,10403),!1;var n={adParams:this.vastAd.adParams,vpaidControls:this.optionalParams.vpaidcontrols,adOptOut:r};return this.vpaidPlayer=new x(this.player,this.blockingInstreamPlayer,i.file,this.scheduledAd._currentTag,n),this.blockingInstreamPlayer&&this.blockingInstreamPlayer.applyProviderListeners(this.vpaidPlayer),this.vpaidPlayer.on("play",this.playHandler,this),this.vpaidPlayer.on("pause",this.pauseHandler,this),this.vpaidPlayer.on("quartile",this.quartileHandler,this),this.vpaidPlayer.on("remainingTimeChange",this.remainingTimeHandler,this),this.vpaidPlayer.on("click",this.clickVpaidHandler,this),this.vpaidPlayer.on("error",this.playbackErrorHandler,this),this.vpaidPlayer.on("impression",this.impressionHandler,this),this.vpaidPlayer.on("expandedChange",this.vpaidExpandedHandler,this),this.vpaidPlayer.on("close",this.adCloseHandler,this),this.vpaidPlayer.on("skipped",this.vpaidAdSkipped,this),this.vpaidPlayer.on("stopped",this.endOfVpaidAdHandler,this),this.vpaidPlayer.on("complete",this.adCompleteHandler,this),this.vpaidPlayer.on("started",this.adStartedHandler,this),this.setupSkipButton(),!0},e.prototype.setupSkipButton=function(){var t=this.optionalParams.skipoffset;t>=0&&this.blockingInstreamPlayer&&(this.blockingInstreamPlayer.off(k,this.skipVpaidAd,this),this.blockingInstreamPlayer.setupSkipButton(t,this.optionalParams,V.utils.noop),this.blockingInstreamPlayer.on(k,this.skipVpaidAd,this))},e.prototype.playInstream=function(t,e){var i=this,r=this.player.getEnvironment().OS;return r.android&&2===r.version.major&&3===r.version.minor?(this.adError("Android 2.3 not supported",900),!1):(clearTimeout(this.creativeTimeout),this.creativeTimeout=setTimeout(function(){i.creativeAdError("VAST tag communication timeout",900,60004)},this.scheduledAd.creativeTimeout),this.blockingInstreamPlayer?this.instreamPlayer=this.blockingInstreamPlayer:this.instreamPlayer=this.player.createInstream().init(),this.instreamPlayer.on("play",this.playHandler,this),this.instreamPlayer.on("pause",this.pauseHandler,this),this.instreamPlayer.on("time",this.timeHandler,this),this.instreamPlayer.on("playlistItem",this.playlistItemHandler,this),this.instreamPlayer.on("complete",this.adCompleteHandler,this),this.instreamPlayer.on("playlistComplete",this.endOfAdBreakHandler,this),this.instreamPlayer.on("mute",this.muteHandler,this),this.instreamPlayer.on("instreamClick",this.clickInstreamHandler,this),this.instreamPlayer.on("adSkipped",this.adSkipped,this),this.instreamPlayer.on("error",this.playbackErrorHandler,this),this.instreamPlayer.on("mediaError",this.playbackErrorHandler,this),this.instreamPlayer.on("destroyed",function(){i.instreamPlayer=null},this),this.instreamPlayer.loadItem(t,e),this.clearBlocking(),!0)},e.prototype.playerFullscreenHandler=function(t){var e=this.getVastAd(this.adPodIndex).tracker;t.fullscreen&&e.started&&e.fullscreen()},e.prototype.playerResizeHandler=function(t){this.vpaidPlayer&&this.vpaidPlayer.resize(t.width,t.height)},e.prototype.playerVolumeHandler=function(t){this.vpaidPlayer&&this.vpaidPlayer.setVolume(t.volume)},e.prototype.playlistItemHandler=function(t){this.instreamPlayer&&(this.adPodIndex=t.index+this.initialIndex)},e.prototype.impressionHandler=function(t){var e=this.getVastAd(this.adPodIndex),i=e.tracker;i.impression();var r={};r.adposition=this.scheduledAd._position||"",r.adtitle=e.adTitle||"",H(e,r),r.vastversion=e.vastversion,r.clickThroughUrl=e.clickthrough,r.duration=e.duration||0,r.mediafile={file:e.selectedMedia.file},r.linear=t.linear||i.linear,this.addConditionalAdData(r),q(e,r),D(e,r),this.triggerEvent(y,r)},e.prototype.playHandler=function(t){clearTimeout(this.creativeTimeout);var e=this.getVastAd(this.adPodIndex),i=e.tracker,r=void 0;if(i.started)t.oldstate===l&&(i.resume(),this.dispatchPlay(t));else{this.vpaidPlayer&&(i.linear=t.linear),this.instreamPlayer&&this.impressionHandler({linear:i.linear});var n=S({linear:i.linear},this.getInstreamOptions(e));n.adMessage=this.optionalParams.dynamicMessage||"",n.clickThroughUrl=e.clickthrough,n.sequence&&(n.podMessage=this.optionalParams.podMessage||""),e.adTitle&&(n.adtitle=e.adTitle),e.companions&&(n.companions=e.companions),D(e,n),this.triggerEvent("adMeta",n),e.companions&&((r={}).companions=(d=e.companions,V._.map(d,function(t){var e="iframe"===t.type||"html"===t.type?t.type:"static",i=void 0;return t.trackers&&t.trackers.creativeView&&t.trackers.creativeView.length&&(i=t.trackers.creativeView),{width:t.width,height:t.height,type:e,resource:t.source,creativeview:i,click:t.clickthrough}})),r.universalAdIdRegistry=e.companionUniversalAdIdRegistry,r.universalAdIdValue=e.companionUniversalAdIdValue,this.triggerEvent("adCompanions",r));var a=this.companion,s=void 0;V.utils.flashVersion()>9?s=e.companions:(o=e.companions,s=V._.filter(o,function(t){return t.type.indexOf("flash")<0})),this.optionalParams.companion&&s&&s.length&&(i.hasComp=a.addCompanion(this.optionalParams.companion,s)),i.start(),i.creativeView(),this.dispatchPlay(t)}var o,d},e.prototype.dispatchPlay=function(t){if("static"!==this.adType&&("vpaid"!==this.adType||"linear"===t.linear)){var e=t.oldstate,i=t.newstate,r={};r.oldstate=e,r.newstate=i,this.triggerEvent("adPlay",r),this.vpaidPlayer&&this.vpaidPlayer.trigger("state",r)}},e.prototype.pauseHandler=function(t){this.getVastAd(this.adPodIndex).tracker.pause();var e=t.oldstate,i=t.newstate,r={};r.oldstate=e,r.newstate=i,this.triggerEvent("adPause",r),this.vpaidPlayer&&this.vpaidPlayer.trigger("state",{newstate:i,oldstate:e})},e.prototype.remainingTimeHandler=function(t){t.duration?this.duration=t.duration:this.duration=Math.max(1,this.duration,t.remainingTime);var e=t.remainingTime>=0?this.duration-t.remainingTime:0;this.timeHandler({position:e,duration:this.duration,isDurationChange:t.isDurationChange})},e.prototype.quartileHandler=function(t){if(t.duration)this.duration=t.duration;else{var e=4*t.remainingTime/(4-t.quartile);this.duration=Math.max(this.duration,1,e)}this.timeHandler({position:this.duration*t.quartile*.25,duration:this.duration})},e.prototype.timeHandler=function(t){var e=this.getVastAd(this.adPodIndex),i=t.position,r=t.duration,n=r-i,a=e.tracker,s=this.optionalParams.dynamicMessage||"",o=this.optionalParams.podMessage||"";if(s&&n>0){if(s=s.replace(/xx/gi,""+Math.ceil(n)),this.adPodItems&&this.adPodItems.length>1&&o){var d=this.adPodIndex+1;s=(o=(o=o.replace(/__AD_POD_CURRENT__/g,""+d)).replace(/__AD_POD_LENGTH__/g,""+this.adPodItems.length))+" "+s}this.instreamPlayer?this.instreamPlayer.setText(s):this.vpaidPlayer&&this.vpaidPlayer.instream&&this.vpaidPlayer.instream.setText(s)}if(!t.isDurationChange){a&&a.time(i,r);var l={};l.position=this.position=i,l.duration=r,this.triggerEvent("adTime",l)}},e.prototype.combinedCompleteHandler=function(){this.adCompleteHandler(),this.endOfAdBreakHandler()},e.prototype.adCompleteHandler=function(){var t=this.getVastAd(this.adPodIndex).tracker;t.firedError||(t.complete(),this.triggerEvent(v))},e.prototype.adCloseHandler=function(){var t=this.getVastAd(this.adPodIndex).tracker;t.firedError||t.close()},e.prototype.adStartedHandler=function(){this.triggerEvent("adStarted")},e.prototype.endOfVpaidAdHandler=function(){if(this.adPodItems&&this.adPodItems.length-1>this.adPodIndex)return this.vpaidPlayer&&(this.vpaidPlayer.destroy(),this.vpaidPlayer=null),this.adPodIndex++,void this.playAd();this.endOfAdBreakHandler()},e.prototype.endOfAdBreakHandler=function(){this.removePlayerListeners(),this.trigger(v)},e.prototype.muteHandler=function(t){var e=this.getVastAd(this.adPodIndex).tracker;e&&(t.mute?(e.mute(),this.vpaidPlayer&&this.vpaidPlayer.setVolume(0)):(e.unmute(),this.vpaidPlayer&&this.vpaidPlayer.setVolume(this.player.getVolume()/100)))},e.prototype.clickStaticHandler=function(){var t=this.getVastAd(this.adPodIndex);this.player.pause(!0),this.clickThrough(t)},e.prototype.clickVpaidHandler=function(t){var e=this.getVastAd(this.adPodIndex),i=!0;t&&t.url&&(!1===t.playerHandles&&(i=!1),e.clickthrough=t.url),this.clickThrough(e,i)},e.prototype.clickInstreamHandler=function(){this.instreamPlayer.getState()!==l&&this.clickThrough(this.getVastAd(this.adPodIndex))},e.prototype.clickThrough=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t.tracker.click();var i={};t.clickthrough&&(i.clickThroughUrl=t.clickthrough),this.triggerEvent("adClick",i),window.jwcast&&window.jwcast.player.id||t.clickthrough&&e&&window.open(t.clickthrough)},e.prototype.skipVpaidAd=function(){this.endOfVpaidAdHandler(),this.vpaidAdSkipped()},e.prototype.vpaidAdSkipped=function(){this.adSkipped(),this.endOfVpaidAdHandler()},e.prototype.adSkipped=function(){var t=this.getVastAd(this.adPodIndex);t.tracker.skip();var e=this.optionalParams.skipoffset;this.triggerEvent(k,{duration:t.duration,skipoffset:e,position:this.position,watchedPastSkipPoint:this.position-e})},e.prototype.playbackErrorHandler=function(t){var e=t.message||"Error Playing Ad Tag",i=t.code;(!i||i<=4)&&(i=400),this.vpaidPlayer&&"function"==typeof this.vpaidPlayer.off?(this.vpaidPlayer.off(),this.creativeAdError(e,i,t.adErrorCode)):this.adError(e,i,t.adErrorCode)},e.prototype.staticErrorHandler=function(){this.adError("Unable to fetch NonLinear resource",502)},e.prototype.vpaidExpandedHandler=function(t){var e=this.getVastAd(this.adPodIndex).tracker;t.expanded?e.expand():e.collapse()},e.prototype.triggerEvent=function(t,e){var i=this.adEventObject(t);e&&S(i,e),-1!==_.indexOf(t)?this.trigger(t,i):this.player.trigger(t,i)},e.prototype.addConditionalAdData=function(t){this.vastAd&&(t.conditionalAd=this.vastAd.conditionalAd),this.vastAdPod&&this.vastAdPod.length&&(t.conditionalAd=this.vastAdPod[this.adPodIndex].conditionalAd),t.conditionalAdOptOut=this.optionalParams.conditionaladoptout},e}();function q(t,e){"boolean"==typeof t.mediaFileCompliance&&(e.mediaFileCompliance=t.mediaFileCompliance,t.nonComplianceReasons&&(e.nonComplianceReasons=t.nonComplianceReasons))}function D(t,e){e.request=t.request,e.response=t.response}function U(t){return"application/javascript"===(e=t).type||"application/x-javascript"===e.type?"html5":"flash";var e}function N(t){for(var e=void 0,i=0;ie)return null;this.sort(i);for(var r=this.midRolls.length;r--;){var n=this.midRolls[r],a=G(this.midRolls[r]._offSet,i);if(t>=a)return null;if(e>=a){var s=$(n,this.requestTimeout,this.creativeTimeout);if(!this.adRules.timeBetweenAdsAllowsAdPlayback(s))return null;if(!this.adRules.timeBetweenAds){if(this.playedMidRolls.indexOf(r)>=0)return null;this.playedMidRolls.push(r)}return r}}return null},t.prototype.getNextMidrollIndex=function(t,e,i){if(this.adRules.timeBetweenAds||this.adRules.startOnSeek)return this.getLastMidRollIndexBetweenTime(t,e,i);if(this.midRolls.length>this.playedMidRolls.length){var r=this.getClosestIndex(e,i);if(r>=0&&this.playedMidRolls.indexOf(r)<0)return this.playedMidRolls.push(r),r}return null},t.prototype.getMidRolls=function(){var t=this;return this.midRolls.map(function(e){return $(e,t.requestTimeout,t.creativeTimeout)})},t.prototype.reset=function(){this.playedMidRolls=[],this.duration=0},t.prototype.addMidRoll=function(t){this.midRolls.push(t),this.duration=0},t.prototype.setPostRoll=function(t){this.postRoll=t},t.prototype.sort=function(t,e){(!t||t<1)&&(t=1),(this.duration!==t||e)&&(this.duration=t,this.midRolls.sort(function(e,i){return G(e._offSet,t)-G(i._offSet,t)}),function(t,e){for(var i=0;i=G(this.midRolls[i]._offSet,e))return i;return-1},t}();function $(t,e,i){var r=void 0;if(V.utils.foreach(t,function(t,e){(r=r||{})[t]="_adQueue"===t?e.slice():e}),r)return r.requestTimeout=e,r.creativeTimeout=i,r}function G(t,e){return"%"===t.toString().slice(-1)?e*parseFloat(t.slice(0,-1))/100:parseFloat(t)}var J=function(){function t(){C(this,t)}return t.prototype.getSchedule=function(t,e){var i=new z(e);if(i.requestTimeout=Y(t.requestTimeout,a),i.creativeTimeout=Y(t.creativeTimeout,s),t.tag)i.setPreRoll({_offSet:"pre",_adQueue:K(t.tag),_waterfallIndex:0});else if("string"==typeof t.vastxml)i.setPreRoll({_offSet:"pre",_adXML:t.vastxml});else{if("string"==typeof t.schedule)return i.setVMAP(t.schedule),i;if("string"==typeof t.adschedule)return i.setVMAP(t.adschedule),i;!function(t,e){var i=e.schedule||e.adschedule;if(!i)return;Object.keys(i).forEach(function(r){var n=i[r];n.ad&&(S(n,n.ad),delete n.ad);var o=function(t){if("start"===t||"0%"===t||!t)return"pre";if("end"===t||"100%"===t)return"post";if("pre"===t||"post"===t||V._.indexOf(t,"%")>-1)return t;var e=V.utils.seconds(t);if("number"==typeof e)return e;return!1}(n.offset),d=Y(n.requestTimeout,a),l=Y(n.creativeTimeout,s),h={_offSet:o,_type:n.type,_breakId:r,requestTimeout:d,creativeTimeout:l};!1===o&&V.utils.log("Error: ad offset format not supported",o);var u=n.skipoffset||e.skipoffset;void 0!==u&&(h.skipoffset=u);var p=n.adbreakid;p&&(h.adbreakid=p);var c=n.adtagid;if(c&&(h._adTagQueue=K(c)),n.tag){var f=function(t,e){if(!e)return t;var i=t.indexOf("?")>=0?"&":"?",r=t.indexOf("cust_params="),n="cust_params=".length,a="",s="";if(V.utils.foreach(e,function(t,e){a=""+a+s+t+"="+e,s="&"}),a=encodeURIComponent(a),r>=0){var o=t.substr(0,r+n),d=t.substr(r+n);return""+o+a+"%26"+d}return""+t+i+"cust_params="+a}(n.tag,n.custParams);h._adQueue=K(f),h._waterfallIndex=0}else{if("string"!=typeof n.vastxml)return void V.utils.log("Error: no ad tag provided");h._adXML=n.vastxml}switch(o){case"pre":t.setPreRoll(h);break;case"post":t.setPostRoll(h);break;default:t.addMidRoll(h)}})}(i,t)}return i.sort(),i},t.prototype.getOptParams=function(t){var e={cuetext:t.cuetext||"Advertisement",dynamicMessage:t.admessage||"This ad will end in xx",podMessage:t.podmessage||"Ad __AD_POD_CURRENT__ of __AD_POD_LENGTH__. ",skipoffset:t.skipoffset||-1,skipMessage:t.skipmessage||"Skip ad in xx",skipText:t.skiptext||"Skip",vpaidcontrols:t.vpaidcontrols||!1,conditionaladoptout:t.conditionaladoptout||!1,requestFilter:t.requestFilter,trackingFilter:t.trackingFilter},i=t.companiondiv;return i&&(e.companion={id:i.id,height:i.height,width:i.width}),e},t.prototype.getAdRules=function(t){var e=t.rules||{};return{startOn:e.startOn||1,frequency:void 0!==e.frequency?e.frequency:1,timeBetweenAds:e.timeBetweenAds||0,startOnSeek:e.startOnSeek||null}},t}();function K(t){return"string"==typeof t?[t]:Array.isArray(t)?t.slice(0):t}function Y(t,e){return 0===t?1/0:t||e}var Z=document.createElement("img"),tt=document.createElement("img");Z.src=tt.src='data:image/svg+xml;charset=UTF-8,',Z.className="jw-vast-nonlinear-open-button",tt.className="jw-vast-nonlinear-close-button";var et={cursor:"pointer",position:"absolute",margin:"auto",left:0,right:0,bottom:0,display:"block"},it={"-webkit-transition":"opacity 0.2s",transition:"opacity 0.2s"};function rt(t,e){V.utils.style(t,{opacity:e||1})}function nt(t){V.utils.style(t,{opacity:0})}function at(){rt(tt)}function st(){rt(tt,.75)}function ot(){rt(Z)}function dt(){rt(Z,.5)}var lt=function(){function t(e,i,r,n,a){C(this,t),this.player=e,this.environment=e.getEnvironment(),this.div=n,this.staticURL=i,this.clickURL=r,this.loadTimer=-1,this.animationTimer=-1,this.banner=null,S(this,e.Events),this.banner=document.createElement("img"),this.banner.className="jw-banner",this.banner.id=this.player.id+"_vast_static",nt([tt,Z]),this.remove(Z),this.div.appendChild(this.banner),this.div.appendChild(tt),this.loadTimer=setTimeout(this.imageLoadError.bind(this),a),this.banner.onerror=this.imageLoadError.bind(this),this.banner.onload=this.onLoaded.bind(this),this.banner.src=this.staticURL}return t.prototype.onLoaded=function(){clearTimeout(this.loadTimer),0!==this.banner.naturalWidth?(this.removeBannerEventListeners(),V.utils.style(tt,{top:-this.banner.height-8,bottom:this.banner.height-8,left:this.banner.width},!0),V.utils.style(Z,{top:-16},!0),rt([this.div,this.banner]),rt(tt,.75),new V.utils.UI(this.banner).on("click tap",this.sendClick.bind(this)),this.environment.OS.mobile&&(this.div.onmouseover=at,this.div.onmouseout=st),tt.onclick=tt.ontouchstart=this.collapse.bind(this),Z.onclick=Z.ontouchstart=this.expand.bind(this),this.trigger(w)):this.imageLoadError()},t.prototype.imageLoadError=function(){clearTimeout(this.loadTimer),this.trigger(T),this.removeBanner()},t.prototype.sendClick=function(){this.trigger(P)},t.prototype.collapse=function(t){var e=this;-1===this.animationTimer&&(t.preventDefault(),this.div.onmouseover=this.div.onmouseout=null,nt([this.banner,tt,Z]),this.div.appendChild(Z),this.animationTimer=setTimeout(function(){e.remove(e.banner),e.remove(tt),rt(Z,.5),e.div.onmouseover=ot,e.div.onmouseout=dt,e.animationTimer=-1},250))},t.prototype.expand=function(t){var e=this;-1===this.animationTimer&&(t.preventDefault(),this.div.onmouseover=this.div.onmouseout=null,this.div.appendChild(this.banner),this.div.appendChild(tt),this.animationTimer=setTimeout(function(){rt([e.banner,tt]),e.div.onmouseover=at,e.div.onmouseout=st,e.animationTimer=-1},50),nt(Z))},t.prototype.remove=function(t){this.div.contains(t)&&this.div.removeChild(t)},t.prototype.removeBannerEventListeners=function(){this.banner.onload=this.banner.onerror=null},t.prototype.removeBanner=function(){this.removeBannerEventListeners(),this.remove(this.banner)},t.prototype.removeListeners=function(){clearTimeout(this.loadTimer),clearTimeout(this.animationTimer),this.div.onmouseover=this.div.onmouseout=tt.onclick=Z.onclick=null,this.off(),this.removeBannerEventListeners()},t.prototype.stop=function(){nt([this.div,this.banner,tt,Z]),setTimeout(this.removeBanner.bind(this),400),this.remove(tt),this.remove(Z)},t}(),ht=function(){function t(e,i){C(this,t),this.player=e,this.div=i,this.startTime=0,this.minDur=0,this.environment=e.getEnvironment(),S(this,e.Events),this.type="static",e.on("time",this.dispatchTime,this)}return t.prototype.playAd=function(t,e,i,r,n){this.minDur=V.utils.seconds(i),this.adTag=r,this.static&&(this.static.removeListeners(),this.static.stop()),this.div.style.opacity=0,this.div.style.visibility="visible";var a=this.environment.Browser.firefox?{}:it;V.utils.style(this.div,V.utils.extend({top:"",position:"absolute",width:"100%"},a)),V.utils.style([tt,Z],S({width:"18px",height:"18px",opacity:.75},et,a)),V.utils.style(tt,{transform:"rotate(45deg)"}),this.static=new lt(this.player,t,e,this.div,n),this.static.on(w,this.startAd,this),this.static.on(P,this.clickHandler,this),this.static.on(T,this.errorHandler,this)},t.prototype.dispatchTime=function(t){this.trigger(i,t)},t.prototype.startAd=function(){this.startTime=this.player.getPosition(),this.minDur>0&&(0===this.startTime?this.on(i,this.startTimingAd,this):this.on(i,this.timeAd,this)),this.sendEvent(w)},t.prototype.startTimingAd=function(t){this.startTime=t.position,this.off(i,this.startTimingAd,this),this.on(i,this.timeAd,this)},t.prototype.timeAd=function(t){t.position-this.startTime>this.minDur&&(this.off(i,this.timeAd,this),this.stop())},t.prototype.clickHandler=function(){this.sendEvent(P)},t.prototype.errorHandler=function(){this.sendEvent(T)},t.prototype.sendEvent=function(t,e){(e=e||{}).tag=e.tag||this.adTag,this.trigger(t,e)},t.prototype.removeEvents=function(){this.off()},t.prototype.getState=function(){return h},t.prototype.stop=function(){this.startTime&&this.static&&(this.startTime=0,this.minDur=0,this.off(i,this.startTimingAd,this),this.off(i,this.timeAd,this),this.static.removeListeners(),this.static.stop(),this.sendEvent(b))},t.prototype.pause=function(){},t}();function ut(t,e,i){var r=O(e,1002,11002);r.id=i,t.push(r)}function pt(){var t=new Error("No AdBreaks in VMAP");throw t.adErrorCode=60005,t}var ct=function(){function t(e){C(this,t),this._parsedAds=[],this._error=null,this._version=null,e&&this.parse(e)}return t.prototype.parsedAds=function(){return this._parsedAds},t.prototype.error=function(){return this._error},t.prototype.version=function(){return this._version},t.prototype.parse=function(t,e){var i=this,n=void 0,a=void 0;"VAST"===t.nodeName?n=t:(n=ft(t,"VAST")[0])||(n=ft(t,"VideoAdServingTemplate")[0]),n||this.throwError(101,"Invalid VAST response"),a="VideoAdServingTemplate"===n.tagName?1:parseFloat(vt(n,"version")||0),this._version=a;var s=ft(n,"Ad"),o=V._.map(s,function(r){var n=i.parseAd(a,r);return n.vastversion=a,n.response=t,n.request=e||null,n});this._parsedAds=o,this._parsedAds.length||function(t){var e=ft(t,"Error");V._.each(e,function(t){var e=yt(t).replace(r,303),i=new Image;i.src=e})}(n)},t.prototype.parseAd=function(t,e,i){i=i||{};var r=ft(e,"InLine")[0],n=ft(e,"Wrapper")[0],a=r||n,s=a?yt(ft(a,"AdTitle")[0]):"",o=void 0;return i.sequence=vt(e,"sequence"),i.adTitle=s,(!t||t>4||t<2)&&this.throwError(102,"Vast version not supported"),4===t&&(i.conditionalAd=!!vt(e,"conditionalAd")),a?(t>=2?(kt(a,"Impression",(o=function(t){var e=ft(ft(t,"Creatives")[0],"Creative"),i={},r={trackers:i};r.adsystem=yt(ft(t,"AdSystem")[0]);var n=ft(t,"Category");return r.categories=V._.map(n,function(t){return yt(t)}),V._.each(e,function(t){var e=ft(t,"Linear")[0],n=ft(t,"NonLinear")[0],a=ft(ft(t,"TrackingEvents")[0],"Tracking"),s=ft(t,"UniversalAdId")[0],o=vt(s,"idRegistry")||"unknown",d=vt(s,"idValue")||"unknown";e||n?(V._.each(a,function(t){gt(i,t)}),r.universalAdIdRegistry=o,r.universalAdIdValue=d):(r.companionUniversalAdIdRegistry=o,r.companionUniversalAdIdValue=d);var l=yt(ft(t,"AdParameters")[0]);if(l&&(r.adParams=l),e){var h=ft(e,"VideoClicks")[0],u=yt(ft(h,"ClickThrough")[0]),p=ft(h,"ClickTracking"),c=vt(e,"skipoffset"),f=yt(ft(e,"Duration")[0]);V._.each(p,function(t){At(i,"click",yt(t))}),f&&(r.duration=V.utils.seconds(f)),u&&(r.clickthrough=u),c&&(r.skipoffset=c),Pt(e,r)}else if(n){var m=yt(ft(n,"NonLinearClickThrough")[0]);m&&(r.clickthrough=m),function(t,e){var i=[],r=ft(t,"StaticResource")[0];r&&(i.push({type:vt(r,"creativeType"),file:yt(r),adType:vt(ft(t,"NonLinear")[0],"apiFramework")||"static",minDuration:vt(ft(t,"NonLinear")[0],"minSuggestedDuration")||"00:00:00"}),e.media=i)}(t,r)}else!function(t,e){var i=ft(ft(t,"CompanionAds")[0],"Companion"),r=e.companions?e.companions:[];V._.each(i,function(t){var e=ft(t,"StaticResource")[0],i=ft(t,"IFrameResource")[0],n=ft(t,"HTMLResource")[0],a={},s=void 0,o=void 0;if(e)s=vt(e,"creativeType"),o=yt(e);else if(i)s="iframe",o=yt(i);else{if(!n)return;s="html",o=yt(n)}var d=ft(ft(t,"TrackingEvents")[0],"Tracking");V._.each(d,function(t){var e=vt(t,"event");At(a,e,yt(t))});var l=yt(ft(t,"CompanionClickThrough")[0]);r.push({width:parseInt(vt(t,"width"),10),height:parseInt(vt(t,"height"),10),type:s,source:o,trackers:a,clickthrough:l})}),e.companions=r}(t,r)}),r}(a)).trackers),kt(a,"Error",o.trackers)):o=function(t){var e=ft(t,"Video")[0]||t,i=ft(t,"NonLinear")[0],r={},n={trackers:r};if(e){var a=ft(ft(t,"TrackingEvents")[0],"Tracking");V._.each(a,function(t){gt(r,t)});var s=ft(ft(t,"Impression")[0],"URL");V._.each(s,function(t){At(r,"impression",yt(t))});var o=ft(ft(t,"Error")[0],"URL");V._.each(o,function(t){At(r,"error",yt(t))});var d=ft(e,"VideoClicks")[0],l=yt(ft(d,"ClickThrough")[0]),h=ft(ft(d,"ClickTracking")[0],"URL");V._.each(h,function(t){At(r,"click",yt(t))}),l&&(n.clickthrough=l),Pt(e,n);var u=ft(e,"AdParameters")[0];if(u){var p=vt(u,"apiFramework");"vpaid"===p.toLowerCase()&&(V._.each(n.media,function(t){t.adType=p}),n.adParams=yt(u))}}if(i){var c=n.media||[],f=ft(i,"URL")[0];c.push({type:vt(i,"creativeType"),file:yt(f),adType:vt(i,"apiFramework")}),n.media=c}var m=ft(t,"CompanionAds")[0];return m=ft(m,"Companion"),n.companions=(n.companions||[]).concat(V._.map(m,function(t){return{width:parseInt(vt(t,"width"),10),height:parseInt(vt(t,"height"),10),type:vt(t,"resourceType"),resource:yt(ft(t,"URL")[0]),trackers:[],clickthrough:""}})),n}(a),function(t){var e={};V._.each(t.media,function(t){var i=t.type,r="application/x-mpegURL"===i||"vnd.apple.mpegURL"===i;"vpaid"===t.adType.toLowerCase()||r||(e[i]=e[i]||0,e[i]++)}),t.mediaFileCompliance=!0,V._.each(e,function(e,i){e<3&&(t.mediaFileCompliance=!1,t.nonComplianceReasons=t.nonComplianceReasons||[],t.nonComplianceReasons.push(i+" has only "+e+" qualities"))})}(o),n&&(o.wrappedURI=yt(ft(n,"VASTAdTagURI")[0])||yt(ft(n,"VASTAdTagURL")[0])),o=function(t,e){var i=S({},t);return V.utils.foreach(e,function(t,r){V.utils.exists(i[t])?Array.isArray(r)?i[t]=i[t].concat(r):"object"===V.utils.typeOf(r)?i[t]=S(i[t],e[t]):i[t]=r:i[t]=r}),i}(i,o)):2===t?this.throwError(900,"Invalid VAST response",60001):this.throwError(101,"Invalid VAST response",10101),o},t.prototype.throwError=function(t,e,i){var r=this,n=O(e,t,i=i||1e4+t);throw n.toString=function(){return r.code+" "+r.message},this._error=n,this._error},t}();function ft(t,e,i){var r=[];return t&&(r=t.getElementsByTagName(e),i&&r&&0===r.length&&(r=t.getElementsByTagName(i+":"+e))),r}function mt(t,e,i,r){var n=[];return t||e?n=e.getElementsByTagNameNS?e.getElementsByTagNameNS(t,i):e.getElementsByTagName(r+":"+i):n}function vt(t,e){return t?t.getAttribute(e):null}function gt(t,e){var i=vt(e,"event");if("progress"===i){i=i+"_"+vt(e,"offset")}At(t,i,yt(e))}function yt(t){if(t){var e=t.textContent||t.text;if(e)return V.utils.trim(e)}return""}function At(t,e,i){t[e]||(t[e]=[]),i&&t[e].push(i)}function kt(t,e,i){var r=ft(t,e);V._.each(r,function(t){At(i,e.toLowerCase(),yt(t))})}function Pt(t,e){var i=ft(ft(t,"MediaFiles")[0],"MediaFile"),r=e.media?e.media:[];e.media=r.concat(V._.map(i,function(t){return{type:vt(t,"type"),file:yt(t),adType:vt(t,"apiFramework")||"",width:parseInt(vt(t,"width"),10)||0,height:parseInt(vt(t,"height"),10)||0}}).filter(function(t){return t.file}))}var wt=function(){function t(e,i,r,n){C(this,t),this._scheduledAd=e,this.player=i,this.options=r||{},this.debugTrackFn=n,S(this,i.Events),this._history=[],this.loadedAds=[],this.parser=null,this.xmlhttp=null,this.errorSent=!1}return t.prototype.load=function(t){this._history.push(t),this.errorSent=!1,this.xmlhttp=this.getXhrRequest(t)},t.prototype.getXhrRequest=function(t){var e=this,i=this.options.requestFilter;return V.utils.ajax({url:t,oncomplete:function(i){e.ajaxComplete(i,t)},onerror:function(i){e.player&&e.ajaxError(i,t)},withCredentials:!0,retryWithoutCredentials:!0,requireValidXML:!0,timeout:this._scheduledAd.requestTimeout,requestFilter:i})},t.prototype.destroy=function(){(t=this.xmlhttp)&&(t.onload=null,t.onreadystatechange=null,t.onerror=null,t.abort&&t.abort());var t;this.player=null},t.prototype.scheduledAd=function(){return this._scheduledAd},t.prototype.allAds=function(){return this.loadedAds},t.prototype.adPod=function(){var t=[];return this.loadedAds.forEach(function(e){e.sequence&&t.push(e)}),t.sort(function(t,e){return t.sequence-e.sequence}),t},t.prototype.adBuffet=function(){var t=[];return this.loadedAds.forEach(function(e){e.sequence||t.push(e)}),t},t.prototype.history=function(){return this._history},t.prototype.parseXmlString=function(t,e){this.ajaxComplete({responseXML:Tt(t)},e)},t.prototype.ajaxComplete=function(e,i){var r=this;this.parser=this.parser||new ct;try{var n=e.responseXML;!n&&e.responseText&&(n=Tt(e.responseText)),this.parser.parse(n,e)}catch(t){var a=t.code||900,s=t.adErrorCode||1e4+a;return void this.sendErrorEvent(t.message,a,s,i)}var o=this.parser.parsedAds();if(o&&o.length)this.loadedAds=o,this.options.wrapper=this.options.wrapper||[],this.options.adsystem&&this.options.wrapper.push(this.options.adsystem),this.options.adsystem=this.loadedAds[0].adsystem,o.forEach(function(e){if(e.wrappedURI){r.options.wrappedTags=r.options.wrappedTags||[r._scheduledAd._currentTag],r.options.wrappedTags.push(e.wrappedURI);var i=new t(r._scheduledAd,r.player,r.options,r.debugTrackFn);i.on(u,function(){r.replaceWrappedAd(e,i.allAds())}),i.on(p,function(t){r.sendAdpodErrorEvent(t.message,t.code,t.adErrorCode,t.url),r.destroyWrappedAd(e,i)}),i.load(e.wrappedURI)}else r.options.wrapper.length>1&&(e.wrapper=r.options.wrapper,e.wrappedTags=r.options.wrappedTags)}),this.checkComplete();else{var d=2===this.parser.version(),l=d?900:101,h=d?60001:10101;this.sendErrorEvent("Ad Tag Empty",l,h,i)}},t.prototype.destroyWrappedAd=function(t,e){var i=this.loadedAds.indexOf(t);this.loadedAds.splice(i,1),e.destroy(),this.checkComplete()},t.prototype.replaceWrappedAd=function(t,e){var i=function(t,e){var i=[];return V.utils.foreach(e,function(e,r){t.companions&&(r.companions=(r.companions?r.companions:[]).concat(t.companions)),t.trackers&&(r.trackers=(n=r.trackers,a=t.trackers,n=n||{},V.utils.foreach(a,function(t,e){n[t]?n[t]=n[t].concat(e):n[t]=e}),n));var n,a;t.sequence&&(r.sequence=t.sequence),i.push(r)}),i}(t,e),r=this.loadedAds.indexOf(t);Array.prototype.splice.apply(this.loadedAds,[r,1].concat(i)),this.checkComplete()},t.prototype.checkComplete=function(){var t=!1;V.utils.foreach(this.loadedAds,function(e,i){i.wrappedURI&&(t=!0)}),t||this.validateVast()},t.prototype.validateVast=function(){var t=this.loadedAds.slice(0),e=t.length;t.forEach(function(e){e.media&&e.media.length||t.length--});var i=0===e,r=t.length!==e;i||r?this.sendErrorEvent("Ad Tag Empty",101,10101,this._history[this._history.length-1]):this.trigger(u,{vloader:this})},t.prototype.ajaxError=function(t,e){if(this.player.getAdBlock())this.sendErrorEvent("Ad playback blocked by an ad blocker",900,60003,e);else if("Invalid XML"===t)this.sendErrorEvent(t,100,10100,e);else if("Error loading file"===t){var i=this.options.wrappedTags&&this.options.wrappedTags.length,r=i?303:900,n=i?10303:60006;this.sendErrorEvent(t,r,n,e)}else this.sendErrorEvent("VAST could not be loaded",301,10301,e)},t.prototype.firstUrl=function(){return this._history&&this._history.length?this._history[0]:""},t.prototype.sendAdpodErrorEvent=function(t,e,i,r){if(1!==this.loadedAds.length){var n=O(t,e,i);n.vloader=this,n.url=this.firstUrl()||r,this.wrappedTags=r,this.trigger("adPodError",n)}else this.sendErrorEvent(t,e,i,r)},t.prototype.sendErrorEvent=function(t,e,i,r){if(!this.errorSent){this.errorSent=!0;var n=O(t,e,i);n.vloader=this,n.url=this.firstUrl()||r,this.options.wrappedTags&&(n.wrapperAdSystem=this.options.wrapper||"",n.wrappedTags=this.options.wrappedTags),n.adsystem=this.options.adsystem||"",this.trackError(n),this.trigger(p,n)}},t.prototype.trackError=function(t){var e=t.vloader.allAds();if(e&&e.length){var i=e[0];if(i){var r=i.trackers;if(r&&r.error){new L(r,this.debugTrackFn,this.player,this.options.trackingFilter).error(t.code)}}}},t}();function Tt(t){if(e=t,"object"==typeof Node?e instanceof Node:e&&"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName)return t;var e;return V.utils.parseXML(t)}var bt=Date.now||function(){return(new Date).getTime()},_t=function(){function e(t,i){C(this,e),this.player=t,this.options=i,this.ignoreStartOnSeek=!1,this.reset(),i.timeBetweenAds&&t.on({adBreakStart:this.handleAdBreakStart,adSkipped:this.handleAdSkipped,adComplete:this.handleAdComplete,adBreakEnd:this.handleAdBreakEnd,destroyPlugin:this.destroy},this)}return e.prototype.clearStartOnSeek=function(){this.ignoreStartOnSeek=!0},e.prototype.sendAdBreakIgnored=function(e,i){if(e){this.player.trigger(m,(n=i,{id:(r=e)._breakId,tag:r._adQueue&&r._adQueue.length>0?r._adQueue[0]:r._adXML,client:t,offset:r._offSet,timeSinceLastAd:n,type:m}));var r,n}},e.prototype.rulesAllowAdPlayback=function(t){var e=this.options,i=0===e.frequency&&1===t,r=t>=e.startOn&&(t-e.startOn)%e.frequency==0;return i||r},e.prototype.handleAdBreakStart=function(){this.adSkipped=!1,this.adComplete=!1},e.prototype.handleAdComplete=function(){this.adComplete=!0},e.prototype.handleAdSkipped=function(){this.adSkipped=!0},e.prototype.handleAdBreakEnd=function(){!this.adSkipped&&this.adComplete&&(this.recentCompletedAdTime=bt())},e.prototype.timeBetweenAdsAllowsAdPlayback=function(t){if(this.options.timeBetweenAds){var e=(bt()-this.recentCompletedAdTime)/1e3;if(e1e3&&(u=u.substring(0,1e3)),t=Vt(t,l,encodeURIComponent(u))}else t=Vt(t,l,"")}return t=function(t){It.test(t)||St.test(t)?t+="&sdk3p=jwplayer":xt.test(t)&&(t+=";sdk3p=jwplayer");return t}(t)}function Vt(t,e,i){return t.replace(e,i)}var Mt,Lt=2e3,Ot=2e3,Ht="usd",Bt=1,jt="//c.amazon-adsystem.com/aax2/apstag.js",Ft="video",qt="2962993",Dt="//js-sec.indexww.com/htv/htv-jwplayer.min.js",Ut="//js.spotx.tv/directsdk/v1/",Nt="//search.spotxchange.com/ad/vast.html?key=",Qt="dfp",Wt="jwp",Xt="jwpspotx",zt="jwpdfp",$t=Wt,Gt="APS",Jt="Index",Kt="SpotX",Yt=(Mt={},Mt[[Qt]]=[Gt,"FAN",Jt,Kt],Mt[[Wt]]=["FAN",Kt],Mt[[zt]]=[Kt],Mt[[Xt]]=[Kt],Mt),Zt="bid",te="error",ee="invalid",ie="noBid",re=Date.now||function(){return(new Date).getTime()};function ne(t,e){return new Promise(function(i,r){setTimeout(r,e);var n=document.createElement("script");n.onload=n.onreadystatechange=function(t){this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState||(i(t),n.onload=n.onreadystatechange=null,a&&n.parentNode&&a.removeChild(n))},n.onerror=r,n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=e,n.src=t;var a=document.getElementsByTagName("head")[0]||document.documentElement;a.insertBefore(n,a.firstChild)}).catch(function(){return Promise.reject("Error loading script")})}var ae=encodeURIComponent(window.location.href);var se=null;function oe(){return null===se&&(se=Promise.resolve(window.apstag).then(function(t){if(t&&t.init&&t.fetchBids)return t;return ne(["file"===document.location.protocol?"https:":"",jt].join(""),Ot).then(function(){return window.apstag})}).catch(function(t){throw se=null,t})),se}var de=null,le=null;function he(t){return null===le&&(le=Promise.resolve(de||window.SpotX).then(function(e){if(e&&e.DirectAdOS)return e;var i=["file"===document.location.protocol?"https:":"",Ut,t,".js"].join("");if("function"==typeof require)return(r=i,n=Ot,new Promise(function(t,e){setTimeout(e,n),require([r],t)}).catch(function(){return Promise.reject("Error loading script")})).then(function(t){return de=t});var r,n;return ne(i,Ot).then(function(){return window.SpotX})}).catch(function(t){throw le=null,t})),le}var ue=null;function pe(t){return null===ue&&(ue=Promise.resolve(window.indexapi).then(function(e){if(e)return e;return ne(["file"===document.location.protocol?"https:":"",t||Dt].join(""),Ot).then(function(){return window.indexapi})}).catch(function(t){throw ue=null,t})),ue}var ce,fe=(ce={},ce[[Gt]]=function(t,e){return t.id&&t.slotID?oe().then(function(i){return i.init({id:t.pubId,adServer:t.adServer}),new Promise(function(r){i.fetchBids({slots:[{slotID:t.slotID}],timeout:e.bidTimeout},r)})}).then(function(i){return i&&i[0]&&i[0].slotID===t.slotID?{result:Zt,tag:e.tag,custParams:{amznbid:i[0].amznbid,amzniid:i[0].amzniid}}:{result:ie,message:"No bids for pubID and slotID"}}).catch(function(t){return{result:te,message:"Amazon header bidding failed: "+t}}):Promise.resolve({result:ee,message:"Missing id or slotID in configuration"})},ce[["FAN"]]=function(t,e,i){var r,n,a,s=t.id,o=(r=s,n=e.playerWidth,a=e.playerHeight,["https://an.facebook.com/v2/placementbid.json?&placementids[]="+r,"&playerwidth="+n,"&playerheight="+a,"&adformats[]="+Ft,"&sdk="+qt,"&pageurl="+ae].join(""));if(d=e.mediationLayerAdServer,l=e.floorPriceCents,h=e.floorPriceCurrency||Ht,!o||!(d===Qt||l&&h===Ht))return Promise.resolve({result:ee,message:"Invalid configuration"});var d,l,h;return new Promise(function(t){var e=new XMLHttpRequest;e.onreadystatechange=function(){4===this.readyState&&(t(this),e=null)},e.open("GET",o),e.withCredentials=!0,e.send(null),i.then(function(){e&&(e.abort(),e=null)})}).then(function(t){if(200!==t.status)return{result:te,message:"Invalid response (status "+t.status+")"};var i=JSON.parse(t.responseText),r=i.errors;if(r&&r.length)return{result:te,message:r[0]};var n=i.bids;if(!n||!n[s]||!n[s][0])return{result:ie,message:"No bids for placement id"};var a=n[s][0],o=a.bid_price_cents,d=a.bid_id;if(e.mediationLayerAdServer===Qt)return{result:Zt,tag:e.tag,custParams:{jwFANBidPrice:Math.round(o/100),jwFANBidID:d}};var l={result:Zt,priceInCents:o,priceCurrency:a.bid_price_currency};o>=e.floorPriceCents&&(l.tag=(h=s,u=d,p=e.playerWidth,c=e.playerHeight,["https://an.facebook.com/v1/instream/vast.xml?placementid="+h,"&playerwidth="+p,"&playerheight="+c,"&sdk="+qt,"&bidid="+u,"&pageurl="+ae].join("")));var h,u,p,c;return l}).catch(function(t){return{result:te,message:"FAN header bidding failed: "+t}})},ce[[Jt]]=function(t,e){if(!t.id&&!t.script)return Promise.resolve({result:ee,message:"Missing id or script in configuration"});var i=S({videoCommonArgs:{protocols:[2,3,5,6],mimes:["video/mp4","video/webm","application/javascript"],apiList:[1,2]},siteID:t.id},t);return pe().then(function(t){return new Promise(function(r){t.deferQueue=t.deferQueue||[],t.deferQueue.push(function(){t.solicitIndexVideoAds(e.tag,function(t,e){r({updatedTag:t,indexTargeting:e})},i)})})}).then(function(t){var i=t.indexTargeting;return void 0!==i?{result:Zt,tag:e.tag,custParams:i}:{result:ie,message:"No bids for site id"}}).catch(function(t){return{result:te,message:"Index Exchange header bidding failed: "+t}})},ce[[Kt]]=function(t,e){if(!t.id)return Promise.resolve({result:ee,message:"Missing id in configuration"});var i=S({channel_id:t.id,slot:e.playerContainer,content_width:e.playerWidth,content_height:e.playerHeight,player_vendor:"SpotXJW",player_vendor_id:e.playerId,ad_volume:e.adVolume,autoplay:e.autoplay,start_delay:e.offset,placement:1,hide_skin:!0},t.optionalParams);return t.passFloorPrice&&e.floorPriceCents&&(i.price_floor=e.floorPriceCents/100),"pre"===e.offset?i.start_delay=0:"post"===e.offset&&(i.start_delay=-2),he(t.id).then(function(t){return new t.DirectAdOS(i).getAdServerKVPs()}).then(function(t){var i=t.spotx_ad_key,r={spotx_bid:t.spotx_bid,spotx_ad_key:i},n=100*parseFloat(t.spotx_bid);if(e.mediationLayerAdServer===Qt)return{result:Zt,priceInCents:n,custParams:r};var a=["file:"===document.location.protocol?"https:":"",Nt,i].join("");return{result:Zt,priceInCents:n,tag:a,tagKey:i,custParams:r}}).catch(function(t){return"SpotX :: Unable to find ad"===t.message?{result:ie,message:t.message}:{result:te,message:"SpotX header bidding failed: "+t}})},ce);var me=function(){function t(){var e=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=i.settings,n=void 0===r?{}:r,a=i.bidders,s=void 0===a?[]:a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};C(this,t),this.settings=function(t,e){var i=S({bidTimeout:Lt,offset:"",playerContainer:e.container,playerHeight:e.height||0,playerWidth:e.width||0,tag:""},e,t);return Yt[i.mediationLayerAdServer]||(i.mediationLayerAdServer=$t),i.mediationLayerAdServer===Xt&&(i.floorPriceCents=Bt),i}(n,o),this.bidders=(d=s,d.reduce(function(t,e){return e.name&&(t[e.name]=S(e,e.custom_params)),t},{}));var d;if("pre"!==this.settings.offset&&0!==parseInt(this.settings.offset)){var l;this.bidders=this.bidders[Kt]?(l={},l[[Kt]]=this.bidders[Kt],l):{}}this.bidders[Gt]&&this.bidders[Gt].id&&this.bidders[Gt].slotID&&oe(),this.bidders[Jt]&&(this.bidders[Jt].script||this.bidders[Jt].id)&&pe(this.bidders[Jt].script),this.bidders[Kt]&&this.bidders[Kt].id&&he(this.bidders[Kt].id),this._bidRequest=null,this._currentTimeout=null,this._onCancelTrigger=null,this.onCancel=new Promise(function(t){e._onCancelTrigger=t})}return t.prototype.start=function(){return this._bidRequest||(this._bidRequest=function(t){var e=t.config,i=t.settings,r=t.onCancel,n=Yt[i.mediationLayerAdServer].filter(function(t){return e[t]}).map(function(t){var n=re();return Promise.race([fe[t](e[t],i,r),r]).then(function(i){return S({},e[t],i,{timeForBidResponse:re()-n|0})})});return Promise.all(n).then(function(t){var e=i.mediationLayerAdServer===Qt||i.mediationLayerAdServer===zt,r=i.mediationLayerAdServer===Wt||i.mediationLayerAdServer===zt||i.mediationLayerAdServer===Xt,n={priceInCents:i.floorPriceCents,timeForBidResponse:1/0},a=[],s={},o={};return o.bidders=t.map(function(t){return e||(t.winner=!1),t.result===Zt&&(a.push(t),S(s,t.custParams),r&&(t.priceInCents>n.priceInCents||t.priceInCents===n&&t.timeForBidResponse1?t[1]:""}function Yt(t){return"pre"===t.adposition&&(void 0===t.podcount||1===t.sequence)}var Zt=Ct.call(this,m,P);Zt.catch(m.noop),this.destroy=jt})}();