Fri, 12 Sep 2014 14:33
SoundCloud - Hear the world's soundsTo continue, go to Settings and turn it on
/gi,scriptTypeRE=/^(?:text|application)\/javascript/i,xmlTypeRE=/^(?:text|application)\/xml/i,jsonType="application/json",htmlType="text/html",blankRE=/^\s*$/,ajax=module.exports=function(options){var settings=extend({},options||{});for(key in ajax.settings)settings[key]===undefined&&(settings[key]=ajax.settings[key]);ajaxStart(settings),settings.crossDomain||(settings.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(settings.url)&&RegExp.$2!=window.location.host);var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder)return hasPlaceholder||(settings.url=appendQuery(settings.url,"callback=?")),ajax.JSONP(settings);settings.url||(settings.url=window.location.toString()),serializeData(settings);var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=ajax.settings.xhr(),abortTimeout;settings.crossDomain||(baseHeaders["X-Requested-With"]="XMLHttpRequest"),mime&&(baseHeaders.Accept=mime,mime.indexOf(",")>-1&&(mime=mime.split(",",2)[0]),xhr.overrideMimeType&&xhr.overrideMimeType(mime));if(settings.contentType||settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=extend(baseHeaders,settings.headers||{}),xhr.onreadystatechange=function(){if(xhr.readyState==4){clearTimeout(abortTimeout);var result,error=!1;if(xhr.status>=200&&xhr.status0&&(abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty,xhr.abort(),ajaxError(null,"timeout",xhr,settings)},settings.timeout)),xhr.send(settings.data?settings.data:null),xhr)};ajax.active=0,ajax.JSONP=function(a){if("type"in a){var b="jsonp"+ ++jsonpID,c=document.createElement("script"),d=function(){b in window&&(window[b]=empty),ajaxComplete("abort",e,a)},e={abort:d},f;return a.error&&(c.onerror=function(){e.abort(),a.error()}),window[b]=function(c){clearTimeout(f),delete window[b],ajaxSuccess(c,e,a)},serializeData(a),c.src=a.url.replace(/=\?/,"="+b),a.timeout>0&&(f=setTimeout(function(){e.abort(),ajaxComplete("timeout",e,a)},a.timeout)),e}return ajax(a)},ajax.settings={type:"GET",beforeSend:empty,success:empty,error:empty,complete:empty,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript",json:jsonType,xml:"application/xml, text/xml",html:htmlType,text:"text/plain"},crossDomain:!1,timeout:0},ajax.get=function(a,b){return ajax({url:a,success:b})},ajax.post=function(a,b,c,d){return type(b)==="function"&&(d=d||c,c=b,b=null),ajax({type:"POST",url:a,data:b,success:c,dataType:d})},ajax.getJSON=function(a,b){return ajax({url:a,success:b,dataType:"json"})};var escape=encodeURIComponent}), define("classes",["require","exports","module","indexof"],function(a,b,c){function f(a){this.el=a,this.list=a.classList}var d=a("indexof"),e=/\s+/;c.exports=function(a){return new f(a)},f.prototype.add=function(a){if(this.list)return this.list.add(a),this;var b=this.array(),c=d(b,a);return~c||b.push(a),this.el.className=b.join(" "),this},f.prototype.remove=function(a){if(this.list)return this.list.remove(a),this;var b=this.array(),c=d(b,a);return~c&&b.splice(c,1),this.el.className=b.join(" "),this},f.prototype.toggle=function(a){return this.list?(this.list.toggle(a),this):(this.has(a)?this.remove(a):this.add(a),this)},f.prototype.array=function(){var a=this.el.className.split(e);return""===a[0]&&a.pop(),a},f.prototype.has=f.prototype.contains=function(a){return this.list?this.list.contains(a):!!~d(this.array(),a)}}), define("vendor/zepto-events",["require","exports","module"],function(a,b,c){function i(a){return a._zid||(a._zid=e++)}function j(a,b,c,e){b=k(b);if(b.ns)var f=l(b.ns);return(d[i(a)]||[]).filter(function(a){return a&&(!b.e||a.e==b.e)&&(!b.ns||f.test(a.ns))&&(!c||i(a.fn)===i(c))&&(!e||a.sel==e)})}function k(a){var b=(""+a).split(".");return{e:b[0],ns:b.slice(1).sort().join(" ")}}function l(a){return new RegExp("(?:^| )"+a.replace(" "," .* ?")+"(?: |$)")}function m(a,b,c){typeof a!="string"?h.each(a,c):a.split(/\s/).forEach(function(a){c(a,b)})}function n(a,b){return a.del&&(a.e=="focus"||a.e=="blur")||!!b}function o(a){return g[a]||a}var d={},e=1,f={},g={mouseenter:"mouseover",mouseleave:"mouseout"},h={};h.each=function(a){return[].every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this},f.click=f.mousedown=f.mouseup=f.mousemove="MouseEvents",b.add=add=function(a,b,c,e,f,h){var j=i(a),l=d[j]||(d[j]=[]);m(b,c,function(b,c){var d=k(b);d.fn=c,d.sel=e,d.e in g&&(c=function(a){var b=a.relatedTarget;if(!b||b!==this&&!this.contains(b))return d.fn.apply(this,arguments)}),d.del=f&&f(c,b);var i=d.del||c;d.proxy=function(b){var c=i.apply(a,[b].concat(b.data));return c===!1&&(b.preventDefault(),b.stopPropagation()),c},d.i=l.length,l.push(d),a.addEventListener(o(d.e),d.proxy,n(d,h))})},b.remove=remove=function(a,b,c,e,f){var g=i(a);m(b||"",c,function(b,c){j(a,b,c,e).forEach(function(b){delete d[g][b.i],a.removeEventListener(o(b.e),b.proxy,n(b,f))})})};var p=function(){return!0},q=function(){return!1},r=/^([A-Z]|layer[XY]$)/,s={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};b.createProxy=createProxy=function(a){var b,c={originalEvent:a};for(b in a)!r.test(b)&&a[b]!==undefined&&(c[b]=a[b]);return h.each(s,function(b,d){c[b]=function(){return this[d]=p,a[b].apply(a,arguments)},c[d]=q}),c},b.Event=Event=function(a,b){typeof a!="string"&&(b=a,a=b.type);var c=document.createEvent(f[a]||"Events"),d=!0;if(b)for(var e in b)e=="bubbles"?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0,null,null,null,null,null,null,null,null,null,null,null,null),c.isDefaultPrevented=function(){return this.defaultPrevented},c}}), define("vendor/zepto-touch",["require","exports","module"],function(a,b,c){function m(a){return"tagName"in a?a:a.parentNode}function n(a,b,c,d){var e=Math.abs(a-b),f=Math.abs(c-d);return e>=f?a-b>0?"left":"right":c-d>0?"up":"down"}function o(){k=null,f.last&&(f.el.trigger("longTap"),f={})}function p(){k&&clearTimeout(k),k=null}function q(){g&&clearTimeout(g),h&&clearTimeout(h),i&&clearTimeout(i),k&&clearTimeout(k),g=h=i=k=null,f={}}var d,e,f={},g,h,i,j=750,k,l;c.exports={initialize:function(a){if(l)return!1;l=!0,a(document.body).bind("touchstart",function(b){d=Date.now(),e=d-(f.last||d),f.el=a(m(b.touches[0].target)),g&&clearTimeout(g),f.x1=b.touches[0].pageX,f.y1=b.touches[0].pageY,e>0&&e10&&a.preventDefault()}).bind("touchend",function(b){p(),f.x2&&Math.abs(f.x1-f.x2)>30||f.y2&&Math.abs(f.y1-f.y2)>30?i=setTimeout(function(){f.el&&f.el.trigger("swipe",{direction:n(f.x1,f.x2,f.y1,f.y2)}),f={}},0):"last"in f&&(h=setTimeout(function(){var b=a.Event("tap");b.cancelTouch=q,f.el.trigger(b),f.isDoubleTap?(f.el.trigger("doubleTap"),f={}):g=setTimeout(function(){g=null,f.el.trigger("singleTap"),f={}},250)},0))}).bind("touchcancel",q),a(window).bind("scroll",q)}}}), define("lib/layout",["require","exports","module","underscore","$","lib/backbone","lib/css","lib/helpers/title-helper","lib/deferred-loader","lib/template"],function(a,b,c){var d,e=a("underscore"),f=a("$"),g=a("lib/backbone"),h=a("lib/css"),i=a("lib/helpers/title-helper"),j=a("lib/deferred-loader"),k=a("lib/template");d=c.exports=g.View.extend({css:null,template:null,views:null,_currentViews:null,_viewPaths:null,slots:null,initialize:function(){this.views={},this._currentViews={}},setArgs:function(a){this.args=a||{}},setup:function(){var a=f.Deferred();return e.defer(a.resolve),a},dispose:function(){e.invoke(this._currentViews,"_dispose"),e.invoke(this.views,"_dispose"),this.$el.remove(),delete this.slots,delete this.views,delete this._viewPaths,delete this._currentViews},render:function(){return this.css&&h.insert(this.css),this.el.innerHTML===""&&(k.render(this.template,{},this.el),this.slots={},e.each(this.views,function(a,b){this.slots[b]=this.$("."+b)[0]},this)),e.each(this.views,function(a,b){this._currentViews[b]!==a&&(this._currentViews[b]&&this._currentViews[b]._dispose(),a.render(),this.slots[b].appendChild(a.el),this._currentViews[b]=a)},this),this},setViews:function(a){var b=Object.keys(a),c=e.pluck(a,0),d=f.Deferred();return j.load(c).done(function(){this._viewPaths={},e.each(arguments,function(d,e){var f=b[e],g=a[f][1];if(!this._currentViews[f]||!this._currentViews[f].isEquivalentTo(d,g))this.views[f]=new d(g);this._viewPaths[f]=c[e]},this)}.bind(this)).done(d.resolve).fail(d.reject),d},getChangeEventData:function(a){var b={};return e.each(this._viewPaths,function(a,c){b[a]=this.views[c].constructorArguments},this),{layout:this,layoutName:a,views:b,args:this.args}},setTitle:function(a){i.set(a)}}),i.initialize()}), define("lib/layouts/fullheight.css",["require","exports","module","dpi"],function(a,b,c,d){var e=c.exports=document.createElement("style"),f=d(".l-fullheight{height:100%;background:#000}.l-fullheight>.l-main{height:100%}");e.styleSheet?e.styleSheet.cssText=f:e.appendChild(document.createTextNode(f)),f=null}), define("lib/layouts/fullheight.tmpl",["vendor/handlebars-runtime"],function(){return require("vendor/handlebars-runtime").template(function(a,b,c,d,e){return c=c||a.helpers,'
\n'})}), define("lib/css",["require","exports","module","underscore"],function(a,b,c){var d,e=a("underscore"),f=document.getElementsByTagName("head")[0];d=c.exports={insert:function(a){e.isArray(a)||(a=[a]),a.forEach(function(a){if(a.parentNode)return;f.appendChild(a)})}}}), define("lib/event-bubble",["require","exports","module"],function(a,b,c){var d;d=c.exports=Class.extend({_propagate:!0,data:null,initialize:function(a){this.data=a||{}},stopPropagation:function(){this._propagate=!1},isPropagationStopped:function(){return!this._propagate}})}), define("lib/views/mixins/stateful",["require","exports","module","underscore","lib/mixin"],function(a,b,c){var d,e=a("underscore"),f=a("lib/mixin");d=c.exports=new f({states:null,_states:null,toggleState:function(a,b){var c,d;return this.disposed?this:(this.states||(this.states={}),this.states[a]||(this.states[a]=a),this._states=this._states||{},this._states[a]=this._states[a]||!1,b=typeof b!="undefined"?!!b:!this._states[a],this._states[a]===b?this:(this._states[a]=b,c=this.states[a],typeof c=="string"?(d=c,this.$el[b?"addClass":"removeClass"](d)):e.isFunction(c)?c.call(this,b):c&&c[b?"setup":"teardown"].call(this),this.trigger("state:"+a,b),this))},getState:function(a){return!!this._states&&!!this._states[a]}})}), define("lib/template",["require","exports","module","underscore","vendor/handlebars-runtime","lib/subview-plugin","lib/template-helpers"],function(a,b,c){var d,e=a("underscore"),f=a("vendor/handlebars-runtime"),g=a("lib/subview-plugin"),h=a("lib/template-helpers");e.each(h,function(a,b){f.registerHelper(b,a)}),d=c.exports={render:function(a,b,c){var d=a(b||{});c&&(c.innerHTML=d)},subviews:function(a){g.replacePlaceholders(a)}}}), define("dpi",["require","exports","module","lib/helpers/client-environment-helper"],function(a,b,c){var d,e=a("lib/helpers/client-environment-helper"),f="/"+e.device.dpi+"/";d=c.exports=function(a){return a.replace(/\/ldpi\//g,f)}}), define("vendor/handlebars-runtime",["require","exports","module"],function(a,b,c){var d={};c.exports=d,d.VERSION="1.0.beta.5",d.helpers={},d.partials={},d.registerHelper=function(a,b,c){c&&(b.not=c),this.helpers[a]=b},d.registerPartial=function(a,b){this.partials[a]=b},d.registerHelper("helperMissing",function(a){if(arguments.length===2)return undefined;throw new Error("Could not find property '"+a+"'")});var e=Object.prototype.toString,f="[object Function]";d.registerHelper("blockHelperMissing",function(a,b){var c=b.inverse||function(){},d=b.fn,g="",h=e.call(a);h===f&&(a=a.call(this));if(a===!0)return d(this);if(a===!1||a==null)return c(this);if(h==="[object Array]"){if(a.length>0)for(var i=0,j=a.length;i0)for(var f=0,g=a.length;f",'"':""","'":"'","`":"`"},b=/&(?!\w+;)|["'`]/g,c=/[&"'`]/,e=function(b){return a[b]||"&"};d.Utils={escapeExpression:function(a){return a instanceof d.SafeString?a.toString():a==null||a===!1?"":c.test(a)?a.replace(b,e):a},isEmpty:function(a){return typeof a=="undefined"?!0:a===null?!0:a===!1?!0:Object.prototype.toString.call(a)==="[object Array]"&&a.length===0?!0:!1}}}(),d.VM={template:function(a){var b={escapeExpression:d.Utils.escapeExpression,invokePartial:d.VM.invokePartial,programs:[],program:function(a,b,c){var e=this.programs[a];return c?d.VM.program(b,c):e?e:(e=this.programs[a]=d.VM.program(b),e)},programWithDepth:d.VM.programWithDepth,noop:d.VM.noop};return function(c,e){return e=e||{},a.call(b,d,c,e.helpers,e.partials,e.data)}},programWithDepth:function(a,b,c){var d=Array.prototype.slice.call(arguments,2);return function(c,e){return e=e||{},a.apply(this,[c,e.data||b].concat(d))}},program:function(a,b){return function(c,d){return d=d||{},a(c,d.data||b)}},noop:function(){return""},invokePartial:function(a,b,c,e,f,g){var h={helpers:e,partials:f,data:g};if(a===undefined)throw new d.Exception("The partial "+b+" could not be found");if(a instanceof Function)return a(c,h);if(!d.compile)throw new d.Exception("The partial "+b+" could not be compiled when running in runtime-only mode");return f[b]=d.compile(a),f[b](c,h)}},d.template=d.VM.template}), define("views/header/header",["require","exports","module","lib/helpers/client-environment-helper","lib/tracking/tracking-bus","lib/view","views/header/header.css","views/header/header.tmpl"],function(a,b,c){var d,e=a("lib/helpers/client-environment-helper").device,f=a("lib/tracking/tracking-bus"),g=a("lib/view");d=c.exports=g.extend({tagName:"header",className:"header g-z-index-header",attributes:{id:"header",role:"banner"},events:{"click .header__logo":"onClickLogo","click .header__login":"onClickLogin"},css:a("views/header/header.css"),template:a("views/header/header.tmpl"),renderDecorate:function(){},onClickLogo:function(){f.action("navigate","home")},onClickLogin:function(){f.action("navigate","sign-in")},getTemplateData:function(a){a.showAppButton=e.iOS||e.android}})}), define("lib/css-transitions",["require","exports","module","$","underscore"],function(a,b,c){function m(a,b,c){o(a,b,{"in":j,out:k,transitionClass:i},c)}function n(a,b,c){o(a,b,{"in":g,out:h,transitionClass:f},c)}function o(a,b,c,f){var g=a?c.out:c["in"],h=a?c["in"]:c.out,i=d(b);i.addClass(c.transitionClass).addClass(g),setTimeout(function(){i.addClass(h).removeClass(g),e.delay(function(){i.removeClass(c.transitionClass).removeClass(g).removeClass(h),f&&f()},l)},16)}var d=a("$"),e=a("underscore"),f="g-transition-fade",g="g-transition-fade-in",h="g-transition-fade-out",i="g-transition-translate",j="g-transition-slide-top-in",k="g-transition-slide-top-out",l=300;b.fadeIn=n.bind(null,!0),b.fadeOut=n.bind(null,!1),b.slideTopIn=m.bind(null,!0),b.slideTopOut=m.bind(null,!1)}), define("lib/helpers/image-helper",["require","exports","module","$","underscore","lib/helpers/name-helper","lib/support"],function(a,b,c){function s(a){m.lastIndex=0;var b=m.exec(a),c;return b&&(c=b[3].charCodeAt(0)%4+1,c!==1&&(a=a.replace("//i1.","//i"+c+"."))),a}function t(a){var b=l(a);b&&(k[b.type][b.key]=k[b.type][b.key]|Math.pow(2,b.index))}function u(a){var b=[];return a.background&&(delete a.alt,delete a.width),f.each(a,function(a,c){f.indexOf(n,c)!==-1&&b.push(c+'="'+a+'"')}),b.join(" ")}function v(a){a.class=a.class&&a.class+" "||"",a.class+="image__defer",a["data-src"]=a.src,delete a.src}var d,e=a("$"),f=a("underscore"),g=a("lib/helpers/name-helper"),h=a("lib/support"),i,j,k,l,m,n,o,p,q,r;j=/default_avatar/,m=/^.*(artworks|avatars)-0*([0-9]+)-([a-z0-9]+)-([a-z0-9]+)\.jpg.*$/i,q=/\/images\/default\/.*?x[0-9]+(?:-[a-z0-9]+)?\.png$/,k={artworks:{},avatars:{}},i=[[20,"t20x20"],[50,"t50x50"],[120,"t120x120"],[200,"t200x200"],[500,"t500x500"]],n=["alt","class","height","src","title","width","data-src"],p={cloud:{40:"https://m2-a.sndcdn.com/assets/images/default/cloudx40-397e0b30.png",50:"https://m2-a.sndcdn.com/assets/images/default/cloudx50-397e0b30.png",80:"https://m2-a.sndcdn.com/assets/images/default/cloudx80-397e0b30.png",120:"https://m2-a.sndcdn.com/assets/images/default/cloudx120-397e0b30.png",200:"https://m2-a.sndcdn.com/assets/images/default/cloudx200-397e0b30.png"},group:{40:"https://m2-a.sndcdn.com/assets/images/default/groupx40-397e0b30.png",50:"https://m2-a.sndcdn.com/assets/images/default/groupx50-397e0b30.png",80:"https://m2-a.sndcdn.com/assets/images/default/groupx80-397e0b30.png",120:"https://m2-a.sndcdn.com/assets/images/default/groupx120-397e0b30.png",200:"https://m2-a.sndcdn.com/assets/images/default/groupx200-397e0b30.png"},user:{40:"https://m2-a.sndcdn.com/assets/images/default/userx40-397e0b30.png",50:"https://m2-a.sndcdn.com/assets/images/default/userx50-397e0b30.png",80:"https://m2-a.sndcdn.com/assets/images/default/userx80-397e0b30.png",120:"https://m2-a.sndcdn.com/assets/images/default/userx120-397e0b30.png",200:"https://m2-a.sndcdn.com/assets/images/default/userx200-397e0b30.png"}},d=c.exports={load:function(a){var b=new Image,c=e.Deferred();return h.corsImg&&(b.crossOrigin=location.host,a+="?xd=true"),e(b).on("load",function(){c.resolve(this)}).on("error",function(){c.reject(this)}),b.src=a,c},markup:function(a,b){return b.defer=b.defer!==!1,b.size==="fill"&&(b.fill=!0,b.size="100%"),f.defaults(b,{src:d.urlFrom(a,b.size),width:b.size,height:b.size,alt:d.getAltText(a)}),t(b.src),b.background&&(b.class=b.class&&b.class+" "||"",b.class+="g-background-cover"),b.fill&&delete b.height,b.defer&&v(b),d.getMarkup(b)},getMarkup:function(a){var b;return!a.background&&!a.fill?b="":a.fill&&!a.background?b='
":a.defer&&a.fill&&a.background?b="":a.fill&&a.background&&(b='
'),b},getAltText:function(a){return a.username?g.get(a,!0)+" avatar":g.get(a)},getPlaceholderUrl:function(a,b){var c,e,g,h,j;g=l(d.setFormat(a,b));if(g){c=g.key;if(k[g.type][c]){e=f.find(i,function(a,c){return j=c,b=0){if(k[g.type][c]&Math.pow(2,j)){h=i[j];break}--j}}if(e&&h===e)return!1;if(h)return d.setFormat(a,h[0])}return null},urlFrom:function(a,b){var c=a&&(a.artwork_url||a.avatar_url||a.user&&a.user.avatar_url)||"";return d.isDefaultImage(c)?d.getDefaultImage(a.kind,b):(c=s(c),b?d.setFormat(c,b):c)},isDefaultImage:function(a){return!a||j.test(a)},getDefaultImage:function(a,b){return(p[a]||p.cloud)[r(b)]},setFormat:function(a,b){if(q.test(a))return a.replace(/[0-9]+((?:-[a-z0-9]+)?\.png)$/,r(b)+"$1");m.lastIndex=0;var c=m.exec(a),d=c[1],e=c[4],f=o(d,b);return f?a.replace(e,f):a}},l=function(a){var b,c,d;return m.lastIndex=0,b=a.replace(m,function(a,b,e,g){return f.find(i,function(a,b){if(a[1]===g)return c=b,!0}),d=b,e}),d?{index:c,key:parseInt(b,10),type:d}:null},o=function(a,b){var c=f.find(i,function(a){return a[0]>=b})||f.last(i);return c[1]==="t20x20"&&a==="artworks"?"tiny":c[1]},r=function(){var a=Object.keys(p.cloud),b;return a.sort(function(a,b){return a-b}),b=f.last(a),f.memoize(function(c){var d,e;for(d=0;e=a[d];++d)if(e>=c)return e;return b})}()}), define("lib/views/fullscreen-overlay",["require","exports","module","config","lib/views/mixins/overlay","lib/view","lib/views/fullscreen-overlay.css"],function(a,b,c){var d,e=a("config"),f=a("lib/views/mixins/overlay"),g=a("lib/view");d=c.exports=g.extend(f,{defaults:{showHeader:!1,parentEl:function(){return e.get("appView").el}},template:function(){return""},transitions:{"in":"fadeIn",out:"fadeOut"},css:a("lib/views/fullscreen-overlay.css"),className:"fullscreen-overlay",setup:function(a){a.animate||(this.transitions=null),this.$el.toggleClass("fullscreen-overlay-show-header",a.showHeader)}})}), define("lib/math",["require","exports","module"],function(a,b,c){c.exports={clamp:function(a,b,c){return Math.min(c,Math.max(b,a))}}}), define("lib/mobi-audio",["require","exports","module","lib/audiomanager","lib/integrations/adswizz","lib/event-bus","vendor/event-logger/event-logger","lib/play-manager","vendor/scaudio/scaudio","lib/tracking/tracking-bus"],function(a,b,c){function n(a,b){var c=o(b);c&&(a.trigger(c,{sound:a}),g.trigger("audio:"+c,a),p(c,a));switch(b){case m.STREAMS:case m.NO_STREAMS:a.set("playable",!!this.streamInfo);break;case m.REGISTERED:f.trackEvent("play","context"),a.set("playback_count",a.get("playback_count")+1)}}function o(a){var b;switch(a){case m.PLAY:b="play-intent";break;case m.PLAY_START:b="play";break;case m.PAUSE:b="pause";break;case m.FINISH:b="finish";break;case m.SEEKED:b="seeked";break;case m.TIME:b="position"}return b}function p(a,b){if(l.indexOf(a)===-1)return;a==="finish"&&(a="stop");var c=b.id,d=b.duration()/1e3,e=i.nowPlaying.sound===b&&i.nowPlaying[a],f=e?"manual":"auto",g=b.audioSourceType;k.audio(a,c,d,f,g)}var d,e=a("lib/audiomanager"),f=a("lib/integrations/adswizz"),g=a("lib/event-bus"),h=a("vendor/event-logger/event-logger"),i=a("lib/play-manager"),j=a("vendor/scaudio/scaudio"),k=a("lib/tracking/tracking-bus"),l=["play","pause","finish"],m=j.Events;d=c.exports=j.extend({constructor:function(a){j.prototype.constructor.call(this,e,{soundId:a.id,duration:a.duration.bind(a),registerEndpoint:a.registerUrl.bind(a),streamUrlsEndpoint:a.streamsUrl.bind(a),protocols:[j.Protocols.HTTP],debug:!1}),this.on("all",n.bind(this,a),this)},logAudioPerfomance:function(a){h.audioPerformance(a)}})}), define("views/app-buttons/app-buttons",["require","exports","module","config","lib/helpers/client-environment-helper","lib/view","views/app-buttons/app-buttons.tmpl","views/app-buttons/app-buttons.css"],function(a,b,c){var d,e=a("config"),f=a("lib/helpers/client-environment-helper").device,g=a("lib/view");d=c.exports=g.extend({className:"appButtons",template:a("views/app-buttons/app-buttons.tmpl"),css:a("views/app-buttons/app-buttons.css"),renderDecorate:function(){this.el.className+=f.iOS?" iOS":" android"},getTemplateData:function(a){return a.url=f.iOS?e.get("appStore"):e.get("googlePlayInterstitial"),a.isiOS=f.iOS,a}})}), define("lib/single",["require","exports","module","$","underscore","backbone","lib/gc-store"],function(a,b,c){var d=a("$"),e=a("underscore"),f=a("backbone"),g=a("lib/gc-store"),h=d.noop,i=0,j=6e4,k;c.exports={applyTo:function l(a,b){b=e.extend({neverRelease:!1,cleanupInstantly:!1,hashFn:function(){return null},prepareArgs:function(){return arguments},prepareInstance:function(){return this},getIncrementValue:function(){return 1},onHold:h,onRelease:h,onCleanup:null,GC_INTERVAL:j},b,a),delete b.prototype;var c,d=a.extend||f.Model.extend,m=b.neverRelease,n,o,p,q,r,s;return c=new g({autoCleanup:b.cleanupInstantly,onCleanup:b.onCleanup,onIncrement:b.onHold,onDecrement:b.onRelease}),m?p=q=r=h:(r=function(){c.cleanup(),o=c.length?setTimeout(r,b.GC_INTERVAL):null},p=function(a){c.increment(this.resource_id,a)},q=function(a){c.decrement(this.resource_id,a)}),s={hold:p,release:q,_usageCount:function(){return c.countFor(this.resource_id)},constructor:function(){var d=n.prepareArgs.apply(this,arguments),e=n.hashFn.apply(this,d)||"f-"+ ++i,f=n.neverRelease?1:n.getIncrementValue.apply(null,d),g=c.get(e);if(g)return this.constructor.neverRelease||g.hold(f),n.prepareInstance.apply(g,d),g;g=this,!o&&!n.cleanupInstantly&&(o=setTimeout(r,b.GC_INTERVAL)),c.set(e,g),g.constructor.neverRelease||g.hold(f-1),g.resource_id=e,k(a).apply(g,d),n.prepareInstance.apply(g,d)}},n=d.call(a,s,b),e.extend(n,{__constructor__:k(a),reset:function(){c.reset(),o&&(clearTimeout(o),o=null)},extend:function(b){var c,f;return b=b||{},e.isArray(b)&&(b=e.extend.apply(null,[{}].concat(b))),b.hasOwnProperty("constructor")||(b.constructor=k(a)),c=d.apply(n,arguments),c.extend=d,f=l(c,n),f.__super__&&(f.__super__=f.__super__.constructor.__super__),f},instances:function(){return c.add=function(a){var b=n.hashFn(a.attributes);a.resource_id=b,b&&this.set(b,a)},c}(),getNewInstance:function(){function d(){return k(a).apply(this,b)}var b=arguments,c;return d.prototype=n.prototype,c=new d,c}})}},k=function(a){return a.__constructor__||a}}), define("type",["require","exports","module"],function(a,b,c){var d=Object.prototype.toString;c.exports=function(a){switch(d.call(a)){case"[object Function]":return"function";case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array"}return a===null?"null":a===undefined?"undefined":a===Object(a)?"object":typeof a}}), define("indexof",["require","exports","module"],function(a,b,c){var d=[].indexOf;c.exports=function(a,b){if(d)return a.indexOf(b);for(var c=0;c'}function j(a){a.$("view").each(function(){h(this,a)})}var d=a("underscore"),e=a("vendor/handlebars-runtime"),f={},g=0;b.handlebarHelper=i,b.replacePlaceholders=j}), define("lib/template-helpers",["require","exports","module","underscore","lib/helpers/a11y-helper","lib/helpers/count-helper","lib/helpers/image-helper","vendor/handlebars-runtime","router","lib/subview-plugin","lib/helpers/translate-helper"],function(a,b,c){var d,e=a("underscore"),f=a("lib/helpers/a11y-helper"),g=a("lib/helpers/count-helper"),h=a("lib/helpers/image-helper"),i=a("vendor/handlebars-runtime"),j=a("router"),k=a("lib/subview-plugin"),l=a("lib/helpers/translate-helper");d=c.exports={$a11y:function(a){return new i.SafeString(f.getAccessibleMarkup(a.hash))},$count:function(a,b){return g.render(a,b.hash)},$debug:function(){return""},$view:function(){return new i.SafeString(k.handlebarHelper.apply(this,arguments))},$image:function(a,b){return new i.SafeString(h.markup(a,b.hash))},$t:function(a){return l(a)},$route:function(){var a=e.toArray(arguments).slice(0,-1);return j.getRoute.apply(j,a)}}}), define("views/header/header.css",["require","exports","module","dpi"],function(a,b,c,d){var e=c.exports=document.createElement("style"),f=d(".header{height:44px;width:100%;position:fixed;top:0;left:0}.header__content{height:44px;background:#383838;background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#383838),color-stop(100%,#222));background:-webkit-linear-gradient(#383838,#222);background:linear-gradient(#383838,#222)}.header__logo{background:url(https://m2-a.sndcdn.com/assets/images/ldpi/logo-a53573d7.png) 0 0 no-repeat;background-size:100% auto;float:left;width:64px;height:44px;margin-left:15px}.header__login{float:right;color:#f9f9f9;line-height:44px;height:44px;padding:0 15px 0 0;border-right:1px solid rgba(250,250,250,.1)}.header__logo:active{background-position:0 -44px}.header__login:active{color:#999}");e.styleSheet?e.styleSheet.cssText=f:e.appendChild(document.createTextNode(f)),f=null}), define("views/header/header.tmpl",["vendor/handlebars-runtime","views/header/search-button","views/search/search-box","views/native-app/download-button"],function(){return require("vendor/handlebars-runtime").template(function(a,b,c,d,e){function j(a,b){var d="",e;return d+=" ",e=c.$view.call(a,"views/native-app/download-button",{hash:{}}),d+=h(e)+" ",d}function k(a,b){var d="",e;return d+=' ",d}c=c||a.helpers;var f="",g,h=this.escapeExpression,i=this;f+='
\n",f})}), define("lib/helpers/name-helper",["require","exports","module","vendor/handlebars-runtime","lib/helpers/lang-helper"],function(a,b,c){var d,e=a("vendor/handlebars-runtime"),f=a("lib/helpers/lang-helper");d=c.exports={get:function(a,b){var c=e.Utils.escapeExpression(a.username||a.title||a.name);return b===!0&&(c=f.possessive(c)),c}}}), define("lib/views/mixins/overlay",["require","exports","module","$","underscore","lib/event-bus","lib/helpers/client-environment-helper","lib/css-transitions","lib/scroll-bouncing-fix","lib/mixin"],function(a,b,c){function l(){this.close()}var d,e=a("$"),f=a("underscore"),g=a("lib/event-bus"),h=a("lib/helpers/client-environment-helper").device,i=a("lib/css-transitions"),j=a("lib/scroll-bouncing-fix"),k=a("lib/mixin");d=c.exports=new k({applyTo:function(a){a.defaults=f.defaults(a.defaults||{},{Subview:null,subviewArgs:null,parentEl:null})},defaults:{transitions:null,onOpen:e.noop,onSyncOpen:e.noop,onClose:e.noop},after:{renderDecorate:function(){h.iOS&&j.call(this),this.$el.addClass("g-z-index-overlay"),g.on("layout:change",l,this)}},before:{dispose:function(){g.off("layout:change",l)}},open:function(){this.isOpened=!0,this.rerender(),this.transitions&&this.transitions["in"]&&i[this.transitions["in"]](this.el,this.onOpen.bind(this)),(f.result(this,"parentEl")||document.body).appendChild(this.el),this.createContentView(),(!this.transitions||!this.transitions["in"])&&this.onOpen(),this.onSyncOpen()},close:function(){if(!this.isOpened)return;this.isOpened=!1,this.transitions&&this.transitions.out?i[this.transitions.out](this.el,this._onClose.bind(this)):this._onClose()},_onClose:function(){this.detach(),this.onClose()},createContentView:function(){if(this.getContentView()||!this.options.Subview)return;var a=this.options,b=a.Subview,c=f.result(a,"subviewArgs"),d;d=this.addSubview(new b(f.extend({resource_id:a.resource_id,resource_type:a.resource_type},c)),"contentView"),this.el.appendChild(d.render().el)},getContentView:function(){return this.subviews.contentView},detach:function(){var a=f.result(this,"parentEl")||document.body;e(a).children(this.el)[0]&&a.removeChild(this.el)}})}), define("lib/views/fullscreen-overlay.css",["require","exports","module","dpi"],function(a,b,c,d){var e=c.exports=document.createElement("style"),f=d(".fullscreen-overlay{position:fixed;width:100%;left:0;top:0;bottom:0}.fullscreen-overlay-show-header{margin-top:44px}");e.styleSheet?e.styleSheet.cssText=f:e.appendChild(document.createTextNode(f)),f=null}), define("lib/audiomanager",["require","exports","module","vendor/audiomanager/audiomanager_mobile"],function(a,b,c){var d,e=a("vendor/audiomanager/audiomanager_mobile");d=c.exports=new e({debug:!1}),d.Errors=e.Errors,d.States=e.States}), define("lib/integrations/adswizz",["require","exports","module","underscore","config","lib/persistent-store","lib/url"],function(a,b,c){function m(a){var b=new Image;b.src=a}var d,e=a("underscore"),f=a("config"),g=a("lib/persistent-store"),h=a("lib/url"),i=new g("promoted-session","session"),j=new g("promoted-persistent"),k={impression:"impression",play:"sound_play",soundClickThrough:"sound_click",userClickThrough:"profile_click"},l={search:"4",test:"25"};d=c.exports={getAdUrl:function(a,b){return h.modify(f.get("promotedContentServer"),{query:e.extend({user_id:j.get("user_id"),session_id:i.get("session_id"),geo_id:i.get("geo_id"),access_token:f.get("promotedContentAccessToken"),zoneid:l[a],user_urn:f.get("me").getUrn()},b)})},trackEvent:function(a,b){d.getTrackingUrls(a,b).forEach(m)},parseResponse:function(a){var b=e.first(a.promoted)||{};return b.session_id&&b.geo_id&&b.user_id?(i.set("session_id",b.session_id),i.set("geo_id",decodeURIComponent(b.geo_id)),j.set("user_id",b.user_id),b):{}},getTrackingUrls:function(a,b){var c=b&&b.tracking&&b.tracking[k[a]]||[];return e.isArray(c)?c:[c]}}}), define("vendor/scaudio/scaudio",["require","exports","module"],function(a,b,c){(function(a,b){typeof c!="undefined"&&c.exports?c.exports=b():a.SCAudio=b()})(this,function(){var a,b,c;return function(d){function p(a,b){return m.call(a,b)}function q(a,b){var c,d,e,f,g,h,i,j,l,m,n,p=b&&b.split("/"),q=k.map,r=q&&q["*"]||{};if(a&&a.charAt(0)===".")if(b){p=p.slice(0,p.length-1),a=a.split("/"),g=a.length-1,k.nodeIdCompat&&o.test(a[g])&&(a[g]=a[g].replace(o,"")),a=p.concat(a);for(l=0;l0&&(a.splice(l-1,2),l-=2);else break}a=a.join("/")}else a.indexOf("./")===0&&(a=a.substring(2));if((p||r)&&q){c=a.split("/");for(l=c.length;l>0;l-=1){d=c.slice(0,l).join("/");if(p)for(m=p.length;m>0;m-=1){e=q[p.slice(0,m).join("/")];if(e){e=e[d];if(e){f=e,h=l;break}}}if(f)break;!i&&r&&r[d]&&(i=r[d],j=l)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function r(a,b){return function(){return f.apply(d,n.call(arguments,0).concat([a,b]))}}function s(a){return function(b){return q(b,a)}}function t(a){return function(b){i[a]=b}}function u(a){if(p(j,a)){var b=j[a];delete j[a],l[a]=!0,e.apply(d,b)}if(!p(i,a)&&!p(l,a))throw new Error("No "+a);return i[a]}function v(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function w(a){return function(){return k&&k.config&&k.config[a]||{}}}var e,f,g,h,i={},j={},k={},l={},m=Object.prototype.hasOwnProperty,n=[].slice,o=/\.js$/;g=function(a,b){var c,d=v(a),e=d[0];return a=d[1],e&&(e=q(e,b),c=u(e)),e?c&&c.normalize?a=c.normalize(a,s(b)):a=q(a,b):(a=q(a,b),d=v(a),e=d[0],a=d[1],e&&(c=u(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},h={require:function(a){return r(a)},exports:function(a){var b=i[a];return typeof b!="undefined"?b:i[a]={}},module:function(a){return{id:a,uri:"",exports:i[a],config:w(a)}}},e=function(a,b,c,e){var f,k,m,n,o,q=[],s=typeof c,v;e=e||a;if(s==="undefined"||s==="function"){b=!b.length&&c.length?["require","exports","module"]:b;for(o=0;o=e}function l(){var a,b,c,d;if(typeof window.ActiveXObject!="undefined")try{d=new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash"),d&&(a=d.GetVariable("$version"))}catch(e){}else window.navigator&&window.navigator.plugins&&window.navigator.plugins.length>0&&(c="application/x-shockwave-flash",b=window.navigator.mimeTypes,b&&b[c]&&b[c].enabledPlugin&&b[c].enabledPlugin.description&&(a=b[c].enabledPlugin.description));return a}function m(a){if(!a)return 0;var b=a.match(/\d\S+/)[0].replace(/,/g,".").split(".");return parseFloat([b[0],b[1]].join("."))||0}var d,e=9;d=c.exports={isSafari:g,isChrome:h,supportsHLSAudio:j,supportsHTML5Audio:i,supportsFlash:k}}),c("utils",["require","exports","module"],function(a,b,c){var d=c.exports={extend:function(a){var b=Array.prototype.slice.call(arguments,1);return b.forEach(function(b){if(b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}),a},each:function(a,b,c){Object.keys(a).forEach(function(d){b.call(c||null,a[d],d)})},find:function(a,b,c){var d;return a.some(function(a){if(b.call(c,a))return d=a,!0}),d},has:function(a,b){return Object.keys(a).indexOf(b)>-1},inherits:function(a,b){var c=this,e;a&&d.has(a,"constructor")?e=a.constructor:e=function(){return c.apply(this,arguments)},d.extend(e,c,b);var f=function(){this.constructor=e};return f.prototype=c.prototype,e.prototype=new f,a&&d.extend(e.prototype,a),e.__super__=c.prototype,e},without:function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)},result:function(a){var b=a;return d.isFunction(b)&&(b=a()),b},isFunction:function(a){return typeof a=="function"}}}),c("protocols",["require","exports","module"],function(a,b,c){var d=c.exports={HTTP:"http",RTMP:"rtmp",HLS:"hls"}}),c("url",["require","exports","module"],function(a,b,c){var d=c.exports={getUrlParams:function(a){var b={},c=a.indexOf("?");return c>-1&&a.substr(c+1).split("&").forEach(function(a){var c=a.split("=");b[c[0]]=c[1]}),b},getUrlHost:function(a){var b=a.split("//"),c;return b[0]===a?c=b[0].split("/")[0]:c=b[1]?b[1].split("/")[0]:"",c}}}),c("stream-urls",["require","exports","module","protocols","url","utils"],function(a,b,c){function i(a,b){var c=d.getExpirationTime(a,b);return Math.floor((c-Date.now())*.9)}function j(a,b){var c,d=function(){return Date.now()+h};switch(b){case e.RTMP:c=d();break;case e.HLS:case e.HTTP:c=parseInt(f.getUrlParams(a).Expires,10)*1e3}return c||(c=d()),c}function k(a,b){function q(a,b){return Math.abs(b-d)-Math.abs(a-d)}function r(a){return a*-1}var c={},d=b.maxBitrate,e=b.protocols,f=b.extensions,h,i,j,k,l,m,n,o,p;g.each(a,function(a,b){var d=b.split("_"),e=d[0],f=d[1],g=d[2];c[e]=c[e]||{},c[e][f]=c[e][f]||{},c[e][f][g]=a});for(l=0,m=e.length;l
-1&&w.splice(b,1)},v),$.ajax({type:"POST",dataType:"json",statusCode:{429:$.noop},url:f.result(this.options.registerEndpoint)}),this.trigger(j.REGISTERED),this._registerCounts++,b=!0),b},toggle:function(){this[this.isPaused()?"play":"pause"]()},play:function(a){a=a||this.currentTime(),this._isPlayActionQueued=!0,this.trigger(j.PLAY),this.initAudio().done(function(){I.call(this),this._isPlayActionQueued&&(this._registerPlays&&(this.registerPlay(),this._registerPlays=!1),this.trigger(j.PLAY_START),this.controller.play(a),this._storedPosition=null)}.bind(this)),H.call(this,!0)},pause:function(){this._isPlayActionQueued=!1,this._isPlaying=!1,this.trigger(j.PAUSE,this.currentTime()),this.controller&&this.controller.pause(),H.call(this,!1)},getListenTime:function(){return this.audioLogger?this.audioLogger.getListenTime():0},dispose:function(){this.audioLogger=null,this.audioPerfMonitor.dispose(),this.audioPerfMonitor=null,this.off(),f.without(w,this.options.soundId),clearTimeout(this._bufferingTimeout),I.call(this),C.call(this),delete this.controller},seek:function(a){if(this.controller){var b=this.currentTime(),c,d,e;this.trigger(j.SEEK,b,a),this.controller.seek(a),a>=f.result(this.options.duration)?E.call(this):(d=u,e=1e3,c=function(){this.currentTime()!==b?this.trigger(j.SEEKED):d=.99?1:a),a},buffered:function(){return this.controller&&this.controller.getDuration()||0},isPaused:function(){return!this.isPlaying()},isBuffering:function(){return this._isBuffering},isPlaying:function(){return this._isPlayActionQueued||this._isPlaying},isLooping:function(){return this._isLooping},isLoading:function(){return!!this.controller&&this.controller.getState()===this.audioManager.States.LOADING},isMuted:function(){return p.muted},toggleLooping:function(a,b){this._isLooping=a===undefined?!this._isLooping:!!a,(!b||b&&!b.silent)&&this.trigger(this._isLooping?j.LOOPING_ON:j.LOOPING_OFF)},toggleMute:function(a){p.muted=a===undefined?!p.muted:!!a,this.audioManager.setVolume(p.muted?0:1)},setVolume:function(a){p.volume=a===undefined?1:a,this.audioManager.setVolume(p.volume)},getVolume:function(){return p.volume},logAudioPerfomance:function(a){}}),f.extend(d,{extend:f.inherits,getSettings:function(){return p},setSettings:function(a){f.extend(p,a)},Extensions:k,Protocols:m,Events:j,BUFFER_DELAY:t,CHECK_POSITION_INTERVAL:u,PLAY_REGISTRATION_TIMEOUT:v})}),b("scaudio")})}), define("views/app-buttons/app-buttons.tmpl",["vendor/handlebars-runtime"],function(){return require("vendor/handlebars-runtime").template(function(a,b,c,d,e){function k(a,b){var d="",e;return d+=" ",e={},e.screenreader="Download on the App Store",e=c.$a11y.call(a,{hash:e}),d+=h(e)+"\n",d}function l(a,b){var d="",e;return d+=" ",e={},e.screenreader="Get in on Google Play",e=c.$a11y.call(a,{hash:e}),d+=h(e)+"\n",d}c=c||a.helpers;var f="",g,h=this.escapeExpression,i="function",j=this;f+='\n',g=b.isiOS,g=c["if"].call(b,g,{hash:{},inverse:j.program(3,l,e),fn:j.program(1,k,e)});if(g||g===0)f+=g;return f+="\n\n",f})}), define("views/app-buttons/app-buttons.css",["require","exports","module","dpi"],function(a,b,c,d){var e=c.exports=document.createElement("style"),f=d(".appButtons__link{display:block;height:57px;overflow:hidden;margin:0 auto}.appButtons.android .appButtons__link{background:url(https://m2-a.sndcdn.com/assets/images/ldpi/appstores/google-9bb8d964.png) 0 0 no-repeat;background-size:165px 57px;width:165px}.appButtons.iOS .appButtons__link{background:url(https://m2-a.sndcdn.com/assets/images/ldpi/appstores/apple-9bb8d964.png) 0 0 no-repeat;background-size:193px 57px;width:193px}");e.styleSheet?e.styleSheet.cssText=f:e.appendChild(document.createTextNode(f)),f=null}), define("lib/gc-store",["require","exports","module","lib/store","lib/mixins/usage-counting"],function(a,b,c){var d,e=a("lib/store"),f=a("lib/mixins/usage-counting");d=c.exports=e.extend(),f.applyTo(d.prototype)}), define("lib/helpers/a11y-helper",["require","exports","module","vendor/handlebars-runtime"],function(a,b,c){var d,e=a("vendor/handlebars-runtime");d=c.exports={getAccessibleMarkup:function(a){return''+e.Utils.escapeExpression(a.screenreader)+""+(a.visible?''+e.Utils.escapeExpression(a.visible)+"":"")}}}), define("lib/helpers/count-helper",["require","exports","module","underscore"],function(a,b,c){function g(a){return typeof a!="number"&&(a=parseInt(a,10)),a!==a?"":a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}var d,e=a("underscore"),f;f={max:null,suffix:"+"},d=c.exports={render:function(a,b){return b=b||{},e.defaults(b,f),b.max=b.max||a,a>b.max?b.max+b.suffix:g(a)}}}), define("lib/helpers/translate-helper",["require","exports","module"],function(a,b,c){var d;d=c.exports=function(a){return a}}), define("views/header/search-button",["require","exports","module","config","lib/tracking/tracking-bus","lib/view","views/header/search-button.css"],function(a,b,c){function h(){e.get("searchBox").toggleState("open"),f.action("show","search:prompt")}var d,e=a("config"),f=a("lib/tracking/tracking-bus"),g=a("lib/view");d=c.exports=g.extend({template:function(){return"Search"},tagName:"button",css:a("views/header/search-button.css"),className:"searchButton g-touch-padding g-button-nostyle",events:{click:h}})}), define("views/search/search-box",["require","exports","module","config","lib/event-bus","lib/views/mixins/form","views/search/suggestions-overlay","views/search/suggestions-list","lib/tracking/tracking-bus","lib/view","lib/url","views/search/search-box.tmpl","views/search/search-box.css"],function(a,b,c){function m(){this.toggleState("open",!1),r.call(this)}function n(){var a=this.getElement("input")[0];a.value="",a.setAttribute("value",""),a.focus()}function o(){var a=this.getElement("input")[0].value,b;this.toggleState("filled",!!a.length),b=this.getState("filled"),b?q.call(this,a):!b&&this.suggestionsOverlay&&r.call(this)}function p(){return l.parse(window.location.href).path.indexOf("search")===1}function q(a){if(p())return;var b=!0;this.suggestionsOverlay&&(this.suggestionsOverlay.close(),b=!1,delete this.suggestionsOverlay),this.suggestionsOverlay=new h({Subview:i,subviewArgs:{query:a,maxDisplay:10},showHeader:!0,animate:b}),this.suggestionsOverlay.open()}function r(){this.suggestionsOverlay&&(this.suggestionsOverlay.close(),delete this.suggestionsOverlay)}var d,e=a("config"),f=a("lib/event-bus"),g=a("lib/views/mixins/form"),h=a("views/search/suggestions-overlay"),i=a("views/search/suggestions-list"),j=a("lib/tracking/tracking-bus"),k=a("lib/view"),l=a("lib/url");d=c.exports=k.extend(g,{template:a("views/search/search-box.tmpl"),css:a("views/search/search-box.css"),className:"searchBox g-z-index-overlay",events:{"click .searchBox__searchCancel":m,"click .searchBox__searchEmpty":n,"keyup .searchBox__searchInput":o,"focus .searchBox__searchInput":o},element2selector:{input:".searchBox__searchInput"},states:{open:function(a){this.$el.toggleClass("open",a),a&&this.getElement("input")[0].focus()}},setup:function(){e.set("searchBox",this),f.on("layout:change",this.rerender,this)},dispose:function(){e.set("searchBox",null),f.off("layout:change",this.rerender,this)},renderDecorate:function(){this.toggleState("open",p()),o.call(this)},onSubmit:function(){var a=this.getElement("input")[0],b=a.value.trim(),c=e.get("router"),d;r.call(this),b.length&&(j.action("submit","search:submit"),a.blur(),d=c.getLayoutInfo().args.category||"",c.navigateToRoute("search",[d,b],{trigger:!0}))},onReset:function(){this.getElement("input")[0].focus()},getTemplateData:function(a){var b=l.parse(window.location.href),c=b.query.q;a.needsCancel=!p(),a.q=c}})}), define("views/native-app/download-button",["require","exports","module","config","lib/helpers/client-environment-helper","lib/experiments","lib/tracking/tracking-bus","lib/view","views/native-app/download-button.css","views/native-app/download-button.tmpl"],function(a,b,c){function k(){h.action("submit","download_app_button:click")}var d,e=a("config"),f=a("lib/helpers/client-environment-helper").device,g=a("lib/experiments"),h=a("lib/tracking/tracking-bus"),i=a("lib/view"),j=["g-button","plain"];d=c.exports=i.extend({tagName:"a",className:"downloadAppButton",css:a("views/native-app/download-button.css"),template:a("views/native-app/download-button.tmpl"),events:{click:k},renderDecorate:function(){this.el.href=f.iOS?e.get("appStore"):e.get("googlePlayButton"),this.$el.addClass(j[g.get("download_button")]),f.iOS&&(this.el.target="_blank")}})}), define("lib/helpers/lang-helper",["require","exports","module"],function(a,b,c){var d;d=c.exports={plural:function(a,b,c){return c=typeof c=="string"?c:b+"s",a===1?b:c},possessive:function(a){return a+"'s"}}}), define("lib/scroll-bouncing-fix",["require","exports","module"],function(a,b,c){var d;d=c.exports=function(){this.$el.on("touchmove",function(a){a.preventDefault()})}}), define("vendor/audiomanager/audiomanager_mobile",["require","exports","module"],function(a,b,c){(function(a,b){typeof c!="undefined"&&c.exports?c.exports=b():a.AudioManager=b()})(this,function(){var a,b,c;return function(d){function o(a,b){return m.call(a,b)}function p(a,b){var c,d,e,f,g,h,i,j,l,m,n=b&&b.split("/"),o=k.map,p=o&&o["*"]||{};if(a&&a.charAt(0)===".")if(b){n=n.slice(0,n.length-1),a=n.concat(a.split("/"));for(j=0;j0&&(a.splice(j-1,2),j-=2);else break}a=a.join("/")}else a.indexOf("./")===0&&(a=a.substring(2));if((n||p)&&o){c=a.split("/");for(j=c.length;j>0;j-=1){d=c.slice(0,j).join("/");if(n)for(l=n.length;l>0;l-=1){e=o[n.slice(0,l).join("/")];if(e){e=e[d];if(e){f=e,g=j;break}}}if(f)break;!h&&p&&p[d]&&(h=p[d],i=j)}!f&&h&&(f=h,g=i),f&&(c.splice(0,g,f),a=c.join("/"))}return a}function q(a,b){return function(){return f.apply(d,n.call(arguments,0).concat([a,b]))}}function r(a){return function(b){return p(b,a)}}function s(a){return function(b){i[a]=b}}function t(a){if(o(j,a)){var b=j[a];delete j[a],l[a]=!0,e.apply(d,b)}if(!o(i,a)&&!o(l,a))throw new Error("No "+a);return i[a]}function u(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function v(a){return function(){return k&&k.config&&k.config[a]||{}}}var e,f,g,h,i={},j={},k={},l={},m=Object.prototype.hasOwnProperty,n=[].slice;g=function(a,b){var c,d=u(a),e=d[0];return a=d[1],e&&(e=p(e,b),c=t(e)),e?c&&c.normalize?a=c.normalize(a,r(b)):a=p(a,b):(a=p(a,b),d=u(a),e=d[0],a=d[1],e&&(c=t(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},h={require:function(a){return q(a)},exports:function(a){var b=i[a];return typeof b!="undefined"?b:i[a]={}},module:function(a){return{id:a,uri:"",exports:i[a],config:v(a)}}},e=function(a,b,c,e){var f,k,m,n,p,r=[],u;e=e||a;if(typeof c=="function"){b=!b.length&&c.length?["require","exports","module"]:b;for(p=0;p0&&(this._loadedPosition=this._html5Audio.seekable.end(0)*1e3)},d.prototype._onBuffering=function(){this._setState(g.LOADING)},d.prototype._onLoaded=function(a){if(this._duration===undefined||this._duration===0)this._duration=this._html5Audio.duration*1e3;this._isLoaded=!0,this._logger.log('html5 audio event "'+a.type+'"'),this.trigger("loaded",this)},d.prototype._onPositionChange=function(a){this.updatePositions();var b=this._currentPosition-this._prevCurrentPosition,c,d,e;this.trigger("positionChange",this.getCurrentPosition(),this._loadedPosition,this._duration,this);if(!this.isInOneOfStates(g.PLAYING,g.LOADING)){this._state===g.SEEKING&&b>0&&this._setState(g.PLAYING);return}if(this._duration!==0&&this._currentPosition>this._duration){this._errorID=h.HTML5_AUDIO_OVERRUN,this._errorMessage=this._getErrorMessage(this._errorID),this._logger.log("html5 audio error: "+this._errorID+" "+this._errorMessage),this._setState(g.ERROR),this.toggleEventListeners(!1);return}c=(new Date).valueOf(),d=c-this._prevCheckTime;if(d===0)return;e=b/d,e>.7?(clearTimeout(this._bufferingTimeout),this._setState(g.PLAYING),this._bufferingTimeout=null):this._state===g.PLAYING&&this._bufferingTimeout==null&&(this._bufferingTimeout=setTimeout(this._onBuffering,this._settings.bufferingDelay)),this._prevCurrentPosition=this._currentPosition,this._prevCheckTime=c},d.prototype._onStateChange=function(a){this._logger.log('html5 audio event "'+a.type+'"'),clearTimeout(this._bufferingTimeout);switch(a.type){case"playing":if(this._trySeekToStartPosition())return;this.updatePositions(),this._setState(g.PLAYING);break;case"pause":this._setState(g.PAUSED);break;case"ended":this._currentPosition=this._loadedPosition=this._duration,this.trigger("positionChange",this.getCurrentPosition(),this._loadedPosition,this._duration,this),this._setState(g.ENDED),clearInterval(this._positionUpdateTimer);break;case"waiting":if(this.getState()===g.SEEKING)break;this._setState(g.LOADING);break;case"seeking":this._setState(g.SEEKING);break;case"seeked":this.updatePositions(),this._html5Audio.paused?this._setState(g.PAUSED):this._setState(g.PLAYING);break;case"error":this._errorID={1:h.HTML5_AUDIO_ABORTED,2:h.HTML5_AUDIO_NETWORK,3:h.HTML5_AUDIO_DECODE,4:h.HTML5_AUDIO_SRC_NOT_SUPPORTED}[this._html5Audio.error.code],this._errorMessage=this._getErrorMessage(this._errorID),this._logger.log("html5 audio error: "+this._errorID+" "+this._errorMessage),this._setState(g.ERROR),this.toggleEventListeners(!1)}},d.prototype._getErrorMessage=function(a){var b={};return b[h.HTML5_AUDIO_ABORTED]="The fetching process was aborted by the user.",b[h.HTML5_AUDIO_NETWORK]="A network connection lost.",b[h.HTML5_AUDIO_DECODE]="An error occurred while decoding the media resource.",b[h.HTML5_AUDIO_SRC_NOT_SUPPORTED]="The media resource is not suitable.",b[h.HTML5_AUDIO_ENDED_EARLY]="Audio playback ended before the indicated duration of the track.",b[h.HTML5_AUDIO_OVERRUN]="Audio playback continued past end of the track.",b[a]}}),c("hlsaudioplayer",["require","exports","module","underscore","errors","vendor/events","html5audioplayer","logger","states"],function(a,b,c){var d,e=a("underscore"),f=a("errors"),g=a("vendor/events"),h=a("html5audioplayer"),i=a("logger"),j=a("states"),k=1;c.exports=d=function(a,b){h.apply(this,arguments),this._seekPosition=0},e.extend(d.prototype,h.prototype),d.prototype.getType=function(){return"HTML5 HLS audio"},d.prototype.seek=function(a){h.prototype.seek.apply(this,arguments),this.isInOneOfStates(j.LOADING,j.SEEKING)&&(this._seekPosition=a)},d.prototype.getCurrentPosition=function(){if(this.isInOneOfStates(j.LOADING)&&this._seekPosition>0)return this._seekPosition;if(this.isInOneOfStates(j.PLAYING,j.SEEKING)){if(this._seekPosition>=this._currentPosition)return this._seekPosition;this._seekPosition=0}return h.prototype.getCurrentPosition.apply(this,arguments)},d.prototype._onStateChange=function(a){this._logger.log('hls html5 audio event "'+a.type+'"'),clearTimeout(this._bufferingTimeout);switch(a.type){case"playing":if(this._trySeekToStartPosition())return;this.updatePositions(),this._setState(j.PLAYING);break;case"pause":this._setState(j.PAUSED);break;case"ended":if(this._currentPosition+k0&&this._descriptor.src===this._html5Audio.src?b.apply(this):(this.once("loaded",b),this._html5Audio.type=this._descriptor.mimeType,this._html5Audio.src=this._descriptor.src,this._html5Audio.preload="auto",this._html5Audio.load())},d.prototype.pause=function(){this._playRequested=!1;if(this.isInOneOfStates(k.ERROR,k.DEAD))return;this._logger.log("pause"),this._html5Audio._playerId===this._descriptor.id?this._html5Audio.pause():(this.toggleEventListeners(!1),this._setState(k.PAUSED)),clearTimeout(this._bufferingTimeout),clearInterval(this._positionUpdateTimer)},d.prototype.seek=function(a){if(this._html5Audio._playerId!==this._descriptor.id){this._currentPosition=a,this.trigger("positionChange",this._currentPosition,this._loadedPosition,this._duration,this);return}i.prototype.seek.apply(this,arguments)},d.prototype.kill=function(){if(this._state===k.DEAD)return;this._playRequested=!1,clearInterval(this._positionUpdateTimer),clearTimeout(this._bufferingTimeout),this.toggleEventListeners(!1),this._setState(k.DEAD)},d.prototype.resume=function(){if(this.isInOneOfStates(k.ERROR,k.DEAD))return;if(this._html5Audio._playerId!==this._descriptor.id){this.play(this._currentPosition);return}i.prototype.resume.apply(this,arguments)},d.prototype.preload=function(){!this._preloadAudio&&f.supportSourceSwappingWithPreload()&&(this._preloadAudio=new Audio,this._preloadAudio.preload="none");var a=this._preloadAudio;a&&a.preload!=="auto"&&(this._logger.log("preload"),a.preload="auto",a._playerId=this._id,a.type=this._descriptor.mimeType,a.src=this._descriptor.src,a.load())}}),c("hlssingleaudioplayer",["require","exports","module","underscore","errors","vendor/events","hlsaudioplayer","logger","singleaudioplayer","states"],function(a,b,c){var d,e=a("underscore"),f=a("errors"),g=a("vendor/events"),h=a("hlsaudioplayer"),i=a("logger"),j=a("singleaudioplayer"),k=a("states");c.exports=d=function(a,b){j.apply(this,arguments)},e.extend(d.prototype,j.prototype),e.extend(d.prototype,e.pick(h.prototype,"_seekPosition","seek","getCurrentPosition","_onStateChange")),d.prototype.getType=function(){return"HTML5 HLS single audio"}}),c("mimetypes",{AAC:"audio/aac",M3U8:"application/x-mpegURL",MP4:"audio/mp4",MPEG:"audio/mpeg",OGG:"audio/ogg",WAV:"audio/wav",WEBM:"audio/webm",getTypeByExtension:function(a){var b={mp1:this.MPEG,mp2:this.MPEG,mp3:this.MPEG,mpeg:this.MPEG,mpg:this.MPEG,aac:this.AAC,mp4:this.MP4,ogg:this.OGG,oga:this.OGG,opus:this.OGG,webm:this.WEBM,wav:this.WAV,m3u8:this.M3U8};return b[a]||null}}),c("factory",["require","exports","module","browserutils","hlssingleaudioplayer","mimetypes","singleaudioplayer"],function(a,b,c){var d,e=a("browserutils"),f=a("hlssingleaudioplayer"),g=a("mimetypes"),h=a("singleaudioplayer");c.exports=d=function(){},d.createAudioPlayer=function(a,b){var c,i,j,k;i=a.src.split(":")[0];if(i==="rtmp"||i==="rtmpt")return null;c=d.getMimeType(a);if(c===g.M3U8)if(e.isNativeHlsSupported())k=new f(a,b);else return null;else if(e.supportHTML5Audio()&&e.canPlayType(c))k=new h(a,b);else return null;return k},d.getMimeType=function(a){if(a.mimeType)return a.mimeType;var b=a.src.split("?")[0];return b=b.substring(b.lastIndexOf(".")+1,b.length),g.getTypeByExtension(b)}}),c("audiomanager",["require","exports","module","underscore","factory","states","errors","browserutils"],function(a,b,c){var d,e=a("underscore"),f=a("factory"),g=a("states"),h=a("errors"),i=a("browserutils");c.exports=d=function(a){a=a||{},this._players={},this._volume=1,this._mute=!1,this._settings=e.defaults(a,d.defaults)},d.States=g,d.Errors=h,d.BrowserUtils=i,d.defaults={flashAudioPath:"flashAudio.swf",flashLoadTimeout:2e3,flashObjectID:"flashAudioObject",audioObjectID:"html5AudioObject",updateInterval:300,bufferTime:8e3,bufferingDelay:800,debug:!1},d.prototype.getAudioPlayer=function(a){return this._players[a]},d.prototype.hasAudioPlayer=function(a){return this._players[a]!==undefined},d.prototype.removeAudioPlayer=function(a){this.hasAudioPlayer(a)&&delete this._players[a]},d.prototype.setVolume=function(a){a=Math.min(1,a),this._volume=Math.max(0,a);for(var b in this._players)this._players.hasOwnProperty(b)&&this._players[b].setVolume(this._volume)},d.prototype.getVolume=function(){return this._volume},d.prototype.setMute=function(a){this._muted=a;for(var b in this._players)this._players.hasOwnProperty(b)&&this._players[b].setMute(this._muted)},d.prototype.getMute=function(){return this._muted},d.prototype.createAudioPlayer=function(a){var b,c,d;a.id||(a.id=Math.floor(Math.random()*1e10).toString()+(new Date).getTime().toString());if(!a.src)throw new Error("AudioManager: You need to pass a valid src");return this._players[a.id]||(this._players[a.id]=f.createAudioPlayer(a,this._settings)),this._players[a.id].setVolume(this._volume),this._players[a.id].setMute(this._muted),this._players[a.id].on("stateChange",this._onStateChange,this),this._players[a.id]},d.prototype._onStateChange=function(a,b){b.getState()===g.DEAD&&this.removeAudioPlayer(b.getId())}}),b(["audiomanager"]),b("audiomanager")})}), define("lib/mixins/usage-counting",["require","exports","module","lib/mixin"],function(a,b,c){var d,e=a("lib/mixin");d=c.exports=new e({onCleanup:null,onIncrement:null,onDecrement:null,after:{initialize:function(a){this._counts={},this._needsGC=!1,a=a||{},this._autoCleanup=!!a.autoCleanup,this.onCleanup=a.onCleanup,this.onIncrement=a.onIncrement,this.onDecrement=a.onDecrement},reset:function(){this._counts={},this._needsGC=!1},set:function(a,b){this._counts[a]||(this._counts[a]=1,this.onIncrement&&this.onIncrement(b,a,1))},unset:function(a){delete this._counts[a]}},before:{reset:function(){this.onCleanup&&this.forEach(this.onCleanup)}},countFor:function(a){return this._counts[a]||0},increment:function(a,b){return this.has(a)&&(b=typeof b=="number"?b:1,b>0?(this._counts[a]=(this._counts[a]||0)+b,this.onIncrement&&this.onIncrement(this.get(a),a,b)):b0?(this._counts[a]=(this._counts[a]||1)-b,this.onDecrement&&this.onDecrement(this.get(a),a,b),this._counts[a]","ig"),""):a=a.replace(//g,""),y.innerHTML=a,f.links&&i(y,function(a){a.nodeType===3?a.parentNode.nodeName.toLowerCase()!=="a"&&(a.nodeValue=a.nodeValue.replace(j,"{{$1}}").replace(l,"{{mailto:$1}}").replace(m,"$1{{@$2}}")):a.nodeName==="A"&&(r.test(a.href)&&(a.href=a.href.replace(r,f.internalLinksBaseUrl),a.removeAttribute("target")),a.children.length||(a.innerHTML=h(a.innerHTML,f.maxExternalLinksLength,!0)))}),a=y.innerHTML,f.links&&(a=a.replace(o,function(a,b){return f.internalLinks&&r.test(b)?''+b.replace(s,"")+"":f.externalLinks?''+h(b,f.maxExternalLinksLength)+"":b}).replace(p,'$1').replace(q,'@$1"),f.hashtagLinks&&(a=a.replace(n,'$1$2')),f.deepLinks&&(a=a.replace(k,'$1'))),f.maxLength&&(a=g(a,f.maxLength));if(f.paragraphs){a=a.split(t);for(v=0,w=a.length;v"),a[v]=""+a[v]+"
";a=a.join("")}else a=a.replace(/[\r\n]+/g," ").replace(u," ");return a},a.withDefaults=function(c){var e=d({},b,c);return function(b,c){var f=c?d({},e,c):e;return a.call(this,b,f)}},typeof c!="undefined"&&c.exports?c.exports=a:(global=function(){return this}(),global.SC=global.SC||{},global.SC.usertext=a)})()}), define("views/search/suggestion-item.css",["require","exports","module","dpi"],function(a,b,c,d){var e=c.exports=document.createElement("style"),f=d(".suggestionItem{display:block;height:50px}.suggestedLink{height:50px;display:block;padding:0 16px;color:#333}.suggestedResult{height:50px;display:block;line-height:50px;border-bottom:1px solid #d6d6d6;padding:0 0 0 32px}.suggestedLink:active{background:#f2f2f2}.suggestedUser>.suggestedResult{background:url(https://m2-a.sndcdn.com/assets/images/ldpi/suggestions/user-8fcba46c.png) 0 14px no-repeat;background-size:18px 18px}.suggestedSound>.suggestedResult{background:url(https://m2-a.sndcdn.com/assets/images/ldpi/suggestions/sound-8fcba46c.png) 0 16px no-repeat;background-size:18px 18px}");e.styleSheet?e.styleSheet.cssText=f:e.appendChild(document.createTextNode(f)),f=null}), define("views/search/suggestion-item.tmpl",["vendor/handlebars-runtime"],function(){return require("vendor/handlebars-runtime").template(function(a,b,c,d,e){function k(a,b){var d="",e;return d+='\nhref="http://m.soundcloud.com',e=c.$route.call(a,"user",a,{hash:{}}),d+=h(e)+'" target="_blank">\n',d}function l(a,b){var d="",e;return d+='\nhref="',e=c.$route.call(a,"listen",a,{hash:{}}),d+=h(e)+'">\n',d}c=c||a.helpers;var f="",g,h=this.escapeExpression,i="function",j=this;f+='',g=b.query,g=typeof g===i?g():g;if(g||g===0)f+=g;return f+="\n\n",f})}), define("layouts/listen",["require","exports","module","$","config","config/error-messages","models/exception","lib/play-manager","models/sound","collections/player-sounds","lib/layouts/fullheight"],function(a,b,c){function m(a){var b=f.get("availablePlayManagerSource"),c=!1,d,e;b?(e=b,f.set("availablePlayManagerSource",null),c=!0):(e=new k(null,{resource_id:a.resource_id}),d=i.getCurrentSound(),c=d&&d.isPlaying()),i.setSource(e).setCursor(e.indexOf(a)),c&&i.play()}function n(a,b){return this.setTitle(b.get("title")+" by "+b.get("user").username),this.setViews({"l-main":["views/listen/listen",{seed_sound_id:b.resource_id}],"l-footer":["views/listen/player"]})}var d,e=a("$"),f=a("config"),g=a("config/error-messages"),h=a("models/exception"),i=a("lib/play-manager"),j=a("models/sound"),k=a("collections/player-sounds"),l=a("lib/layouts/fullheight");d=c.exports=l.extend({setup:function(a){var b=e.Deferred();return j.resolve(a.userPermalink,a.soundPermalink,a.secretToken).fail(h.ajaxFatal(g.PAGE_NOT_FOUND)).done(m).then(n.bind(this,a)).then(b.resolve),b}})}), define("config/error-messages",["require","exports","module"],function(a,b,c){var d;d=c.exports={UNKNOWN:{title:"We're sorry, there seems to be a problem here",message:"Please try refreshing the page"},PAGE_NOT_FOUND:{title:"We can't find this page"}}}), define("models/exception",["require","exports","module","underscore","lib/event-bus","lib/model"],function(a,b,c){var d,e=a("underscore"),f=a("lib/event-bus"),g=a("lib/model");d=c.exports=g.extend({url:null,lastFetchTime:1,initialize:function(a){a=a||{},this.id||(a.id=this.id=this.cid,d.instances.set(this.id,this)),this.fatal=!!a.fatal,g.prototype.initialize.apply(this,arguments)}},{raise:function(a,b){var c=new d(a);c.release(),b=b||{};if(b.hard)throw c;f.trigger("exception",c)},ajaxFatal:function(a){return function(b,c){c!=="abort"&&d.raise(e.extend(a,{xhr:b,fatal:!0}))}},ajaxNonFatal:function(a){return function(b,c){c!=="abort"&&d.raise({message:a,xhr:b,fatal:!1})}}})}), define("collections/player-sounds",["require","exports","module","underscore","lib/multi-collection","collections/related-sounds","collections/single-sound","models/sound"],function(a,b,c){var d,e=a("underscore"),f=a("lib/multi-collection"),g=a("collections/related-sounds"),h=a("collections/single-sound"),i=a("models/sound");d=c.exports=f.extend({defaults:{limit:3,offset:0,resource_id:null},model:i,setupSources:function(){return[new h(null,{resource_id:this.options.resource_id}),new g(null,e.defaults({limit:3},this.options))]}},{hashFn:function(a,b){return"player_sounds_"+b.resource_id}})}), define("views/listen/listen",["require","exports","module","underscore","config","lib/play-manager","router","views/listen/listen-item","lib/views/horizontal-carousel","lib/views/mixins/swipeable"],function(a,b,c){function l(a){var b=a?"on":"off";g[b]("add",m,this)[b]("change:current",n,this)}function m(){p.call(this)}function n(){var a=g.getCurrentSound();a&&(o.call(this,a.resource_id),r(a))}function o(a){if(g.hasSound(a)){var b=q.call(this,a);this.animateTo(b),p.call(this)}}function p(){if(g.hasNext()){var a=q.call(this,g.source.at(g.cursor+1).id);this.appendView(a)}}function q(a){var b=e.find(this.subviews,function(b){return b instanceof i&&b.model.resource_id===a});return b||(b=new i({resource_id:a})),b}function r(a){var b=h.getRoute("listen",a);f.get("router").navigate(b,{trigger:!1,replace:!0})}var d,e=a("underscore"),f=a("config"),g=a("lib/play-manager"),h=a("router"),i=a("views/listen/listen-item"),j=a("lib/views/horizontal-carousel"),k=a("lib/views/mixins/swipeable");d=c.exports=j.extend(k,{defaults:{seed_sound_id:null},template:function(){return""},setup:function(){l.call(this,!0)},dispose:function(){l.call(this,!1)},renderDecorate:function(){o.call(this,this.options.seed_sound_id),p.call(this)},onSwipeLeft:function(){g.playNext()},onSwipeRight:function(){g.playPrev()}})}), define("views/listen/player",["require","exports","module","lib/play-manager","lib/view","views/listen/player.css","views/listen/player.tmpl"],function(a,b,c){function g(a){var b=a?"on":"off";e[b]("add remove",h,this)[b]("play pause",i,this)[b]("change:source ",k,this)[b]("change:currentSound",j,this)}function h(){o.call(this)}function i(){o.call(this)}function j(){o.call(this)}function k(){o.call(this)}function l(){e.playPrev(!0)}function m(){e.playNext(!0)}function n(){this.getState("disabled")||e.toggle(!0)}function o(){var a=e.getCurrentSound(),b=!!a&&!!a.isPlaying(),c=!!a&&!!a.isLoading(),d=!a||!a.get("playable"),f=d||!e.hasPrev(),g=d||!e.hasNext();this.toggleState("loading",c).toggleState("playing",b).toggleState("prevDisabled",f).toggleState("nextDisabled",g).toggleState("disabled",d)}var d,e=a("lib/play-manager"),f=a("lib/view");d=c.exports=f.extend({css:a("views/listen/player.css"),template:a("views/listen/player.tmpl"),className:"player",tagName:"section",events:{"click .player__prev":l,"click .player__next":m,"click .player__playPause":n},setup:function(){g.call(this,!0)},dispose:function(){g.call(this,!1)},renderDecorate:function(){o.call(this)}})}), define("lib/multi-collection",["require","exports","module","$","underscore","lib/backbone","lib/hirsch","lib/collection"],function(a,b,c){function j(){var a=this._ignoredCollections;return f.find(this.sources,function(b,c){return a.indexOf(c)b)this.lastFetchTime=Date.now();c&&this.trigger("reset",this,{})}function n(a,b,c){c=c||{};var d=c.index||b.indexOf(a);this.sources.some(function(a){if(a===b)return!0;d+=a.length}),this.lastFetchTime=Date.now(),u.call(this,a,d,c)}function o(a,b,c){var d=c.index;this.sources.some(function(a){if(a===b)return!0;d+=a.length}),v.call(this,a,d)}function p(a){switch(a){case"add":case"remove":case"reset":case"destroy":return;default:this.trigger.apply(this,arguments)}}function q(a,b){var c=this.length,d=c+this._ignore.length,e=d,f=c+a,g={silent:b},h=!this.lastFetchTime;return this.sources.every(function(b){var c,i,j,k;do{c=b.models.slice(d,d+a),j=c.length,j&&(this.lastFetchTime=b.lastFetchTime||Date.now(),h&&(h=!1,this.trigger("reset",this,{}))),k=this.length;while(i=c.shift())d++,u.call(this,i,e++,g);a-=this.length-k}while(this.lengthc}function r(a){var b=a,c,d;for(c=0,d=this._ignore.length;c-1)for(c=0,d=this.sources.length;c=e.length)b-=e.length;else return{source:e,index:b,model:e.at(b)}}}function t(a){var b=this.sources.indexOf(a);b>-1&&b-1?f.blacklist[d]:!0),d===-1?e(f.dupes,!0):d-1&&b-1?f.blacklist[d]:!0),d===-1?e(f.dupes,!0):d