{
  "nativeAdsAdapter.adapter,constructor": "this.lastPlayhead=null;",
  "nativeAdsAdapter.adapter,getVersion": "return '7.0.1-mediakind-wmc-ads-js';",
  "nativeAdsAdapter.adapter,getPlayhead": "return null;",
  "nativeAdsAdapter.adapter,getTitle": "return null;",
  "nativeAdsAdapter.adapter,getDuration": "return null;",
  "nativeAdsAdapter.adapter,getResource": "return null;",
  "nativeAdsAdapter.adapter,getRendition": "return null;",
  "nativeAdsAdapter.adapter,getBitrate": "return null;",
  "nativeAdsAdapter.adapter,getAudioEnabled": "return null;",
  "nativeAdsAdapter.adapter,getIsSkippable": "return null;",
  "nativeAdsAdapter.adapter,getIsFullscreen": "return null;",
  "nativeAdsAdapter.adapter,getIsVisible": "return null;",
  "nativeAdsAdapter.adapter,getCreativeId": "return null;",
  "nativeAdsAdapter.adapter,getPosition": "return null;",
  "nativeAdsAdapter.adapter,registerListeners,wmcManager": "this.wmcAdEventListeners=new Map();this.wmcManager=wmcManager;var wmcEvents=amc.AmcEvents;var adBreakHandler=this.adBreakListener.bind(this);var adMarkerHandler=this.adMarkerListener.bind(this);var adStartHandler=this.adStartListener.bind(this);var adQuartileHandler=this.adQuartileListener.bind(this);var adFinisheddHandler=this.adFinishedListener.bind(this);this.wmcAdEventListeners.set(wmcEvents.AMC_EVENT_AD_BREAK,adBreakHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_AD_BREAK,adBreakHandler);this.wmcAdEventListeners.set(wmcEvents.AMC_EVENT_AD_MARKER_DATA,adMarkerHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_AD_MARKER_DATA,adMarkerHandler);this.wmcAdEventListeners.set(wmcEvents.AMC_EVENT_AD_STARTED,adStartHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_AD_STARTED,adStartHandler);this.wmcAdEventListeners.set(wmcEvents.AMC_EVENT_AD_QUARTILE,adQuartileHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_AD_QUARTILE,adQuartileHandler);this.wmcAdEventListeners.set(wmcEvents.AMC_EVENT_AD_FINISHED,adFinisheddHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_AD_FINISHED,adFinisheddHandler);",
  "nativeAdsAdapter.adapter,unregisterListeners": "this.wmcAdEventListeners.forEach((handler,event)=>{this.wmcManager.removeEventListener(event,handler);});this.wmcAdEventListeners.clear();",
  "nativeAdsAdapter.adapter,adBreakListener,e": "return null;",
  "nativeAdsAdapter.adapter,adMarkerListener,e": "return null;",
  "nativeAdsAdapter.adapter,adStartListener,e": "return null;",
  "nativeAdsAdapter.adapter,adQuartileListener,e": "return null;",
  "nativeAdsAdapter.adapter,adFinishedListener,e": "return null;",
  "adapter,registerListeners": "this.inAdBreak=false;this.lastSeenBitrate=0;this.lastPlayhead=0;this.lastDuration=0;",
  "adapter,registerWmcManager,wmcManager": "this.wmcEventListeners=new Map();if(!wmcManager){return;}this.wmcManager=wmcManager;var wmcEvents=amc.AmcEvents;var checkAdsAdapterHandler=this._checkAdsAdapter.bind(this);var errorHandler=this.errorListener.bind(this);var playbackStartedHandler=this.playbackStartedListener.bind(this);var bitrateChangedHandler=this.bitrateChangedListener.bind(this);var metricsUpdateHandler=this.metricsUpdateListener.bind(this);var programChangedHandler=this.programChangedListener.bind(this);var seekCompletedHandler=this.seekCompletedListener.bind(this);var stateChangedHandler=this.stateChangedListener.bind(this);var positionChangedHandler=this.positionChangedListener.bind(this);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_AD_BREAK,checkAdsAdapterHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_AD_BREAK,checkAdsAdapterHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_BIT_RATE_CHANGED,bitrateChangedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_BIT_RATE_CHANGED,bitrateChangedHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_ERROR,errorHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_ERROR,errorHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_INIT_COMPLETE,playbackStartedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_INIT_COMPLETE,playbackStartedHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_METRICS_UPDATE,metricsUpdateHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_METRICS_UPDATE,metricsUpdateHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_PLAYER_METADATA,metricsUpdateHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA,metricsUpdateHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_PLAYOUT_METRIC_UPDATE,metricsUpdateHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_PLAYOUT_METRIC_UPDATE,metricsUpdateHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_PLAY_READY,playbackStartedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_PLAY_READY,playbackStartedHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_PROGRAM_CHANGED,programChangedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_PROGRAM_CHANGED,programChangedHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_SEEK_COMPLETE,seekCompletedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_SEEK_COMPLETE,seekCompletedHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_STATE_CHANGED,stateChangedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_STATE_CHANGED,stateChangedHandler);this.wmcEventListeners.set(wmcEvents.AMC_EVENT_VIDEO_POSITION_CHANGED,positionChangedHandler);this.wmcManager.addEventListener(wmcEvents.AMC_EVENT_VIDEO_POSITION_CHANGED,positionChangedHandler);",
  "adapter,unregisterListeners": "this.wmcEventListeners.forEach((handler,event)=>{this.wmcManager.removeEventListener(event,handler);});this.wmcEventListeners.clear();",
  "adapter,_checkAdsAdapter": "var adsAdapterInst=this.getVideo().getAdsAdapter();if(!adsAdapterInst){this.plugin.setAdsAdapter(this.getAdapterClass('nativeAdsAdapter'),this.getVideo().getVideoKey());this.getVideo().getAdsAdapter().registerListeners(this.wmcManager);}else if(adsAdapterInst&&!adsAdapterInst.player){adsAdapterInst.setPlayer(this.player);}return null;",
  "adapter,playbackStartedListener,e": "if(this.flags.isStarted)return;this.firePlayerLog('playbackStarted',{});this.lastPlayhead=0;this.fireStart({},'playbackStarted');this.failedView=false;",
  "adapter,bitrateChangedListener,e": "this.firePlayerLog('bitrateChangedListener',{});if(e.value1){this.lastSeenBitrate=e.value1;}",
  "adapter,metricsUpdateListener,e": "this.firePlayerLog('metricsUpdateListener',{});if(e.value1){if(e.value1.audio){if(e.value1.audio.codec){this.audioCodec=e.value1.audio.codec;}}if(e.value1.video){if(e.value1.video.codec){this.videoCodec=e.value1.video.codec;}if(e.value1.video.frameRate){this.fps=e.value1.video.frameRate;}if(e.value1.video.resolution){this.resolution=e.value1.video.resolution;}if(e.value1.video.droppedFrames){this.droppedFrames=e.value1.video.droppedFrames;}if(e.value1.video.latency){this.latency=e.value1.video.latency;}}}",
  "adapter,programChangedListener,e": "this.firePlayerLog('programChangedListener',{});return null;",
  "adapter,seekCompletedListener,e": "this.firePlayerLog('seekCompletedListener',{});if(this.flags.isSeeking){this.fireSeekEnd({},'seekCompletedListener');}else{this.fireSeekBegin({},false,'seekCompletedListener');this.fireSeekEnd({},'seekCompletedListener');}return null;",
  "adapter,stateChangedListener,e": "this.firePlayerLog('stateChangedListener',{});var newState=e.value1;switch(newState){case amc.AmcConstants.IMC_STATE_PLAY_NONE: break;case amc.AmcConstants.IMC_STATE_PLAY_STARTED: if(!this.inAdBreak){if(!this.flags.isStarted){this.fireStart({},'IMC_STATE_PLAY_STARTED');}if(!this.flags.isJoined){this.fireJoin({},'IMC_STATE_PLAY_STARTED');}}break;case amc.AmcConstants.IMC_STATE_PLAY_PAUSED: this.firePause({},'IMC_STATE_PLAY_PAUSED');break;case amc.AmcConstants.IMC_STATE_PLAY_RESUMED: if(this.flags.isSeeking){this.fireSeekEnd({},'IMC_STATE_PLAY_RESUMED');}else if(this.flags.isBuffering){this.fireBufferEnd({},'IMC_STATE_PLAY_RESUMED');}if(this.flags.isPaused){this.fireResume({},'IMC_STATE_PLAY_RESUMED');}break;case amc.AmcConstants.IMC_STATE_PLAY_STOPPED: if(!this.inAdBreak){this.fireStop({},'IMC_STATE_PLAY_STOPPED');}break;case amc.AmcConstants.IMC_STATE_SEEKING: if(!this.inAdBreak){this.fireSeekBegin({},false,'IMC_STATE_SEEKING');}break;case amc.AmcConstants.IMC_STATE_PLAY_COMPLETED: if(!this.inAdBreak){this.fireStop({},'IMC_STATE_PLAY_COMPLETED');}break;case amc.AmcConstants.IMC_STATE_BUFFERING_STARTED: if(!this.flags.isSeeking){this.fireBufferBegin({},false,'IMC_STATE_BUFFERING_STARTED');}break;case amc.AmcConstants.IMC_STATE_BUFFERING_STOPPED: if(this.flags.isSeeking){this.fireSeekBegin({},false,'IMC_STATE_BUFFERING_STOPPED');}else{this.fireBufferEnd({},'IMC_STATE_BUFFERING_STOPPED');}break;case amc.AmcConstants.IMC_STATE_DOWNLOAD_STARTED: break;case amc.AmcConstants.IMC_STATE_DOWNLOAD_STOPPED: break;case amc.AmcConstants.IMC_STATE_DOWNLOAD_COMPLETED: break;case amc.AmcConstants.IMC_STATE_DOWNLOAD_PAUSED: break;case amc.AmcConstants.IMC_STATE_DOWNLOAD_CANCELLED: break;case amc.AmcConstants.IMC_STATE_DOWNLOAD_PLAY_READY: break;case amc.AmcConstants.IMC_STATE_ADS_STARTED: this.inAdBreak=true;break;case amc.AmcConstants.IMC_STATE_ADS_COMPLETED: this.inAdBreak=false;break;case amc.AmcConstants.IMC_STATE_DONE: if(!this.inAdBreak){this.fireStop({},'IMC_STATE_DONE');}break;default: break;}return null;",
  "adapter,translateImcEvent,eventCode": "var imcEventMap={[amc.AmcConstants.IMC_STATE_PLAY_NONE]: 'Play None',[amc.AmcConstants.IMC_STATE_PLAY_STARTED]: 'Play Started',[amc.AmcConstants.IMC_STATE_PLAY_PAUSED]: 'Play Paused',[amc.AmcConstants.IMC_STATE_PLAY_RESUMED]: 'Play Resumed',[amc.AmcConstants.IMC_STATE_PLAY_STOPPED]: 'Play Stopped',[amc.AmcConstants.IMC_STATE_PLAY_COMPLETED]: 'Play Completed',[amc.AmcConstants.IMC_STATE_BUFFERING_STARTED]: 'Buffering Started',[amc.AmcConstants.IMC_STATE_BUFFERING_STOPPED]: 'Buffering Stopped',[amc.AmcConstants.IMC_STATE_SEEKING]: 'Seeking',[amc.AmcConstants.IMC_STATE_ADS_STARTED]: 'Ads Started',[amc.AmcConstants.IMC_STATE_ADS_COMPLETED]: 'Ads Completed',[amc.AmcConstants.IMC_STATE_DOWNLOAD_STARTED]: 'Download Started',[amc.AmcConstants.IMC_STATE_DOWNLOAD_STOPPED]: 'Download Stopped',[amc.AmcConstants.IMC_STATE_DOWNLOAD_COMPLETED]: 'Download Completed',[amc.AmcConstants.IMC_STATE_DOWNLOAD_PAUSED]: 'Download Paused',[amc.AmcConstants.IMC_STATE_DOWNLOAD_CANCELLED]: 'Download Cancelled',[amc.AmcConstants.IMC_STATE_DOWNLOAD_PLAY_READY]: 'Download Play Ready',[amc.AmcConstants.IMC_STATE_DONE]: 'Done'};return imcEventMap[eventCode]||'Unknown IMC Event';",
  "adapter,positionChangedListener,e": "this.firePlayerLog('positionChangedListener',{});if(e.value1){this.lastPlayhead=e.value1;}else if(e.videoPosition){this.lastPlayhead=e.videoPosition;}if(e.videoDuration){this.lastDuration=e.videoDuration;}if(this.getPlayhead()>0.2&&(this.getIsLive()||this.getPlayhead()+1<this.getDuration())){if(!this.flags.isStarted){this.fireStart({},'positionChangedListener');this.failedView=false;}if(!this.flags.isJoined){this.fireJoin({},'positionChangedListener');}}if(!this.player.doIsPaused()&&this.flags.isSeeking){this.fireSeekEnd({},'positionChangedListener');}return null;",
  "adapter,errorListener,e": "if(this.failedView)return;this.firePlayerLog('errorListener',{});if(!this.flags.isStarted)this.failedView=true;if(e.code){this.fireError(e.code,e.message,undefined,undefined,'errorListener');}else{this.fireError(e,'Error',undefined,undefined,'errorListener');}this.fireStop(this.getStopParams());return null;",
  "adapter,getVersion": "return '7.0.1-mediakind-wmc-js';",
  "adapter,getPlayhead": "var ret=this.player ? this.player.getCurrentTime(): this.lastPlayhead;return ret;",
  "adapter,_getPlayhead": "return this.getPlayhead();",
  "adapter,getPlayrate": "return this.player ? this.player.getPlaybackRate(): null;",
  "adapter,getStopParams": "var params={};if(this.getVideo().getPlayhead()>0){params={playhead: this.getVideo().getPlayhead()};}return params;",
  "adapter,getDroppedFrames": "if(this.player&&this.player.doGetPlayer){return this.player.doGetPlayer().getDroppedVideoFrames();}return null;",
  "adapter,getDuration": "var ret=this.player ? this.player.doGetVideoDuration()?? this.lastDuration : this.lastDuration;return ret;",
  "adapter,getBitrate": "if(this.lastSeenBitrate)return this.lastSeenBitrate;var ret=null;if(this.player){var videodata=this.player.doGetPlayer().getPlaybackVideoData();var videoquality=this.player.doGetPlayer().getVideoQuality();if(videoquality&&videoquality.bitrate){ret=videoquality.bitrate;}else if(videodata&&videodata.bitrate){ret=videodata.bitrate;}}return ret;",
  "adapter,getRendition": "var ret=null;var bitrate=this.getBitrate();var resolution=this.getResolution();if(bitrate&&resolution){var [width,height]=resolution.split('x').map(Number);ret=this.getNpawUtils().buildRenditionString(width,height,bitrate);}else{if(this.player){var videodata=this.player.doGetPlayer().getPlaybackVideoData();var videoquality=this.player.doGetPlayer().getVideoQuality();var streamType=this.player.doGetPlayer().getStreamType();if(videoquality&&videoquality.bitrate){ret=this.getNpawUtils().buildRenditionString(videoquality.width,videoquality.height,videoquality.bitrate);}else if(videodata&&videodata.bitrate){ret=this.getNpawUtils().buildRenditionString(videodata.width,videodata.height,videodata.bitrate);}else if(streamType==='progressive'){if(videoquality){ret=this.getNpawUtils().buildRenditionString(videoquality.width,videodata.height);}else if(videodata){ret=this.getNpawUtils().buildRenditionString(videodata.width,videodata.height);}}}}return ret;",
  "adapter,getIsLive": "return this.player ? this.player.isLive(): null;",
  "adapter,getPlayerVersion": "if(this.wmcManager){return this.wmcManager.getAmcVersion();}return null;",
  "adapter,getPlayerName": "return 'MediaKind';",
  "adapter,getFramesPerSecond": "if(this.fps)return this.fps;var ret=null;if(this.player){var videodata=this.player.doGetPlayer().getPlaybackVideoData();var videoquality=this.player.doGetPlayer().getVideoQuality();if(videoquality&&videoquality.frameRate){ret=videoquality.frameRate;}else if(videodata&&videodata.frameRate){ret=videodata.frameRate;}}return ret;",
  "adapter,getThroughput": "return null;",
  "adapter,getVideoCodec": "if(this.videoCodec)return this.videoCodec;var ret=null;if(this.player){var videodata=this.player.doGetPlayer().getPlaybackVideoData();var videoquality=this.player.doGetPlayer().getVideoQuality();if(videoquality&&videoquality.codec){ret=videoquality.codec;}else if(videodata&&videodata.codec){ret=videodata.codec;}}return ret;",
  "adapter,getAudioCodec": "if(this.audioCodec)return this.audioCodec;return null;",
  "adapter,getTotalBytes": "return null;",
  "adapter,getResource": "if(this.player&&this.player.doGetPlayer){return this.player.manifestUrl||this.player.doGetPlayer().getSource();}return null;",
  "adapter,getResolution": "if(this.resolution)return this.resolution;return null;",
  "adapter,getProgram": "var ret=null;if(wmcMgr.doGetProgramInfo){ret=wmcMgr.doGetProgramInfo().name;}return ret;"
}