1"use strict";!function(e){window.WaveSurfer={defaultParams:{height:128,waveColor:"#999",waveColor2:"#999",progressColor:"#555",progressColor2:"#555",cursorColor:"#333",cursorColor2:"#333",hoverOpacity:50,cursorWidth:2,waveMode:0,gapWidth:1,minPxPerSec:20,pixelRatio:window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI,normalize:!1,reflection:!1,compression:1,asymmetry:2,audioContext:null,container:null,backend:"WebAudio",mediaType:"audio"},init:function(a){if(this.params=e.extend({},this.defaultParams,a),this.container="string"==typeof a.container?document.querySelector(this.params.container):this.params.container,!this.container)throw new Error("Container element not found");this.tmpEvents=[],this.createDrawer(),this.createBackend()},createDrawer:function(){var a=this;this.drawer=e.extend({},WaveSurfer.Drawer),this.drawer.init(this.container,this.params),this.drawer.on("redraw",function(){a.drawBuffer(),a.drawer.progress(a.backend.getPlayedPercents())})},createBackend:function(){var a=this;this.backend&&this.backend.destroy(),this.backend=e.extend({},WaveSurfer.WebAudio),this.backend.init(this.params),this.backend.on("finish",function(){a.fireEvent("finish")}),this.backend.on("play",function(){a.fireEvent("play")}),this.backend.on("pause",function(){a.fireEvent("pause")}),this.backend.on("audioprocess",function(e){a.drawer.progress(a.backend.getPlayedPercents()),a.fireEvent("audioprocess",e)})},updateDrawer:function(){this.drawer.updateSize()},getDuration:function(){return this.backend.getDuration()},drawBuffer:function(){var e=(Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),this.drawer.getWidth()),a=this.backend.getPeaks(e);this.drawer.drawPeaks(a,e),this.fireEvent("redraw",a,e)},loadArrayBuffer:function(e){this.decodeArrayBuffer(e,function(e){this.loadDecodedBuffer(e)}.bind(this))},loadDecodedBuffer:function(e){this.backend.load(e),this.drawBuffer(),this.fireEvent("ready")},load:function(e){return this.loadBuffer(e)},loadBuffer:function(e){return this.empty(),this.getArrayBuffer(e,this.loadArrayBuffer.bind(this))},decodeArrayBuffer:function(e,a){this.backend.decodeArrayBuffer(e,this.fireEvent.bind(this,"decoded"),this.fireEvent.bind(this,"error","Error decoding audiobuffer")),this.tmpEvents.push(this.once("decoded",a))},getArrayBuffer:function(e,a){var t=this,r=this.ajax({url:e,responseType:"arraybuffer"});return this.tmpEvents.push(r.on("progress",function(e){t.onProgress(e)}),r.on("success",a),r.on("error",function(e){t.fireEvent("error","XHR error: "+e.target.statusText)})),r},onProgress:function(e){if(e.lengthComputable)var a=e.loaded/e.total;else a=e.loaded/(e.loaded+1e6);this.fireEvent("loading",Math.round(100*a),e.target)},clearTmpEvents:function(){this.tmpEvents.forEach(function(e){e.un()})},ajax:function(a){var t=e.extend({},WaveSurfer.Observer),r=new XMLHttpRequest,s=!1;return r.open(a.method||"GET",a.url,!0),r.responseType=a.responseType||"json",r.addEventListener("progress",function(e){t.fireEvent("progress",e),e.lengthComputable&&e.loaded==e.total&&(s=!0)}),r.addEventListener("load",function(e){s||t.fireEvent("progress",e),t.fireEvent("load",e),200==r.status||206==r.status?t.fireEvent("success",r.response,e):t.fireEvent("error",e)}),r.addEventListener("error",function(e){t.fireEvent("error",e)}),r.send(),t.xhr=r,t},empty:function(){this.backend.disconnectSource(),this.clearTmpEvents(),this.drawer.clearWave()},destroy:function(){this.fireEvent("destroy"),this.clearTmpEvents(),this.unAll(),this.backend.destroy(),this.drawer.destroy()}},WaveSurfer.create=function(a){var t=e.extend({},WaveSurfer);return t.init(a),t},WaveSurfer.Observer={on:function(e,a){this.handlers||(this.handlers={});var t=this.handlers[e];return t||(t=this.handlers[e]=[]),t.push(a),{name:e,callback:a,un:this.un.bind(this,e,a)}},un:function(e,a){if(this.handlers){var t=this.handlers[e];if(t)if(a)for(var r=t.length-1;r>=0;r--)t[r]==a&&t.splice(r,1);else t.length=0}},unAll:function(){this.handlers=null},once:function(e,a){var t=this,r=function(){a.apply(this,arguments),setTimeout(function(){t.un(e,r)},0)};return this.on(e,r)},fireEvent:function(e){if(this.handlers){var a=this.handlers[e],t=Array.prototype.slice.call(arguments,1
1);a&&a.forEach(function(e){e.apply(null,t)})}}},e.extend(WaveSurfer,WaveSurfer.Observer),WaveSurfer.Drawer={init:function(e,a){this.container=e,this.params=a,this.progress=0,this.position=-1,this.playing=!1,this.lastPos=0,this.createWrapper(),this.createElements(),this.centerLine=this.container.clientHeight/(1+1/this.params.asymmetry)},createWrapper:function(){this.wrapper=this.container,this.setupWrapperEvents()},handleEvent:function(e){e.preventDefault();var a=this.wrapper.getBoundingClientRect();return(e.clientX-a.left+this.wrapper.scrollLeft)/this.wrapper.scrollWidth||0},setupWrapperEvents:function(){var e=this;this.wrapper.addEventListener("click",function(a){var t=e.wrapper.height-e.wrapper.clientHeight;if(0!=t){var r=e.wrapper.getBoundingClientRect();if(a.clientY>=r.bottom-t)return}a.isCommentArea=a.offsetY>e.centerLine,e.fireEvent("click",a,e.handleEvent(a))}),this.wrapper.addEventListener("mousemove",function(a){a.isCommentArea=a.offsetY>e.centerLine,e.fireEvent("mousemove",a)}),this.wrapper.addEventListener("mouseover",function(a){a.isCommentArea=a.offsetY>e.centerLine,e.fireEvent("mouseover",a)}),this.wrapper.addEventListener("mouseout",function(a){a.isCommentArea=a.offsetY>e.centerLine,e.fireEvent("mouseout",a)}),this.wrapper.addEventListener("scroll",function(a){e.fireEvent("scroll",a)})},drawPeaks:function(e,a){this.resetScroll(),this.setWidth(a),this.params.waveMode?this.drawBars(e):this.drawWave(e)},style:function(e,a){return Object.keys(a).forEach(function(t){e.style[t]!==a[t]&&(e.style[t]=a[t])}),e},resetScroll:function(){null!==this.wrapper&&(this.wrapper.scrollLeft=0)},getWidth:function(){return Math.round(this.width*this.params.pixelRatio)},setWidth:function(e){e!=this.width&&(this.width=e,this.updateSize())},setHeight:function(e){e!=this.height&&(this.height=e,this.style(this.wrapper,{height:~~(this.height/this.params.pixelRatio)+"px"}),this.updateSize())},destroy:function(){this.unAll(),this.wrapper&&(this.container.removeChild(this.canvas),this.wrapper=null)},createElements:function(){this.canvas=this.wrapper.appendChild(this.style(document.createElement("canvas"),{height:"100%",width:"100%"})),this.centerLine=this.canvas.height/(1+1/this.params.asymmetry),this.canvasCc=this.canvas.getContext("2d");var e=document.createElement("canvas");this.waveCc=e.getContext("2d");var a=document.createElement("canvas");this.progressCc=a.getContext("2d");var t=document.createElement("canvas");this.positionCc=t.getContext("2d")},updateSize:function(){this.height=this.params.height*this.params.pixelRatio,this.canvasCc.canvas.width=this.waveCc.canvas.width=this.progressCc.canvas.width=this.positionCc.canvas.width=this.width,this.canvasCc.canvas.height=this.waveCc.canvas.height=this.progressCc.canvas.height=this.positionCc.canvas.height=this.height,this.centerLine=this.container.clientHeight/(1+1/this.params.asymmetry)},clearWave:function(){this.progress=0,this.position=-1,this.canvasCc.clearRect(0,0,this.width,this.height),this.waveCc.clearRect(0,0,this.width,this.height),this.progressCc.clearRect(0,0,this.width,this.height),this.positionCc.clearRect(0,0,this.width,this.height)},drawBars:function(e){if(this.peaks=e,void 0===e)return!1;var a=this.width,t=this.params.height*this.params.pixelRatio,r=~~(e.length/2),s=this.params.waveMode*this.params.pixelRatio,i=this.params.gapWidth*this.params.pixelRatio,n=this.params.pixelRatio,o=s+i,l=this.params.asymmetry,c=this.params.compression,d=a/r,p=1;if(this.params.normalize){var u,h;h=Math.max.apply(Math,e),u=Math.min.apply(Math,e),p=h,-u>p&&(p=-u)}var v=[];v.push({cc:this.waveCc,color1:this.params.waveColor,color2:this.params.waveColor2,alpha:1}),v.push({cc:this.progressCc,color1:this.params.progressColor,color2:this.params.progressColor2,alpha:1}),v.push({cc:this.positionCc,color1:this.params.progressColor,color2:this.params.progressColor2,alpha:this.params.hoverOpacity/100}),v.forEach(function(t){var r=t.cc,i=t.cc.canvas.height/(1+1/this.params.asymmetry);if(r){var u=this.waveCc.createLinearGradient(0,0,0,i);u.addColorStop(0,t.color1),u.addColorStop(1,void 0!==t.color2?t.color2:t.color1),r.fillStyle=u,r.globalAlpha=t.alpha;for(var h=0;h<a;h+=o){var v=e[Math.floor(2*h/d)];v=Math.pow(Math.abs(v),1/c);var f=i*v/p;f=Math.max(this.params.pixelRatio,Math.abs(f)),r.fillRect(h,i-f-n/2,s,f),r.save(),r.fillStyle=t.color1,r.fillRect(h,i+n/2,s,1*f/l),r.restore(
1)}}},this),this.waveCc.canvas.width&&this.canvasCc.drawImage(this.waveCc.canvas,0,0),this.fireEvent("waveComplete")},drawWave:function(e,a){if(void 0===e)return!1;this.peaks=e;var t=this.width,r=this.params.height*this.params.pixelRatio,s=~~(e.length/2),i=(this.params.pixelRatio,this.params.asymmetry),n=this.params.compression,o=t/s,l=1;if(this.params.normalize){var c,d;d=Math.max.apply(Math,e),c=Math.min.apply(Math,e),l=d,-c>l&&(l=-c)}var p=[];p.push({cc:this.waveCc,color1:this.params.waveColor,color2:this.params.waveColor2,alpha:1}),p.push({cc:this.progressCc,color1:this.params.progressColor,color2:this.params.progressColor2,alpha:1}),p.push({cc:this.positionCc,color1:this.params.progressColor,color2:this.params.progressColor2,alpha:this.params.hoverOpacity/100}),p.forEach(function(a){if(a.cc.canvas.height){var t=a.cc,r=a.cc.canvas.height/(1+1/this.params.asymmetry);if(t){var c=a.cc.createLinearGradient(0,0,0,r);if(c.addColorStop(0,a.color1),c.addColorStop(1,void 0!==a.color2?a.color2:a.color1),t.fillStyle=c,t.globalAlpha=a.alpha,this.params.reflection){t.beginPath(),t.moveTo(0,r);for(var d=0;d<s;d++){var p=e[2*d];p=Math.pow(Math.abs(p),1/n);var u=p/l*r;t.lineTo(d*o,r-u)}t.lineTo(a.cc.canvas.width,r),t.closePath(),t.fill(),t.fillStyle=a.color1,t.beginPath(),t.moveTo(a.cc.canvas.width,r);for(var d=s-1;d>=0;d--){var p=e[2*d];p=Math.pow(Math.abs(p),1/n);var u=p/l*r;t.lineTo(d*o,r+1*u/i)}t.lineTo(0,r),t.closePath(),t.fill()}else{t.beginPath(),t.moveTo(0,r);for(var d=0;d<s;d++){var p=e[2*d];p=Math.pow(Math.abs(p),1/n);var u=p/l*r;t.lineTo(d*o,r-u)}t.closePath(),t.fill(),t.fillStyle=a.color1,t.beginPath(),t.moveTo(a.cc.canvas.width,r);for(var d=s-1;d>=0;d--){var p=e[2*d+1];p=Math.pow(Math.abs(p),1/n);var u=p/l*r;t.lineTo(d*o,r+1*u/i)}t.closePath(),t.fill()}}}},this),this.waveCc.canvas.width&&this.canvasCc.drawImage(this.waveCc.canvas,0,0),this.fireEvent("waveComplete")},updateProgress:function(e){this.progress=e;var a=Math.round(this.width*this.progress),t=Math.round(this.width*this.position);this.redrawContexts(a,t)},updatePosition:function(e){var a=Math.round(this.width*this.progress);this.position=e;var t=Math.round(this.width*e);this.redrawContexts(a,t)},redrawContexts:function(e,a){var t=this,r=function(e,a,r,i){s.save(),s.beginPath(),s.rect(e,0,a,t.height),s.clip(),t.progressCc.canvas.width&&s.drawImage(t.progressCc.canvas,0,0),s.restore(),s.save(),s.beginPath(),s.rect(r,0,i,t.height),s.clip(),t.positionCc.canvas.width&&s.drawImage(t.positionCc.canvas,0,0),s.restore()},s=this.canvasCc;s.clearRect(0,0,this.width,this.height),this.waveCc.canvas.width&&s.drawImage(this.waveCc.canvas,0,0),a<0?r(0,e,0,0):e>a?r(0,a,a,e-a):r(0,e,e,a-e),this.drawCursor(e)},drawCursor:function(e){if(this.playing){var a=(this.params.height,this.params.pixelRatio,this.params.asymmetry,this.params.cursorWidth*this.params.pixelRatio),t=this.canvasCc,r=this.waveCc.createLinearGradient(0,0,0,this.height);r.addColorStop(0,this.params.cursorColor),r.addColorStop(1,void 0!==this.params.cursorColor2?this.params.cursorColor2:this.params.cursorColor),t.fillStyle=r,t.fillRect(e-a/2,0,a,this.height)}},colorLuminance:function(e,a){e=String(e).replace(/[^0-9a-f]/gi,""),e.length<6&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),a=a||0;var t,r,s="#";for(r=0;r<3;r++)t=parseInt(e.substr(2*r,2),16),t=Math.round(Math.min(Math.max(0,t+t*a),255)).toString(16),s+=("00"+t).substr(t.length);return s}},e.extend(WaveSurfer.Drawer,WaveSurfer.Observer),WaveSurfer.WebAudio={scriptBufferSize:256,supportsWebAudio:function(){return!(!window.AudioContext&&!window.webkitAudioContext)},getAudioContext:function(){if(!document.wvplAudioContext){var e=window.AudioContext||window.webkitAudioContext;try{document.wvplAudioContext=new e}catch(e){console.log(e)}}return document.wvplAudioContext},getOfflineAudioContext:function(e){return this.offlineAudioContext||(this.offlineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,e)),this.offlineAudioContext},init:function(e){this.params=e,this.ac=e.audioContext||this.getAudioContext(),this.ac&&(this.lastPlay=this.ac.currentTime,this.startPosition=0,this.scheduledPause=null,this.createScriptNode(),this.createAnalyserNode())},createScriptNode:function(){this.ac.createScriptProcessor?this.scriptNode=this.ac.createScriptProcessor(this.scriptBufferSize):this.scriptNode=this.ac.createJavaScriptNode(this.scriptBufferSize),this.scriptNode.connect(this.ac.destination)},createAnalyserNode:function(){this.analyser=this.ac.createAnalyser()},decodeArrayBuffer:function(e,a,t){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac?this.ac.sampleRate:44100)),this.offlineAc.decodeAudioData(e,function(e){a(e)}.bind(this),t)},getPeaks:function(e){for(var a=this.buffer.length/e,t=~~(a/10)||1,r=this.buffer.numberOfChannels,s=[],i=[],n=0;n<r;n++)for(var o=s[n]=[],l=this.buffer.getChannelData(n),c=0;c<e;c++){for(var d=~~(c*a),p=~~(d+a),u=l[0],h=l[0],v=d;v<p;v+=t){var f=l[v];f>h&&(h=f),f<u&&(u=f)}o[2*c]=h,o[2*c+1]=u,(0==n||h>
1i[2*c])&&(i[2*c]=h),(0==n||u<i[2*c+1])&&(i[2*c+1]=u)}return this.params.splitChannels?s:i},disconnectSource:function(){this.source&&this.source.disconnect()},destroy:function(){this.isPaused()||this.pause(),this.unAll(),this.buffer=null,this.disconnectFilters(),this.disconnectSource(),this.gainNode.disconnect(),this.scriptNode.disconnect(),this.analyser.disconnect()},load:function(e){this.startPosition=0,this.lastPlay=this.ac.currentTime,this.buffer=e,this.createSource()},createSource:function(){this.disconnectSource(),this.source=this.ac.createBufferSource(),this.source.buffer=this.buffer,this.source.connect(this.analyser)},getDuration:function(){return this.buffer?this.buffer.duration:0}},e.extend(WaveSurfer.WebAudio,WaveSurfer.Observer)}(jQuery),jQuery(window).load(function(){var e=jQuery;window.WavePlayer={},window.WavePlayer.audio=new Audio,window.WavePlayer.audio.preload="none",window.WavePlayer.playlists=[];var a=function(a){var t=e(a),r=this;this.audio=window.WavePlayer.audio;var s,i=function(e){return t.attr("data-"+e)},n=e.extend({},WaveSurfer),o=0,l=i("info"),c=0,d=t.find(".wvpl-infobar"),p=t.find(".wvpl-poster"),u=t.find(".wvpl-overlay"),h=t.find(".wvpl-playing-info"),v=t.find(".wvpl-playlist"),f=t.find(".wvpl-playlist-wrapper"),w=t.find(".wvpl-waveform"),m=t.find(".wvpl-position"),g=t.find(".wvpl-duration"),y=t.find(".wvpl-next"),k=t.find(".wvpl-prev"),C=t.find(".wvpl-play"),b=(t.find(".wvpl-timeline"),t.find(".wvpl-centerline"),t.find(".wvpl-pointer"),t.find(".wvpl-info")),T=t.find(".wvpl-volume"),_=function(){n.init({container:w[0],waveColor:i("wave_color"),waveColor2:i("wave_color_2"),progressColor:i("progress_color"),progressColor2:i("progress_color_2"),cursorColor:i("cursor_color"),cursorColor2:i("cursor_color_2"),cursorWidth:i("cursor_width"),hoverOpacity:parseInt(i("hover_opacity")),waveMode:parseInt(i("wave_mode")),gapWidth:parseInt(i("gap_width")),compression:parseInt(i("wave_compression")),asymmetry:parseInt(i("wave_asymmetry")),height:w.outerHeight(!1),normalize:!0,reflection:!0,hideScrollbar:!0}),n.on("loading",function(e,a){u.find(".percentage").html(e+"%"),u.find(".wvpl-loading>div").css({width:e+"%"}),u.find(".message").html(wvplVars.messages.audioAnalysis)}),n.on("error",function(e){console.log(e)}),n.on("ready",function(){s=n.backend.getPeaks(960).map(function(e){return Number(e.toFixed(3))}),s=s.join(),u.find(".message").html(wvplVars.messages.savingPeaks);var e=r.tracks[r.currentTrack];if(e.id){var a={action:"waveplayer_write_peaks",id:e.id,temp_file:e.temp_file,peaks:s};I(a,function(a){a.success&&(e.temp_file&&(e.temp_file=null),r.status=0,M(e),g.text(e.length_formatted),m.text(V()),s=a.data.peaks.split(",").map(parseFloat),e.peaks=s,u.find(".message").html(wvplVars.messages.waveformRendering),P(),r.analyzed(),E(),D(),r.activated(),r.autoplay&&r.play())})}}),n.drawer.on("click",function(a){a.preventDefault();var s=WavePlayer.currentPlayer!=t.attr("id");if(WavePlayer.currentPlayer=t.attr("id"),s)e(".waveplayer").each(function(a,t){e(t).attr("id")!=WavePlayer.currentPlayer&&e(t).waveplayer("reset")}),r.play();else if(1==r.status){var i=new Date;o+=i.getTime()-c,c=(new Date).getTime(),x(a.offsetX/n.container.clientWidth),r.audio.currentTime=r.tracks[r.currentTrack].length*a.offsetX/n.container.clientWidth}else r.play()}),n.drawer.on("mousemove",function(e){n.drawer.playing&&n.drawer.updatePosition(e.offsetX/(n.drawer.width/n.drawer.params.pixelRatio))}),n.drawer.on("mouseout",function(e){n.drawer.playing&&n.drawer.updatePosition(-1)})},x=function(e){n.drawer.updateProgress(e)},P=function(){r.currentTrack>=0&&(n.params.height=w.height()-parseInt(w.css("marginTop"))+parseInt(w.css("marginBottom")),n.updateDrawer(),n.drawer.clearWave(),n.drawer.drawPeaks(s,W()*n.params.pixelRatio))},W=function(){var a=w.width(),t=w.parentsUntil(":visible").last()[0];if(t){var r=e(t).parent(),s=e(t).clone().css({opacity:0,display:"block"}).appendTo(r);a=s.find(".wvpl-waveform").width(),s.remove()}return a};this.init=function(a){r.status=0,w.empty(),f.empty();e("<div>",{class:"bar"});u.append(e("<div>",{id:"wave-animation"}),e("<div>",{class:"percentage"}),e("<div>",{class:"wvpl-loading"}).append(e("<div>")),e("<div>",{class:"message"}));var s=i("wave_color_2");u.css({color:s}),u.find(".wvpl-loading>div").css({backgroundColor:s});for(var o=0;o<8;o++)u.find("#wave-animation").append(e("<div>",{class:"bar"}).css({backgroundColor:s}));var c=parseInt(i("wave_asymmetry"));c=100*c/(1+c),m.css({top:c+"%"}),g.css({top:c+"%"});t.data("ids"),t.data("url"),t.attr("id");r.tracks=a,wvplVars.options.full_width_playlist&&v.css({"margin-left":0}),_(),r.autoplay=t.data("autoplay"),r.repeatAll=t.data("repeat_all"),r.tracks&&r.tracks.length>0?(r.currentTrack=0,r.tracks[r.currentTrack].temp_file?(r.analyzing(),n.load(r.tracks[r.currentTrack].temp_file)):(d.toggle("none"!=l),v.toggle("playlist"==l&&r.tracks.length>1),D(),r.status=0,n.drawer.playing=!1,E(),r.activated()),r.loaded()):(C.addClass("wvpl-disabled"),t.hide())},this.timeUpdate=function(){var e=r.audio.currentTime/r.tracks[r.currentTrack].length;x(e),m.text(V(r.audio.currentTime))},this.getCurrentTime=function(){return r.audio.currentTime},this.setCurrentTime=function(e){if(e<0||e>r.tracks[r.currentTrack].length)return!1;r.audio.currentTime=e,r.timeUpdate()},this.play=function(){c=new Date;var a=WavePlayer.currentPlayer!=t.attr("id");WavePlayer.currentPlayer=t.attr("id"),a&&e(".waveplayer").each(function(a,t){e(t).waveplayer("reset")}),0!=r.status&&r.audio.src==location.protocol+r.tracks[r.currentTrack].file||(r.audio.pause(),r.audio.src=r.tracks[r.currentTrack].file,0==r.status&&r.audio.load()),r.audio.play(),r.playing(),r.status=1,n.drawer.playing=!0},this.pause=function(){r.paused();var e=new Date;o+=e.getTime()-c,r.audio.pause(),n.drawer.playing=!1,r.status=2},this.stop=function(){if(0==r.status)return!1;r.reset(),r.audio.pause(),r.audio.currentTime=0,m.text(V(0)),r.currentTrack=0,E()},this.skip=function(a){r.pause(),setTimeout(function(){if(r.currentTrack>=0&&r.updateStatistics(),null==a&&(a=!0),a?r.currentTrack++:r.currentTrack--,!r.repeatAll&&(r.currentTrack>
1=r.tracks.length||r.currentTrack<0)){if(r.loading(),r.stop(),r.autoplay=!1,wvplVars.options.jump){var t=e(".waveplayer").eq(e(".waveplayer").index(e("#"+WavePlayer.currentPlayer))+1);t.length&&e("html").animate({scrollTop:t.offset().top},400,function(e){t.waveplayer("play")})}E()}else r.currentTrack==r.tracks.length&&(r.currentTrack=0),r.currentTrack<0&&(r.currentTrack=r.tracks.length-1),r.loading(),S(r.currentTrack),r.status=0,n.drawer.playing=!1,E(!0)},300)},this.skipTo=function(e){return!(null==e||e<0||e>=r.tracks.length)&&(e==r.currentTrack&&r.audio.paused?(r.play(),!0):(r.pause(),void setTimeout(function(){r.currentTrack>=0&&r.currentTrack<r.tracks.length&&r.updateStatistics(),r.currentTrack=e,r.loading(),E(!0)},300)))};var S=function(e){var a=v.find("li").eq(e);if(!a)return!1;a.position().top+a.height()>v.scrollTop()+v.height()&&v.animate({scrollTop:a.position().top+a.outerHeight()-v.outerHeight()}),a.position().top<v.scrollTop()&&v.animate({scrollTop:a.position().top})};this.analyzing=function(){t.addClass("analyzing"),t.trigger("analyzing",[r.tracks[r.currentTrack]])},this.analyzed=function(){t.removeClass("analyzing"),u.find(".percentage").html(" "),u.find(".wvpl-loading>div").css({width:0}),u.find(".message").html(" "),t.trigger("analyzed",[r.tracks[r.currentTrack],s])},this.loading=function(){t.addClass("loading"),t.trigger("loading",[r.tracks[r.currentTrack]])},this.loaded=function(){t.removeClass("loading"),t.trigger("loaded",[r.tracks[r.currentTrack]])},this.playing=function(){t.addClass("playing"),v.find("li").removeClass("playing"),v.find("li:nth-child("+(1*r.currentTrack+1)+")").addClass("playing"),t.trigger("playing",[r.tracks[r.currentTrack],WavePlayer.audio.currentTime])},this.paused=function(){t.removeClass("playing"),v.find("li").removeClass("playing"),t.trigger("paused",[r.tracks[r.currentTrack],WavePlayer.audio.currentTime])},this.ready=function(){r.loaded(),t.trigger("ready",[r.tracks[r.currentTrack]])},this.activated=function(){t.addClass("active"),t.trigger("activated",[t.attr("id"),e(".waveplayer").index(t)])},this.refresh=function(){P()};var E=function(e){r.currentTrack<0&&(r.currentTrack=0),A(),void 0===e&&(e=!1),1==r.tracks.length&&r.repeatAll&&(r.audio.loop=!0);var a=r.tracks[r.currentTrack];if(a.peaks)M(a),g.text(a.length_formatted),m.text(V()),s=a.peaks,P(),r.loaded(),(e||r.autoplay)&&r.play();else{var t=a.file;r.tracks[r.currentTrack].temp_file&&(t=r.tracks[r.currentTrack].temp_file),r.loaded(),r.analyzing(),n.load(t)}};this.reload=function(){E()},this.reset=function(){r.status=0,n.drawer.playing=!1,x(0),r.paused(),m.text(V(0)),r.status=0},this.toggle=function(){switch(r.status){case 1:r.pause();break;case 0:case 2:r.play()}},this.toggleInfo=function(){switch("playlist"==l&&1==r.tracks.length&&(l="bar"),l){case"playlist":v.slideUp(),d.fadeOut().addClass("wvpl-inactive"),b.removeClass("wvpl-times wvpl-list"),l="none";break;case"none":d.show().removeClass("wvpl-inactive"),r.tracks.length>1?b.addClass("wvpl-list").removeClass("wvpl-times"):b.addClass("wvpl-times").removeClass("wvpl-list"),l="bar";break;case"bar":r.tracks.length>1?(v.slideDown(),b.addClass("wvpl-times").removeClass("wvpl-list"),l="playlist"):(d.hide().addClass("wvpl-inactive"),b.removeClass("wvpl-times wvpl-list"),l="none")}};var A=function(){switch(r.currentTrack){case 0:r.repeatAll||k.addClass("wvpl-disabled"),r.tracks.length>1&&y.removeClass("wvpl-disabled");break;case 1:r.tracks.length>1&&(k.removeClass("wvpl-disabled"),y.removeClass("wvpl-disabled")),2!=r.tracks.length||r.repeatAll||y.addClass("wvpl-disabled");break;case r.tracks.length-2:r.tracks.length>1&&(k.removeClass("wvpl-disabled"),y.removeClass("wvpl-disabled"));break;case r.tracks.length-1:r.tracks.length>1&&(k.removeClass("wvpl-disabled"),y.removeClass("wvpl-disabled")),r.repeatAll||y.addClass("wvpl-disabled");break;default:k.removeClass("wvpl-disabled"),y.removeClass("wvpl-disabled")}},M=function(a){var t=wvplVars.options.template;p.empty().append(e("<img>",{srcset:a.thumbnail,sizes:p.height()+"px"})),t=null==t?a.title:R(t,a),t?h.show().find(".wvpl-infoblock").html(t):h.hide()},R=function(a,t){return a=a.replace(/(\{[^\}]*\})/g,function(a,r){var s=JSON.parse(r);return e.each(s,function(e,a){"string"==typeof s[e]&&(s[e]=a.replace(/%([^%]+)%/g,function(e,a){return t[a]?t[a]:""}))}),JSON.stringify(s)}),a=a.replace(/%([^ \{]*)(\{[^\}]*\})*%/g,function(a,r,s){var i=r,n=t[i]?t[i]:"",o=e.extend({class:"",showValue:1,text:"",raw:0,url:"",target:"_blank",icon:"",event:""},s?JSON.parse(s):""),l=e("<span>");switch(i){case"play_count":if(!t.stats)break;n=t.stats.play_count,l=e("<span>",{class:"wvpl-stats wvpl-icon wvpl-"+i+" "+o.class,title:wvplVars.messages.playedTimes.replace("%s",n)}).append(e("<span>",{class:"wvpl-value"}).html(n));break;case"cart":n=t.product_id;var c=t.in_cart>0?"wvpl-in_cart ":"wvpl-add_to_cart ",d=t.in_cart>0?"goToCart":"addToCart",p=t.in_cart>0?wvplVars.messages.alreadyInCart:wvplVars.messages.addToCart;n&&(l=e("<span>",{class:"wvpl-stats wvpl-icon wvpl-button "+c+o.class,title:p,"data-product_id":n,"data-event":d,"data-callback":d}));break;case"runtime":if(!t.stats)break;
1n=V(t.stats.runtime),l=e("<span>",{class:"wvpl-stats wvpl-icon wvpl-"+i+" "+o.class,title:wvplVars.messages.totalRuntime.replace("%s",n)}).append(e("<span>",{class:"wvpl-value"}).html(n));break;case"length":case"length_formatted":n=t.length_formatted,l=e("<span>",{class:"wvpl-stats wvpl-icon wvpl-"+i+" "+o.class,title:wvplVars.messages.trackLength.replace("%s",n)}).append(e("<span>",{class:"wvpl-value"}).html(n));break;case"likes":if(!t.stats)break;n=t.stats.likes.length;var u=t.id,h=t.index,v=WavePlayer.loggedUser?"":" "+wvplVars.messages.loginToLike;l=e("<span>",{class:"wvpl-stats wvpl-icon wvpl-button wvpl-"+i+" "+o.class,"data-id":u,"data-index":h,"data-event":t.liked?"unlike":"like","data-callback":"updateLikes",title:wvplVars.messages.likedBy.replace("%s",n)+v}).toggleClass("liked",t.liked).toggleClass("disabled",!WavePlayer.loggedUser).append(o.showValue?e("<span>",{class:"wvpl-value"}).html(n):"");break;case"downloads":if(n=t.file?t.file:"",!t.stats)break;var f=null!=t.stats.downloads?t.stats.downloads:0;l=e("<a>",{href:n,download:""}).append(e("<span>",{class:"wvpl-stats wvpl-icon wvpl-button wvpl-"+i+" "+o.class,"data-event":"download","data-callback":"updateDownloads",title:wvplVars.messages.downloadedBy.replace("%s",f),"data-id":t.id,"data-index":t.index}).append(o.showValue?e("<span>",{class:"wvpl-value"}).html(f):""));break;case"product_url":n=t.product_url?t.product_url:"",l=e("<a>",{href:n}).append(e("<span>",{class:"wvpl-stats wvpl-icon wvpl-button wvpl-"+i+" "+o.class,title:wvplVars.messages.goToProductPage,"data-id":t.id,"data-event":"goToProduct","data-index":t.index,"data-product_id":t.product_id}));break;case"share_fb":case"share_gp":case"share_tw":case"share_ln":if(t.post_url){n=location.protocol+t.post_url;var p=t.title,w=i.replace("share_","");l=e("<span>",{class:"wvpl-stats wvpl-icon wvplbutton wvpl-share wvpl-"+i,"data-event":"share","data-callback":"socialShare","data-title":p,"data-social":w,"data-url":n,title:wvplVars.messages.share})}break;default:n=o.showValue?n:"";var m="",g="";o.icon&&(m="wvpl-stats wvpl-icon "+o.icon),o.event&&(g="wvpl-button "),l=e("<span>",{class:("wvpl-"+i+" "+m+" "+g+o.class).trim()}).append(e("<span>",{class:"wvpl-value"}).html(n)),o.event&&l.attr("data-event",o.event),o.url&&(l=e("<a>").attr("href",o.url).attr("target",o.target).html(l))}return o.raw||(n=l.prop("outerHTML")),n})},D=function(){var a=e("<ul>");e.each(r.tracks,function(t,r){var s=e("<li>");s.append(e("<img>",{class:"wvpl-playlist-thumbnail",srcset:r.thumbnail,sizes:wvplVars.thumbHeight+"px"}),e("<span>",{class:"wvpl-playlist-title"}).html(r.title),e("<span>",{class:"wvpl-playlist-stats"}).html(R(wvplVars.options.playlist_template,r))),a.append(s)}),f.empty().append(a)},V=function(e){if(null==e)return"0:00";e=Math.round(e);var a=e%60,t=Math.floor(e/60)%60,r=Math.floor(e/3600);return(r>0?r+":":"")+(r>0&&t<10?"0":"")+t+":"+(a<10?"0":"")+a};this.updateStatistics=function(){var e=r.currentTrack,a={action:"waveplayer_update_statistics",id:r.tracks[e].id,length:r.tracks[e].length,runtime:o};if(o=0,0==c)return!1;I(a,function(a){a.success?r.tracks[e].stats=a.data.stats:console.log("error",a.data.message)})},this.updateLikes=function(a){if(!WavePlayer.loggedUser)return!1;e(a).toggleClass("wvpl-spin");var t={action:"waveplayer_update_likes",id:e(a).data("id")};I(t,function(t){e(a).toggleClass("wvpl-spin"),t.success&&(r.tracks[e(a).data("index")].liked=t.data.liked,r.tracks[e(a).data("index")].stats=t.data.stats,e(a).data("event",t.data.liked?"unlike":"like").toggleClass("liked",t.data.liked).closest(".wvpl-stats").find(".wvpl-value").text(r.tracks[e(a).data("index")].stats.likes.length))})},this.addToCart=function(a){var t=(r.currentTrack,e(a).data("product_id")),s={action:"waveplayer_add_to_cart",product_id:t};e("[data-product_id="+t+"]").toggleClass("wvpl-spin");var i=function(a){if(a.success){e("[data-product_id="+t+"]").attr("title",wvplVars.messages.alreadyInCart).toggleClass("wvpl-spin wvpl-add_to_cart wvpl-in_cart").data("event","goToCart").data("callback","goToCart"),s={action:"woocommerce_get_refreshed_fragments"};I(s,function(a){e.each(a.fragments,function(a,t){e(a).prop("outerHTML",t)})},woocommerce_params.ajax_url)}else window.location=a.data.product_url};I(s,i)},this.goToCart=function(e){window.location=wvplVars.options.cartURL},this.updateDownloads=function(a){var t={action:"waveplayer_update_downloads",id:e(a).data("id")};I(t,function(t){t.success&&(r.tracks[e(a).data("index")].stats=t.data.stats,e(a).closest(".wvpl-stats").find(".wvpl-value").text(r.tracks[e(a).data("index")].stats.downloads))})};var I=function(a,t,r){r=r||wvplVars.ajax_url,e.ajax({url:r,type:"post",data:a,dataType:"json",success:t,error:function(e){console.log(e.responseText)}})};this.socialShare=function(a){var t,r=encodeURIComponent(e(a).data("url")),s=encodeURIComponent(e(a).data("title")),i=encodeURIComponent(wvplVars.options.site);
1switch(e(a).data("social")){case"fb":t="https://www.facebook.com/sharer/sharer.php?display=popup&u="+r;break;case"gp":t="https://plus.google.com/share?url="+r;break;case"tw":t="https://twitter.com/intent/tweet?url="+r;break;case"ln":t="https://www.linkedin.com/shareArticle?mini=true&url="+r+"&title="+s+"&source="+i}window.open(t,"")};h.on("mouseenter",function(e){return!1}),b.click(function(e){e.preventDefault(),r.toggleInfo()}),C.click(function(e){e.preventDefault(),r.toggle()}),k.click(function(a){a.preventDefault(),e(this).hasClass("wvpl-disabled")||r.skip(!1)}),y.click(function(a){a.preventDefault(),e(this).hasClass("wvpl-disabled")||r.skip()}),e(window).resize(function(){setTimeout(P,500)});var L,B,z;T.on("mousedown",function(a){B=a.clientX,z=r.audio.volume,L=setTimeout(function(){a.preventDefault(),t.find(".wvpl-volume-overlay").addClass("dragging"),t.find(".wvpl-controls").addClass("wvpl-inactive"),e(window).on("mousemove",function(e){e.preventDefault(),T.addClass("dragging");var a=Math.round(100*(z+(e.clientX-B)/(t.find(".wvpl-interface").width()*n.params.pixelRatio/4)))/100;a>=0&&a<=1&&(r.audio.volume=a,t.find(".wvpl-volume-overlay").html(Math.round(100*a)),r.audio.muted=0==a,0==a?T.removeClass("wvpl-volume_up").addClass("wvpl-volume_up"):T.removeClass("wvpl-volume_off").addClass("wvpl-volume_up"))}).on("mouseup",function(a){e(window).off("mousemove"),e(".dragging").removeClass("dragging"),t.find(".wvpl-controls").removeClass("wvpl-inactive")})},150)}).on("mouseup",function(a){clearTimeout(L),T.hasClass("dragging")||(T.toggleClass("wvpl-volume_off").toggleClass("wvpl-volume_up"),r.audio.muted=T.hasClass("wvpl-volume_off"),t.find(".wvpl-volume-overlay").html(Math.round(100*r.audio.volume))),e(".dragging").removeClass("dragging")})};e.fn.waveplayer=function(t,r){return this.each(function(s,i){var n=e(i),o=null;if(o=n.data("waveplayer"))return"object"!=typeof r&&(r=[r]),void o[t].apply(null,r);var l=new a(i);n.data("waveplayer",l),l.init(r)})},WavePlayer.reloadInstances=function(a){WavePlayer.playlists=[],e(".waveplayer").removeClass("active"),WavePlayer.loadInstances(a)},WavePlayer.loadInstances=function(a){ 2this.audio&&this.audio.pause();var t;if(a=a||"",t=e(a).hasClass("waveplayer")?a:(a+" .waveplayer").trim(),e(t).length){var r=[];e(t).each(function(a,t){if(!e(t).hasClass("active")){e(t).addClass("loading"),e(t).data("waveplayer",null);var s={player_id:e(t).attr("id"),ids:e(t).data("ids"),url:e(t).data("url")};r.push(s)}}),e.ajax({url:wvplVars.ajax_url,type:"post",data:{action:"waveplayer_load_page_playlist",type:"playlist",list_data:JSON.stringify(r),post_id:wvplVars.post_id},dataType:"json",success:function(a){a.data.players;e.each(a.data.players,function(a,t){e.each(t.player_data,function(e,a){a.peaks&&(a.peaks=a.peaks.split(",").map(parseFloat))})}),e(t).length===e(".waveplayer").length&&0===e(".waveplayer.active").length&&(WavePlayer.playlists=[]),WavePlayer.playlists=WavePlayer.playlists.concat(a.data.players),WavePlayer.loggedUser=wvplVars.currentUser.ID>0,WavePlayer.currentPlayer=null,e.each(a.data.players,function(a,t){e("#"+t.player_id).waveplayer("init",t.player_data)})},error:function(e){console.log(e.responseText)}})}},"page"==wvplVars.options.loading_mode?WavePlayer.loadInstances():"instance"==wvplVars.options.loading_mode&&e(".waveplayer").each(function(a,t){WavePlayer.loadInstances("#"+e(t).attr("id"))}),e(WavePlayer.audio).on("seeking",function(a){var t=e("#"+WavePlayer.currentPlayer),r=t.data("waveplayer");t.addClass("seeking"),t.trigger("seeking",[r.tracks[r.currentTrack],WavePlayer.audio.currentTime])}),e(WavePlayer.audio).on("seeked",function(a){var t=e("#"+WavePlayer.currentPlayer),r=t.data("waveplayer");t.removeClass("seeking"),t.trigger("seeked",[r.tracks[r.currentTrack],WavePlayer.audio.currentTime]),WavePlayer.audio.paused?t.waveplayer("paused"):t.waveplayer("playing")}),e(WavePlayer.audio).on("timeupdate",function(a){var t=e("#"+WavePlayer.currentPlayer),r=t.data("waveplayer");t.trigger("timeupdate",[r.tracks[r.currentTrack],WavePlayer.audio.currentTime]),t.waveplayer("timeUpdate")}),e(WavePlayer.audio).on("ended",function(a){var t=e("#"+WavePlayer.currentPlayer),r=t.data("waveplayer");t.trigger("ended",[r.tracks[r.currentTrack]]),t.waveplayer("skip")}),e(document).on("click",".woocommerce-music-type span.woocommerce-option:not(.active)",function(a){a.preventDefault(),e(".woocommerce-music-type span.woocommerce-option").toggleClass("active");var t=e(this).data("type");e("input[name=music_type]").val(t),e("input[name=page]").val(1),e(this).closest("form").submit()}),e(document).on("click",".wvpl-playlist-title, .wvpl-playlist-thumbnail",function(a){a.preventDefault();var t=e(this).closest("li").index();e(this).closest(".waveplayer").waveplayer("skipTo",t)}),e(document).on("click",".wvpl-icon",function(a){a.preventDefault();var t=e(this).closest(".waveplayer"),r=t.data("waveplayer"),s=e(this).data("event"),i=e(this).data("callback");"download"==e(this).data("event")&&e(this).closest("a")[0].click(),s&&t.trigger(s,[r.tracks[r.currentTrack]]),i&&t.waveplayer(i,e(this))}),e(document.body).on("removed_from_cart",function(a,t,r,s){s&&e("[data-product_id="+s.data("product_id")+"]").attr("title",wvplVars.messages.addToCart).data("event","addToCart").data("callback","addToCart").addClass("wvpl-add_to_cart").removeClass("wvpl-in_cart")})});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.