narraleaf-react
Version:
A React visual novel player framework
3 lines • 373 kB
JavaScript
var Xd=Object.create;var Ra=Object.defineProperty;var Yd=Object.getOwnPropertyDescriptor;var Zd=Object.getOwnPropertyNames;var Jd=Object.getPrototypeOf,Qd=Object.prototype.hasOwnProperty;var eh=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var th=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),nh=(n,e)=>{for(var t in e)Ra(n,t,{get:e[t],enumerable:!0})},oh=(n,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Zd(e))!Qd.call(n,r)&&r!==t&&Ra(n,r,{get:()=>e[r],enumerable:!(o=Yd(e,r))||o.enumerable});return n};var Ll=(n,e,t)=>(t=n!=null?Xd(Jd(n)):{},oh(e||!n||!n.__esModule?Ra(t,"default",{value:n,enumerable:!0}):t,n));var Bc=th(Zs=>{(function(){"use strict";var n=function(){this.init()};n.prototype={init:function(){var a=this||e;return a._counter=1e3,a._html5AudioPool=[],a.html5PoolSize=10,a._codecs={},a._howls=[],a._muted=!1,a._volume=1,a._canPlayEvent="canplaythrough",a._navigator=typeof window<"u"&&window.navigator?window.navigator:null,a.masterGain=null,a.noAudio=!1,a.usingWebAudio=!0,a.autoSuspend=!0,a.ctx=null,a.autoUnlock=!0,a._setup(),a},volume:function(a){var l=this||e;if(a=parseFloat(a),l.ctx||m(),typeof a<"u"&&a>=0&&a<=1){if(l._volume=a,l._muted)return l;l.usingWebAudio&&l.masterGain.gain.setValueAtTime(a,e.ctx.currentTime);for(var p=0;p<l._howls.length;p++)if(!l._howls[p]._webAudio)for(var f=l._howls[p]._getSoundIds(),d=0;d<f.length;d++){var g=l._howls[p]._soundById(f[d]);g&&g._node&&(g._node.volume=g._volume*a)}return l}return l._volume},mute:function(a){var l=this||e;l.ctx||m(),l._muted=a,l.usingWebAudio&&l.masterGain.gain.setValueAtTime(a?0:l._volume,e.ctx.currentTime);for(var p=0;p<l._howls.length;p++)if(!l._howls[p]._webAudio)for(var f=l._howls[p]._getSoundIds(),d=0;d<f.length;d++){var g=l._howls[p]._soundById(f[d]);g&&g._node&&(g._node.muted=a?!0:g._muted)}return l},stop:function(){for(var a=this||e,l=0;l<a._howls.length;l++)a._howls[l].stop();return a},unload:function(){for(var a=this||e,l=a._howls.length-1;l>=0;l--)a._howls[l].unload();return a.usingWebAudio&&a.ctx&&typeof a.ctx.close<"u"&&(a.ctx.close(),a.ctx=null,m()),a},codecs:function(a){return(this||e)._codecs[a.replace(/^x-/,"")]},_setup:function(){var a=this||e;if(a.state=a.ctx&&a.ctx.state||"suspended",a._autoSuspend(),!a.usingWebAudio)if(typeof Audio<"u")try{var l=new Audio;typeof l.oncanplaythrough>"u"&&(a._canPlayEvent="canplay")}catch{a.noAudio=!0}else a.noAudio=!0;try{var l=new Audio;l.muted&&(a.noAudio=!0)}catch{}return a.noAudio||a._setupCodecs(),a},_setupCodecs:function(){var a=this||e,l=null;try{l=typeof Audio<"u"?new Audio:null}catch{return a}if(!l||typeof l.canPlayType!="function")return a;var p=l.canPlayType("audio/mpeg;").replace(/^no$/,""),f=a._navigator?a._navigator.userAgent:"",d=f.match(/OPR\/(\d+)/g),g=d&&parseInt(d[0].split("/")[1],10)<33,h=f.indexOf("Safari")!==-1&&f.indexOf("Chrome")===-1,T=f.match(/Version\/(.*?) /),y=h&&T&&parseInt(T[1],10)<15;return a._codecs={mp3:!!(!g&&(p||l.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!p,opus:!!l.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!l.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!l.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(l.canPlayType('audio/wav; codecs="1"')||l.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!l.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!l.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(l.canPlayType("audio/x-m4a;")||l.canPlayType("audio/m4a;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(l.canPlayType("audio/x-m4b;")||l.canPlayType("audio/m4b;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(l.canPlayType("audio/x-mp4;")||l.canPlayType("audio/mp4;")||l.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!y&&l.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!y&&l.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!l.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(l.canPlayType("audio/x-flac;")||l.canPlayType("audio/flac;")).replace(/^no$/,"")},a},_unlockAudio:function(){var a=this||e;if(!(a._audioUnlocked||!a.ctx)){a._audioUnlocked=!1,a.autoUnlock=!1,!a._mobileUnloaded&&a.ctx.sampleRate!==44100&&(a._mobileUnloaded=!0,a.unload()),a._scratchBuffer=a.ctx.createBuffer(1,1,22050);var l=function(p){for(;a._html5AudioPool.length<a.html5PoolSize;)try{var f=new Audio;f._unlocked=!0,a._releaseHtml5Audio(f)}catch{a.noAudio=!0;break}for(var d=0;d<a._howls.length;d++)if(!a._howls[d]._webAudio)for(var g=a._howls[d]._getSoundIds(),h=0;h<g.length;h++){var T=a._howls[d]._soundById(g[h]);T&&T._node&&!T._node._unlocked&&(T._node._unlocked=!0,T._node.load())}a._autoResume();var y=a.ctx.createBufferSource();y.buffer=a._scratchBuffer,y.connect(a.ctx.destination),typeof y.start>"u"?y.noteOn(0):y.start(0),typeof a.ctx.resume=="function"&&a.ctx.resume(),y.onended=function(){y.disconnect(0),a._audioUnlocked=!0,document.removeEventListener("touchstart",l,!0),document.removeEventListener("touchend",l,!0),document.removeEventListener("click",l,!0),document.removeEventListener("keydown",l,!0);for(var S=0;S<a._howls.length;S++)a._howls[S]._emit("unlock")}};return document.addEventListener("touchstart",l,!0),document.addEventListener("touchend",l,!0),document.addEventListener("click",l,!0),document.addEventListener("keydown",l,!0),a}},_obtainHtml5Audio:function(){var a=this||e;if(a._html5AudioPool.length)return a._html5AudioPool.pop();var l=new Audio().play();return l&&typeof Promise<"u"&&(l instanceof Promise||typeof l.then=="function")&&l.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(a){var l=this||e;return a._unlocked&&l._html5AudioPool.push(a),l},_autoSuspend:function(){var a=this;if(!(!a.autoSuspend||!a.ctx||typeof a.ctx.suspend>"u"||!e.usingWebAudio)){for(var l=0;l<a._howls.length;l++)if(a._howls[l]._webAudio){for(var p=0;p<a._howls[l]._sounds.length;p++)if(!a._howls[l]._sounds[p]._paused)return a}return a._suspendTimer&&clearTimeout(a._suspendTimer),a._suspendTimer=setTimeout(function(){if(a.autoSuspend){a._suspendTimer=null,a.state="suspending";var f=function(){a.state="suspended",a._resumeAfterSuspend&&(delete a._resumeAfterSuspend,a._autoResume())};a.ctx.suspend().then(f,f)}},3e4),a}},_autoResume:function(){var a=this;if(!(!a.ctx||typeof a.ctx.resume>"u"||!e.usingWebAudio))return a.state==="running"&&a.ctx.state!=="interrupted"&&a._suspendTimer?(clearTimeout(a._suspendTimer),a._suspendTimer=null):a.state==="suspended"||a.state==="running"&&a.ctx.state==="interrupted"?(a.ctx.resume().then(function(){a.state="running";for(var l=0;l<a._howls.length;l++)a._howls[l]._emit("resume")}),a._suspendTimer&&(clearTimeout(a._suspendTimer),a._suspendTimer=null)):a.state==="suspending"&&(a._resumeAfterSuspend=!0),a}};var e=new n,t=function(a){var l=this;if(!a.src||a.src.length===0){console.error("An array of source files must be passed with any new Howl.");return}l.init(a)};t.prototype={init:function(a){var l=this;return e.ctx||m(),l._autoplay=a.autoplay||!1,l._format=typeof a.format!="string"?a.format:[a.format],l._html5=a.html5||!1,l._muted=a.mute||!1,l._loop=a.loop||!1,l._pool=a.pool||5,l._preload=typeof a.preload=="boolean"||a.preload==="metadata"?a.preload:!0,l._rate=a.rate||1,l._sprite=a.sprite||{},l._src=typeof a.src!="string"?a.src:[a.src],l._volume=a.volume!==void 0?a.volume:1,l._xhr={method:a.xhr&&a.xhr.method?a.xhr.method:"GET",headers:a.xhr&&a.xhr.headers?a.xhr.headers:null,withCredentials:a.xhr&&a.xhr.withCredentials?a.xhr.withCredentials:!1},l._duration=0,l._state="unloaded",l._sounds=[],l._endTimers={},l._queue=[],l._playLock=!1,l._onend=a.onend?[{fn:a.onend}]:[],l._onfade=a.onfade?[{fn:a.onfade}]:[],l._onload=a.onload?[{fn:a.onload}]:[],l._onloaderror=a.onloaderror?[{fn:a.onloaderror}]:[],l._onplayerror=a.onplayerror?[{fn:a.onplayerror}]:[],l._onpause=a.onpause?[{fn:a.onpause}]:[],l._onplay=a.onplay?[{fn:a.onplay}]:[],l._onstop=a.onstop?[{fn:a.onstop}]:[],l._onmute=a.onmute?[{fn:a.onmute}]:[],l._onvolume=a.onvolume?[{fn:a.onvolume}]:[],l._onrate=a.onrate?[{fn:a.onrate}]:[],l._onseek=a.onseek?[{fn:a.onseek}]:[],l._onunlock=a.onunlock?[{fn:a.onunlock}]:[],l._onresume=[],l._webAudio=e.usingWebAudio&&!l._html5,typeof e.ctx<"u"&&e.ctx&&e.autoUnlock&&e._unlockAudio(),e._howls.push(l),l._autoplay&&l._queue.push({event:"play",action:function(){l.play()}}),l._preload&&l._preload!=="none"&&l.load(),l},load:function(){var a=this,l=null;if(e.noAudio){a._emit("loaderror",null,"No audio support.");return}typeof a._src=="string"&&(a._src=[a._src]);for(var p=0;p<a._src.length;p++){var f,d;if(a._format&&a._format[p])f=a._format[p];else{if(d=a._src[p],typeof d!="string"){a._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}f=/^data:audio\/([^;,]+);/i.exec(d),f||(f=/\.([^.]+)$/.exec(d.split("?",1)[0])),f&&(f=f[1].toLowerCase())}if(f||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),f&&e.codecs(f)){l=a._src[p];break}}if(!l){a._emit("loaderror",null,"No codec support for selected audio sources.");return}return a._src=l,a._state="loading",window.location.protocol==="https:"&&l.slice(0,5)==="http:"&&(a._html5=!0,a._webAudio=!1),new o(a),a._webAudio&&i(a),a},play:function(a,l){var p=this,f=null;if(typeof a=="number")f=a,a=null;else{if(typeof a=="string"&&p._state==="loaded"&&!p._sprite[a])return null;if(typeof a>"u"&&(a="__default",!p._playLock)){for(var d=0,g=0;g<p._sounds.length;g++)p._sounds[g]._paused&&!p._sounds[g]._ended&&(d++,f=p._sounds[g]._id);d===1?a=null:f=null}}var h=f?p._soundById(f):p._inactiveSound();if(!h)return null;if(f&&!a&&(a=h._sprite||"__default"),p._state!=="loaded"){h._sprite=a,h._ended=!1;var T=h._id;return p._queue.push({event:"play",action:function(){p.play(T)}}),T}if(f&&!h._paused)return l||p._loadQueue("play"),h._id;p._webAudio&&e._autoResume();var y=Math.max(0,h._seek>0?h._seek:p._sprite[a][0]/1e3),S=Math.max(0,(p._sprite[a][0]+p._sprite[a][1])/1e3-y),b=S*1e3/Math.abs(h._rate),x=p._sprite[a][0]/1e3,C=(p._sprite[a][0]+p._sprite[a][1])/1e3;h._sprite=a,h._ended=!1;var G=function(){h._paused=!1,h._seek=y,h._start=x,h._stop=C,h._loop=!!(h._loop||p._sprite[a][2])};if(y>=C){p._ended(h);return}var A=h._node;if(p._webAudio){var D=function(){p._playLock=!1,G(),p._refreshBuffer(h);var X=h._muted||p._muted?0:h._volume;A.gain.setValueAtTime(X,e.ctx.currentTime),h._playStart=e.ctx.currentTime,typeof A.bufferSource.start>"u"?h._loop?A.bufferSource.noteGrainOn(0,y,86400):A.bufferSource.noteGrainOn(0,y,S):h._loop?A.bufferSource.start(0,y,86400):A.bufferSource.start(0,y,S),b!==1/0&&(p._endTimers[h._id]=setTimeout(p._ended.bind(p,h),b)),l||setTimeout(function(){p._emit("play",h._id),p._loadQueue()},0)};e.state==="running"&&e.ctx.state!=="interrupted"?D():(p._playLock=!0,p.once("resume",D),p._clearTimer(h._id))}else{var z=function(){A.currentTime=y,A.muted=h._muted||p._muted||e._muted||A.muted,A.volume=h._volume*e.volume(),A.playbackRate=h._rate;try{var X=A.play();if(X&&typeof Promise<"u"&&(X instanceof Promise||typeof X.then=="function")?(p._playLock=!0,G(),X.then(function(){p._playLock=!1,A._unlocked=!0,l?p._loadQueue():p._emit("play",h._id)}).catch(function(){p._playLock=!1,p._emit("playerror",h._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),h._ended=!0,h._paused=!0})):l||(p._playLock=!1,G(),p._emit("play",h._id)),A.playbackRate=h._rate,A.paused){p._emit("playerror",h._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}a!=="__default"||h._loop?p._endTimers[h._id]=setTimeout(p._ended.bind(p,h),b):(p._endTimers[h._id]=function(){p._ended(h),A.removeEventListener("ended",p._endTimers[h._id],!1)},A.addEventListener("ended",p._endTimers[h._id],!1))}catch(V){p._emit("playerror",h._id,V)}};A.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(A.src=p._src,A.load());var Z=window&&window.ejecta||!A.readyState&&e._navigator.isCocoonJS;if(A.readyState>=3||Z)z();else{p._playLock=!0,p._state="loading";var B=function(){p._state="loaded",z(),A.removeEventListener(e._canPlayEvent,B,!1)};A.addEventListener(e._canPlayEvent,B,!1),p._clearTimer(h._id)}}return h._id},pause:function(a){var l=this;if(l._state!=="loaded"||l._playLock)return l._queue.push({event:"pause",action:function(){l.pause(a)}}),l;for(var p=l._getSoundIds(a),f=0;f<p.length;f++){l._clearTimer(p[f]);var d=l._soundById(p[f]);if(d&&!d._paused&&(d._seek=l.seek(p[f]),d._rateSeek=0,d._paused=!0,l._stopFade(p[f]),d._node))if(l._webAudio){if(!d._node.bufferSource)continue;typeof d._node.bufferSource.stop>"u"?d._node.bufferSource.noteOff(0):d._node.bufferSource.stop(0),l._cleanBuffer(d._node)}else(!isNaN(d._node.duration)||d._node.duration===1/0)&&d._node.pause();arguments[1]||l._emit("pause",d?d._id:null)}return l},stop:function(a,l){var p=this;if(p._state!=="loaded"||p._playLock)return p._queue.push({event:"stop",action:function(){p.stop(a)}}),p;for(var f=p._getSoundIds(a),d=0;d<f.length;d++){p._clearTimer(f[d]);var g=p._soundById(f[d]);g&&(g._seek=g._start||0,g._rateSeek=0,g._paused=!0,g._ended=!0,p._stopFade(f[d]),g._node&&(p._webAudio?g._node.bufferSource&&(typeof g._node.bufferSource.stop>"u"?g._node.bufferSource.noteOff(0):g._node.bufferSource.stop(0),p._cleanBuffer(g._node)):(!isNaN(g._node.duration)||g._node.duration===1/0)&&(g._node.currentTime=g._start||0,g._node.pause(),g._node.duration===1/0&&p._clearSound(g._node))),l||p._emit("stop",g._id))}return p},mute:function(a,l){var p=this;if(p._state!=="loaded"||p._playLock)return p._queue.push({event:"mute",action:function(){p.mute(a,l)}}),p;if(typeof l>"u")if(typeof a=="boolean")p._muted=a;else return p._muted;for(var f=p._getSoundIds(l),d=0;d<f.length;d++){var g=p._soundById(f[d]);g&&(g._muted=a,g._interval&&p._stopFade(g._id),p._webAudio&&g._node?g._node.gain.setValueAtTime(a?0:g._volume,e.ctx.currentTime):g._node&&(g._node.muted=e._muted?!0:a),p._emit("mute",g._id))}return p},volume:function(){var a=this,l=arguments,p,f;if(l.length===0)return a._volume;if(l.length===1||l.length===2&&typeof l[1]>"u"){var d=a._getSoundIds(),g=d.indexOf(l[0]);g>=0?f=parseInt(l[0],10):p=parseFloat(l[0])}else l.length>=2&&(p=parseFloat(l[0]),f=parseInt(l[1],10));var h;if(typeof p<"u"&&p>=0&&p<=1){if(a._state!=="loaded"||a._playLock)return a._queue.push({event:"volume",action:function(){a.volume.apply(a,l)}}),a;typeof f>"u"&&(a._volume=p),f=a._getSoundIds(f);for(var T=0;T<f.length;T++)h=a._soundById(f[T]),h&&(h._volume=p,l[2]||a._stopFade(f[T]),a._webAudio&&h._node&&!h._muted?h._node.gain.setValueAtTime(p,e.ctx.currentTime):h._node&&!h._muted&&(h._node.volume=p*e.volume()),a._emit("volume",h._id))}else return h=f?a._soundById(f):a._sounds[0],h?h._volume:0;return a},fade:function(a,l,p,f){var d=this;if(d._state!=="loaded"||d._playLock)return d._queue.push({event:"fade",action:function(){d.fade(a,l,p,f)}}),d;a=Math.min(Math.max(0,parseFloat(a)),1),l=Math.min(Math.max(0,parseFloat(l)),1),p=parseFloat(p),d.volume(a,f);for(var g=d._getSoundIds(f),h=0;h<g.length;h++){var T=d._soundById(g[h]);if(T){if(f||d._stopFade(g[h]),d._webAudio&&!T._muted){var y=e.ctx.currentTime,S=y+p/1e3;T._volume=a,T._node.gain.setValueAtTime(a,y),T._node.gain.linearRampToValueAtTime(l,S)}d._startFadeInterval(T,a,l,p,g[h],typeof f>"u")}}return d},_startFadeInterval:function(a,l,p,f,d,g){var h=this,T=l,y=p-l,S=Math.abs(y/.01),b=Math.max(4,S>0?f/S:f),x=Date.now();a._fadeTo=p,a._interval=setInterval(function(){var C=(Date.now()-x)/f;x=Date.now(),T+=y*C,T=Math.round(T*100)/100,y<0?T=Math.max(p,T):T=Math.min(p,T),h._webAudio?a._volume=T:h.volume(T,a._id,!0),g&&(h._volume=T),(p<l&&T<=p||p>l&&T>=p)&&(clearInterval(a._interval),a._interval=null,a._fadeTo=null,h.volume(p,a._id),h._emit("fade",a._id))},b)},_stopFade:function(a){var l=this,p=l._soundById(a);return p&&p._interval&&(l._webAudio&&p._node.gain.cancelScheduledValues(e.ctx.currentTime),clearInterval(p._interval),p._interval=null,l.volume(p._fadeTo,a),p._fadeTo=null,l._emit("fade",a)),l},loop:function(){var a=this,l=arguments,p,f,d;if(l.length===0)return a._loop;if(l.length===1)if(typeof l[0]=="boolean")p=l[0],a._loop=p;else return d=a._soundById(parseInt(l[0],10)),d?d._loop:!1;else l.length===2&&(p=l[0],f=parseInt(l[1],10));for(var g=a._getSoundIds(f),h=0;h<g.length;h++)d=a._soundById(g[h]),d&&(d._loop=p,a._webAudio&&d._node&&d._node.bufferSource&&(d._node.bufferSource.loop=p,p&&(d._node.bufferSource.loopStart=d._start||0,d._node.bufferSource.loopEnd=d._stop,a.playing(g[h])&&(a.pause(g[h],!0),a.play(g[h],!0)))));return a},rate:function(){var a=this,l=arguments,p,f;if(l.length===0)f=a._sounds[0]._id;else if(l.length===1){var d=a._getSoundIds(),g=d.indexOf(l[0]);g>=0?f=parseInt(l[0],10):p=parseFloat(l[0])}else l.length===2&&(p=parseFloat(l[0]),f=parseInt(l[1],10));var h;if(typeof p=="number"){if(a._state!=="loaded"||a._playLock)return a._queue.push({event:"rate",action:function(){a.rate.apply(a,l)}}),a;typeof f>"u"&&(a._rate=p),f=a._getSoundIds(f);for(var T=0;T<f.length;T++)if(h=a._soundById(f[T]),h){a.playing(f[T])&&(h._rateSeek=a.seek(f[T]),h._playStart=a._webAudio?e.ctx.currentTime:h._playStart),h._rate=p,a._webAudio&&h._node&&h._node.bufferSource?h._node.bufferSource.playbackRate.setValueAtTime(p,e.ctx.currentTime):h._node&&(h._node.playbackRate=p);var y=a.seek(f[T]),S=(a._sprite[h._sprite][0]+a._sprite[h._sprite][1])/1e3-y,b=S*1e3/Math.abs(h._rate);(a._endTimers[f[T]]||!h._paused)&&(a._clearTimer(f[T]),a._endTimers[f[T]]=setTimeout(a._ended.bind(a,h),b)),a._emit("rate",h._id)}}else return h=a._soundById(f),h?h._rate:a._rate;return a},seek:function(){var a=this,l=arguments,p,f;if(l.length===0)a._sounds.length&&(f=a._sounds[0]._id);else if(l.length===1){var d=a._getSoundIds(),g=d.indexOf(l[0]);g>=0?f=parseInt(l[0],10):a._sounds.length&&(f=a._sounds[0]._id,p=parseFloat(l[0]))}else l.length===2&&(p=parseFloat(l[0]),f=parseInt(l[1],10));if(typeof f>"u")return 0;if(typeof p=="number"&&(a._state!=="loaded"||a._playLock))return a._queue.push({event:"seek",action:function(){a.seek.apply(a,l)}}),a;var h=a._soundById(f);if(h)if(typeof p=="number"&&p>=0){var T=a.playing(f);T&&a.pause(f,!0),h._seek=p,h._ended=!1,a._clearTimer(f),!a._webAudio&&h._node&&!isNaN(h._node.duration)&&(h._node.currentTime=p);var y=function(){T&&a.play(f,!0),a._emit("seek",f)};if(T&&!a._webAudio){var S=function(){a._playLock?setTimeout(S,0):y()};setTimeout(S,0)}else y()}else if(a._webAudio){var b=a.playing(f)?e.ctx.currentTime-h._playStart:0,x=h._rateSeek?h._rateSeek-h._seek:0;return h._seek+(x+b*Math.abs(h._rate))}else return h._node.currentTime;return a},playing:function(a){var l=this;if(typeof a=="number"){var p=l._soundById(a);return p?!p._paused:!1}for(var f=0;f<l._sounds.length;f++)if(!l._sounds[f]._paused)return!0;return!1},duration:function(a){var l=this,p=l._duration,f=l._soundById(a);return f&&(p=l._sprite[f._sprite][1]/1e3),p},state:function(){return this._state},unload:function(){for(var a=this,l=a._sounds,p=0;p<l.length;p++)l[p]._paused||a.stop(l[p]._id),a._webAudio||(a._clearSound(l[p]._node),l[p]._node.removeEventListener("error",l[p]._errorFn,!1),l[p]._node.removeEventListener(e._canPlayEvent,l[p]._loadFn,!1),l[p]._node.removeEventListener("ended",l[p]._endFn,!1),e._releaseHtml5Audio(l[p]._node)),delete l[p]._node,a._clearTimer(l[p]._id);var f=e._howls.indexOf(a);f>=0&&e._howls.splice(f,1);var d=!0;for(p=0;p<e._howls.length;p++)if(e._howls[p]._src===a._src||a._src.indexOf(e._howls[p]._src)>=0){d=!1;break}return r&&d&&delete r[a._src],e.noAudio=!1,a._state="unloaded",a._sounds=[],a=null,null},on:function(a,l,p,f){var d=this,g=d["_on"+a];return typeof l=="function"&&g.push(f?{id:p,fn:l,once:f}:{id:p,fn:l}),d},off:function(a,l,p){var f=this,d=f["_on"+a],g=0;if(typeof l=="number"&&(p=l,l=null),l||p)for(g=0;g<d.length;g++){var h=p===d[g].id;if(l===d[g].fn&&h||!l&&h){d.splice(g,1);break}}else if(a)f["_on"+a]=[];else{var T=Object.keys(f);for(g=0;g<T.length;g++)T[g].indexOf("_on")===0&&Array.isArray(f[T[g]])&&(f[T[g]]=[])}return f},once:function(a,l,p){var f=this;return f.on(a,l,p,1),f},_emit:function(a,l,p){for(var f=this,d=f["_on"+a],g=d.length-1;g>=0;g--)(!d[g].id||d[g].id===l||a==="load")&&(setTimeout(function(h){h.call(this,l,p)}.bind(f,d[g].fn),0),d[g].once&&f.off(a,d[g].fn,d[g].id));return f._loadQueue(a),f},_loadQueue:function(a){var l=this;if(l._queue.length>0){var p=l._queue[0];p.event===a&&(l._queue.shift(),l._loadQueue()),a||p.action()}return l},_ended:function(a){var l=this,p=a._sprite;if(!l._webAudio&&a._node&&!a._node.paused&&!a._node.ended&&a._node.currentTime<a._stop)return setTimeout(l._ended.bind(l,a),100),l;var f=!!(a._loop||l._sprite[p][2]);if(l._emit("end",a._id),!l._webAudio&&f&&l.stop(a._id,!0).play(a._id),l._webAudio&&f){l._emit("play",a._id),a._seek=a._start||0,a._rateSeek=0,a._playStart=e.ctx.currentTime;var d=(a._stop-a._start)*1e3/Math.abs(a._rate);l._endTimers[a._id]=setTimeout(l._ended.bind(l,a),d)}return l._webAudio&&!f&&(a._paused=!0,a._ended=!0,a._seek=a._start||0,a._rateSeek=0,l._clearTimer(a._id),l._cleanBuffer(a._node),e._autoSuspend()),!l._webAudio&&!f&&l.stop(a._id,!0),l},_clearTimer:function(a){var l=this;if(l._endTimers[a]){if(typeof l._endTimers[a]!="function")clearTimeout(l._endTimers[a]);else{var p=l._soundById(a);p&&p._node&&p._node.removeEventListener("ended",l._endTimers[a],!1)}delete l._endTimers[a]}return l},_soundById:function(a){for(var l=this,p=0;p<l._sounds.length;p++)if(a===l._sounds[p]._id)return l._sounds[p];return null},_inactiveSound:function(){var a=this;a._drain();for(var l=0;l<a._sounds.length;l++)if(a._sounds[l]._ended)return a._sounds[l].reset();return new o(a)},_drain:function(){var a=this,l=a._pool,p=0,f=0;if(!(a._sounds.length<l)){for(f=0;f<a._sounds.length;f++)a._sounds[f]._ended&&p++;for(f=a._sounds.length-1;f>=0;f--){if(p<=l)return;a._sounds[f]._ended&&(a._webAudio&&a._sounds[f]._node&&a._sounds[f]._node.disconnect(0),a._sounds.splice(f,1),p--)}}},_getSoundIds:function(a){var l=this;if(typeof a>"u"){for(var p=[],f=0;f<l._sounds.length;f++)p.push(l._sounds[f]._id);return p}else return[a]},_refreshBuffer:function(a){var l=this;return a._node.bufferSource=e.ctx.createBufferSource(),a._node.bufferSource.buffer=r[l._src],a._panner?a._node.bufferSource.connect(a._panner):a._node.bufferSource.connect(a._node),a._node.bufferSource.loop=a._loop,a._loop&&(a._node.bufferSource.loopStart=a._start||0,a._node.bufferSource.loopEnd=a._stop||0),a._node.bufferSource.playbackRate.setValueAtTime(a._rate,e.ctx.currentTime),l},_cleanBuffer:function(a){var l=this,p=e._navigator&&e._navigator.vendor.indexOf("Apple")>=0;if(!a.bufferSource)return l;if(e._scratchBuffer&&a.bufferSource&&(a.bufferSource.onended=null,a.bufferSource.disconnect(0),p))try{a.bufferSource.buffer=e._scratchBuffer}catch{}return a.bufferSource=null,l},_clearSound:function(a){var l=/MSIE |Trident\//.test(e._navigator&&e._navigator.userAgent);l||(a.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var o=function(a){this._parent=a,this.init()};o.prototype={init:function(){var a=this,l=a._parent;return a._muted=l._muted,a._loop=l._loop,a._volume=l._volume,a._rate=l._rate,a._seek=0,a._paused=!0,a._ended=!0,a._sprite="__default",a._id=++e._counter,l._sounds.push(a),a.create(),a},create:function(){var a=this,l=a._parent,p=e._muted||a._muted||a._parent._muted?0:a._volume;return l._webAudio?(a._node=typeof e.ctx.createGain>"u"?e.ctx.createGainNode():e.ctx.createGain(),a._node.gain.setValueAtTime(p,e.ctx.currentTime),a._node.paused=!0,a._node.connect(e.masterGain)):e.noAudio||(a._node=e._obtainHtml5Audio(),a._errorFn=a._errorListener.bind(a),a._node.addEventListener("error",a._errorFn,!1),a._loadFn=a._loadListener.bind(a),a._node.addEventListener(e._canPlayEvent,a._loadFn,!1),a._endFn=a._endListener.bind(a),a._node.addEventListener("ended",a._endFn,!1),a._node.src=l._src,a._node.preload=l._preload===!0?"auto":l._preload,a._node.volume=p*e.volume(),a._node.load()),a},reset:function(){var a=this,l=a._parent;return a._muted=l._muted,a._loop=l._loop,a._volume=l._volume,a._rate=l._rate,a._seek=0,a._rateSeek=0,a._paused=!0,a._ended=!0,a._sprite="__default",a._id=++e._counter,a},_errorListener:function(){var a=this;a._parent._emit("loaderror",a._id,a._node.error?a._node.error.code:0),a._node.removeEventListener("error",a._errorFn,!1)},_loadListener:function(){var a=this,l=a._parent;l._duration=Math.ceil(a._node.duration*10)/10,Object.keys(l._sprite).length===0&&(l._sprite={__default:[0,l._duration*1e3]}),l._state!=="loaded"&&(l._state="loaded",l._emit("load"),l._loadQueue()),a._node.removeEventListener(e._canPlayEvent,a._loadFn,!1)},_endListener:function(){var a=this,l=a._parent;l._duration===1/0&&(l._duration=Math.ceil(a._node.duration*10)/10,l._sprite.__default[1]===1/0&&(l._sprite.__default[1]=l._duration*1e3),l._ended(a)),a._node.removeEventListener("ended",a._endFn,!1)}};var r={},i=function(a){var l=a._src;if(r[l]){a._duration=r[l].duration,u(a);return}if(/^data:[^;]+;base64,/.test(l)){for(var p=atob(l.split(",")[1]),f=new Uint8Array(p.length),d=0;d<p.length;++d)f[d]=p.charCodeAt(d);c(f.buffer,a)}else{var g=new XMLHttpRequest;g.open(a._xhr.method,l,!0),g.withCredentials=a._xhr.withCredentials,g.responseType="arraybuffer",a._xhr.headers&&Object.keys(a._xhr.headers).forEach(function(h){g.setRequestHeader(h,a._xhr.headers[h])}),g.onload=function(){var h=(g.status+"")[0];if(h!=="0"&&h!=="2"&&h!=="3"){a._emit("loaderror",null,"Failed loading audio file with status: "+g.status+".");return}c(g.response,a)},g.onerror=function(){a._webAudio&&(a._html5=!0,a._webAudio=!1,a._sounds=[],delete r[l],a.load())},s(g)}},s=function(a){try{a.send()}catch{a.onerror()}},c=function(a,l){var p=function(){l._emit("loaderror",null,"Decoding audio data failed.")},f=function(d){d&&l._sounds.length>0?(r[l._src]=d,u(l,d)):p()};typeof Promise<"u"&&e.ctx.decodeAudioData.length===1?e.ctx.decodeAudioData(a).then(f).catch(p):e.ctx.decodeAudioData(a,f,p)},u=function(a,l){l&&!a._duration&&(a._duration=l.duration),Object.keys(a._sprite).length===0&&(a._sprite={__default:[0,a._duration*1e3]}),a._state!=="loaded"&&(a._state="loaded",a._emit("load"),a._loadQueue())},m=function(){if(e.usingWebAudio){try{typeof AudioContext<"u"?e.ctx=new AudioContext:typeof webkitAudioContext<"u"?e.ctx=new webkitAudioContext:e.usingWebAudio=!1}catch{e.usingWebAudio=!1}e.ctx||(e.usingWebAudio=!1);var a=/iP(hone|od|ad)/.test(e._navigator&&e._navigator.platform),l=e._navigator&&e._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),p=l?parseInt(l[1],10):null;if(a&&p&&p<9){var f=/safari/.test(e._navigator&&e._navigator.userAgent.toLowerCase());e._navigator&&!f&&(e.usingWebAudio=!1)}e.usingWebAudio&&(e.masterGain=typeof e.ctx.createGain>"u"?e.ctx.createGainNode():e.ctx.createGain(),e.masterGain.gain.setValueAtTime(e._muted?0:e._volume,e.ctx.currentTime),e.masterGain.connect(e.ctx.destination)),e._setup()}};typeof define=="function"&&define.amd&&define([],function(){return{Howler:e,Howl:t}}),typeof Zs<"u"&&(Zs.Howler=e,Zs.Howl=t),typeof global<"u"?(global.HowlerGlobal=n,global.Howler=e,global.Howl=t,global.Sound=o):typeof window<"u"&&(window.HowlerGlobal=n,window.Howler=e,window.Howl=t,window.Sound=o)})();(function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var o=t._howls.length-1;o>=0;o--)t._howls[o].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,o){var r=this;if(!r.ctx||!r.ctx.listener)return r;if(t=typeof t!="number"?r._pos[1]:t,o=typeof o!="number"?r._pos[2]:o,typeof e=="number")r._pos=[e,t,o],typeof r.ctx.listener.positionX<"u"?(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1)):r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]);else return r._pos;return r},HowlerGlobal.prototype.orientation=function(e,t,o,r,i,s){var c=this;if(!c.ctx||!c.ctx.listener)return c;var u=c._orientation;if(t=typeof t!="number"?u[1]:t,o=typeof o!="number"?u[2]:o,r=typeof r!="number"?u[3]:r,i=typeof i!="number"?u[4]:i,s=typeof s!="number"?u[5]:s,typeof e=="number")c._orientation=[e,t,o,r,i,s],typeof c.ctx.listener.forwardX<"u"?(c.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),c.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),c.ctx.listener.forwardZ.setTargetAtTime(o,Howler.ctx.currentTime,.1),c.ctx.listener.upX.setTargetAtTime(r,Howler.ctx.currentTime,.1),c.ctx.listener.upY.setTargetAtTime(i,Howler.ctx.currentTime,.1),c.ctx.listener.upZ.setTargetAtTime(s,Howler.ctx.currentTime,.1)):c.ctx.listener.setOrientation(e,t,o,r,i,s);else return u;return c},Howl.prototype.init=function(e){return function(t){var o=this;return o._orientation=t.orientation||[1,0,0],o._stereo=t.stereo||null,o._pos=t.pos||null,o._pannerAttr={coneInnerAngle:typeof t.coneInnerAngle<"u"?t.coneInnerAngle:360,coneOuterAngle:typeof t.coneOuterAngle<"u"?t.coneOuterAngle:360,coneOuterGain:typeof t.coneOuterGain<"u"?t.coneOuterGain:0,distanceModel:typeof t.distanceModel<"u"?t.distanceModel:"inverse",maxDistance:typeof t.maxDistance<"u"?t.maxDistance:1e4,panningModel:typeof t.panningModel<"u"?t.panningModel:"HRTF",refDistance:typeof t.refDistance<"u"?t.refDistance:1,rolloffFactor:typeof t.rolloffFactor<"u"?t.rolloffFactor:1},o._onstereo=t.onstereo?[{fn:t.onstereo}]:[],o._onpos=t.onpos?[{fn:t.onpos}]:[],o._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}}(Howl.prototype.init),Howl.prototype.stereo=function(e,t){var o=this;if(!o._webAudio)return o;if(o._state!=="loaded")return o._queue.push({event:"stereo",action:function(){o.stereo(e,t)}}),o;var r=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof t>"u")if(typeof e=="number")o._stereo=e,o._pos=[e,0,0];else return o._stereo;for(var i=o._getSoundIds(t),s=0;s<i.length;s++){var c=o._soundById(i[s]);if(c)if(typeof e=="number")c._stereo=e,c._pos=[e,0,0],c._node&&(c._pannerAttr.panningModel="equalpower",(!c._panner||!c._panner.pan)&&n(c,r),r==="spatial"?typeof c._panner.positionX<"u"?(c._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),c._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),c._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):c._panner.setPosition(e,0,0):c._panner.pan.setValueAtTime(e,Howler.ctx.currentTime)),o._emit("stereo",c._id);else return c._stereo}return o},Howl.prototype.pos=function(e,t,o,r){var i=this;if(!i._webAudio)return i;if(i._state!=="loaded")return i._queue.push({event:"pos",action:function(){i.pos(e,t,o,r)}}),i;if(t=typeof t!="number"?0:t,o=typeof o!="number"?-.5:o,typeof r>"u")if(typeof e=="number")i._pos=[e,t,o];else return i._pos;for(var s=i._getSoundIds(r),c=0;c<s.length;c++){var u=i._soundById(s[c]);if(u)if(typeof e=="number")u._pos=[e,t,o],u._node&&((!u._panner||u._panner.pan)&&n(u,"spatial"),typeof u._panner.positionX<"u"?(u._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),u._panner.positionY.setValueAtTime(t,Howler.ctx.currentTime),u._panner.positionZ.setValueAtTime(o,Howler.ctx.currentTime)):u._panner.setPosition(e,t,o)),i._emit("pos",u._id);else return u._pos}return i},Howl.prototype.orientation=function(e,t,o,r){var i=this;if(!i._webAudio)return i;if(i._state!=="loaded")return i._queue.push({event:"orientation",action:function(){i.orientation(e,t,o,r)}}),i;if(t=typeof t!="number"?i._orientation[1]:t,o=typeof o!="number"?i._orientation[2]:o,typeof r>"u")if(typeof e=="number")i._orientation=[e,t,o];else return i._orientation;for(var s=i._getSoundIds(r),c=0;c<s.length;c++){var u=i._soundById(s[c]);if(u)if(typeof e=="number")u._orientation=[e,t,o],u._node&&(u._panner||(u._pos||(u._pos=i._pos||[0,0,-.5]),n(u,"spatial")),typeof u._panner.orientationX<"u"?(u._panner.orientationX.setValueAtTime(e,Howler.ctx.currentTime),u._panner.orientationY.setValueAtTime(t,Howler.ctx.currentTime),u._panner.orientationZ.setValueAtTime(o,Howler.ctx.currentTime)):u._panner.setOrientation(e,t,o)),i._emit("orientation",u._id);else return u._orientation}return i},Howl.prototype.pannerAttr=function(){var e=this,t=arguments,o,r,i;if(!e._webAudio)return e;if(t.length===0)return e._pannerAttr;if(t.length===1)if(typeof t[0]=="object")o=t[0],typeof r>"u"&&(o.pannerAttr||(o.pannerAttr={coneInnerAngle:o.coneInnerAngle,coneOuterAngle:o.coneOuterAngle,coneOuterGain:o.coneOuterGain,distanceModel:o.distanceModel,maxDistance:o.maxDistance,refDistance:o.refDistance,rolloffFactor:o.rolloffFactor,panningModel:o.panningModel}),e._pannerAttr={coneInnerAngle:typeof o.pannerAttr.coneInnerAngle<"u"?o.pannerAttr.coneInnerAngle:e._coneInnerAngle,coneOuterAngle:typeof o.pannerAttr.coneOuterAngle<"u"?o.pannerAttr.coneOuterAngle:e._coneOuterAngle,coneOuterGain:typeof o.pannerAttr.coneOuterGain<"u"?o.pannerAttr.coneOuterGain:e._coneOuterGain,distanceModel:typeof o.pannerAttr.distanceModel<"u"?o.pannerAttr.distanceModel:e._distanceModel,maxDistance:typeof o.pannerAttr.maxDistance<"u"?o.pannerAttr.maxDistance:e._maxDistance,refDistance:typeof o.pannerAttr.refDistance<"u"?o.pannerAttr.refDistance:e._refDistance,rolloffFactor:typeof o.pannerAttr.rolloffFactor<"u"?o.pannerAttr.rolloffFactor:e._rolloffFactor,panningModel:typeof o.pannerAttr.panningModel<"u"?o.pannerAttr.panningModel:e._panningModel});else return i=e._soundById(parseInt(t[0],10)),i?i._pannerAttr:e._pannerAttr;else t.length===2&&(o=t[0],r=parseInt(t[1],10));for(var s=e._getSoundIds(r),c=0;c<s.length;c++)if(i=e._soundById(s[c]),i){var u=i._pannerAttr;u={coneInnerAngle:typeof o.coneInnerAngle<"u"?o.coneInnerAngle:u.coneInnerAngle,coneOuterAngle:typeof o.coneOuterAngle<"u"?o.coneOuterAngle:u.coneOuterAngle,coneOuterGain:typeof o.coneOuterGain<"u"?o.coneOuterGain:u.coneOuterGain,distanceModel:typeof o.distanceModel<"u"?o.distanceModel:u.distanceModel,maxDistance:typeof o.maxDistance<"u"?o.maxDistance:u.maxDistance,refDistance:typeof o.refDistance<"u"?o.refDistance:u.refDistance,rolloffFactor:typeof o.rolloffFactor<"u"?o.rolloffFactor:u.rolloffFactor,panningModel:typeof o.panningModel<"u"?o.panningModel:u.panningModel};var m=i._panner;m||(i._pos||(i._pos=e._pos||[0,0,-.5]),n(i,"spatial"),m=i._panner),m.coneInnerAngle=u.coneInnerAngle,m.coneOuterAngle=u.coneOuterAngle,m.coneOuterGain=u.coneOuterGain,m.distanceModel=u.distanceModel,m.maxDistance=u.maxDistance,m.refDistance=u.refDistance,m.rolloffFactor=u.rolloffFactor,m.panningModel=u.panningModel}return e},Sound.prototype.init=function(e){return function(){var t=this,o=t._parent;t._orientation=o._orientation,t._stereo=o._stereo,t._pos=o._pos,t._pannerAttr=o._pannerAttr,e.call(this),t._stereo?o.stereo(t._stereo):t._pos&&o.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var t=this,o=t._parent;return t._orientation=o._orientation,t._stereo=o._stereo,t._pos=o._pos,t._pannerAttr=o._pannerAttr,t._stereo?o.stereo(t._stereo):t._pos?o.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,o._refreshBuffer(t)),e.call(this)}}(Sound.prototype.reset);var n=function(e,t){t=t||"spatial",t==="spatial"?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,typeof e._panner.positionX<"u"?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),typeof e._panner.orientationX<"u"?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}})()});var Re={action:"displayable:action",applyTransform:"displayable:applyTransform",applyTransition:"displayable:applyTransition",init:"displayable:init"},ei={say:"character:say",action:"character:action",setName:"character:setName"},Se={action:"scene:action",init:"scene:init",exit:"scene:exit",jumpTo:"scene:jumpTo",setBackgroundMusic:"scene:setBackgroundMusic",preUnmount:"scene:preUnmount",transitionToScene:"scene:transitionToScene"};var tt={action:"image:action",setSrc:"image:setSrc",flush:"image:flush",initWearable:"image:initWearable",setAppearance:"image:setAppearance",setDarkness:"image:setDarkness"},_l={action:"condition:action"},Vl={action:"script:action"},Gl={action:"menu:action"},cn={action:"sound:action",play:"sound:play",stop:"sound:stop",setVolume:"sound:setVolume",setRate:"sound:setRate",pause:"sound:pause",resume:"sound:resume"},Tt={action:"control:action",do:"control:do",doAsync:"control:doAsync",any:"control:any",all:"control:all",allAsync:"control:allAsync",repeat:"control:repeat",sleep:"control:sleep"},ti={action:"text:action",setText:"text:setText",setFontSize:"text:setFontSize"},ur={action:"persistent:action",set:"persistent:set",assign:"persistent:assign"},Mn={action:"layer:action",setZIndex:"layer:setZIndex"},to={action:"video:action",show:"video:show",hide:"video:hide",play:"video:play",pause:"video:pause",resume:"video:resume",stop:"video:stop",seek:"video:seek"};var Nl=(p=>(p[p.string=0]="string",p[p.number=1]="number",p[p.boolean=2]="boolean",p[p.object=3]="object",p[p.array=4]="array",p[p.function=5]="function",p[p.symbol=6]="symbol",p[p.undefined=7]="undefined",p[p.null=8]="null",p[p.date=9]="date",p[p.regexp=10]="regexp",p[p.other=11]="other",p))(Nl||{}),Ma=function(n){return typeof n=="string"?0:typeof n=="number"?1:typeof n=="boolean"?2:typeof n=="object"?Array.isArray(n)?4:n===null?8:n instanceof Date?9:n instanceof RegExp?10:3:typeof n=="function"?5:typeof n=="symbol"?6:typeof n>"u"?7:11};Ma.DataTypes=Nl;function U(n,e,...t){let o=(s,c)=>Object.prototype.hasOwnProperty.call(s,c),r={},i=(s,c,u)=>Ma(c)===3&&Ma(u)===3?c.constructor!==Object||u.constructor!==Object?u||c:U(c,u):Array.isArray(c)&&Array.isArray(u)?u&&u.length>0?[...u]:[...c]:c===void 0&&Array.isArray(u)?[...u]:u===void 0?Array.isArray(c)?[...c]:c:Array.isArray(u)?[...u]:u;for(let s in n)o(n,s)&&(r[s]=i(s,n[s],e[s]));for(let s in e)o(e,s)&&!o(r,s)&&(typeof e[s]=="object"&&e[s]!==null?e[s].constructor===Object?r[s]=U({},e[s]):Array.isArray(e[s])?r[s]=[...e[s]]:r[s]=e[s]:r[s]=e[s]);if(t.length){let[s,...c]=t;return U(r,s,...c)}return r}var Ke=class Ke{constructor(e=o=>o,t){this.solved=!1;this.aborted=!1;this.listeners=[];this.onRegisterSkipController=[];this.receiver=e,this.skipController=t,this.__stack=Ia()}static isAwaitable(e){return e instanceof Ke}static fromPromise(e){let t=new Ke;return e.then(o=>t.resolve(o)),t}static resolve(e){let t=new Ke;return t.resolve(e),t}static delay(e){let t=new Ke;return setTimeout(()=>t.resolve(),e),t}static create(e){let t=new Ke;return e(t),t}static wait(e){let t=new Ke;return e.then(()=>t.resolve()),t}static race(e){let t=new Ke;return e.length===0?(t.resolve(void 0),t):(e.forEach(o=>{o.then(r=>{e.forEach(i=>{i!==o&&i.skipController?.abort()}),t.resolve(r)})}),t.registerSkipController(new K(()=>{e.forEach(o=>o.skipController?.abort())})),t)}static forward(e,t,o){let r=new Ke().registerSkipController(o||new K(()=>t));e.then(()=>r.resolve(t));let i=e.skipController?.onAbort(()=>{r.skipController?.abort(),i?.cancel(),s?.cancel()}),s=r.skipController?.onAbort(()=>{e.skipController?.abort(),i?.cancel(),s?.cancel()});return r}static toPromise(e){return new Promise(t=>{e.then(t)})}static toPromiseForce(e){return new Promise(t=>{e.onSettled(t)})}static any(...e){let t=new Ke;return e.forEach(o=>{o.onSettled(()=>t.resolve())}),t}static all(...e){let t=new Ke,o=0;return e.forEach(r=>{r.onSettled(()=>{o++,o===e.length&&t.resolve()})}),t}registerSkipController(e){this.skipController=e;for(let t of this.onRegisterSkipController)t(e);return this}resolve(e){if(!this.solved){this.result=this.receiver(e),this.solved=!0,this.skipController&&this.skipController.cancel();for(let t of this.listeners)t(this.result)}}then(e){return this.solved?e(this.result):this.pushListener(e),this}onSettled(e){if(this.solved)e();else{this.pushListener(e);let t=[];return t.push(this.onSkipControllerRegister(o=>{t.push(o.onAbort(()=>{e()}))})),{cancel:()=>{t.forEach(o=>o.cancel()),this.offListener(e)}}}return{cancel:()=>{}}}onSkipControllerRegister(e){return this.skipController?e(this.skipController):this.onRegisterSkipController.push(e),{cancel:()=>{this.offSkipControllerRegister(e)}}}offSkipControllerRegister(e){let t=this.onRegisterSkipController.indexOf(e);return t!==-1&&this.onRegisterSkipController.splice(t,1),this}abort(){return this.aborted=!0,this.skipController?this.skipController.abort():this.result}isSolved(){return this.solved&&!this.aborted}isAborted(){return this.aborted}isSettled(){return this.solved||this.aborted}pushListener(e){return this.listeners.length>=Ke.maxListeners&&console.warn("NarraLeaf-React: Awaitable has too many listeners, this may cause performance issues."),this.listeners.push(e),this}offListener(e){let t=this.listeners.indexOf(e);return t!==-1&&this.listeners.splice(t,1),this}};Ke.nothing=e=>e,Ke.maxListeners=8;var v=Ke;function Fl(n){let e=new WeakSet;function t(o){if(o===null||typeof o!="object")return o;if(e.has(o))return;if(e.add(o),Array.isArray(o)){let i=[];for(let s of o)i.push(t(s));return i}let r={};for(let i in o)Object.prototype.hasOwnProperty.call(o,i)&&(r[i]=t(o[i]));return r}return t(n)}function In(n){return typeof n=="string"?n:`#${(n.r||0).toString(16).padStart(2,"0")}${(n.g||0).toString(16).padStart(2,"0")}${(n.b||0).toString(16).padStart(2,"0")}${n.a===void 0?"":n.a.toString(16).padStart(2,"0")}`}var ae=class{constructor(){this.events={};this.maxListeners=10}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),this.events[e].length>this.maxListeners&&console.warn(`NarraLeaf-React: Event ${e} has more than ${this.maxListeners} listeners (total: ${this.events[e].length}), this may cause performance issues.`),this.emit("event:EventDispatcher.register",e,t),{type:e,listener:t,cancel:()=>{this.off(e,t)}}}depends(e){return{cancel:()=>{e.forEach(t=>t.cancel())}}}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(o=>o!==t))}emit(e,...t){if(!this.events[e])return 0;let o=this.events[e].length;return this.events[e].forEach(r=>{r(...t)}),o}once(e,t){let o=(...r)=>{t(...r),this.off(e,o)};return this.on(e,o)}async any(e,...t){if(this.events[e]||(this.events[e]=[]),this.events[e].length>0){await Promise.all(this.events[e].map(o=>o(...t)));return}return new Promise(o=>{let r="event:EventDispatcher.register",i=this.on(r,(s,c)=>{if(s===e){this.off(r,i);let u=c?.(...t);u!==null&&typeof u=="object"&&u.then?u.then(o):o(u)}}).listener})}setMaxListeners(e){return this.maxListeners=e,this}hasListeners(e){return this.events[e]?.length>0}clear(){this.events={}}};function Ia(n=1){let e=new Error().stack;return e?e.split(`
`).slice(n+1).join(`
`).trim():""}function ci(n){return new Promise(e=>setTimeout(e,n))}var ai=class ai{constructor(e){this.abortHandler=e;this.events=new ae;this.aborted=!1}abort(...e){this.aborted||(this.aborted=!0,this.abortHandler(...e),this.events.emit(ai.EventTypes["event:skipController.abort"]))}isAborted(){return this.aborted}cancel(){this.aborted=!0}onAbort(e){return this.events.on("event:skipController.abort",e)}};ai.EventTypes={"event:skipController.abort":"event:skipController.abort"};var K=ai;var pr=class{constructor(){this.locked=!1;this.listeners=[];this.unlockListeners=[]}lock(){return this.locked=!0,this}unlock(){this.locked=!1;for(let e of this.listeners)e();for(let e of this.unlockListeners)e();return this.listeners=[],this}onUnlock(e){return this.unlockListeners.push(e),e}offUnlock(e){this.unlockListeners=this.unlockListeners.filter(t=>t!==e)}async nextUnlock(){if(this.locked)return new Promise(e=>{this.listeners.push(e)})}isLocked(){return this.locked}},no=class{constructor(){this.locks=[]}unlock(e){return e.unlock(),this.off(e),e}register(e){let t=e||new pr;return this.locks.push(t),t}off(e){this.locks=this.locks.filter(t=>t!==e)}async nextUnlock(){let e=this.locks.map(t=>t.nextUnlock());return Promise.all(e)}isLocked(){return this.locks.some(e=>e.isLocked())}};function li(n,e,t={}){return n?e:t}function Ol(n,e){if(e<=0)return n;let t=null;return function(...o){t&&clearTimeout(t),t=setTimeout(()=>{n(...o)},e)}}var ni=class{constructor(){this.taskToken=null}scheduleTask(e,t){this.taskToken&&this.taskToken.cancel();let o=!1,r=setTimeout(()=>{o||e()},t);return this.taskToken={cancel:()=>{clearTimeout(r),o=!0},isCancelled:()=>o},this.taskToken}cancelTask(){return this.taskToken&&(this.taskToken.cancel(),this.taskToken=null),this}};function Hl(n,e){let t=[];for(let o=0;o<Math.max(n.length,e.length);o++)o<n.length&&t.push(n[o]),o<e.length&&t.push(e[o]);return t}async function Ul(n,e){return new Promise((t,o)=>{fetch(n,e).then(r=>r.blob()).then(r=>{let i=new FileReader;i.onload=()=>{t(i.result)},i.readAsDataURL(r)}).catch(o)})}var mr=class{constructor(e,t){this.concurrency=e;this.delay=t;this.tasks=[]}addTask(e){this.tasks.push(e)}async start(){let e=async()=>{if(this.tasks.length===0)return;let t=this.tasks.splice(0,this.concurrency);await Promise.all(t.map(o=>o())),await ci(this.delay),await e()};await e()}};function Ht(n){let e,t=Promise.resolve().then(()=>{e=n()});return()=>{t.then(()=>{e&&e()})}}function Kl(n,e){let t={};for(let o in n)e.includes(o)||(t[o]=n[o]);return t}var ze=class n{constructor(e={},t={}){this.serializer=e;this.deserializer=t}serialize(e){let t={};for(let o of Object.keys(e))o in this.serializer&&e[o]!==void 0?t[o]=this.serializer[o]?.(e[o]):t[o]=e[o];return t}deserialize(e){let t={};for(let o of Object.keys(e))typeof this.deserializer[o]=="function"&&e[o]!==void 0?t[o]=this.deserializer[o](e[o]):t[o]=e[o];return t}extend(e,t){let o={...this.serializer,...e},r={...this.deserializer,...t};return new n(o,r)}};function Wl(n){return["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].includes(n)}var ln=class extends v{constructor(t){super();this.tasks=[];t&&this.registerSkipController(t)}addTask(t){return t?(this.tasks.push(t),this):this}abort(){this.current&&this.current.abort(),this.tasks.forEach(([t,o])=>{o&&o.abort()}),super.abort()}resolve(){}run(){return this.current?this:(this.onTaskComplete(),this)}onTaskComplete(){if(this.tasks.length===0){super.resolve();return}let[t,o]=this.tasks.shift(),r=new v(v.nothing,o);this.current=r,this.current.then(()=>this.onTaskComplete()),t(r)}};function Bl(n){return n.constructor.name==="AsyncFunction"||Object.prototype.toString.call(n)==="[object AsyncFunction]"}function La(n){let e={};for(let t in n)n[t]!==void 0&&(e[t]=n[t]);return e}function _a(n,e=new WeakSet){if(n===null||typeof n!="object"||Array.isArray(n)||n instanceof Date||n instanceof RegExp||Object.getPrototypeOf(n)!==Object.prototype||e.has(n))return!1;e.add(n);for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){let o=n[t];if(o!==null&&typeof o=="object"&&!_a(o,e)||typeof o=="function"||typeof o=="symbol")return!1}return!0}var