!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("WaveSurfer",[],t):"object"==typeof exports?exports.WaveSurfer=t():n.WaveSurfer=t()}(window,function(){return function(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={i:r,l:!1,exports:{}};return n[r].call(u.exports,u,u.exports,t),u.l=!0,u.exports}var i={};return t.m=n,t.c=i,t.d=function(n,i,r){t.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:r})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"});Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,i){var r,u;if((1&i&&(n=t(n)),8&i)||4&i&&"object"==typeof n&&n&&n.__esModule)return n;if(r=Object.create(null),t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&i&&"string"!=typeof n)for(u in n)t.d(r,u,function(t){return n[t]}.bind(null,u));return r},t.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(i,"a",i),i},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=6)}([function(n,t,i){"use strict";function r(n){return n&&n.__esModule?n:{"default":n}}Object.defineProperty(t,"__esModule",{value:!0});Object.defineProperty(t,"ajax",{enumerable:!0,get:function(){return u.default}});Object.defineProperty(t,"getId",{enumerable:!0,get:function(){return f.default}});Object.defineProperty(t,"max",{enumerable:!0,get:function(){return e.default}});Object.defineProperty(t,"min",{enumerable:!0,get:function(){return o.default}});Object.defineProperty(t,"Observer",{enumerable:!0,get:function(){return s.default}});Object.defineProperty(t,"extend",{enumerable:!0,get:function(){return h.default}});Object.defineProperty(t,"style",{enumerable:!0,get:function(){return c.default}});Object.defineProperty(t,"requestAnimationFrame",{enumerable:!0,get:function(){return l.default}});Object.defineProperty(t,"frame",{enumerable:!0,get:function(){return a.default}});Object.defineProperty(t,"debounce",{enumerable:!0,get:function(){return v.default}});Object.defineProperty(t,"preventClick",{enumerable:!0,get:function(){return y.default}});Object.defineProperty(t,"fetchFile",{enumerable:!0,get:function(){return p.default}});var u=r(i(7)),f=r(i(2)),e=r(i(8)),o=r(i(9)),s=r(i(1)),h=r(i(10)),c=r(i(3)),l=r(i(4)),a=r(i(11)),v=r(i(12)),y=r(i(13)),p=r(i(14))},function(n,t){"use strict";function i(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;var r=function(){function n(){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n);this.handlers=null}var t,r,u;return t=n,(r=[{key:"on",value:function(n,t){var r=this,i;return this.handlers||(this.handlers={}),i=this.handlers[n],i||(i=this.handlers[n]=[]),i.push(t),{name:n,callback:t,un:function(n,t){return r.un(n,t)}}}},{key:"un",value:function(n,t){if(this.handlers){var i,r=this.handlers[n];if(r)if(t)for(i=r.length-1;i>=0;i--)r[i]==t&&r.splice(i,1);else r.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(n,t){var i=this;return this.on(n,function r(){for(var f=arguments.length,e=new Array(f),u=0;u<f;u++)e[u]=arguments[u];t.apply(i,e);setTimeout(function(){i.un(n,r)},0)})}},{key:"fireEvent",value:function(n){for(var r,i=arguments.length,u=new Array(i>1?i-1:0),t=1;t<i;t++)u[t-1]=arguments[t];this.handlers&&(r=this.handlers[n],r&&r.forEach(function(n){n.apply(void 0,u)}))}}])&&i(t.prototype,r),u&&i(t,u),n}();t.default=r;n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){return void 0===n&&(n="wavesurfer_"),n+Math.random().toString(32).substring(2)};n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n,t){return Object.keys(t).forEach(function(i){n.style[i]!==t[i]&&(n.style[i]=t[i])}),n};n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;var i=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){return setTimeout(n,1e3/60)}).bind(window);t.default=i;n.exports=t.default},function(n,t,i){"use strict";function s(n){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function r(n,t,i){return t in n?Object.defineProperty(n,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[t]=i,n}function y(n,t){return!t||"object"!==s(t)&&"function"!=typeof t?function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n):t}function h(n){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}function c(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function l(n,t,i){return t&&c(n.prototype,t),i&&c(n,i),n}function a(n,t){return(a=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n})(n,t)}var o;Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;o=function(n){var i,t,r;if(n&&n.__esModule)return n;if(i={},null!=n)for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(n,t):{},r.get||r.set?Object.defineProperty(i,t,r):i[t]=n[t]);return i.default=n,i}(i(0));var u="playing",f="paused",e="finished",v=function(){function n(t){var o,s,i;return function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n),(i=y(this,h(n).call(this))).audioContext=null,i.offlineAudioContext=null,i.stateBehaviors=(r(o={},u,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var n=this.getDuration();return this.getCurrentTime()/n||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),r(o,f,{init:function(){this.removeOnAudioProcess()},getPlayedPercents:function(){var n=this.getDuration();return this.getCurrentTime()/n||0},getCurrentTime:function(){return this.startPosition}}),r(o,e,{init:function(){this.removeOnAudioProcess();this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),o),i.params=t,i.ac=t.audioContext||(i.supportsWebAudio()?i.getAudioContext():{}),i.lastPlay=i.ac.currentTime,i.startPosition=0,i.scheduledPause=null,i.states=(r(s={},u,Object.create(i.stateBehaviors[u])),r(s,f,Object.create(i.stateBehaviors[f])),r(s,e,Object.create(i.stateBehaviors[e])),s),i.analyser=null,i.buffer=null,i.filters=[],i.gainNode=null,i.mergedPeaks=null,i.offlineAc=null,i.peaks=null,i.playbackRate=1,i.analyser=null,i.scriptNode=null,i.source=null,i.splitPeaks=[],i.state=null,i.explicitDuration=t.duration,i}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}});t&&a(n,t)}(n,o.Observer),l(n,[{key:"supportsWebAudio",value:function(){return!(!window.AudioContext&&!window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(n){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,n)),window.WaveSurferOfflineAudioContext}}]),l(n,[{key:"init",value:function(){this.createVolumeNode();this.createScriptNode();this.createAnalyserNode();this.setState(f);this.setPlaybackRate(this.params.audioRate);this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(n){n&&n.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(n){this.state!==this.states[n]&&(this.state=this.states[n],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];this.setFilters(i)}},{key:"setFilters",value:function(n){this.disconnectFilters();n&&n.length&&(this.filters=n,this.analyser.disconnect(),n.reduce(function(n,t){return n.connect(t),t},this.analyser).connect(this.gainNode))}},{key:"createScriptNode",value:function(){this.scriptNode=this.params.audioScriptProcessor?this.params.audioScriptProcessor:this.ac.createScriptProcessor?this.ac.createScriptProcessor(n.scriptBufferSize):this.ac.createJavaScriptNode(n.scriptBufferSize);this.scriptNode.connect(this.ac.destination)}},{key:"addOnAudioProcess",value:function(){var n=this;this.scriptNode.onaudioprocess=function(){var t=n.getCurrentTime();t>=n.getDuration()?(n.setState(e),n.fireEvent("pause")):t>=n.scheduledPause?n.pause():n.state===n.states[u]&&n.fireEvent("audioprocess",t)}}},{key:"removeOnAudioProcess",value:function(){this.scriptNode.onaudioprocess=function(){}}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser();this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.gainNode=this.ac.createGain?this.ac.createGain():this.ac.createGainNode();this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(n){var t,i;return n?(t=new window.Audio,!t.setSinkId)?Promise.reject(new Error("setSinkId is not supported in your browser")):(t.autoplay=!0,i=this.ac.createMediaStreamDestination(),this.gainNode.disconnect(),this.gainNode.connect(i),t.srcObject=i.stream,t.setSinkId(n)):Promise.reject(new Error("Invalid deviceId: "+n))}},{key:"setVolume",value:function(n){this.gainNode.gain.setValueAtTime(n,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(n,t,i){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100));this.offlineAc.decodeAudioData(n,function(n){return t(n)},i)}},{key:"setPeaks",value:function(n,t){null!=t&&(this.explicitDuration=t);this.peaks=n}},{key:"setLength",value:function(n){if(!this.mergedPeaks||n!=2*this.mergedPeaks.length- -1){this.splitPeaks=[];this.mergedPeaks=[];for(var i=this.buffer?this.buffer.numberOfChannels:1,t=0;t<i;t++)this.splitPeaks[t]=[],this.splitPeaks[t][2*(n-1)]=0,this.splitPeaks[t][2*(n-1)+1]=0;this.mergedPeaks[2*(n-1)]=0;this.mergedPeaks[2*(n-1)+1]=0}}},{key:"getPeaks",value:function(n,t,i){var c,o;if(this.peaks)return this.peaks;if(!this.buffer)return[];if(t=t||0,i=i||n-1,this.setLength(n),!this.buffer)return this.params.splitChannels?this.splitPeaks:this.mergedPeaks;this.buffer.length||(c=this.createBuffer(1,4096,this.sampleRate),this.buffer=c.buffer);for(var h=this.buffer.length/n,v=~~(h/10)||1,y=this.buffer.numberOfChannels,u=0;u<y;u++)for(var l=this.splitPeaks[u],p=this.buffer.getChannelData(u),r=void 0,r=t;r<=i;r++){for(var a=~~(r*h),w=~~(a+h),f=0,e=0,s=void 0,s=a;s<w;s+=v)o=p[s],o>e&&(e=o),o<f&&(f=o);l[2*r]=e;l[2*r+1]=f;(0==u||e>this.mergedPeaks[2*r])&&(this.mergedPeaks[2*r]=e);(0==u||f<this.mergedPeaks[2*r+1])&&(this.mergedPeaks[2*r+1]=f)}return this.params.splitChannels?this.splitPeaks:this.mergedPeaks}},{key:"getPlayedPercents",value:function(){return this.state.getPlayedPercents.call(this)}},{key:"disconnectSource",value:function(){this.source&&this.source.disconnect()}},{key:"destroy",value:function(){this.isPaused()||this.pause();this.unAll();this.buffer=null;this.disconnectFilters();this.disconnectSource();this.gainNode.disconnect();this.scriptNode.disconnect();this.analyser.disconnect();this.params.closeAudioContext&&("function"==typeof this.ac.close&&"closed"!=this.ac.state&&this.ac.close(),this.ac=null,this.params.audioContext?this.params.audioContext=null:window.WaveSurferAudioContext=null,window.WaveSurferOfflineAudioContext=null)}},{key:"load",value:function(n){this.startPosition=0;this.lastPlay=this.ac.currentTime;this.buffer=n;this.createSource()}},{key:"createSource",value:function(){this.disconnectSource();this.source=this.ac.createBufferSource();this.source.start=this.source.start||this.source.noteGrainOn;this.source.stop=this.source.stop||this.source.noteOff;this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime);this.source.buffer=this.buffer;this.source.connect(this.analyser)}},{key:"isPaused",value:function(){return this.state!==this.states[u]}},{key:"getDuration",value:function(){return this.explicitDuration?this.explicitDuration:this.buffer?this.buffer.duration:0}},{key:"seekTo",value:function(n,t){if(this.buffer)return this.scheduledPause=null,null==n&&(n=this.getCurrentTime())>=this.getDuration()&&(n=0),null==t&&(t=this.getDuration()),this.startPosition=n,this.lastPlay=this.ac.currentTime,this.state===this.states[e]&&this.setState(f),{start:n,end:t}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(n,t){if(this.buffer){this.createSource();var i=this.seekTo(n,t);n=i.start;t=i.end;this.scheduledPause=t;this.source.start(0,n,t-n);"suspended"==this.ac.state&&this.ac.resume&&this.ac.resume();this.setState(u);this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null;this.startPosition+=this.getPlayedTime();this.source&&this.source.stop(0);this.setState(f);this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(n){n=n||1;this.isPaused()?this.playbackRate=n:(this.pause(),this.playbackRate=n,this.play())}}]),n}();t.default=v;v.scriptBufferSize=256;n.exports=t.default},function(n,t,i){"use strict";function u(n){return n&&n.__esModule?n:{"default":n}}function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function o(n,t){return!t||"object"!==e(t)&&"function"!=typeof t?h(n):t}function s(n){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}function h(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function c(n,t){return(c=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n})(n,t)}function b(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function l(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function a(n,t,i){return t&&l(n.prototype,t),i&&l(n,i),n}var f;Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;var r=function(n){var i,t,r;if(n&&n.__esModule)return n;if(i={},null!=n)for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(n,t):{},r.get||r.set?Object.defineProperty(i,t,r):i[t]=n[t]);return i.default=n,i}(i(0)),v=u(i(15)),y=u(i(5)),p=u(i(18)),w=u(i(19));f=function(){function n(t){var i,u;if(b(this,n),(i=o(this,s(n).call(this))).defaultParams={audioContext:null,audioScriptProcessor:null,audioRate:1,autoCenter:!0,backend:"WebAudio",backgroundColor:null,barHeight:1,barGap:null,container:null,cursorColor:"#333",cursorWidth:1,dragSelection:!0,duration:null,fillParent:!0,forceDecode:!1,height:128,hideScrollbar:!1,interact:!0,loopSelection:!0,maxCanvasWidth:4e3,mediaContainer:null,mediaControls:!1,mediaType:"audio",minPxPerSec:20,normalize:!1,partialRender:!1,pixelRatio:window.devicePixelRatio||screen.deviceXDPI/screen.logicalXDPI,plugins:[],progressColor:"#555",removeMediaElementOnDestroy:!0,renderer:v.default,responsive:!1,rtl:!1,scrollParent:!1,skipLength:2,splitChannels:!1,waveColor:"#999",xhr:{}},i.backends={MediaElement:p.default,WebAudio:y.default},i.util=r,i.params=r.extend({},i.defaultParams,t),i.container="string"==typeof t.container?document.querySelector(i.params.container):i.params.container,!i.container)throw new Error("Container element not found");if(i.mediaContainer=null==i.params.mediaContainer?i.container:"string"==typeof i.params.mediaContainer?document.querySelector(i.params.mediaContainer):i.params.mediaContainer,!i.mediaContainer)throw new Error("Media Container element not found");if(i.params.maxCanvasWidth<=1)throw new Error("maxCanvasWidth must be greater than 1");if(i.params.maxCanvasWidth%2==1)throw new Error("maxCanvasWidth must be an even number");if(!0===i.params.rtl&&r.style(i.container,{transform:"rotateY(180deg)"}),i.params.backgroundColor&&i.setBackgroundColor(i.params.backgroundColor),i.savedVolume=0,i.isMuted=!1,i.tmpEvents=[],i.currentRequest=null,i.arraybuffer=null,i.drawer=null,i.backend=null,i.peakCache=null,"function"!=typeof i.params.renderer)throw new Error("Renderer parameter is invalid");return i.Drawer=i.params.renderer,i.Backend=i.backends[i.params.backend],i.initialisedPluginList={},i.isDestroyed=!1,i.isReady=!1,u=0,i._onResize=r.debounce(function(){u==i.drawer.wrapper.clientWidth||i.params.scrollParent||(u=i.drawer.wrapper.clientWidth,i.drawer.fireEvent("redraw"))},"number"==typeof i.params.responsive?i.params.responsive:100),o(i,h(i))}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}});t&&c(n,t)}(n,r.Observer),a(n,null,[{key:"create",value:function(t){return new n(t).init()}}]),a(n,[{key:"init",value:function(){return this.registerPlugins(this.params.plugins),this.createDrawer(),this.createBackend(),this.createPeakCache(),this}},{key:"registerPlugins",value:function(n){var t=this;return n.forEach(function(n){return t.addPlugin(n)}),n.forEach(function(n){n.deferInit||t.initPlugin(n.name)}),this.fireEvent("plugins-registered",n),this}},{key:"getActivePlugins",value:function(){return this.initialisedPluginList}},{key:"addPlugin",value:function(n){var i=this,t;if(!n.name)throw new Error("Plugin does not have a name!");if(!n.instance)throw new Error("Plugin ".concat(n.name," does not have an instance property!"));return n.staticProps&&Object.keys(n.staticProps).forEach(function(t){i[t]=n.staticProps[t]}),t=n.instance,Object.getOwnPropertyNames(r.Observer.prototype).forEach(function(n){t.prototype[n]=r.Observer.prototype[n]}),this[n.name]=new t(n.params||{},this),this.fireEvent("plugin-added",n.name),this}},{key:"initPlugin",value:function(n){if(!this[n])throw new Error("Plugin ".concat(n," has not been added yet!"));return this.initialisedPluginList[n]&&this.destroyPlugin(n),this[n].init(),this.initialisedPluginList[n]=!0,this.fireEvent("plugin-initialised",n),this}},{key:"destroyPlugin",value:function(n){if(!this[n])throw new Error("Plugin ".concat(n," has not been added yet and cannot be destroyed!"));if(!this.initialisedPluginList[n])throw new Error("Plugin ".concat(n," is not active and cannot be destroyed!"));if("function"!=typeof this[n].destroy)throw new Error("Plugin ".concat(n," does not have a destroy function!"));return this[n].destroy(),delete this.initialisedPluginList[n],this.fireEvent("plugin-destroyed",n),this}},{key:"destroyAllPlugins",value:function(){var n=this;Object.keys(this.initialisedPluginList).forEach(function(t){return n.destroyPlugin(t)})}},{key:"createDrawer",value:function(){var n=this;this.drawer=new this.Drawer(this.container,this.params);this.drawer.init();this.fireEvent("drawer-created",this.drawer);!1!==this.params.responsive&&(window.addEventListener("resize",this._onResize,!0),window.addEventListener("orientationchange",this._onResize,!0));this.drawer.on("redraw",function(){n.drawBuffer();n.drawer.progress(n.backend.getPlayedPercents())});this.drawer.on("click",function(t,i){setTimeout(function(){return n.seekTo(i)},0)});this.drawer.on("scroll",function(t){n.params.partialRender&&n.drawBuffer();n.fireEvent("scroll",t)})}},{key:"createBackend",value:function(){var n=this;this.backend&&this.backend.destroy();"AudioElement"==this.params.backend&&(this.params.backend="MediaElement");"WebAudio"!=this.params.backend||this.Backend.prototype.supportsWebAudio.call(null)||(this.params.backend="MediaElement");this.backend=new this.Backend(this.params);this.backend.init();this.fireEvent("backend-created",this.backend);this.backend.on("finish",function(){n.drawer.progress(n.backend.getPlayedPercents());n.fireEvent("finish")});this.backend.on("play",function(){return n.fireEvent("play")});this.backend.on("pause",function(){return n.fireEvent("pause")});this.backend.on("audioprocess",function(t){n.drawer.progress(n.backend.getPlayedPercents());n.fireEvent("audioprocess",t)});"MediaElement"===this.params.backend&&(this.backend.on("seek",function(){n.drawer.progress(n.backend.getPlayedPercents())}),this.backend.on("volume",function(){var t=n.getVolume();n.fireEvent("volume",t);n.backend.isMuted!==n.isMuted&&(n.isMuted=n.backend.isMuted,n.fireEvent("mute",n.isMuted))}))}},{key:"createPeakCache",value:function(){this.params.partialRender&&(this.peakCache=new w.default)}},{key:"getDuration",value:function(){return this.backend.getDuration()}},{key:"getCurrentTime",value:function(){return this.backend.getCurrentTime()}},{key:"setCurrentTime",value:function(n){n>=this.getDuration()?this.seekTo(1):this.seekTo(n/this.getDuration())}},{key:"play",value:function(n,t){var i=this;return this.fireEvent("interaction",function(){return i.play(n,t)}),this.backend.play(n,t)}},{key:"pause",value:function(){if(!this.backend.isPaused())return this.backend.pause()}},{key:"playPause",value:function(){return this.backend.isPaused()?this.play():this.pause()}},{key:"isPlaying",value:function(){return!this.backend.isPaused()}},{key:"skipBackward",value:function(n){this.skip(-n||-this.params.skipLength)}},{key:"skipForward",value:function(n){this.skip(n||this.params.skipLength)}},{key:"skip",value:function(n){var i=this.getDuration()||1,t=this.getCurrentTime()||0;t=Math.max(0,Math.min(i,t+(n||0)));this.seekAndCenter(t/i)}},{key:"seekAndCenter",value:function(n){this.seekTo(n);this.drawer.recenter(n)}},{key:"seekTo",value:function(n){var r=this,t,i;if("number"!=typeof n||!isFinite(n)||n<0||n>1)throw new Error("Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!");this.fireEvent("interaction",function(){return r.seekTo(n)});t=this.backend.isPaused();t||this.backend.pause();i=this.params.scrollParent;this.params.scrollParent=!1;this.backend.seekTo(n*this.getDuration());this.drawer.progress(n);t||this.backend.play();this.params.scrollParent=i;this.fireEvent("seek",n)}},{key:"stop",value:function(){this.pause();this.seekTo(0);this.drawer.progress(0)}},{key:"setSinkId",value:function(n){return this.backend.setSinkId(n)}},{key:"setVolume",value:function(n){this.backend.setVolume(n);this.fireEvent("volume",n)}},{key:"getVolume",value:function(){return this.backend.getVolume()}},{key:"setPlaybackRate",value:function(n){this.backend.setPlaybackRate(n)}},{key:"getPlaybackRate",value:function(){return this.backend.getPlaybackRate()}},{key:"toggleMute",value:function(){this.setMute(!this.isMuted)}},{key:"setMute",value:function(n){n!==this.isMuted?(n?(this.savedVolume=this.backend.getVolume(),this.backend.setVolume(0),this.isMuted=!0,this.fireEvent("volume",0)):(this.backend.setVolume(this.savedVolume),this.isMuted=!1,this.fireEvent("volume",this.savedVolume)),this.fireEvent("mute",this.isMuted)):this.fireEvent("mute",this.isMuted)}},{key:"getMute",value:function(){return this.isMuted}},{key:"getFilters",value:function(){return this.backend.filters||[]}},{key:"toggleScroll",value:function(){this.params.scrollParent=!this.params.scrollParent;this.drawBuffer()}},{key:"toggleInteraction",value:function(){this.params.interact=!this.params.interact}},{key:"getWaveColor",value:function(){return this.params.waveColor}},{key:"setWaveColor",value:function(n){this.params.waveColor=n;this.drawBuffer()}},{key:"getProgressColor",value:function(){return this.params.progressColor}},{key:"setProgressColor",value:function(n){this.params.progressColor=n;this.drawBuffer()}},{key:"getBackgroundColor",value:function(){return this.params.backgroundColor}},{key:"setBackgroundColor",value:function(n){this.params.backgroundColor=n;r.style(this.container,{background:this.params.backgroundColor})}},{key:"getCursorColor",value:function(){return this.params.cursorColor}},{key:"setCursorColor",value:function(n){this.params.cursorColor=n;this.drawer.updateCursor()}},{key:"getHeight",value:function(){return this.params.height}},{key:"setHeight",value:function(n){this.params.height=n;this.drawer.setHeight(n*this.params.pixelRatio);this.drawBuffer()}},{key:"drawBuffer",value:function(){var r,o=Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),e=this.drawer.getWidth(),n=o,u=0,f=Math.max(u+e,n),t,i;if(this.params.fillParent&&(!this.params.scrollParent||o<e)&&(u=0,f=n=e),this.params.partialRender)for(i=this.peakCache.addRangeToPeakCache(n,u,f),t=0;t<i.length;t++)r=this.backend.getPeaks(n,i[t][0],i[t][1]),this.drawer.drawPeaks(r,n,i[t][0],i[t][1]);else r=this.backend.getPeaks(n,u,f),this.drawer.drawPeaks(r,n,u,f);this.fireEvent("redraw",r,n)}},{key:"zoom",value:function(n){n?(this.params.minPxPerSec=n,this.params.scrollParent=!0):(this.params.minPxPerSec=this.defaultParams.minPxPerSec,this.params.scrollParent=!1);this.drawBuffer();this.drawer.progress(this.backend.getPlayedPercents());this.drawer.recenter(this.getCurrentTime()/this.getDuration());this.fireEvent("zoom",n)}},{key:"loadArrayBuffer",value:function(n){var t=this;this.decodeArrayBuffer(n,function(n){t.isDestroyed||t.loadDecodedBuffer(n)})}},{key:"loadDecodedBuffer",value:function(n){this.backend.load(n);this.drawBuffer();this.fireEvent("ready");this.isReady=!0}},{key:"loadBlob",value:function(n){var i=this,t=new FileReader;t.addEventListener("progress",function(n){return i.onProgress(n)});t.addEventListener("load",function(n){return i.loadArrayBuffer(n.target.result)});t.addEventListener("error",function(){return i.fireEvent("error","Error reading file")});t.readAsArrayBuffer(n);this.empty()}},{key:"load",value:function(n,t,i,r){if(this.empty(),i){var u={"Preload is not 'auto', 'none' or 'metadata'":-1===["auto","metadata","none"].indexOf(i),"Peaks are not provided":!t,"Backend is not of type MediaElement":"MediaElement"!==this.params.backend,"Url is not of type string":"string"!=typeof n},f=Object.keys(u).filter(function(n){return u[n]});f.length&&(console.warn("Preload parameter of wavesurfer.load will be ignored because:\n\t- "+f.join("\n\t- ")),i=null)}switch(this.params.backend){case"WebAudio":return this.loadBuffer(n,t,r);case"MediaElement":return this.loadMediaElement(n,t,i,r)}}},{key:"loadBuffer",value:function(n,t,i){var r=this,u=function(t){return t&&r.tmpEvents.push(r.once("ready",t)),r.getArrayBuffer(n,function(n){return r.loadArrayBuffer(n)})};if(!t)return u();this.backend.setPeaks(t,i);this.drawBuffer();this.tmpEvents.push(this.once("interaction",u))}},{key:"loadMediaElement",value:function(n,t,i,r){var u=this,f=n,e;"string"==typeof n?this.backend.load(f,this.mediaContainer,t,i):(e=n,this.backend.loadElt(e,t),f=e.src);this.tmpEvents.push(this.backend.once("canplay",function(){u.drawBuffer();u.fireEvent("ready");u.isReady=!0}),this.backend.once("error",function(n){return u.fireEvent("error",n)}));t&&this.backend.setPeaks(t,r);t&&!this.params.forceDecode||!this.backend.supportsWebAudio()||this.getArrayBuffer(f,function(n){u.decodeArrayBuffer(n,function(n){u.backend.buffer=n;u.backend.setPeaks(null);u.drawBuffer();u.fireEvent("waveform-ready")})})}},{key:"decodeArrayBuffer",value:function(n,t){var i=this;this.arraybuffer=n;this.backend.decodeArrayBuffer(n,function(r){i.isDestroyed||i.arraybuffer!=n||(t(r),i.arraybuffer=null)},function(){return i.fireEvent("error","Error decoding audiobuffer")})}},{key:"getArrayBuffer",value:function(n,t){var u=this,f=r.extend({url:n,responseType:"arraybuffer"},this.params.xhr),i=r.fetchFile(f);return this.currentRequest=i,this.tmpEvents.push(i.on("progress",function(n){u.onProgress(n)}),i.on("success",function(n){t(n);u.currentRequest=null}),i.on("error",function(n){u.fireEvent("error","fetch error: "+n.message);u.currentRequest=null})),i}},{key:"onProgress",value:function(n){var t;t=n.lengthComputable?n.loaded/n.total:n.loaded/(n.loaded+1e6);this.fireEvent("loading",Math.round(100*t),n.target)}},{key:"exportPCM",value:function(n,t,i,r){n=n||1024;r=r||0;t=t||1e4;i=i||!1;var f=this.backend.getPeaks(n,r),e=[].map.call(f,function(n){return Math.round(n*t)/t}),u=JSON.stringify(e);return i||window.open("data:application/json;charset=utf-8,"+encodeURIComponent(u)),u}},{key:"exportImage",value:function(n,t,i){return n||(n="image/png"),t||(t=1),i||(i="dataURL"),this.drawer.getImage(n,t,i)}},{key:"cancelAjax",value:function(){this.currentRequest&&this.currentRequest.controller&&(this.currentRequest.controller.abort(),this.currentRequest=null)}},{key:"clearTmpEvents",value:function(){this.tmpEvents.forEach(function(n){return n.un()})}},{key:"empty",value:function(){this.backend.isPaused()||(this.stop(),this.backend.disconnectSource());this.isReady=!1;this.cancelAjax();this.clearTmpEvents();this.drawer.progress(0);this.drawer.setWidth(0);this.drawer.drawPeaks({length:this.drawer.getWidth()},0)}},{key:"destroy",value:function(){this.destroyAllPlugins();this.fireEvent("destroy");this.cancelAjax();this.clearTmpEvents();this.unAll();!1!==this.params.responsive&&(window.removeEventListener("resize",this._onResize,!0),window.removeEventListener("orientationchange",this._onResize,!0));this.backend.destroy();this.drawer.destroy();this.isDestroyed=!0;this.isReady=!1;this.arraybuffer=null}}]),n}();t.default=f;f.VERSION="3.0.0";f.util=r;n.exports=t.default},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){var i=new u.default,t=new XMLHttpRequest,r=!1;return t.open(n.method||"GET",n.url,!0),t.responseType=n.responseType||"json",n.xhr&&(n.xhr.requestHeaders&&n.xhr.requestHeaders.forEach(function(n){t.setRequestHeader(n.key,n.value)}),n.xhr.withCredentials&&(t.withCredentials=!0)),t.addEventListener("progress",function(n){i.fireEvent("progress",n);n.lengthComputable&&n.loaded==n.total&&(r=!0)}),t.addEventListener("load",function(n){r||i.fireEvent("progress",n);i.fireEvent("load",n);200==t.status||206==t.status?i.fireEvent("success",t.response,n):i.fireEvent("error",n)}),t.addEventListener("error",function(n){return i.fireEvent("error",n)}),t.send(),i.xhr=t,i};var r,u=(r=i(1))&&r.__esModule?r:{"default":r};n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){var t=-1/0;return Object.keys(n).forEach(function(i){n[i]>t&&(t=n[i])}),t};n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){var t=Number(1/0);return Object.keys(n).forEach(function(i){n[i]<t&&(t=n[i])}),t};n.exports=t.default},function(n,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){for(var i=arguments.length,r=new Array(i>1?i-1:0),t=1;t<i;t++)r[t-1]=arguments[t];return r.forEach(function(t){Object.keys(t).forEach(function(i){n[i]=t[i]})}),n};n.exports=t.default},function(n,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){return function(){for(var i=arguments.length,r=new Array(i),t=0;t<i;t++)r[t]=arguments[t];return u.default(function(){return n.apply(void 0,r)})}};var r,u=(r=i(4))&&r.__esModule?r:{"default":r};n.exports=t.default},function(n){function t(n,t,i){function h(){var o=Date.now()-s;o<t&&o>=0?r=setTimeout(h,t-o):(r=null,i||(e=n.apply(f,u),f=u=null))}var r,u,f,s,e,o;return null==t&&(t=100),o=function(){f=this;u=arguments;s=Date.now();var o=i&&!r;return r||(r=setTimeout(h,t)),o&&(e=n.apply(f,u),f=u=null),e},o.clear=function(){r&&(clearTimeout(r),r=null)},o.flush=function(){r&&(e=n.apply(f,u),f=u=null,clearTimeout(r),r=null)},o}t.debounce=t;n.exports=t},function(n,t){"use strict";function i(n){n.stopPropagation();document.body.removeEventListener("click",i,!0)}Object.defineProperty(t,"__esModule",{value:!0});t.default=function(){document.body.addEventListener("click",i,!0)};n.exports=t.default},function(n,t,i){"use strict";function f(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}var r,u,e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(n){var i,r;if(!n)throw new Error("fetch options missing");if(!n.url)throw new Error("fetch url missing");var t=new u.default,f=new Headers,o=new Request(n.url);return t.controller=new AbortController,n&&n.requestHeaders&&n.requestHeaders.forEach(function(n){f.append(n.key,n.value)}),i=n.responseType||"json",r={method:n.method||"GET",headers:f,mode:n.mode||"cors",credentials:n.credentials||"same-origin",cache:n.cache||"default",redirect:n.redirect||"follow",referrer:n.referrer||"client",signal:t.controller.signal},fetch(o,r).then(function(n){var i,u;return t.response=n,i=!0,n.body||(i=!1),u=n.headers.get("content-length"),null===u&&(i=!1),i?(t.onProgress=function(n){t.fireEvent("progress",n)},new Response(new ReadableStream(new e(t,u,n)),r)):n}).then(function(n){var t;if(n.ok)switch(i){case"arraybuffer":return n.arrayBuffer();case"json":return n.json();case"blob":return n.blob();case"text":return n.text();default:t="Unknown responseType: "+i}throw t||(t="HTTP error status: "+n.status),new Error(t);}).then(function(n){t.fireEvent("success",n)}).catch(function(n){t.fireEvent("error",n)}),t.fetchRequest=o,t};u=(r=i(1))&&r.__esModule?r:{"default":r};e=function(){function n(t,i,r){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n);this.instance=t;this.instance._reader=r.body.getReader();this.total=parseInt(i,10);this.loaded=0}var t,i,r;return t=n,(i=[{key:"start",value:function(n){var t=this;!function i(){t.instance._reader.read().then(function(r){var f=r.done,u=r.value;if(f)return 0===t.total&&t.instance.onProgress.call(t.instance,{loaded:t.loaded,total:t.total,lengthComputable:!1}),void n.close();t.loaded+=u.byteLength;t.instance.onProgress.call(t.instance,{loaded:t.loaded,total:t.total,lengthComputable:!(0===t.total)});n.enqueue(u);i()}).catch(function(t){n.error(t)})}()}}])&&f(t.prototype,i),r&&f(t,r),n}();n.exports=t.default},function(n,t,i){"use strict";function u(n){return n&&n.__esModule?n:{"default":n}}function f(n){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function e(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function a(n,t){return!t||"object"!==f(t)&&"function"!=typeof t?function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n):t}function o(n){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}function s(n,t){return(s=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n})(n,t)}var h;Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;var c=u(i(16)),r=function(n){var i,t,r;if(n&&n.__esModule)return n;if(i={},null!=n)for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(n,t):{},r.get||r.set?Object.defineProperty(i,t,r):i[t]=n[t]);return i.default=n,i}(i(0)),l=u(i(17));h=function(){function n(t,i){var r;return function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n),(r=a(this,o(n).call(this,t,i))).maxCanvasWidth=i.maxCanvasWidth,r.maxCanvasElementWidth=Math.round(i.maxCanvasWidth/i.pixelRatio),r.hasProgressCanvas=i.waveColor!=i.progressColor,r.halfPixel=.5/i.pixelRatio,r.canvases=[],r.progressWave=null,r.EntryClass=l.default,r.overlap=2*Math.ceil(i.pixelRatio/2),r}var t,i,u;return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}});t&&s(n,t)}(n,c.default),t=n,(i=[{key:"init",value:function(){this.createWrapper();this.createElements()}},{key:"createElements",value:function(){this.progressWave=this.wrapper.appendChild(this.style(document.createElement("wave"),{position:"absolute",zIndex:3,left:0,top:0,bottom:0,overflow:"hidden",width:"0",display:"none",boxSizing:"border-box",borderRightStyle:"solid",pointerEvents:"none"}));this.addCanvas();this.updateCursor()}},{key:"updateCursor",value:function(){this.style(this.progressWave,{borderRightWidth:this.params.cursorWidth+"px",borderRightColor:this.params.cursorColor})}},{key:"updateSize",value:function(){for(var t,i,n=this,u=Math.round(this.width/this.params.pixelRatio),r=Math.ceil(u/(this.maxCanvasElementWidth+this.overlap));this.canvases.length<r;)this.addCanvas();for(;this.canvases.length>r;)this.removeCanvas();t=this.maxCanvasWidth+this.overlap;i=this.canvases.length-1;this.canvases.forEach(function(r,u){u==i&&(t=n.width-n.maxCanvasWidth*i);n.updateDimensions(r,t,n.height);r.clearWave()})}},{key:"addCanvas",value:function(){var n=new this.EntryClass,t;n.hasProgressCanvas=this.hasProgressCanvas;n.halfPixel=this.halfPixel;t=this.maxCanvasElementWidth*this.canvases.length;n.initWave(this.wrapper.appendChild(this.style(document.createElement("canvas"),{position:"absolute",zIndex:2,left:t+"px",top:0,bottom:0,height:"100%",pointerEvents:"none"})));this.hasProgressCanvas&&n.initProgress(this.progressWave.appendChild(this.style(document.createElement("canvas"),{position:"absolute",left:t+"px",top:0,bottom:0,height:"100%"})));this.canvases.push(n)}},{key:"removeCanvas",value:function(){var n=this.canvases[this.canvases.length-1];n.wave.parentElement.removeChild(n.wave);this.hasProgressCanvas&&n.progress.parentElement.removeChild(n.progress);n&&(n.destroy(),n=null);this.canvases.pop()}},{key:"updateDimensions",value:function(n,t,i){var r=Math.round(t/this.params.pixelRatio),u=Math.round(this.width/this.params.pixelRatio);n.updateDimensions(r,u,t,i);this.style(this.progressWave,{display:"block"})}},{key:"clearWave",value:function(){this.canvases.forEach(function(n){return n.clearWave()})}},{key:"drawBars",value:function(n,t,i,r){var u=this;return this.prepareDraw(n,t,i,r,function(n){var l=n.absmax,a=n.hasMinVals,v=(n.height,n.offsetY),o=n.halfH,s=n.peaks,c,e;if(void 0!==i)for(var h=a?2:1,y=s.length/h,f=u.params.barWidth*u.params.pixelRatio,p=f+(null===u.params.barGap?Math.max(u.params.pixelRatio,~~(f/2)):Math.max(u.params.pixelRatio,u.params.barGap*u.params.pixelRatio)),w=y/u.width,b=r,t=i;t<b;t+=p)c=s[Math.floor(t*w*h)]||0,e=Math.round(c/l*o),u.fillRect(t+u.halfPixel,o-e+v,f+u.halfPixel,2*e)})}},{key:"drawWave",value:function(n,t,i,r){var u=this;return this.prepareDraw(n,t,i,r,function(n){var h=n.absmax,c=n.hasMinVals,o=(n.height,n.offsetY),s=n.halfH,f=n.peaks;if(!c){for(var e=[],l=f.length,t=0;t<l;t++)e[2*t]=f[t],e[2*t+1]=-f[t];f=e}void 0!==i&&u.drawLine(f,h,s,o,i,r);u.fillRect(0,s+o-u.halfPixel,u.width,u.halfPixel)})}},{key:"drawLine",value:function(n,t,i,r,u,f){var e=this;this.canvases.forEach(function(o){e.setFillStyles(o);o.drawLines(n,t,i,r,u,f)})}},{key:"fillRect",value:function(n,t,i,r){for(var o=Math.floor(n/this.maxCanvasWidth),s=Math.min(Math.ceil((n+i)/this.maxCanvasWidth)+1,this.canvases.length),f=o;f<s;f++){var e=this.canvases[f],h=f*this.maxCanvasWidth,u={x1:Math.max(n,f*this.maxCanvasWidth),y1:t,x2:Math.min(n+i,f*this.maxCanvasWidth+e.wave.width),y2:t+r};u.x1<u.x2&&(this.setFillStyles(e),e.fillRects(u.x1-h,u.y1,u.x2-u.x1,u.y2-u.y1))}}},{key:"prepareDraw",value:function(n,t,i,u,f){var e=this;return r.frame(function(){var o,h,c,l,a,s;if(n[0]instanceof Array){if(o=n,e.params.splitChannels)return e.setHeight(o.length*e.params.height*e.params.pixelRatio),o.forEach(function(n,t){return e.prepareDraw(n,t,i,u,f)});n=o[0]}return h=1/e.params.barHeight,e.params.normalize&&(c=r.max(n),l=r.min(n),h=-l>c?-l:c),a=[].some.call(n,function(n){return n<0}),s=e.params.height*e.params.pixelRatio,f({absmax:h,hasMinVals:a,height:s,offsetY:s*t||0,halfH:s/2,peaks:n})})()}},{key:"setFillStyles",value:function(n){n.setFillStyles(this.params.waveColor,this.params.progressColor)}},{key:"getImage",value:function(n,t,i){if("blob"===i)return Promise.all(this.canvases.map(function(r){return r.getImage(n,t,i)}));if("dataURL"===i){var r=this.canvases.map(function(r){return r.getImage(n,t,i)});return r.length>1?r:r[0]}}},{key:"updateProgress",value:function(n){this.style(this.progressWave,{width:n+"px"})}}])&&e(t.prototype,i),u&&e(t,u),n}();t.default=h;n.exports=t.default},function(n,t,i){"use strict";function u(n){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function f(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function h(n,t){return!t||"object"!==u(t)&&"function"!=typeof t?function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n):t}function e(n){return(e=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}function o(n,t){return(o=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n})(n,t)}var r,s;Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;r=function(n){var i,t,r;if(n&&n.__esModule)return n;if(i={},null!=n)for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(n,t):{},r.get||r.set?Object.defineProperty(i,t,r):i[t]=n[t]);return i.default=n,i}(i(0));s=function(){function n(t,i){var r;return function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n),(r=h(this,e(n).call(this))).container=t,r.params=i,r.width=0,r.height=i.height*r.params.pixelRatio,r.lastPos=0,r.wrapper=null,r}var t,i,u;return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}});t&&o(n,t)}(n,r.Observer),t=n,(i=[{key:"style",value:function(n,t){return r.style(n,t)}},{key:"createWrapper",value:function(){this.wrapper=this.container.appendChild(document.createElement("wave"));this.style(this.wrapper,{display:"block",position:"relative",userSelect:"none",webkitUserSelect:"none",height:this.params.height+"px"});(this.params.fillParent||this.params.scrollParent)&&this.style(this.wrapper,{width:"100%",overflowX:this.params.hideScrollbar?"hidden":"auto",overflowY:"hidden"});this.setupWrapperEvents()}},{key:"handleEvent",value:function(n,t){t||n.preventDefault();var i,r=n.targetTouches?n.targetTouches[0].clientX:n.clientX,u=this.wrapper.getBoundingClientRect(),f=this.width,e=this.getWidth();return!this.params.fillParent&&f<e?(i=(this.params.rtl?u.right-r:r-u.left)*(this.params.pixelRatio/f)||0)>1&&(i=1):i=((this.params.rtl?u.right-r:r-u.left)+this.wrapper.scrollLeft)/this.wrapper.scrollWidth||0,i}},{key:"setupWrapperEvents",value:function(){var n=this;this.wrapper.addEventListener("click",function(t){var i=n.wrapper.offsetHeight-n.wrapper.clientHeight,r;0!=i&&(r=n.wrapper.getBoundingClientRect(),t.clientY>=r.bottom-i)||n.params.interact&&n.fireEvent("click",t,n.handleEvent(t))});this.wrapper.addEventListener("scroll",function(t){return n.fireEvent("scroll",t)})}},{key:"drawPeaks",value:function(n,t,i,r){this.setWidth(t)||this.clearWave();this.params.barWidth?this.drawBars(n,0,i,r):this.drawWave(n,0,i,r)}},{key:"resetScroll",value:function(){null!==this.wrapper&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(n){var t=this.wrapper.scrollWidth*n;this.recenterOnPosition(t,!0)}},{key:"recenterOnPosition",value:function(n,t){var u=this.wrapper.scrollLeft,f=~~(this.wrapper.clientWidth/2),e=this.wrapper.scrollWidth-this.wrapper.clientWidth,i=n-f,r=i-u;0!=e&&(!t&&-f<=r&&r<f&&(i=u+(r=Math.max(-5,Math.min(5,r)))),(i=Math.max(0,Math.min(e,i)))!=u&&(this.wrapper.scrollLeft=i))}},{key:"getScrollX",value:function(){var n=0,t,i;return this.wrapper&&(t=this.params.pixelRatio,(n=Math.round(this.wrapper.scrollLeft*t),this.params.scrollParent)&&(i=~~(this.wrapper.scrollWidth*t-this.getWidth()),n=Math.min(i,Math.max(0,n)))),n}},{key:"getWidth",value:function(){return Math.round(this.container.clientWidth*this.params.pixelRatio)}},{key:"setWidth",value:function(n){return this.width!=n&&(this.width=n,this.params.fillParent||this.params.scrollParent?this.style(this.wrapper,{width:""}):this.style(this.wrapper,{width:~~(this.width/this.params.pixelRatio)+"px"}),this.updateSize(),!0)}},{key:"setHeight",value:function(n){return n!=this.height&&(this.height=n,this.style(this.wrapper,{height:~~(this.height/this.params.pixelRatio)+"px"}),this.updateSize(),!0)}},{key:"progress",value:function(n){var i=1/this.params.pixelRatio,t=Math.round(n*this.width)*i,r;(t<this.lastPos||t-this.lastPos>=i)&&((this.lastPos=t,this.params.scrollParent&&this.params.autoCenter)&&(r=~~(this.wrapper.scrollWidth*n),this.recenterOnPosition(r)),this.updateProgress(t))}},{key:"destroy",value:function(){this.unAll();this.wrapper&&(this.wrapper.parentNode==this.container&&this.container.removeChild(this.wrapper),this.wrapper=null)}},{key:"updateCursor",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawBars",value:function(){}},{key:"drawWave",value:function(){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(){}}])&&f(t.prototype,i),u&&f(t,u),n}();t.default=s;n.exports=t.default},function(n,t,i){"use strict";function f(n){return n&&n.__esModule?n:{"default":n}}function e(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}var r,u,o;Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;r=f(i(3));u=f(i(2));o=function(){function n(){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n);this.wave=null;this.waveCtx=null;this.progress=null;this.progressCtx=null;this.start=0;this.end=1;this.id=u.default(this.constructor.name.toLowerCase()+"_")}var t,i,f;return t=n,(i=[{key:"initWave",value:function(n){this.wave=n;this.waveCtx=this.wave.getContext("2d")}},{key:"initProgress",value:function(n){this.progress=n;this.progressCtx=this.progress.getContext("2d")}},{key:"updateDimensions",value:function(n,t,i,u){this.start=this.wave.offsetLeft/t||0;this.end=this.start+n/t;this.wave.width=i;this.wave.height=u;var f={width:n+"px"};r.default(this.wave,f);this.hasProgressCanvas&&(this.progress.width=i,this.progress.height=u,r.default(this.progress,f))}},{key:"clearWave",value:function(){this.waveCtx.clearRect(0,0,this.waveCtx.canvas.width,this.waveCtx.canvas.height);this.hasProgressCanvas&&this.progressCtx.clearRect(0,0,this.progressCtx.canvas.width,this.progressCtx.canvas.height)}},{key:"setFillStyles",value:function(n,t){this.waveCtx.fillStyle=n;this.hasProgressCanvas&&(this.progressCtx.fillStyle=t)}},{key:"fillRects",value:function(n,t,i,r){this.fillRectToContext(this.waveCtx,n,t,i,r);this.hasProgressCanvas&&this.fillRectToContext(this.progressCtx,n,t,i,r)}},{key:"fillRectToContext",value:function(n,t,i,r,u){n&&n.fillRect(t,i,r,u)}},{key:"drawLines",value:function(n,t,i,r,u,f){this.drawLineToContext(this.waveCtx,n,t,i,r,u,f);this.hasProgressCanvas&&this.drawLineToContext(this.progressCtx,n,t,i,r,u,f)}},{key:"drawLineToContext",value:function(n,t,i,r,u){var c;if(n){var o,l,a,p=t.length/2,e=Math.round(p*this.start),f=e,y=Math.round(p*this.end)+1,s=this.wave.width/(y-f-1),h=r+u,v=i/r;for(n.beginPath(),n.moveTo((f-e)*s,h),n.lineTo((f-e)*s,h-Math.round((t[2*f]||0)/v)),o=f;o<y;o++)l=t[2*o]||0,a=Math.round(l/v),n.lineTo((o-e)*s+this.halfPixel,h-a);for(c=y-1;c>=f;c--)l=t[2*c+1]||0,a=Math.round(l/v),n.lineTo((c-e)*s+this.halfPixel,h-a);n.lineTo((f-e)*s,h-Math.round((t[2*f+1]||0)/v));n.closePath();n.fill()}}},{key:"destroy",value:function(){this.waveCtx=null;this.wave=null;this.progressCtx=null;this.progress=null}},{key:"getImage",value:function(n,t,i){var r=this;return"blob"===i?new Promise(function(i){r.wave.toBlob(i,n,t)}):"dataURL"===i?this.wave.toDataURL(n,t):void 0}}])&&e(t.prototype,i),f&&e(t,f),n}();t.default=o;n.exports=t.default},function(n,t,i){"use strict";function o(n){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function s(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}function a(n,t){return!t||"object"!==o(t)&&"function"!=typeof t?function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n):t}function h(n,t,i){return(h="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(n,t,i){var f=function(n,t){for(;!Object.prototype.hasOwnProperty.call(n,t)&&null!==(n=u(n)););return n}(n,t),r;if(f)return r=Object.getOwnPropertyDescriptor(f,t),r.get?r.get.call(i):r.value})(n,t,i||n)}function u(n){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(n){return n.__proto__||Object.getPrototypeOf(n)})(n)}function c(n,t){return(c=Object.setPrototypeOf||function(n,t){return n.__proto__=t,n})(n,t)}var r,f,e,l;Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;f=(r=i(5))&&r.__esModule?r:{"default":r};e=function(n){var i,t,r;if(n&&n.__esModule)return n;if(i={},null!=n)for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(n,t):{},r.get||r.set?Object.defineProperty(i,t,r):i[t]=n[t]);return i.default=n,i}(i(0));l=function(){function n(t){var i;return function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n),(i=a(this,u(n).call(this,t))).params=t,i.media={currentTime:0,duration:0,paused:!0,playbackRate:1,play:function(){},pause:function(){},volume:0},i.mediaType=t.mediaType.toLowerCase(),i.elementPosition=t.elementPosition,i.peaks=null,i.playbackRate=1,i.volume=1,i.isMuted=!1,i.buffer=null,i.onPlayEnd=null,i}var t,i,r;return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}});t&&c(n,t)}(n,f.default),t=n,(i=[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate);this.createTimer()}},{key:"createTimer",value:function(){var n=this;this.on("play",function t(){n.isPaused()||(n.fireEvent("audioprocess",n.getCurrentTime()),e.frame(t)())});this.on("pause",function(){n.fireEvent("audioprocess",n.getCurrentTime())})}},{key:"load",value:function(n,t,i,r){var u=document.createElement(this.mediaType),f;u.controls=this.params.mediaControls;u.autoplay=this.params.autoplay||!1;u.preload=null==r?"auto":r;u.src=n;u.style.width="100%";f=t.querySelector(this.mediaType);f&&t.removeChild(f);t.appendChild(u);this._load(u,i)}},{key:"loadElt",value:function(n,t){n.controls=this.params.mediaControls;n.autoplay=this.params.autoplay||!1;this._load(n,t)}},{key:"_load",value:function(n,t){var i=this;"function"==typeof n.load&&n.load();n.addEventListener("error",function(){i.fireEvent("error","Error loading media element")});n.addEventListener("canplay",function(){i.fireEvent("canplay")});n.addEventListener("ended",function(){i.fireEvent("finish")});n.addEventListener("play",function(){i.fireEvent("play")});n.addEventListener("pause",function(){i.fireEvent("pause")});n.addEventListener("seeked",function(){i.fireEvent("seek")});n.addEventListener("volumechange",function(){i.isMuted=n.muted;i.volume=i.isMuted?0:n.volume;i.fireEvent("volume")});this.media=n;this.peaks=t;this.onPlayEnd=null;this.buffer=null;this.isMuted=n.muted;this.setPlaybackRate(this.playbackRate);this.setVolume(this.volume)}},{key:"isPaused",value:function(){return!this.media||this.media.paused}},{key:"getDuration",value:function(){if(this.explicitDuration)return this.explicitDuration;var n=(this.buffer||this.media).duration;return n>=1/0&&(n=this.media.seekable.end(0)),n}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"getPlaybackRate",value:function(){return this.playbackRate||this.media.playbackRate}},{key:"setPlaybackRate",value:function(n){this.playbackRate=n||1;this.media.playbackRate=this.playbackRate}},{key:"seekTo",value:function(n){null!=n&&(this.media.currentTime=n);this.clearPlayEnd()}},{key:"play",value:function(n,t){this.seekTo(n);var i=this.media.play();return t&&this.setPlayEnd(t),i}},{key:"pause",value:function(){var n;return this.media&&(n=this.media.pause()),this.clearPlayEnd(),n}},{key:"setPlayEnd",value:function(n){var t=this;this._onPlayEnd=function(i){i>=n&&(t.pause(),t.seekTo(n))};this.on("audioprocess",this._onPlayEnd)}},{key:"clearPlayEnd",value:function(){this._onPlayEnd&&(this.un("audioprocess",this._onPlayEnd),this._onPlayEnd=null)}},{key:"getPeaks",value:function(t,i,r){return this.buffer?h(u(n.prototype),"getPeaks",this).call(this,t,i,r):this.peaks||[]}},{key:"setSinkId",value:function(n){return n?this.media.setSinkId?this.media.setSinkId(n):Promise.reject(new Error("setSinkId is not supported in your browser")):Promise.reject(new Error("Invalid deviceId: "+n))}},{key:"getVolume",value:function(){return this.volume}},{key:"setVolume",value:function(n){this.volume=n;this.media.volume!==this.volume&&(this.media.volume=this.volume)}},{key:"destroy",value:function(){this.pause();this.unAll();this.params.removeMediaElementOnDestroy&&this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media);this.media=null}}])&&s(t.prototype,i),r&&s(t,r),n}();t.default=l;n.exports=t.default},function(n,t){"use strict";function i(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}Object.defineProperty(t,"__esModule",{value:!0});t.default=void 0;var r=function(){function n(){!function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}(this,n);this.clearPeakCache()}var t,r,u;return t=n,(r=[{key:"clearPeakCache",value:function(){this.peakCacheRanges=[];this.peakCacheLength=-1}},{key:"addRangeToPeakCache",value:function(n,t,i){var u,r,f;for(n!=this.peakCacheLength&&(this.clearPeakCache(),this.peakCacheLength=n),u=[],r=0;r<this.peakCacheRanges.length&&this.peakCacheRanges[r]<t;)r++;for(r%2==0&&u.push(t);r<this.peakCacheRanges.length&&this.peakCacheRanges[r]<=i;)u.push(this.peakCacheRanges[r]),r++;for(r%2==0&&u.push(i),u=u.filter(function(n,t,i){return 0==t?n!=i[t+1]:t==i.length-1?n!=i[t-1]:n!=i[t-1]&&n!=i[t+1]}),this.peakCacheRanges=this.peakCacheRanges.concat(u),this.peakCacheRanges=this.peakCacheRanges.sort(function(n,t){return n-t}).filter(function(n,t,i){return 0==t?n!=i[t+1]:t==i.length-1?n!=i[t-1]:n!=i[t-1]&&n!=i[t+1]}),f=[],r=0;r<u.length;r+=2)f.push([u[r],u[r+1]]);return f}},{key:"getCacheRanges",value:function(){for(var t=[],n=0;n<this.peakCacheRanges.length;n+=2)t.push([this.peakCacheRanges[n],this.peakCacheRanges[n+1]]);return t}}])&&i(t.prototype,r),u&&i(t,u),n}();t.default=r;n.exports=t.default}])})