75 lines
1.4 MiB
75 lines
1.4 MiB
!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=105)}([function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(106)},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},storage=(exports.isTouchDevice=function(){return"ontouchstart"in document.documentElement},exports.debounce=function(fn,wait,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||fn.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,wait),callNow&&fn.apply(context,args)}},exports.throttle=function(fn,delay){var lastCall=0;return function(){var now=(new Date).getTime();if(!(now-lastCall<delay))return lastCall=now,fn.apply(void 0,arguments)}},function(){var storage,result,uid=new Date;try{return(storage=window.localStorage).setItem(uid,uid),result=storage.getItem(uid)==uid,storage.removeItem(uid),result&&storage}catch(exception){}}()),formatImages=(exports.getStorage=function(key){var default_value=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(storage){var value=storage.getItem(key);return value?JSON.parse(value):default_value}return console.warn("localStorage not available. Using default value for '"+key+"'."),default_value},exports.setStorage=function(key,value){var replace=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(storage){var stored_value=storage.getItem(key);if(!stored_value||replace)var new_value=value;else var new_value=Object.assign({},JSON.parse(stored_value),value);return void storage.setItem(key,JSON.stringify(new_value))}return void console.warn("localStorage not available. '"+key+"'' will not perist when you close your browser.")},exports.digestMopidyImages=function(mopidy,images){for(var digested=[],i=0;i<images.length;i++){if("object"===_typeof(images[i])){var url=images[i].url;!url&&images[i].uri&&(url=images[i].uri),images[i].url=url,url&&url.startsWith("/images/")&&(url="//"+mopidy.host+":"+mopidy.port+url)}else"string"==typeof images[i]&&images[i].startsWith("/images/")&&(images[i]="//"+mopidy.host+":"+mopidy.port+images[i]);digested.push(images[i])}return digested},exports.generateGuid=function(){if("numeric"==(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"numeric")){var date=(new Date).valueOf().toString(),random_number=Math.floor(100*Math.random()).toString();return parseInt(date+random_number)}return"xxxxxxxxxx".replace(/[xy]/g,function(c){var r=16*Math.random()|0;return("x"==c?r:3&r|8).toString(16)})},exports.getCurrentPusherConnection=function(connections,connectionid){function isCurrentConnection(connection){return connection.connectionid==newProps.pusher.connectionid}var currentConnection=newProps.pusher.connections.find(isCurrentConnection);return currentConnection||!1},exports.getTrackIcon=function(){var current_track=arguments.length>0&&void 0!==arguments[0]&&arguments[0],core=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!core)return!1;if(!current_track)return!1;if(void 0===current_track.uri)return!1;if(void 0===core.tracks[current_track.uri])return!1;var track=core.tracks[current_track.uri];return!!track.images&&formatImages(track.images).small},exports.formatImages=function(data){var sizes={formatted:!0,small:null,medium:null,large:null,huge:null};if(!data)return sizes;if(Array.isArray(data)){if(data.length<=0)return sizes;for(var i=0;i<data.length;i++){var image=data[i];if(image.__model__&&"Image"==image.__model__)image.width<400?sizes.small=image.url:image.width<800?sizes.medium=image.url:image.width<1e3?sizes.large=image.url:sizes.huge=image.url;else if("string"==typeof image)sizes.small=image;else if(void 0!==image.width)image.width<400?sizes.small=image.url:image.width<800?sizes.medium=image.url:image.width<1e3?sizes.large=image.url:sizes.huge=image.url;else if(void 0!==image.size)switch(image.size){case"mega":case"extralarge":case"large":sizes.medium=image["#text"];break;case"medium":case"small":sizes.small=image["#text"]}}}else data.small&&(sizes.small=data.small.url),data.medium&&(sizes.medium=data.medium.url),data.large&&(sizes.large=data.large.url),data.huge&&(sizes.huge=data.huge.url);return sizes.small||(sizes.medium?sizes.small=sizes.medium:sizes.large?sizes.small=sizes.large:sizes.huge?sizes.small=sizes.huge:sizes.small=null),sizes.medium||(sizes.large?sizes.medium=sizes.large:sizes.huge?sizes.medium=sizes.huge:sizes.medium=sizes.small),sizes.large||(sizes.large=sizes.medium),sizes.huge||(sizes.huge=sizes.large),sizes}),formatAlbum=(exports.formatSimpleObject=function(data){var simple_object={},fields=["uri","name"],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=fields[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var field=_step.value;data.hasOwnProperty(field)&&(simple_object[field]=data[field])}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}return simple_object},exports.formatTracks=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=records[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var record=_step2.value;formatted.push(formatTrack(record))}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}return formatted},exports.formatAlbums=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=records[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var record=_step3.value;formatted.push(formatAlbum(record))}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}return formatted},exports.formatArtists=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=records[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var record=_step4.value;formatted.push(formatArtist(record))}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}return formatted},exports.formatPlaylists=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion5=!0,_didIteratorError5=!1,_iteratorError5=void 0;try{for(var _step5,_iterator5=records[Symbol.iterator]();!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=!0){var record=_step5.value;formatted.push(formatTrack(record))}}catch(err){_didIteratorError5=!0,_iteratorError5=err}finally{try{!_iteratorNormalCompletion5&&_iterator5.return&&_iterator5.return()}finally{if(_didIteratorError5)throw _iteratorError5}}return formatted},exports.formatUsers=function(){var records=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],formatted=[],_iteratorNormalCompletion6=!0,_didIteratorError6=!1,_iteratorError6=void 0;try{for(var _step6,_iterator6=records[Symbol.iterator]();!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=!0){var record=_step6.value;formatted.push(formatUser(record))}}catch(err){_didIteratorError6=!0,_iteratorError6=err}finally{try{!_iteratorNormalCompletion6&&_iterator6.return&&_iterator6.return()}finally{if(_didIteratorError6)throw _iteratorError6}}return formatted},exports.formatAlbum=function(data){var album={},fields=["uri","provider","name","type","added_at","release_date","popularity","images","artists_uris","tracks_uris","artists"],_iteratorNormalCompletion7=!0,_didIteratorError7=!1,_iteratorError7=void 0;try{for(var _step7,_iterator7=fields[Symbol.iterator]();!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=!0){var field=_step7.value;data.hasOwnProperty(field)&&(album[field]=data[field])}}catch(err){_didIteratorError7=!0,_iteratorError7=err}finally{try{!_iteratorNormalCompletion7&&_iterator7.return&&_iterator7.return()}finally{if(_didIteratorError7)throw _iteratorError7}}return album.images&&!album.images.formatted&&(album.images=formatImages(album.images)),data.date&&!album.date&&(album.release_date=data.date),data.album_type&&(album.type=data.album_type),void 0===album.provider&&void 0!==album.uri&&(album.provider=uriSource(album.uri)),album}),formatArtist=exports.formatArtist=function(data){var artist={},fields=["uri","provider","mbid","name","type","images","popularity","followers","listeners","added_at","biography","biography_link","biography_publish_date","related_artists_uris","albums_uris","albums_total","albums_more","tracks_uris","tracks_total","tracks_more"],_iteratorNormalCompletion8=!0,_didIteratorError8=!1,_iteratorError8=void 0;try{for(var _step8,_iterator8=fields[Symbol.iterator]();!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=!0){var field=_step8.value;data.hasOwnProperty(field)&&(artist[field]=data[field])}}catch(err){_didIteratorError8=!0,_iteratorError8=err}finally{try{!_iteratorNormalCompletion8&&_iterator8.return&&_iterator8.return()}finally{if(_didIteratorError8)throw _iteratorError8}}return data.images&&(artist.images=[formatImages(artist.images)]),data.followers&&void 0!==data.followers.total&&(artist.followers=data.followers.total),data.bio&&(data.bio.content&&!artist.biography&&(artist.biography=data.bio.content),data.bio.links&&data.bio.links.link&&data.bio.links.link.href&&!artist.biography_link&&(artist.biography_link=data.bio.links.link.href),data.bio.published&&!artist.biography_publish_date&&(artist.biography_publish_date=data.bio.published)),void 0===artist.provider&&void 0!==artist.uri&&(artist.provider=uriSource(artist.uri)),artist},formatUser=(exports.formatPlaylist=function(data){var playlist={},fields=["uri","snapshot_id","provider","type","name","description","images","popularity","followers","added_at","last_modified_date","can_edit","owner","user_uri","tracks_uris","tracks_total","tracks_more"],_iteratorNormalCompletion9=!0,_didIteratorError9=!1,_iteratorError9=void 0;try{for(var _step9,_iterator9=fields[Symbol.iterator]();!(_iteratorNormalCompletion9=(_step9=_iterator9.next()).done);_iteratorNormalCompletion9=!0){var field=_step9.value;data.hasOwnProperty(field)&&(playlist[field]=data[field])}}catch(err){_didIteratorError9=!0,_iteratorError9=err}finally{try{!_iteratorNormalCompletion9&&_iterator9.return&&_iterator9.return()}finally{if(_didIteratorError9)throw _iteratorError9}}return playlist.images&&!playlist.images.formatted&&(playlist.images=formatImages(playlist.images)),data.followers&&void 0!==data.followers.total&&(playlist.followers=data.followers.total),data.tracks&&void 0!==data.tracks.total&&(playlist.tracks_total=data.tracks.total),data.owner&&(playlist.owner={id:data.owner.id,uri:data.owner.uri,name:data.owner.display_name?data.owner.display_name:null},playlist.user_uri=data.owner.uri),playlist.uri=upgradeSpotifyPlaylistUri(playlist.uri),void 0===playlist.provider&&void 0!==playlist.uri&&(playlist.provider=uriSource(playlist.uri)),playlist},exports.formatUser=function(data){var user={},fields=["id","uri","provider","name","images","followers","playlists_uris","playlists_total","playlists_more"],_iteratorNormalCompletion10=!0,_didIteratorError10=!1,_iteratorError10=void 0;try{for(var _step10,_iterator10=fields[Symbol.iterator]();!(_iteratorNormalCompletion10=(_step10=_iterator10.next()).done);_iteratorNormalCompletion10=!0){var field=_step10.value;data.hasOwnProperty(field)&&(user[field]=data[field])}}catch(err){_didIteratorError10=!0,_iteratorError10=err}finally{try{!_iteratorNormalCompletion10&&_iterator10.return&&_iterator10.return()}finally{if(_didIteratorError10)throw _iteratorError10}}return!user.images&&data.image?user.images=formatImages(data.image):!user.images&&data.avatar?user.images=formatImages(data.avatar):user.images&&!user.images.formatted&&(user.images=formatImages(user.images)),data.followers&&void 0!==data.followers.total&&(user.followers=data.followers.total),data.realname&&(user.name=data.realname),data.display_name&&!user.name&&(user.name=data.display_name),data.id&&!user.name&&(user.name=data.id),void 0===user.provider&&void 0!==user.uri&&(user.provider=uriSource(user.uri)),user}),formatTrack=exports.formatTrack=function(data){var track={},fields=["uri","tlid","provider","name","images","release_date","disc_number","track_number","duration","followers","popularity","userloved","is_explicit","is_local","lyrics","lyrics_path","lyrics_results","artists","album"];data&&data.track&&isObject(data.track)&&(data.added_by&&(data.track.added_by=data.added_by),data.added_at&&(data.track.added_at=data.added_at),data.tlid&&(data.track.tlid=data.tlid),data=data.track);var _iteratorNormalCompletion11=!0,_didIteratorError11=!1,_iteratorError11=void 0;try{for(var _step11,_iterator11=fields[Symbol.iterator]();!(_iteratorNormalCompletion11=(_step11=_iterator11.next()).done);_iteratorNormalCompletion11=!0){var field=_step11.value;data.hasOwnProperty(field)&&(track[field]=data[field])}}catch(err){_didIteratorError11=!0,_iteratorError11=err}finally{try{!_iteratorNormalCompletion11&&_iterator11.return&&_iterator11.return()}finally{if(_didIteratorError11)throw _iteratorError11}}return data.followers&&data.followers.total&&(track.followers=data.followers.total),void 0===track.duration&&void 0!==data.duration_ms?track.duration=data.duration_ms:void 0===track.duration&&void 0!==data.length&&(track.duration=data.length),void 0===track.track_number&&void 0!==data.track_no&&(track.track_number=data.track_no),void 0===track.disc_number&&void 0!==data.disc_no&&(track.disc_number=data.disc_no),void 0===track.release_date&&void 0!==data.date&&(track.release_date=data.date),void 0===track.explicit&&void 0!==data.explicit&&(track.is_explicit=data.explicit),data.album&&data.album.images&&(void 0!==track.images&&track.images.formatted||(track.images=formatImages(data.album.images))),void 0===track.provider&&void 0!==track.uri&&(track.provider=uriSource(track.uri)),track},uriSource=(exports.formatClient=function(data){var client={},fields=["id","connected","name","host_name","volume","mute","latency","power_on_command","power_off_command"],_iteratorNormalCompletion12=!0,_didIteratorError12=!1,_iteratorError12=void 0;try{for(var _step12,_iterator12=fields[Symbol.iterator]();!(_iteratorNormalCompletion12=(_step12=_iterator12.next()).done);_iteratorNormalCompletion12=!0){var field=_step12.value;data.hasOwnProperty(field)&&(client[field]=data[field])}}catch(err){_didIteratorError12=!0,_iteratorError12=err}finally{try{!_iteratorNormalCompletion12&&_iterator12.return&&_iterator12.return()}finally{if(_didIteratorError12)throw _iteratorError12}}return data.config&&(void 0===client.latency&&void 0!==data.config.latency&&(client.latency=data.config.latency),!client.name&&data.config.name&&(client.name=data.config.name),data.config.volume&&(data.config.volume.percent&&(client.volume=data.config.volume.percent),data.config.volume.muted&&(client.mute=data.config.volume.muted))),void 0===client.name&&data.host&&data.host.name&&(client.name=data.host.name),client},exports.formatGroup=function(data){var group={},fields=["id","name","mute","stream_id","clients_ids"],_iteratorNormalCompletion13=!0,_didIteratorError13=!1,_iteratorError13=void 0;try{for(var _step13,_iterator13=fields[Symbol.iterator]();!(_iteratorNormalCompletion13=(_step13=_iterator13.next()).done);_iteratorNormalCompletion13=!0){var field=_step13.value;data.hasOwnProperty(field)&&(group[field]=data[field])}}catch(err){_didIteratorError13=!0,_iteratorError13=err}finally{try{!_iteratorNormalCompletion13&&_iterator13.return&&_iterator13.return()}finally{if(_didIteratorError13)throw _iteratorError13}}return void 0!==group.name&&""!==group.name||(group.name="Group "+data.id.substring(0,3)),void 0===group.mute&&void 0!==data.mute&&(group.mute=data.mute),group},exports.collate=function(obj){var indexes=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(obj=Object.assign({},obj),void 0!==obj.artists_uris&&(obj.artists=[]),void 0!==obj.albums_uris&&(obj.albums=[]),void 0!==obj.tracks_uris&&(obj.tracks=[]),void 0!==obj.users_uris&&(obj.users=[]),void 0!==obj.playlists_uris&&(obj.playlists=[]),void 0!==obj.related_artists_uris&&(obj.related_artists=[]),void 0!==obj.clients_ids&&(obj.clients=[]),indexes.artists){if(obj.artists_uris){var _iteratorNormalCompletion14=!0,_didIteratorError14=!1,_iteratorError14=void 0;try{for(var _step14,_iterator14=obj.artists_uris[Symbol.iterator]();!(_iteratorNormalCompletion14=(_step14=_iterator14.next()).done);_iteratorNormalCompletion14=!0){var uri=_step14.value;indexes.artists[uri]&&obj.artists.push(indexes.artists[uri])}}catch(err){_didIteratorError14=!0,_iteratorError14=err}finally{try{!_iteratorNormalCompletion14&&_iterator14.return&&_iterator14.return()}finally{if(_didIteratorError14)throw _iteratorError14}}}if(obj.related_artists_uris){var _iteratorNormalCompletion15=!0,_didIteratorError15=!1,_iteratorError15=void 0;try{for(var _step15,_iterator15=obj.related_artists_uris[Symbol.iterator]();!(_iteratorNormalCompletion15=(_step15=_iterator15.next()).done);_iteratorNormalCompletion15=!0){var uri=_step15.value;indexes.artists[uri]&&obj.related_artists.push(indexes.artists[uri])}}catch(err){_didIteratorError15=!0,_iteratorError15=err}finally{try{!_iteratorNormalCompletion15&&_iterator15.return&&_iterator15.return()}finally{if(_didIteratorError15)throw _iteratorError15}}}obj.artist_uri&&indexes.artists[obj.artist_uri]&&(obj.artist=indexes.artists[obj.artist_uri])}if(indexes.albums){if(obj.albums_uris){var _iteratorNormalCompletion16=!0,_didIteratorError16=!1,_iteratorError16=void 0;try{for(var _step16,_iterator16=obj.albums_uris[Symbol.iterator]();!(_iteratorNormalCompletion16=(_step16=_iterator16.next()).done);_iteratorNormalCompletion16=!0){var uri=_step16.value;indexes.albums[uri]&&obj.albums.push(indexes.albums[uri])}}catch(err){_didIteratorError16=!0,_iteratorError16=err}finally{try{!_iteratorNormalCompletion16&&_iterator16.return&&_iterator16.return()}finally{if(_didIteratorError16)throw _iteratorError16}}}obj.album_uri&&indexes.albums[obj.album_uri]&&(obj.album=indexes.albums[obj.album_uri])}if(indexes.tracks){if(obj.tracks_uris){var _iteratorNormalCompletion17=!0,_didIteratorError17=!1,_iteratorError17=void 0;try{for(var _step17,_iterator17=obj.tracks_uris[Symbol.iterator]();!(_iteratorNormalCompletion17=(_step17=_iterator17.next()).done);_iteratorNormalCompletion17=!0){var uri=_step17.value;indexes.tracks[uri]&&obj.tracks.push(indexes.tracks[uri])}}catch(err){_didIteratorError17=!0,_iteratorError17=err}finally{try{!_iteratorNormalCompletion17&&_iterator17.return&&_iterator17.return()}finally{if(_didIteratorError17)throw _iteratorError17}}}obj.track_uri&&indexes.tracks[obj.track_uri]&&(obj.track=indexes.tracks[obj.track_uri])}if(indexes.users){if(obj.users_uris){var _iteratorNormalCompletion18=!0,_didIteratorError18=!1,_iteratorError18=void 0;try{for(var _step18,_iterator18=obj.users_uris[Symbol.iterator]();!(_iteratorNormalCompletion18=(_step18=_iterator18.next()).done);_iteratorNormalCompletion18=!0){var uri=_step18.value;indexes.users[uri]&&obj.users.push(indexes.users[uri])}}catch(err){_didIteratorError18=!0,_iteratorError18=err}finally{try{!_iteratorNormalCompletion18&&_iterator18.return&&_iterator18.return()}finally{if(_didIteratorError18)throw _iteratorError18}}}obj.user_uri&&indexes.users[obj.user_uri]&&(obj.user=indexes.users[obj.user_uri])}if(indexes.playlists){if(obj.playlists_uris){var _iteratorNormalCompletion19=!0,_didIteratorError19=!1,_iteratorError19=void 0;try{for(var _step19,_iterator19=obj.playlists_uris[Symbol.iterator]();!(_iteratorNormalCompletion19=(_step19=_iterator19.next()).done);_iteratorNormalCompletion19=!0){var uri=_step19.value;indexes.playlists[uri]&&obj.playlists.push(indexes.playlists[uri])}}catch(err){_didIteratorError19=!0,_iteratorError19=err}finally{try{!_iteratorNormalCompletion19&&_iterator19.return&&_iterator19.return()}finally{if(_didIteratorError19)throw _iteratorError19}}}obj.playlist_uri&&indexes.playlists[obj.playlist_uri]&&(obj.playlist=indexes.playlists[obj.playlist_uri])}if(indexes.clients&&obj.clients_ids){var _iteratorNormalCompletion20=!0,_didIteratorError20=!1,_iteratorError20=void 0;try{for(var _step20,_iterator20=obj.clients_ids[Symbol.iterator]();!(_iteratorNormalCompletion20=(_step20=_iterator20.next()).done);_iteratorNormalCompletion20=!0){var id=_step20.value;indexes.clients[id]&&obj.clients.push(indexes.clients[id])}}catch(err){_didIteratorError20=!0,_iteratorError20=err}finally{try{!_iteratorNormalCompletion20&&_iterator20.return&&_iterator20.return()}finally{if(_didIteratorError20)throw _iteratorError20}}}return obj},exports.uriSource=function(uri){return!!uri&&uri.split(":")[0]}),isObject=(exports.sourceIcon=function(uri){var source=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;switch(uri&&(source=uriSource(uri)),source){case"local":case"m3u":return"folder";case"gmusic":return"google";case"podcast":case"podcast+file":case"podcast+http":case"podcast+https":case"podcast+itunes":return"podcast";case"tunein":case"somafm":case"dirble":return"microphone";default:return source}},exports.getFromUri=function(element){var uri=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",exploded=uri.split(":");exploded[0];switch(element){case"mbid":var index=exploded.indexOf("mbid");if(index>-1)return exploded[index+1];break;case"artistid":if("artist"==exploded[1])return exploded[2];break;case"albumid":if("album"==exploded[1])return exploded[2];break;case"playlistid":if("playlist"==exploded[1])return exploded[2];if("user"==exploded[1]&&"playlist"==exploded[3])return exploded[4];break;case"playlistowner":if("user"==exploded[1]&&"playlist"==exploded[3])return exploded[2];break;case"trackid":if("track"==exploded[1])return exploded[2];break;case"userid":if("user"==exploded[1])return exploded[2];break;case"genreid":if("genre"==exploded[1])return exploded[2];break;case"seeds":if("discover"==exploded[1])return exploded[2];break;case"searchtype":if("search"==exploded[0])return exploded[1];break;case"searchterm":if("search"==exploded[0])return exploded[2]}return null},exports.uriType=function(uri){if(!uri)return null;var exploded=uri.split(":");if("m3u"==exploded[0])return"playlist";if("iris"==exploded[0])switch(exploded[1]){case"search":case"discover":case"browse":return exploded[1]}switch(exploded[1]){case"track":case"artist":case"album":case"playlist":case"genre":return exploded[1];case"user":return exploded.length>3&&"playlist"==exploded[3]?"playlist":exploded[1]}},exports.indexFriendlyUri=function(uri){var output=encodeURI(uri);return output=output.replace("'","%27")},exports.arrayOf=function(property,items){var array=[],_iteratorNormalCompletion21=!0,_didIteratorError21=!1,_iteratorError21=void 0;try{for(var _step21,_iterator21=items[Symbol.iterator]();!(_iteratorNormalCompletion21=(_step21=_iterator21.next()).done);_iteratorNormalCompletion21=!0){var item=_step21.value;array.push(item[property])}}catch(err){_didIteratorError21=!0,_iteratorError21=err}finally{try{!_iteratorNormalCompletion21&&_iterator21.return&&_iterator21.return()}finally{if(_didIteratorError21)throw _iteratorError21}}return array},exports.mergeDuplicates=function(list,key){var clean_list=[],keyed_list={};for(var i in list){var item=list[i];item[key]in keyed_list&&(item=Object.assign({},keyed_list[item[key]],item)),keyed_list[item[key]]=item}for(i in keyed_list)clean_list.push(keyed_list[i]);return clean_list},exports.removeDuplicates=function(array){var unique=[];for(var i in array)unique.indexOf(array[i])<=-1&&unique.push(array[i]);return unique},exports.applyFilter=function(field,value,array){for(var singular=arguments.length>3&&void 0!==arguments[3]&&arguments[3],results=[],i=0;i<array.length;i++)if(array[i][field]&&String(array[i][field]).toLowerCase().includes(String(value).toLowerCase())){if(singular)return array[i];results.push(array[i])}return results},exports.createRange=function(indexes){function sortAsc(a,b){return a-b}indexes.sort(sortAsc);for(var first_bunch=[],previous_index=!1,i=0;i<indexes.length;i++)previous_index&&previous_index!=indexes[i]-1||(first_bunch.push(indexes[i]),previous_index=indexes[i]);return{start:first_bunch[0],length:first_bunch.length}},exports.sortItems=function(array,property){function compare(a,b){for(var a_value=a,a_property_split=property.split("."),i=0;i<a_property_split.length;i++){if(void 0===a_value[a_property_split[i]]){a_value=!1;break}a_value=a_value[a_property_split[i]]}for(var b_value=b,b_property_split=property.split("."),i=0;i<b_property_split.length;i++){if(void 0===b_value[b_property_split[i]]){b_value=!1;break}b_value=b_value[b_property_split[i]]}if("uri"==property&&(a_value=uriSource(a_value),b_value=uriSource(b_value)),!sort_map)return"boolean"==typeof a_value?a_value&&!b_value?-1:!a_value&&b_value?1:0:"string"==typeof a_value?a_value&&b_value?a_value.toLowerCase()>b_value.toLowerCase()?1:a_value.toLowerCase()<b_value.toLowerCase()?-1:0:0:parseInt(a_value)>parseInt(b_value)?1:parseInt(a_value)<parseInt(b_value)?-1:0;var a_index=sort_map.indexOf(a_value+":"),b_index=sort_map.indexOf(b_value+":");return a_index<b_index?1:a_index>b_index?-1:void 0}var reverse=arguments.length>2&&void 0!==arguments[2]&&arguments[2],sort_map=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,sorted=Object.assign([],array.sort(compare));return reverse&&sorted.reverse(),sorted},exports.shuffle=function(array){var j,x,i;for(i=array.length-1;i>0;i--)j=Math.floor(Math.random()*(i+1)),x=array[i],array[i]=array[j],array[j]=x;return array},exports.isNumeric=function(value){return!isNaN(parseFloat(value))&&isFinite(value)},exports.isObject=function(value){return value instanceof Object&&value.constructor===Object}),upgradeSpotifyPlaylistUris=(exports.isLoading=function(){var load_queue=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],keys=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(var load_queue_key in load_queue)if(load_queue.hasOwnProperty(load_queue_key))for(var i=0;i<keys.length;i++)if(load_queue[load_queue_key].includes(keys[i]))return!0;return!1},exports.isHosted=function(){var hosts=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["jaedb.github.io"],hostname=window.location.hostname;return hosts.includes(hostname)},exports.getIndexedRecords=function(index,uris){var records=[];!uris instanceof Array&&(uris=[uris]);for(var i=0;i<uris.length;i++)index.hasOwnProperty(uris[i])&&records.push(index[uris[i]]);return records},exports.titleCase=function(string){return string.charAt(0).toUpperCase()+string.slice(1)},exports.scrollTo=function(){var target=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,smooth_scroll=arguments.length>1&&void 0!==arguments[1]&&arguments[1],main=document.getElementById("main");smooth_scroll||main.classList.remove("smooth-scroll"),target?document.getElementById(target).scrollIntoView():main.scrollTo(0,0),smooth_scroll||main.classList.add("smooth-scroll")},exports.upgradeSpotifyPlaylistUris=function(uris){var upgraded=[],_iteratorNormalCompletion22=!0,_didIteratorError22=!1,_iteratorError22=void 0;try{for(var _step22,_iterator22=uris[Symbol.iterator]();!(_iteratorNormalCompletion22=(_step22=_iterator22.next()).done);_iteratorNormalCompletion22=!0){var uri=_step22.value;uri.includes("spotify:user:")&&(uri=uri.replace(/spotify:user:([^:]*?):/i,"spotify:")),upgraded.push(uri)}}catch(err){_didIteratorError22=!0,_iteratorError22=err}finally{try{!_iteratorNormalCompletion22&&_iterator22.return&&_iterator22.return()}finally{if(_didIteratorError22)throw _iteratorError22}}return upgraded}),upgradeSpotifyPlaylistUri=exports.upgradeSpotifyPlaylistUri=function(uri){return upgradeSpotifyPlaylistUris([uri])[0]}},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__createStore__=__webpack_require__(72),__WEBPACK_IMPORTED_MODULE_1__combineReducers__=__webpack_require__(139),__WEBPACK_IMPORTED_MODULE_2__bindActionCreators__=__webpack_require__(140),__WEBPACK_IMPORTED_MODULE_3__applyMiddleware__=__webpack_require__(141),__WEBPACK_IMPORTED_MODULE_4__compose__=__webpack_require__(76);__webpack_require__(75);__webpack_require__.d(__webpack_exports__,"createStore",function(){return __WEBPACK_IMPORTED_MODULE_0__createStore__.b}),__webpack_require__.d(__webpack_exports__,"combineReducers",function(){return __WEBPACK_IMPORTED_MODULE_1__combineReducers__.a}),__webpack_require__.d(__webpack_exports__,"bindActionCreators",function(){return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__.a}),__webpack_require__.d(__webpack_exports__,"applyMiddleware",function(){return __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__.a}),__webpack_require__.d(__webpack_exports__,"compose",function(){return __WEBPACK_IMPORTED_MODULE_4__compose__.a})},function(module,exports,__webpack_require__){"use strict";function setWindowTitle(){return{type:"SET_WINDOW_TITLE",title:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,play_state:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function setSelectedTracks(){var keys=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return"string"==typeof keys&&(keys=[keys]),{type:"SET_SELECTED_TRACKS",keys:keys}}function showContextMenu(data){return data.e.changedTouches?(data.position_x=data.e.changedTouches[0].clientX,data.position_y=data.e.changedTouches[0].clientY):data.e.touches?(data.position_x=data.e.touches[0].clientX,data.position_y=data.e.touches[0].clientY):(data.position_x=data.e.clientX,data.position_y=data.e.clientY),{type:"SHOW_CONTEXT_MENU",data:data}}function setSlimMode(slim_mode){return{type:"SET_SLIM_MODE",slim_mode:slim_mode}}function hideContextMenu(){return{type:"HIDE_CONTEXT_MENU"}}function showTouchContextMenu(data){return{type:"SHOW_TOUCH_CONTEXT_MENU",data:data}}function hideTouchContextMenu(){return{type:"HIDE_TOUCH_CONTEXT_MENU"}}function lazyLoading(start){return{type:"LAZY_LOADING",start:start}}function toggleSidebar(){var new_state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"toggle",action={type:"TOGGLE_SIDEBAR"};return"toggle"!=new_state&&(action.new_state=new_state),action}function dragStart(e,context){return{type:"DRAG_START",context:context,from_uri:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,victims:arguments[3],victims_indexes:arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,start_x:e.clientX,start_y:e.clientY}}function dragActive(){return{type:"DRAG_ACTIVE"}}function dragEnd(){return{type:"DRAG_END"}}function set(data){return{type:"UI_SET",data:data}}function installPrompt(event){return{type:"INSTALL_PROMPT",event:event}}function createBrowserNotification(data){return{type:"BROWSER_NOTIFICATION",data:data}}function createNotification(data){return data.message&&(data.content=data.message),{type:"CREATE_NOTIFICATION",notification:Object.assign({key:helpers.generateGuid(),duration:5,type:"default",title:null,content:null,description:null,sticky:!1,closing:!1,render_content:!1},data)}}function closeNotification(key){return{type:"CLOSE_NOTIFICATION",key:key}}function removeNotification(key){return{type:"REMOVE_NOTIFICATION",key:key,manual:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function startLoading(key,source){return{type:"START_LOADING",source:source,key:key}}function stopLoading(key){return{type:"STOP_LOADING",key:key}}function startProcess(key,message){return{type:"START_PROCESS",key:key,message:message,data:arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}}}function resumeProcess(key,message){arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:"RESUME_PROCESS",key:key}}function updateProcess(key,message){return{type:"UPDATE_PROCESS",key:key,message:message,data:arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}}}function runProcess(key){return{type:key,data:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}}}function cancelProcess(key){return{type:"CANCEL_PROCESS",key:key}}function processCancelled(key){return{type:"PROCESS_CANCELLED",key:key}}function processFinishing(key){return{type:"PROCESS_FINISHING",key:key}}function processFinished(key){return{type:"PROCESS_FINISHED",key:key}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setWindowTitle=setWindowTitle,exports.setSelectedTracks=setSelectedTracks,exports.showContextMenu=showContextMenu,exports.setSlimMode=setSlimMode,exports.hideContextMenu=hideContextMenu,exports.showTouchContextMenu=showTouchContextMenu,exports.hideTouchContextMenu=hideTouchContextMenu,exports.lazyLoading=lazyLoading,exports.toggleSidebar=toggleSidebar,exports.dragStart=dragStart,exports.dragActive=dragActive,exports.dragEnd=dragEnd,exports.set=set,exports.installPrompt=installPrompt,exports.createBrowserNotification=createBrowserNotification,exports.createNotification=createNotification,exports.closeNotification=closeNotification,exports.removeNotification=removeNotification,exports.startLoading=startLoading,exports.stopLoading=stopLoading,exports.startProcess=startProcess,exports.resumeProcess=resumeProcess,exports.updateProcess=updateProcess,exports.runProcess=runProcess,exports.cancelProcess=cancelProcess,exports.processCancelled=processCancelled,exports.processFinishing=processFinishing,exports.processFinished=processFinished;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__components_Provider__=__webpack_require__(120),__WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__=__webpack_require__(70),__WEBPACK_IMPORTED_MODULE_2__connect_connect__=__webpack_require__(124);__webpack_require__.d(__webpack_exports__,"Provider",function(){return __WEBPACK_IMPORTED_MODULE_0__components_Provider__.b}),__webpack_require__.d(__webpack_exports__,"createProvider",function(){return __WEBPACK_IMPORTED_MODULE_0__components_Provider__.a}),__webpack_require__.d(__webpack_exports__,"connectAdvanced",function(){return __WEBPACK_IMPORTED_MODULE_1__components_connectAdvanced__.a}),__webpack_require__.d(__webpack_exports__,"connect",function(){return __WEBPACK_IMPORTED_MODULE_2__connect_connect__.a})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactFontawesome=__webpack_require__(233),_reactFontawesome2=_interopRequireDefault(_reactFontawesome),Icon=function(_React$Component){function Icon(props){return _classCallCheck(this,Icon),_possibleConstructorReturn(this,(Icon.__proto__||Object.getPrototypeOf(Icon)).call(this,props))}return _inherits(Icon,_React$Component),_createClass(Icon,[{key:"handleClick",value:function(e){this.props.onClick&&this.props.onClick(e)}},{key:"render",value:function(){var _this2=this,className="icon icon--"+(this.props.type?this.props.type:"material");switch(this.props.className&&(className+=" "+this.props.className),this.props.type){case"svg":var src=__webpack_require__(235)("./"+this.props.name+".svg");return _react2.default.createElement("img",{className:className,src:src,onClick:function(e){return _this2.handleClick(e)}});case"gif":var src=__webpack_require__(272)("./"+this.props.name+".gif");return _react2.default.createElement("img",{className:className,src:src,onClick:function(e){return _this2.handleClick(e)}});case"fontawesome":return _react2.default.createElement(_reactFontawesome2.default,{className:className,type:"fontawesome",name:this.props.name,onClick:function(e){return _this2.handleClick(e)}});case"css":switch(this.props.name){case"playing":return _react2.default.createElement("i",{className:className+" icon--playing"},_react2.default.createElement("span",null),_react2.default.createElement("span",null),_react2.default.createElement("span",null))}default:return _react2.default.createElement("i",{className:className,onClick:function(e){return _this2.handleClick(e)}},this.props.name)}}}]),Icon}(_react2.default.Component);exports.default=Icon},function(module,exports,__webpack_require__){"use strict";function set(data){return{type:"MOPIDY_SET",data:data}}function request(method){return{type:"MOPIDY_REQUEST",method:method,params:arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},response_callback:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function connect(){return{type:"MOPIDY_CONNECT"}}function connecting(){return{type:"MOPIDY_CONNECTING"}}function disconnect(){return{type:"MOPIDY_DISCONNECT"}}function debug(call,value){return{type:"MOPIDY_DEBUG",call:call,value:value}}function restartStarted(){return{type:"MOPIDY_RESTART_STARTED"}}function restartFinished(){return{type:"MOPIDY_RESTART_FINISHED"}}function upgradeStarted(){return{type:"MOPIDY_UPGRADE_STARTED"}}function upgradeFinished(){return{type:"MOPIDY_UPGRADE_FINISHED"}}function localScanStarted(){return{type:"MOPIDY_LOCAL_SCAN_STARTED"}}function localScanFinished(){return{type:"MOPIDY_LOCAL_SCAN_FINISHED"}}function getPlayState(){return{type:"MOPIDY_GET_PLAY_STATE"}}function play(){return{type:"MOPIDY_PLAY"}}function pause(){return{type:"MOPIDY_PAUSE"}}function stop(){return{type:"MOPIDY_STOP"}}function next(){return{type:"MOPIDY_NEXT"}}function previous(){return{type:"MOPIDY_PREVIOUS"}}function getMute(){return{type:"MOPIDY_GET_MUTE"}}function setMute(mute){return{type:"MOPIDY_SET_MUTE",mute:mute}}function getVolume(){return{type:"MOPIDY_GET_VOLUME"}}function setVolume(volume){return{type:"MOPIDY_SET_VOLUME",volume:volume}}function getConsume(){return{type:"MOPIDY_GET_CONSUME"}}function setConsume(consume){return{type:"MOPIDY_SET_CONSUME",consume:consume}}function getRepeat(){return{type:"MOPIDY_GET_REPEAT"}}function setRepeat(repeat){return{type:"MOPIDY_SET_REPEAT",repeat:repeat}}function getRandom(){return{type:"MOPIDY_GET_RANDOM"}}function setRandom(random){return{type:"MOPIDY_SET_RANDOM",random:random}}function getTimePosition(){return{type:"MOPIDY_GET_TIME_POSITION"}}function setTimePosition(time_position){return{type:"MOPIDY_SET_TIME_POSITION",time_position:parseInt(time_position)}}function timePosition(time_position){return{type:"MOPIDY_TIME_POSITION",time_position:parseInt(time_position)}}function getUriSchemes(){return{type:"MOPIDY_GET_URI_SCHEMES"}}function getCurrentTrack(){return{type:"MOPIDY_GET_CURRENT_TRACK"}}function currentTrackLoaded(tl_track){return{type:"MOPIDY_CURRENT_TRACK_LOADED",tl_track:tl_track}}function getNextTrack(){return{type:"MOPIDY_GET_NEXT_TRACK"}}function clearCurrentTrack(){return{type:"CLEAR_CURRENT_TRACK"}}function getQueue(){return{type:"MOPIDY_GET_QUEUE"}}function changeTrack(tlid){return{type:"MOPIDY_CHANGE_TRACK",tlid:tlid}}function playURIs(uris){return{type:"MOPIDY_PLAY_URIS",uris:uris,from_uri:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function enqueueURIs(uris){var from_uri=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,next=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{type:"MOPIDY_ENQUEUE_URIS",uris:uris,at_position:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,next:next,from_uri:from_uri,offset:arguments.length>4&&void 0!==arguments[4]?arguments[4]:0}}function enqueueURIsBatchDone(){return{type:"MOPIDY_ENQUEUE_URIS_BATCH_DONE"}}function playPlaylist(uri){return{type:"MOPIDY_PLAY_PLAYLIST",uri:uri,shuffle:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function playAlbum(uri){return{type:"MOPIDY_PLAY_ALBUM",uri:uri}}function removeTracks(tlids){return{type:"MOPIDY_REMOVE_TRACKS",tlids:tlids}}function reorderTracklist(indexes,insert_before){var range=helpers.createRange(indexes);return insert_before>range.start&&(insert_before-=range.length),{type:"MOPIDY_REORDER_TRACKLIST",range_start:range.start,range_length:range.length,insert_before:insert_before}}function clearTracklist(){return{type:"MOPIDY_CLEAR_TRACKLIST"}}function getImages(context,uris){return{type:"MOPIDY_GET_IMAGES",context:context,uris:uris}}function createPlaylist(name,scheme){return{type:"MOPIDY_CREATE_PLAYLIST",name:name,scheme:scheme}}function deletePlaylist(uri){return{type:"MOPIDY_DELETE_PLAYLIST",uri:uri}}function getLibraryPlaylists(){return{type:"MOPIDY_GET_LIBRARY_PLAYLISTS"}}function getPlaylist(uri){return{type:"MOPIDY_GET_PLAYLIST",data:{uri:uri}}}function getPlaylists(uris){return{type:"MOPIDY_GET_PLAYLISTS",uris:uris,processor:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getDirectory(uri){return{type:"MOPIDY_GET_DIRECTORY",data:{uri:uri}}}function getTrack(uri){return{type:"MOPIDY_GET_TRACK",data:{uri:uri}}}function getLibraryArtists(){return{type:"MOPIDY_GET_LIBRARY_ARTISTS",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function clearLibraryArtists(){return{type:"MOPIDY_CLEAR_LIBRARY_ARTISTS"}}function getArtist(uri){return{type:"MOPIDY_GET_ARTIST",data:{uri:uri}}}function getArtists(uris){return{type:"MOPIDY_GET_ARTISTS",uris:uris,processor:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getAlbum(uri){return{type:"MOPIDY_GET_ALBUM",data:{uri:uri}}}function getAlbums(uris){return{type:"MOPIDY_GET_ALBUMS",uris:uris,processor:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getLibraryAlbums(){return{type:"MOPIDY_GET_LIBRARY_ALBUMS",uri:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function clearLibraryAlbums(){return{type:"MOPIDY_CLEAR_LIBRARY_ALBUMS"}}function runProcessor(processor){return{type:processor}}function cancelProcessor(processor){return{type:processor+"_CANCEL"}}function clearSearchResults(){return{type:"MOPIDY_CLEAR_SEARCH_RESULTS"}}function getSearchResults(context,query){return{type:"MOPIDY_GET_SEARCH_RESULTS",context:context,query:query,limit:arguments.length>2&&void 0!==arguments[2]?arguments[2]:100}}function getQueueHistory(){return{type:"MOPIDY_GET_QUEUE_HISTORY"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.request=request,exports.connect=connect,exports.connecting=connecting,exports.disconnect=disconnect,exports.debug=debug,exports.restartStarted=restartStarted,exports.restartFinished=restartFinished,exports.upgradeStarted=upgradeStarted,exports.upgradeFinished=upgradeFinished,exports.localScanStarted=localScanStarted,exports.localScanFinished=localScanFinished,exports.getPlayState=getPlayState,exports.play=play,exports.pause=pause,exports.stop=stop,exports.next=next,exports.previous=previous,exports.getMute=getMute,exports.setMute=setMute,exports.getVolume=getVolume,exports.setVolume=setVolume,exports.getConsume=getConsume,exports.setConsume=setConsume,exports.getRepeat=getRepeat,exports.setRepeat=setRepeat,exports.getRandom=getRandom,exports.setRandom=setRandom,exports.getTimePosition=getTimePosition,exports.setTimePosition=setTimePosition,exports.timePosition=timePosition,exports.getUriSchemes=getUriSchemes,exports.getCurrentTrack=getCurrentTrack,exports.currentTrackLoaded=currentTrackLoaded,exports.getNextTrack=getNextTrack,exports.clearCurrentTrack=clearCurrentTrack,exports.getQueue=getQueue,exports.changeTrack=changeTrack,exports.playURIs=playURIs,exports.enqueueURIs=enqueueURIs,exports.enqueueURIsBatchDone=enqueueURIsBatchDone,exports.playPlaylist=playPlaylist,exports.playAlbum=playAlbum,exports.removeTracks=removeTracks,exports.reorderTracklist=reorderTracklist,exports.clearTracklist=clearTracklist,exports.getImages=getImages,exports.createPlaylist=createPlaylist,exports.deletePlaylist=deletePlaylist,exports.getLibraryPlaylists=getLibraryPlaylists,exports.getPlaylist=getPlaylist,exports.getPlaylists=getPlaylists,exports.getDirectory=getDirectory,exports.getTrack=getTrack,exports.getLibraryArtists=getLibraryArtists,exports.clearLibraryArtists=clearLibraryArtists,exports.getArtist=getArtist,exports.getArtists=getArtists,exports.getAlbum=getAlbum,exports.getAlbums=getAlbums,exports.getLibraryAlbums=getLibraryAlbums,exports.clearLibraryAlbums=clearLibraryAlbums,exports.runProcessor=runProcessor,exports.cancelProcessor=cancelProcessor,exports.clearSearchResults=clearSearchResults,exports.getSearchResults=getSearchResults,exports.getQueueHistory=getQueueHistory;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";(function($,global){function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function getToken(dispatch,getState){return new Promise(function(resolve,reject){if(getState().spotify.token_expiry&&(new Date).getTime()<getState().spotify.token_expiry)return void resolve(getState().spotify.access_token);void 0!==getState().ui.load_queue.spotify_refresh_token?setTimeout(function(){return getToken(dispatch,getState)},1e3):refreshToken(dispatch,getState).then(function(response){resolve(response.access_token)},function(error){reject(error)})})}function refreshToken(dispatch,getState){return new Promise(function(resolve,reject){var loader_key=helpers.generateGuid();if(dispatch(uiActions.startLoading(loader_key,"spotify_refresh_token")),getState().spotify.authorization){var config={method:"GET",url:getState().spotify.authorization_url+"?action=refresh&refresh_token="+getState().spotify.refresh_token,dataType:"json",timeout:1e4};$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),response.token_expiry=(new Date).getTime()+1e3*response.expires_in,response.source="spotify",dispatch({type:"SPOTIFY_TOKEN_REFRESHED",data:response}),resolve(response)},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),reject({config:config,xhr:xhr,status:status,error:error})})}else{var config={method:"GET",url:"//"+getState().mopidy.host+":"+getState().mopidy.port+"/iris/http/refresh_spotify_token",dataType:"json",timeout:1e4};$.ajax(config).then(function(response,status,xhr){if(dispatch(uiActions.stopLoading(loader_key)),response.error)reject({config:config,xhr:xhr,status:status,error:response.error});else{var token=response.result.spotify_token;token.token_expiry=(new Date).getTime()+1e3*token.expires_in,token.source="mopidy",dispatch({type:"SPOTIFY_TOKEN_REFRESHED",access_token_provider:"backend",data:token}),resolve(token)}},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),reject({config:config,xhr:xhr,status:status,error:error})})}})}function set(data){return{type:"SPOTIFY_SET",data:data}}function connect(){return function(dispatch,getState){dispatch({type:"SPOTIFY_CONNECTING"}),dispatch(getMe())}}function authorizationGranted(data){return data.token_expiry=(new Date).getTime()+data.expires_in,{type:"SPOTIFY_AUTHORIZATION_GRANTED",data:data}}function revokeAuthorization(){return{type:"SPOTIFY_AUTHORIZATION_REVOKED"}}function refreshingToken(){return function(dispatch,getState){dispatch({type:"SPOTIFY_TOKEN_REFRESHING"}),refreshToken(dispatch,getState)}}function tokenChanged(spotify_token){return{type:"SPOTIFY_TOKEN_CHANGED",spotify_token:spotify_token}}function importAuthorization(authorization){return{type:"SPOTIFY_IMPORT_AUTHORIZATION",authorization:authorization}}function getMe(){return function(dispatch,getState){request(dispatch,getState,"me").then(function(response){dispatch({type:"SPOTIFY_ME_LOADED",me:response})},function(error){dispatch(coreActions.handleException("Could not load your profile",error))})}}function getTrack(uri){return function(dispatch,getState){request(dispatch,getState,"tracks/"+helpers.getFromUri("trackid",uri)).then(function(response){dispatch(coreActions.trackLoaded(response))},function(error){dispatch(coreActions.handleException("Could not load track",error))})}}function getLibraryTracks(){return function(dispatch,getState){request(dispatch,getState,"me/tracks?limit=50").then(function(response){dispatch({type:"SPOTIFY_LIBRARY_TRACKS_LOADED",data:response})},function(error){dispatch(coreActions.handleException("Could not get library tracks",error))})}}function getFeaturedPlaylists(){return function(dispatch,getState){dispatch({type:"SPOTIFY_FEATURED_PLAYLISTS_LOADED",data:!1});var date=new Date;date.setHours(date.getHours());var year=date.getFullYear(),month=date.getMonth();month<10&&(month="0"+month);var day=date.getDay();day<10&&(day="0"+day);var hour=date.getHours();hour<10&&(hour="0"+hour);var min=date.getMinutes();min<10&&(min="0"+min);var sec=date.getSeconds();sec<10&&(sec="0"+sec);var timestamp=year+"-"+month+"-"+day+"T"+hour+":"+min+":"+sec;request(dispatch,getState,"browse/featured-playlists?limit=50&country="+getState().spotify.country+"&locale="+getState().spotify.locale+"timestamp="+timestamp).then(function(response){for(var playlists=[],i=0;i<response.playlists.items.length;i++)playlists.push(Object.assign({},response.playlists.items[i],{is_completely_loaded:!1,can_edit:getState().spotify.me&&response.playlists.items[i].owner.id==getState().spotify.me.id,tracks_total:response.playlists.items[i].tracks.total}));dispatch(getPlaylist(playlists[0].uri)),dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),dispatch({type:"SPOTIFY_FEATURED_PLAYLISTS_LOADED",data:{message:response.message,playlists:helpers.upgradeSpotifyPlaylistUris(helpers.arrayOf("uri",response.playlists.items))}})},function(error){dispatch(coreActions.handleException("Could not load featured playlists",error))})}}function getCategories(){return function(dispatch,getState){request(dispatch,getState,"browse/categories?limit=50&country="+getState().spotify.country+"&locale="+getState().spotify.locale).then(function(response){dispatch({type:"SPOTIFY_CATEGORIES_LOADED",categories:response.categories.items})},function(error){dispatch(coreActions.handleException("Could not load categories",error))})}}function getCategory(id){return function(dispatch,getState){request(dispatch,getState,"browse/categories/"+id+"?country="+getState().spotify.country+"&locale="+getState().spotify.locale).then(function(response){dispatch({type:"SPOTIFY_CATEGORY_LOADED",category:Object.assign({uri:"category:"+response.id,playlist_uris:[]},response)})},function(error){dispatch(coreActions.handleException("Could not load category",error))})}}function getCategoryPlaylists(id){return function(dispatch,getState){request(dispatch,getState,"browse/categories/"+id+"/playlists?limit=50&country="+getState().spotify.country+"&locale="+getState().spotify.locale).then(function(response){dispatch({type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED",uri:"category:"+id,playlists:response.playlists})},function(error){dispatch(coreActions.handleException("Could not load category playlists",error))})}}function getNewReleases(){return function(dispatch,getState){request(dispatch,getState,"browse/new-releases?country="+getState().spotify.country+"&limit=50").then(function(response){dispatch({type:"SPOTIFY_NEW_RELEASES_LOADED",data:response})},function(error){dispatch(coreActions.handleException("Could not load new releases",error))})}}function getURL(url,action_name){var key=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){request(dispatch,getState,url).then(function(response){dispatch({type:action_name,key:key,data:response})},function(error){dispatch(coreActions.handleException("Could not load URL",error))})}}function getMore(url){var core_action=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,custom_action=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(dispatch,getState){request(dispatch,getState,url).then(function(response){core_action?dispatch(coreActions.loadedMore(core_action.parent_type,core_action.parent_key,core_action.records_type,response)):custom_action?(custom_action.data=response,dispatch(custom_action)):dispatch(coreActions.handleException("No callback handler for loading more items"))},function(error){dispatch(coreActions.handleException("Could not load more "+callback_action.parent_type+" "+callback_action.records_type+"s",error))})}}function clearSearchResults(){return{type:"SPOTIFY_CLEAR_SEARCH_RESULTS"}}function getSearchResults(type,query){var limit=arguments.length>2&&void 0!==arguments[2]?arguments[2]:50,offset=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return function(dispatch,getState){dispatch(uiActions.startProcess("SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR","Searching Spotify")),"all"==(type=type.replace(/s+$/,""))&&(type="album,artist,playlist,track");var url="search?q="+query;url+="&type="+type,url+="&country="+getState().spotify.country,url+="&limit="+limit,url+="&offset="+offset,request(dispatch,getState,url).then(function(response){if(void 0!==response.tracks&&dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"tracks",results:helpers.formatTracks(response.tracks.items),more:response.tracks.next}),void 0!==response.artists&&(dispatch({type:"ARTISTS_LOADED",artists:response.artists.items}),dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"artists",results:helpers.arrayOf("uri",response.artists.items),more:response.artists.next})),void 0!==response.albums&&(dispatch({type:"ALBUMS_LOADED",albums:response.albums.items}),dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"albums",results:helpers.arrayOf("uri",response.albums.items),more:response.albums.next})),void 0!==response.playlists){var playlists=[],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=response.playlists.items[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var playlist=_step.value;playlists.push(Object.assign({},helpers.formatPlaylist(playlist),{can_edit:getState().spotify.me&&playlist.owner.id==getState().spotify.me.id,tracks_total:playlist.tracks.total}))}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:helpers.arrayOf("uri",playlists),more:response.playlists.next})}dispatch(uiActions.processFinishing("SPOTIFY_GET_SEARCH_RESULTS_PROCESSOR"))},function(error){dispatch(coreActions.handleException("Could not load search results",error))})}}function getAutocompleteResults(field_id,query){var types=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["album","artist","playlist","track"];return function(dispatch,getState){dispatch({type:"SPOTIFY_AUTOCOMPLETE_LOADING",field_id:field_id});var genre_included=types.includes("genre");if(genre_included){var index=types.indexOf("genre");types.splice(index,1)}var endpoint="search?q="+query;endpoint+="&type="+types.join(","),endpoint+="&country="+getState().spotify.country,request(dispatch,getState,endpoint).then(function(response){var genres=[];if(genre_included){var available_genres=getState().spotify.genres;if(available_genres)for(var i=0;i<available_genres.length;i++)if(available_genres[i].includes(query)){var genre=available_genres[i];genres.push({name:(genre.charAt(0).toUpperCase()+genre.slice(1)).replace("-"," "),uri:"spotify:genre:"+genre})}}response.artists&&response.artists.items&&dispatch(coreActions.artistsLoaded(response.artists.items)),response.albums&&response.albums.items&&dispatch(coreActions.albumsLoaded(response.albums.items)),response.playlists&&response.playlists.items&&dispatch(coreActions.playlistsLoaded(response.playlists.items)),response.tracks&&response.tracks.items&&dispatch(coreActions.tracksLoaded(response.tracks.items)),dispatch({type:"SPOTIFY_AUTOCOMPLETE_LOADED",field_id:field_id,results:{artists:response.artists?response.artists.items:[],albums:response.albums?response.albums.items:[],playlists:response.playlists?response.playlists.items:[],tracks:response.tracks?response.tracks.items:[],genres:genres}})},function(error){dispatch(coreActions.handleException("Could not load autocomplete results",error))})}}function clearAutocompleteResults(){return{type:"SPOTIFY_AUTOCOMPLETE_CLEAR",field_id:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function following(uri){var method=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET";return function(dispatch,getState){if("PUT"==method)var is_following=!0;if("DELETE"==method)var is_following=!1;var endpoint,data,asset_name=helpers.uriType(uri);switch(asset_name){case"track":endpoint="GET"==method?"me/tracks/contains/?ids="+helpers.getFromUri("trackid",uri):"me/tracks/?ids="+helpers.getFromUri("trackid",uri);break;case"album":endpoint="GET"==method?"me/albums/contains/?ids="+helpers.getFromUri("albumid",uri):"me/albums/?ids="+helpers.getFromUri("albumid",uri);break;case"artist":"GET"==method?endpoint="me/following/contains?type=artist&ids="+helpers.getFromUri("artistid",uri):(endpoint="me/following?type=artist&ids="+helpers.getFromUri("artistid",uri),data={});break;case"user":"GET"==method?endpoint="me/following/contains?type=user&ids="+helpers.getFromUri("userid",uri):(endpoint="me/following?type=user&ids="+helpers.getFromUri("userid",uri),data={});break;case"playlist":endpoint="GET"==method?"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers/contains?ids="+getState().spotify.me.id:"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers"}request(dispatch,getState,endpoint,method,data).then(function(response){response&&(is_following=response),"object"===(void 0===is_following?"undefined":_typeof(is_following))&&(is_following=is_following[0]),dispatch({type:"SPOTIFY_LIBRARY_"+asset_name.toUpperCase()+"_CHECK",key:uri,in_library:is_following})},function(error){dispatch(coreActions.handleException("Could not follow/unfollow",error))})}}function resolveRadioSeeds(radio){return function(dispatch,getState){if(radio.seed_artists.length>0){for(var artist_ids="",i=0;i<radio.seed_artists.length;i++)i>0&&(artist_ids+=","),artist_ids+=helpers.getFromUri("artistid",radio.seed_artists[i]);request(dispatch,getState,"artists?ids="+artist_ids).then(function(response){response&&response.artists?dispatch({type:"ARTISTS_LOADED",artists:response.artists}):console.error("No Spotify artists returned",artist_ids)},function(error){dispatch(coreActions.handleException("Could not resolve radio artist seeds",error))})}if(radio.seed_tracks.length>0){for(var track_ids="",i=0;i<radio.seed_tracks.length;i++)i>0&&(track_ids+=","),track_ids+=helpers.getFromUri("trackid",radio.seed_tracks[i]);request(dispatch,getState,"tracks?ids="+track_ids).then(function(response){dispatch({type:"TRACKS_LOADED",tracks:response.tracks})},function(error){dispatch(coreActions.handleException("Could not load radio track seeds",error))})}}}function getFavorites(){var limit=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,term=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"long_term";return function(dispatch,getState){dispatch({type:"SPOTIFY_FAVORITES_LOADED",artists:[],tracks:[]}),$.when(request(dispatch,getState,"me/top/artists?limit="+limit+"&time_range="+term),request(dispatch,getState,"me/top/tracks?limit="+limit+"&time_range="+term)).then(function(artists_response,tracks_response){dispatch({type:"SPOTIFY_FAVORITES_LOADED",artists:artists_response.items,tracks:tracks_response.items})},function(artists_error,tracks_error){dispatch(coreActions.handleException("Could not load favorites",Object.assign({},artists_error,tracks_error)))})}}function getRecommendations(){var uris=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],limit=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,tunabilities=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return function(dispatch,getState){dispatch({type:"CLEAR_SPOTIFY_RECOMMENDATIONS"});for(var artists_ids=[],tracks_ids=[],genres=[],i=0;i<uris.length;i++){var uri=uris[i];switch(helpers.uriType(uri)){case"artist":artists_ids.push(helpers.getFromUri("artistid",uri));break;case"track":tracks_ids.push(helpers.getFromUri("trackid",uri));break;case"genre":genres.push(helpers.getFromUri("genreid",uri));break;case"default":genres.push(uri)}}var endpoint="recommendations";if(endpoint+="?seed_artists="+artists_ids.join(","),endpoint+="&seed_tracks="+tracks_ids.join(","),endpoint+="&seed_genres="+genres.join(","),endpoint+="&limit="+limit,tunabilities)for(var key in tunabilities)tunabilities.hasOwnProperty(key)&&(endpoint+="&"+key+"="+tunabilities[key]);request(dispatch,getState,endpoint).then(function(response){var tracks=Object.assign([],response.tracks),artists_uris=[];if(tracks.length>artists_ids.length&&tracks.length>10)for(;artists_uris.length<6;){var random_index=Math.round(Math.random()*(tracks.length-1)),artist=tracks[random_index].artists[0];artists_uris.includes(artist.uri)||artists_ids.includes(artist.id)||(artists_uris.push(artist.uri),dispatch(getArtist(artist.uri)))}var albums=[],albums_uris=[];if(tracks.length>10)for(;albums.length<6;){var random_index=Math.round(Math.random()*(tracks.length-1)),album=tracks[random_index].album;albums_uris.includes(album.uri)||(albums_uris.push(album.uri),albums.push(album))}albums.length>0&&dispatch(coreActions.albumsLoaded(albums)),tracks.length>0&&dispatch(coreActions.tracksLoaded(tracks)),dispatch({type:"SPOTIFY_RECOMMENDATIONS_LOADED",seeds_uris:uris,tracks_uris:helpers.arrayOf("uri",tracks),artists_uris:artists_uris,albums_uris:helpers.arrayOf("uri",albums)})},function(error){dispatch(coreActions.handleException("Could not load recommendations",error))})}}function getGenres(){return function(dispatch,getState){request(dispatch,getState,"recommendations/available-genre-seeds").then(function(response){dispatch({type:"SPOTIFY_GENRES_LOADED",genres:response.genres})},function(error){dispatch(coreActions.handleException("Could not load genres",error))})}}function getArtist(uri){var full=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(dispatch,getState){var artist={},requests=[request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)).then(function(response){Object.assign(artist,response)},function(error){dispatch(coreActions.handleException("Could not load artist",error))})];full&&(requests.push(request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/top-tracks?country="+getState().spotify.country).then(function(response){Object.assign(artist,response)},function(error){dispatch(coreActions.handleException("Could not load artist's top tracks",error))})),requests.push(request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/related-artists").then(function(response){dispatch(coreActions.artistsLoaded(response.artists)),Object.assign(artist,{related_artists_uris:helpers.arrayOf("uri",response.artists)})},function(error){dispatch(coreActions.handleException("Could not load artist's related artists",error))}))),$.when.apply($,requests).then(function(){dispatch(artist.musicbrainz_id?lastfmActions.getArtist(artist.uri,!1,artist.musicbrainz_id):lastfmActions.getArtist(artist.uri,artist.name.replace("&","and"))),dispatch(coreActions.artistLoaded(artist)),full&&request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/albums?market="+getState().spotify.country).then(function(response){dispatch({type:"SPOTIFY_ARTIST_ALBUMS_LOADED",artist_uri:uri,data:response})},function(error){dispatch(coreActions.handleException("Could not load artist's albums",error))})})}}function getArtists(uris){return function(dispatch,getState){for(var ids="",i=0;i<uris.length;i++)""!=ids&&(ids+=","),ids+=helpers.getFromUri("artistid",uris[i]);request(dispatch,getState,"artists/?ids="+ids).then(function(response){for(var i=i;i<response.length;i++){for(var artist=response,i=0;i<artist.albums.length;i++)dispatch({type:"ALBUM_LOADED",album:artist.albums[i]});artist.albums_uris=helpers.arrayOf("uri",artist.albums),artist.albums_more=artist.albums.next,dispatch(coreActions.artistLoaded(artist))}},function(error){dispatch(coreActions.handleException("Could not load artists",error))})}}function playArtistTopTracks(uri){return function(dispatch,getState){var artists=getState().core.artists;if(void 0!==artists[uri]&&void 0!==artists[uri].tracks){var uris=helpers.arrayOf("uri",artists[uri].tracks);dispatch(mopidyActions.playURIs(uris,uri))}else request(dispatch,getState,"artists/"+helpers.getFromUri("artistid",uri)+"/top-tracks?country="+getState().spotify.country).then(function(response){var uris=helpers.arrayOf("uri",response.tracks);dispatch(mopidyActions.playURIs(uris,uri))},function(error){dispatch(coreActions.handleException("Could not play artist's top tracks",error))})}}function getUser(uri){return function(dispatch,getState){request(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)).then(function(response){dispatch(coreActions.userLoaded(helpers.formatUser(response)))},function(error){dispatch(coreActions.handleException("Could not load user",error))})}}function getUserPlaylists(uri){return function(dispatch,getState){request(dispatch,getState,"users/"+helpers.getFromUri("userid",uri)+"/playlists?limit=40").then(function(response){var playlists=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=response.items[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var raw_playlist=_step2.value,can_edit=!1;getState().spotify.me&&raw_playlist.owner.id==getState().spotify.me.id&&(can_edit=!0);var playlist=Object.assign({},helpers.formatPlaylist(raw_playlist),{can_edit:can_edit,tracks_total:raw_playlist.tracks.total});playlists.push(playlist)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}dispatch(coreActions.userPlaylistsLoaded(uri,playlists,response.next,response.total))},function(error){dispatch(coreActions.handleException("Could not load user's playlists",error))})}}function getAlbum(uri){return function(dispatch,getState){request(dispatch,getState,"albums/"+helpers.getFromUri("albumid",uri)).then(function(response){dispatch(coreActions.artistsLoaded(response.artists));for(var tracks=Object.assign([],response.tracks.items),album=Object.assign({},helpers.formatAlbum(response),{artists_uris:helpers.arrayOf("uri",response.artists),tracks_uris:helpers.arrayOf("uri",tracks),tracks_more:response.tracks.next,tracks_total:response.tracks.total}),i=0;i<tracks.length;i++)tracks[i].album={name:album.name,uri:album.uri};dispatch(coreActions.albumLoaded(album)),dispatch(coreActions.tracksLoaded(tracks));for(var artist_ids=[],i=0;i<response.artists.length;i++)artist_ids.push(helpers.getFromUri("artistid",response.artists[i].uri));request(dispatch,getState,"artists/?ids="+artist_ids).then(function(response){dispatch(coreActions.artistsLoaded(response.artists))},function(error){dispatch(coreActions.handleException("Could not load album's artists",error))})},function(error){dispatch(coreActions.handleException("Could not load album",error))})}}function toggleAlbumInLibrary(uri,method){if("PUT"==method)var new_state=1;if("DELETE"==method)var new_state=0;return function(dispatch,getState){request(dispatch,getState,"me/albums?ids="+helpers.getFromUri("albumid",uri),method).then(function(response){dispatch({type:"SPOTIFY_ALBUM_FOLLOWING",key:uri,data:new_state})},function(error){dispatch(coreActions.handleException("Could not add/remove library album",error))})}}function createPlaylist(name,description,is_public,is_collaborative){return function(dispatch,getState){var data={name:name,description:description,public:is_public,collaborative:is_collaborative};request(dispatch,getState,"users/"+getState().spotify.me.id+"/playlists/","POST",data).then(function(response){dispatch({type:"PLAYLIST_LOADED",key:response.uri,playlist:Object.assign({},response,{can_edit:!0,tracks:[],tracks_more:null,tracks_total:0})}),dispatch({type:"LIBRARY_PLAYLISTS_LOADED",uris:[response.uri]}),dispatch(uiActions.createNotification({type:"info",content:"Created playlist"}))},function(error){dispatch(coreActions.handleException("Could not create playlist",error))})}}function savePlaylist(uri,name,description,is_public,is_collaborative,image){return function(dispatch,getState){var data={name:name,description:description,public:is_public,collaborative:is_collaborative};request(dispatch,getState,"users/"+getState().spotify.me.id+"/playlists/"+helpers.getFromUri("playlistid",uri),"PUT",data).then(function(response){dispatch(uiActions.createNotification({type:"info",content:"Playlist saved"})),image?request(dispatch,getState,"users/"+getState().spotify.me.id+"/playlists/"+helpers.getFromUri("playlistid",uri)+"/images","PUT",image).then(function(response){dispatch({type:"PLAYLIST_UPDATED",key:uri,playlist:{name:name,public:is_public,collaborative:is_collaborative,description:description}})},function(error){dispatch(coreActions.handleException("Could not save image",error))}):dispatch({type:"PLAYLIST_UPDATED",key:uri,playlist:{name:name,public:is_public,collaborative:is_collaborative,description:description}})},function(error){dispatch(coreActions.handleException("Could not save playlist",error))})}}function getPlaylist(uri){return function(dispatch,getState){request(dispatch,getState,"playlists/"+helpers.getFromUri("playlistid",uri)+"?market="+getState().spotify.country).then(function(response){var description=null;response.description&&(description=response.description,description=description.split('<a href="spotify:artist:').join('<a href="#'+global.baseURL+"artist/spotify:artist:"),description=description.split('<a href="spotify:album:').join('<a href="#'+global.baseURL+"album/spotify:album:"),description=description.split('<a href="spotify:user:').join('<a href="#'+global.baseURL+"user/spotify:user:"));var tracks=helpers.formatTracks(response.tracks.items),playlist=Object.assign({},helpers.formatPlaylist(response),{is_completely_loaded:!0,user_uri:response.owner.uri,tracks_uris:helpers.arrayOf("uri",tracks),tracks_more:response.tracks.next,tracks_total:response.tracks.total,description:description});dispatch(coreActions.userLoaded(helpers.formatUser(response.owner))),dispatch(coreActions.tracksLoaded(tracks)),dispatch(coreActions.playlistLoaded(playlist))},function(error){dispatch(coreActions.handleException("Could not load playlist",error))})}}function getLibraryTracksAndPlay(uri){return function(dispatch,getState){dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR","Loading library tracks",{uri:uri,next:"me/tracks"}))}}function getLibraryTracksAndPlayProcessor(data){return function(dispatch,getState){request(dispatch,getState,data.next).then(function(response){if(void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR")),!1}for(var uris=[],new_uris=[],i=0;i<response.items.length;i++)new_uris.push(response.items[i].track.uri);uris=data.uris?[].concat(_toConsumableArray(data.uris),new_uris):new_uris,response.next?(dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR","Loading "+(response.total-uris.length)+" library tracks",{next:response.next,total:response.total,remaining:response.total-uris.length})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR",{next:response.next,uris:uris}))):(dispatch(mopidyActions.playURIs(uris,data.uri)),dispatch(uiActions.processFinishing("SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR")))},function(error){dispatch(coreActions.handleException("Could not load library tracks",error))})}}function getPlaylistTracksAndPlay(uri,shuffle){return function(dispatch,getState){dispatch(uiActions.startProcess("SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR","Loading playlist tracks",{uri:uri,next:"playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks?market="+getState().spotify.country,shuffle:shuffle}))}}function getPlaylistTracksAndPlayProcessor(data){return function(dispatch,getState){request(dispatch,getState,data.next).then(function(response){if(void 0!==getState().ui.processes.SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR")),!1}for(var uris=[],new_uris=[],i=0;i<response.items.length;i++)new_uris.push(response.items[i].track.uri);uris=data.uris?[].concat(_toConsumableArray(data.uris),new_uris):new_uris,response.next?(dispatch(uiActions.updateProcess("SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR","Loading "+(response.total-uris.length)+" playlist tracks",{next:response.next,total:response.total,remaining:response.total-uris.length,shuffle:data.shuffle})),dispatch(uiActions.runProcess("SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR",{next:response.next,uris:uris,shuffle:data.shuffle}))):(data.shuffle&&(uris=helpers.shuffle(uris)),dispatch(mopidyActions.playURIs(uris,data.uri)),dispatch(uiActions.processFinishing("SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR")))},function(error){dispatch(coreActions.handleException("Could not load tracks to play playlist",error))})}}function toggleFollowingPlaylist(uri,method){if("PUT"==method)var new_state=1;if("DELETE"==method)var new_state=0;return function(dispatch,getState){request(dispatch,getState,"playlists/"+helpers.getFromUri("playlistid",uri)+"/followers",method).then(function(response){dispatch({type:"SPOTIFY_PLAYLIST_FOLLOWING_LOADED",key:uri,is_following:new_state})},function(error){dispatch(coreActions.handleException("Could not add/remove library playlist",error))})}}function addTracksToPlaylist(uri,tracks_uris){return function(dispatch,getState){request(dispatch,getState,"playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks","POST",{uris:tracks_uris}).then(function(response){dispatch({type:"PLAYLIST_TRACKS_ADDED",key:uri,tracks_uris:tracks_uris,snapshot_id:response.snapshot_id})},function(error){dispatch(coreActions.handleException("Could not add tracks to playlist",error))})}}function deleteTracksFromPlaylist(uri,snapshot_id,tracks_indexes){return function(dispatch,getState){request(dispatch,getState,"playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks","DELETE",{snapshot_id:snapshot_id,positions:tracks_indexes}).then(function(response){dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:uri,tracks_indexes:tracks_indexes,snapshot_id:response.snapshot_id})},function(error){dispatch(coreActions.handleException("Could not remove tracks from playlist",error))})}}function reorderPlaylistTracks(uri,range_start,range_length,insert_before,snapshot_id){return function(dispatch,getState){request(dispatch,getState,"playlists/"+helpers.getFromUri("playlistid",uri)+"/tracks","PUT",{uri:uri,range_start:range_start,range_length:range_length,insert_before:insert_before,snapshot_id:snapshot_id}).then(function(response){dispatch({type:"PLAYLIST_TRACKS_REORDERED",key:uri,range_start:range_start,range_length:range_length,insert_before:insert_before,snapshot_id:response.snapshot_id})},function(error){dispatch(coreActions.handleException("Could not reorder playlist tracks",error))})}}function flushLibrary(){return{type:"SPOTIFY_FLUSH_LIBRARY"}}function getLibraryPlaylists(){return function(dispatch,getState){var last_run=getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR;last_run?"cancelled"==last_run.status?dispatch(uiActions.resumeProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")):"finished"!=last_run.status||getState().spotify.library_playlists_loaded_all||dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading Spotify playlists",{next:"me/playlists?limit=50"})):dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading Spotify playlists",{next:"me/playlists?limit=50"}))}}function getLibraryPlaylistsProcessor(data){return function(dispatch,getState){request(dispatch,getState,data.next).then(function(response){if(dispatch({type:"SPOTIFY_LIBRARY_PLAYLISTS_LOADED",playlists:response.items}),void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")),!1}if(response.next){var total=response.total,loaded=getState().spotify.library_playlists.length,remaining=total-loaded;dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR","Loading "+remaining+" Spotify playlists",{next:response.next,total:response.total,remaining:remaining})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR",{next:response.next}))}else dispatch(uiActions.processFinishing("SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR")),dispatch({type:"SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL"})},function(error){dispatch(coreActions.handleException("Could not load library playlists",error))})}}function getLibraryArtists(){return function(dispatch,getState){var last_run=getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR;last_run?"cancelled"==last_run.status?dispatch(uiActions.resumeProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR")):"finished"!=last_run.status||getState().spotify.library_artists_loaded_all||dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading Spotify artists",{next:"me/following?type=artist&limit=50"})):dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading Spotify artists",{next:"me/following?type=artist&limit=50"}))}}function getLibraryArtistsProcessor(data){return function(dispatch,getState){request(dispatch,getState,data.next).then(function(response){if(dispatch({type:"SPOTIFY_LIBRARY_ARTISTS_LOADED",artists:response.artists.items}),void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR")),!1}if(response.artists.next){var total=response.artists.total,loaded=getState().spotify.library_artists.length,remaining=total-loaded;dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR","Loading "+remaining+" Spotify artists",{next:response.artists.next,total:response.artists.total,remaining:remaining})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR",{next:response.artists.next}))}else dispatch(uiActions.processFinishing("SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR"))},function(error){dispatch(coreActions.handleException("Could not load library artists",error))})}}function getLibraryAlbums(){return function(dispatch,getState){var last_run=getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR;last_run?"cancelled"==last_run.status?dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"})):"finished"!=last_run.status||getState().spotify.library_albums_loaded_all||dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"})):dispatch(uiActions.startProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading Spotify albums",{next:"me/albums?limit=50"}))}}function getLibraryAlbumsProcessor(data){return function(dispatch,getState){request(dispatch,getState,data.next).then(function(response){if(dispatch({type:"SPOTIFY_LIBRARY_ALBUMS_LOADED",albums:response.items}),void 0!==getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR){if("cancelling"==getState().ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR.status)return dispatch(uiActions.processCancelled("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR")),!1}if(response.next){var total=response.total,loaded=getState().spotify.library_albums.length,remaining=total-loaded;dispatch(uiActions.updateProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR","Loading "+remaining+" Spotify albums",{next:response.next,total:response.total,remaining:remaining})),dispatch(uiActions.runProcess("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR",{next:response.next}))}else dispatch(uiActions.processFinishing("SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR"))},function(error){dispatch(coreActions.handleException("Could not load library albums",error))})}}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.set=set,exports.connect=connect,exports.authorizationGranted=authorizationGranted,exports.revokeAuthorization=revokeAuthorization,exports.refreshingToken=refreshingToken,exports.tokenChanged=tokenChanged,exports.importAuthorization=importAuthorization,exports.getMe=getMe,exports.getTrack=getTrack,exports.getLibraryTracks=getLibraryTracks,exports.getFeaturedPlaylists=getFeaturedPlaylists,exports.getCategories=getCategories,exports.getCategory=getCategory,exports.getCategoryPlaylists=getCategoryPlaylists,exports.getNewReleases=getNewReleases,exports.getURL=getURL,exports.getMore=getMore,exports.clearSearchResults=clearSearchResults,exports.getSearchResults=getSearchResults,exports.getAutocompleteResults=getAutocompleteResults,exports.clearAutocompleteResults=clearAutocompleteResults,exports.following=following,exports.resolveRadioSeeds=resolveRadioSeeds,exports.getFavorites=getFavorites,exports.getRecommendations=getRecommendations,exports.getGenres=getGenres,exports.getArtist=getArtist,exports.getArtists=getArtists,exports.playArtistTopTracks=playArtistTopTracks,exports.getUser=getUser,exports.getUserPlaylists=getUserPlaylists,exports.getAlbum=getAlbum,exports.toggleAlbumInLibrary=toggleAlbumInLibrary,exports.createPlaylist=createPlaylist,exports.savePlaylist=savePlaylist,exports.getPlaylist=getPlaylist,exports.getLibraryTracksAndPlay=getLibraryTracksAndPlay,exports.getLibraryTracksAndPlayProcessor=getLibraryTracksAndPlayProcessor,exports.getPlaylistTracksAndPlay=getPlaylistTracksAndPlay,exports.getPlaylistTracksAndPlayProcessor=getPlaylistTracksAndPlayProcessor,exports.toggleFollowingPlaylist=toggleFollowingPlaylist,exports.addTracksToPlaylist=addTracksToPlaylist,exports.deleteTracksFromPlaylist=deleteTracksFromPlaylist,exports.reorderPlaylistTracks=reorderPlaylistTracks,exports.flushLibrary=flushLibrary,exports.getLibraryPlaylists=getLibraryPlaylists,exports.getLibraryPlaylistsProcessor=getLibraryPlaylistsProcessor,exports.getLibraryArtists=getLibraryArtists,exports.getLibraryArtistsProcessor=getLibraryArtistsProcessor,exports.getLibraryAlbums=getLibraryAlbums,exports.getLibraryAlbumsProcessor=getLibraryAlbumsProcessor;var coreActions=__webpack_require__(10),uiActions=__webpack_require__(3),mopidyActions=__webpack_require__(6),lastfmActions=__webpack_require__(20),helpers=__webpack_require__(1),request=function(dispatch,getState,endpoint){var method=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"GET",data=arguments.length>4&&void 0!==arguments[4]&&arguments[4],loader_key=helpers.generateGuid();return dispatch(uiActions.startLoading(loader_key,"spotify_"+endpoint)),new Promise(function(resolve,reject){getToken(dispatch,getState).then(function(response){var url="https://api.spotify.com/v1/"+endpoint;endpoint.startsWith("https://api.spotify.com/")&&(url=endpoint);var config={method:method,url:url,cached:!0,timeout:3e4,headers:{Authorization:"Bearer "+response,Accept:"application/json"}};data&&(config.data="string"==typeof data?data:JSON.stringify(data)),$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),resolve(response)},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),429==xhr.status&&alert("You hit the Spotify API rate limiter"),xhr.responseJSON&&xhr.responseJSON.error&&"The access token expired"==xhr.responseJSON.error.message&&dispatch(refreshToken(dispatch,getState)),reject({config:config,xhr:xhr,status:status,error:error})})},function(error){reject(error)})})}}).call(exports,__webpack_require__(19),__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRouter=__webpack_require__(12),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),_class=function(_React$Component){function _class(props){return _classCallCheck(this,_class),_possibleConstructorReturn(this,(_class.__proto__||Object.getPrototypeOf(_class)).call(this,props))}return _inherits(_class,_React$Component),_createClass(_class,[{key:"handleClick",value:function(e){this.props.retainScroll||helpers.scrollTo(this.props.scrollTo,this.props.scrollTo)}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement(_reactRouter.Link,{onClick:function(e){return _this2.handleClick(e)},className:this.props.className?this.props.className:null,activeClassName:this.props.activeClassName,to:this.props.to},this.props.children)}}]),_class}(_react2.default.Component);exports.default=_class},function(module,exports){var g;g=function(){return this}();try{g=g||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(g=window)}module.exports=g},function(module,exports,__webpack_require__){"use strict";(function($){function getBroadcasts(){return function(dispatch,getState){var config={method:"GET",timeout:15e3,url:"https://gist.githubusercontent.com/jaedb/b677dccf80daf3ccb2ef12e96e495677/raw"};$.ajax(config).then(function(response){dispatch({type:"BROADCASTS_LOADED",broadcasts:JSON.parse(response)})},function(xhr,status,error){dispatch(handleException("Could not fetch broadcasts from GitHub",{config:config,xhr:xhr,status:status,error:error},null,!1))})}}function startSearch(search_type,query){return{type:"SEARCH_STARTED",search_type:search_type,query:query,only_mopidy:arguments.length>2&&void 0!==arguments[2]&&arguments[2]}}function handleException(message){var data=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{type:"HANDLE_EXCEPTION",message:message,description:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,data:data,show_notification:!(arguments.length>3&&void 0!==arguments[3])||arguments[3]}}function debugResponse(response){return{type:"DEBUG",response:response}}function set(data){return{type:"CORE_SET",data:data}}function clearCurrentTrack(){return{type:"CLEAR_CURRENT_TRACK"}}function cachebustHttpStream(){return{type:"CACHEBUST_HTTP_STREAM"}}function loadTrack(uri){return{type:"LOAD_TRACK",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadAlbum(uri){return{type:"LOAD_ALBUM",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadArtist(uri){return{type:"LOAD_ARTIST",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadPlaylist(uri){return{type:"LOAD_PLAYLIST",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadUser(uri){return{type:"LOAD_USER",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function loadUserPlaylists(uri){return{type:"LOAD_USER_PLAYLISTS",uri:uri,force_reload:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function trackLoaded(track){return tracksLoaded([track])}function tracksLoaded(tracks){return{type:"TRACKS_LOADED",tracks:tracks}}function artistLoaded(artist){return artistsLoaded([artist])}function artistsLoaded(artists){return{type:"ARTISTS_LOADED",artists:artists}}function albumLoaded(album){return albumsLoaded([album])}function albumsLoaded(albums){return{type:"ALBUMS_LOADED",albums:albums}}function playlistLoaded(playlist){return playlistsLoaded([playlist])}function playlistsLoaded(playlists){return{type:"PLAYLISTS_LOADED",playlists:playlists}}function userLoaded(user){return usersLoaded([user])}function usersLoaded(users){return{type:"USERS_LOADED",users:users}}function userPlaylistsLoaded(uri,playlists){return{type:"USER_PLAYLISTS_LOADED",uri:uri,playlists:playlists,more:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,total:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function loadedMore(parent_type,parent_key,records_type,records_data){return{type:"LOADED_MORE",parent_type:parent_type,parent_key:parent_key,records_type:records_type,records_data:records_data}}function reorderPlaylistTracks(uri,indexes,insert_before){var snapshot_id=arguments.length>3&&void 0!==arguments[3]&&arguments[3],range=helpers.createRange(indexes);switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_REORDER_PLAYLIST_TRACKS",key:uri,range_start:range.start,range_length:range.length,insert_before:insert_before,snapshot_id:snapshot_id};case"m3u":return{type:"MOPIDY_REORDER_PLAYLIST_TRACKS",key:uri,range_start:range.start,range_length:range.length,insert_before:insert_before}}}function savePlaylist(uri,name){var description=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",is_public=arguments.length>3&&void 0!==arguments[3]&&arguments[3],is_collaborative=arguments.length>4&&void 0!==arguments[4]&&arguments[4],image=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null;switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_SAVE_PLAYLIST",key:uri,name:name,description:""==description?null:description,image:image,is_public:is_public,is_collaborative:is_collaborative};case"m3u":return{type:"MOPIDY_SAVE_PLAYLIST",key:uri,name:name}}return!1}function createPlaylist(scheme,name){var description=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",is_public=arguments.length>3&&void 0!==arguments[3]&&arguments[3],is_collaborative=arguments.length>4&&void 0!==arguments[4]&&arguments[4];switch(scheme){case"spotify":return""==description&&(description=null),spotifyActions.createPlaylist(name,description,is_public,is_collaborative);default:return mopidyActions.createPlaylist(name,scheme)}return!1}function deletePlaylist(uri){switch(helpers.uriSource(uri)){case"spotify":return spotifyActions.following(uri,"DELETE");default:return mopidyActions.deletePlaylist(uri)}return!1}function removeTracksFromPlaylist(uri,tracks_indexes){switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_REMOVE_PLAYLIST_TRACKS",key:uri,tracks_indexes:tracks_indexes};case"m3u":return{type:"MOPIDY_REMOVE_PLAYLIST_TRACKS",key:uri,tracks_indexes:tracks_indexes}}}function addTracksToPlaylist(uri,tracks_uris){switch(helpers.uriSource(uri)){case"spotify":return{type:"SPOTIFY_ADD_PLAYLIST_TRACKS",key:uri,tracks_uris:tracks_uris};case"m3u":return{type:"MOPIDY_ADD_PLAYLIST_TRACKS",key:uri,tracks_uris:tracks_uris}}}function getLibraryPlaylists(){return{type:"GET_LIBRARY_PLAYLISTS"}}function getLibraryAlbums(){return{type:"GET_LIBRARY_ALBUMS"}}function getLibraryArtists(){return{type:"GET_LIBRARY_ARTISTS"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getBroadcasts=getBroadcasts,exports.startSearch=startSearch,exports.handleException=handleException,exports.debugResponse=debugResponse,exports.set=set,exports.clearCurrentTrack=clearCurrentTrack,exports.cachebustHttpStream=cachebustHttpStream,exports.loadTrack=loadTrack,exports.loadAlbum=loadAlbum,exports.loadArtist=loadArtist,exports.loadPlaylist=loadPlaylist,exports.loadUser=loadUser,exports.loadUserPlaylists=loadUserPlaylists,exports.trackLoaded=trackLoaded,exports.tracksLoaded=tracksLoaded,exports.artistLoaded=artistLoaded,exports.artistsLoaded=artistsLoaded,exports.albumLoaded=albumLoaded,exports.albumsLoaded=albumsLoaded,exports.playlistLoaded=playlistLoaded,exports.playlistsLoaded=playlistsLoaded,exports.userLoaded=userLoaded,exports.usersLoaded=usersLoaded,exports.userPlaylistsLoaded=userPlaylistsLoaded,exports.loadedMore=loadedMore,exports.reorderPlaylistTracks=reorderPlaylistTracks,exports.savePlaylist=savePlaylist,exports.createPlaylist=createPlaylist,exports.deletePlaylist=deletePlaylist,exports.removeTracksFromPlaylist=removeTracksFromPlaylist,exports.addTracksToPlaylist=addTracksToPlaylist,exports.getLibraryPlaylists=getLibraryPlaylists,exports.getLibraryAlbums=getLibraryAlbums,exports.getLibraryArtists=getLibraryArtists;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),spotifyActions=__webpack_require__(7),mopidyActions=__webpack_require__(6)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),Thumbnail=function(_React$Component){function Thumbnail(props){return _classCallCheck(this,Thumbnail),_possibleConstructorReturn(this,(Thumbnail.__proto__||Object.getPrototypeOf(Thumbnail)).call(this,props))}return _inherits(Thumbnail,_React$Component),_createClass(Thumbnail,[{key:"mapImageSizes",value:function(){if(this.props.image)return this.props.image;if(this.props.images){var images=this.props.images;Array.isArray(images)&&images.length>0&&(images=images[0]);var size="medium";if(this.props.size&&(size=this.props.size),images[size])return images[size]}return null}},{key:"render",value:function(){var image=this.mapImageSizes(),class_name="thumbnail ";this.props.size&&(class_name+=" "+this.props.size),this.props.circle&&(class_name+=" circle"),this.props.className&&(class_name+=" "+this.props.className);var zoom_icon=null;return this.props.canZoom&&image&&(zoom_icon=_react2.default.createElement(_Link2.default,{className:"zoom",to:global.baseURL+"image-zoom?url="+image},_react2.default.createElement(_Icon2.default,{name:"search"}))),_react2.default.createElement("div",{className:class_name},_react2.default.createElement("div",{className:"image loaded",style:{backgroundImage:'url("'+(image||__webpack_require__(276))+'")'}}),zoom_icon)}}]),Thumbnail}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Thumbnail)}).call(exports,__webpack_require__(9))},function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:!0});var __WEBPACK_IMPORTED_MODULE_0__Router__=__webpack_require__(155);__webpack_require__.d(__webpack_exports__,"Router",function(){return __WEBPACK_IMPORTED_MODULE_0__Router__.a});var __WEBPACK_IMPORTED_MODULE_1__Link__=__webpack_require__(84);__webpack_require__.d(__webpack_exports__,"Link",function(){return __WEBPACK_IMPORTED_MODULE_1__Link__.a});var __WEBPACK_IMPORTED_MODULE_2__IndexLink__=__webpack_require__(167);__webpack_require__.d(__webpack_exports__,"IndexLink",function(){return __WEBPACK_IMPORTED_MODULE_2__IndexLink__.a});var __WEBPACK_IMPORTED_MODULE_3__withRouter__=__webpack_require__(168);__webpack_require__.d(__webpack_exports__,"withRouter",function(){return __WEBPACK_IMPORTED_MODULE_3__withRouter__.a});var __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__=__webpack_require__(169);__webpack_require__.d(__webpack_exports__,"IndexRedirect",function(){return __WEBPACK_IMPORTED_MODULE_4__IndexRedirect__.a});var __WEBPACK_IMPORTED_MODULE_5__IndexRoute__=__webpack_require__(170);__webpack_require__.d(__webpack_exports__,"IndexRoute",function(){return __WEBPACK_IMPORTED_MODULE_5__IndexRoute__.a});var __WEBPACK_IMPORTED_MODULE_6__Redirect__=__webpack_require__(85);__webpack_require__.d(__webpack_exports__,"Redirect",function(){return __WEBPACK_IMPORTED_MODULE_6__Redirect__.a});var __WEBPACK_IMPORTED_MODULE_7__Route__=__webpack_require__(171);__webpack_require__.d(__webpack_exports__,"Route",function(){return __WEBPACK_IMPORTED_MODULE_7__Route__.a});var __WEBPACK_IMPORTED_MODULE_8__RouteUtils__=__webpack_require__(29);__webpack_require__.d(__webpack_exports__,"createRoutes",function(){return __WEBPACK_IMPORTED_MODULE_8__RouteUtils__.b});var __WEBPACK_IMPORTED_MODULE_9__RouterContext__=__webpack_require__(53);__webpack_require__.d(__webpack_exports__,"RouterContext",function(){return __WEBPACK_IMPORTED_MODULE_9__RouterContext__.a});var __WEBPACK_IMPORTED_MODULE_10__PropTypes__=__webpack_require__(55);__webpack_require__.d(__webpack_exports__,"locationShape",function(){return __WEBPACK_IMPORTED_MODULE_10__PropTypes__.a}),__webpack_require__.d(__webpack_exports__,"routerShape",function(){return __WEBPACK_IMPORTED_MODULE_10__PropTypes__.b});var __WEBPACK_IMPORTED_MODULE_11__match__=__webpack_require__(172);__webpack_require__.d(__webpack_exports__,"match",function(){return __WEBPACK_IMPORTED_MODULE_11__match__.a});var __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__=__webpack_require__(89);__webpack_require__.d(__webpack_exports__,"useRouterHistory",function(){return __WEBPACK_IMPORTED_MODULE_12__useRouterHistory__.a});var __WEBPACK_IMPORTED_MODULE_13__PatternUtils__=__webpack_require__(35);__webpack_require__.d(__webpack_exports__,"formatPattern",function(){return __WEBPACK_IMPORTED_MODULE_13__PatternUtils__.a});var __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__=__webpack_require__(177);__webpack_require__.d(__webpack_exports__,"applyRouterMiddleware",function(){return __WEBPACK_IMPORTED_MODULE_14__applyRouterMiddleware__.a});var __WEBPACK_IMPORTED_MODULE_15__browserHistory__=__webpack_require__(178);__webpack_require__.d(__webpack_exports__,"browserHistory",function(){return __WEBPACK_IMPORTED_MODULE_15__browserHistory__.a});var __WEBPACK_IMPORTED_MODULE_16__hashHistory__=__webpack_require__(181);__webpack_require__.d(__webpack_exports__,"hashHistory",function(){return __WEBPACK_IMPORTED_MODULE_16__hashHistory__.a});var __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__=__webpack_require__(86);__webpack_require__.d(__webpack_exports__,"createMemoryHistory",function(){return __WEBPACK_IMPORTED_MODULE_17__createMemoryHistory__.a})},function(module,exports,__webpack_require__){"use strict";function setPort(port){return{type:"PUSHER_SET_PORT",port:port}}function setUsername(username){var force=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return{type:"PUSHER_SET_USERNAME",username:username.replace(/[\W_]+/g,""),force:force}}function connect(){return{type:"PUSHER_CONNECT"}}function disconnect(){return{type:"PUSHER_DISCONNECT"}}function upgrade(){return{type:"PUSHER_UPGRADE"}}function reload(){return{type:"PUSHER_RELOAD"}}function restart(){return{type:"PUSHER_RESTART"}}function localScan(){return{type:"PUSHER_LOCAL_SCAN"}}function getConnections(){return{type:"PUSHER_GET_CONNECTIONS"}}function connectionAdded(connection){return{type:"PUSHER_CONNECTION_ADDED",connection:connection}}function connectionChanged(connection){return{type:"PUSHER_CONNECTION_CHANGED",connection:connection}}function connectionRemoved(connection){return{type:"PUSHER_CONNECTION_REMOVED",connection:connection}}function request(method){return{type:"PUSHER_REQUEST",method:method,params:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,response_callback:arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null}}function getConfig(){return{type:"PUSHER_GET_CONFIG"}}function getVersion(){return{type:"PUSHER_GET_VERSION"}}function deliverBroadcast(method,params){return{type:"PUSHER_DELIVER_BROADCAST",data:{method:method,params:params}}}function deliverMessage(recipient,method,params){return{type:"PUSHER_DELIVER_MESSAGE",data:{recipient:recipient,method:method,params:params}}}function getRadio(){return{type:"PUSHER_GET_RADIO"}}function startRadio(uris){return{type:"PUSHER_START_RADIO",uris:uris}}function updateRadio(uris){return{type:"PUSHER_UPDATE_RADIO",uris:uris}}function stopRadio(){return{type:"PUSHER_STOP_RADIO"}}function radioStarted(radio){return{type:"PUSHER_RADIO_STARTED",radio:radio}}function radioChanged(radio){return{type:"PUSHER_RADIO_CHANGED",radio:radio}}function radioStopped(){return{type:"PUSHER_RADIO_STOPPED"}}function debug(){return{type:"PUSHER_DEBUG",message:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}}function getQueueMetadata(){return{type:"PUSHER_GET_QUEUE_METADATA"}}function queueMetadataChanged(queue_metadata){return{type:"PUSHER_QUEUE_METADATA_CHANGED",queue_metadata:queue_metadata}}function addQueueMetadata(){return{type:"PUSHER_ADD_QUEUE_METADATA",tlids:arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],from_uri:arguments.length>1&&void 0!==arguments[1]?arguments[1]:null}}function getCommands(){return{type:"PUSHER_GET_COMMANDS"}}function setCommand(command){return{type:"PUSHER_SET_COMMAND",command:command}}function removeCommand(id){return{type:"PUSHER_REMOVE_COMMAND",id:id}}function sendCommand(id){return{type:"PUSHER_SEND_COMMAND",id:id,notify:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function commandsUpdated(commands){return{type:"PUSHER_COMMANDS_UPDATED",commands:commands}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setPort=setPort,exports.setUsername=setUsername,exports.connect=connect,exports.disconnect=disconnect,exports.upgrade=upgrade,exports.reload=reload,exports.restart=restart,exports.localScan=localScan,exports.getConnections=getConnections,exports.connectionAdded=connectionAdded,exports.connectionChanged=connectionChanged,exports.connectionRemoved=connectionRemoved,exports.request=request,exports.getConfig=getConfig,exports.getVersion=getVersion,exports.deliverBroadcast=deliverBroadcast,exports.deliverMessage=deliverMessage,exports.getRadio=getRadio,exports.startRadio=startRadio,exports.updateRadio=updateRadio,exports.stopRadio=stopRadio,exports.radioStarted=radioStarted,exports.radioChanged=radioChanged,exports.radioStopped=radioStopped,exports.debug=debug,exports.getQueueMetadata=getQueueMetadata,exports.queueMetadataChanged=queueMetadataChanged,exports.addQueueMetadata=addQueueMetadata,exports.getCommands=getCommands,exports.setCommand=setCommand,exports.removeCommand=removeCommand,exports.sendCommand=sendCommand,exports.commandsUpdated=commandsUpdated},function(module,exports,__webpack_require__){!function(root,factory){module.exports=factory(__webpack_require__(0),__webpack_require__(196))}("undefined"!=typeof self&&self,function(__WEBPACK_EXTERNAL_MODULE_11__,__WEBPACK_EXTERNAL_MODULE_12__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=2)}([function(module,exports,__webpack_require__){"use strict";function warn(s){console.warn("[react-ga]",s)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=warn},function(module,exports,__webpack_require__){"use strict";function trim(s){return s.replace(/^\s+|\s+$/g,"")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=trim},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _format(s){return(0,_format3.default)(s,_titleCase)}function _gaCommand(trackerNames){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var command=args[0];if("function"==typeof internalGa){if("string"!=typeof command)return void(0,_warn2.default)("ga command must be a string");internalGa.apply(void 0,args),Array.isArray(trackerNames)&&trackerNames.forEach(function(name){internalGa.apply(void 0,_toConsumableArray([name+"."+command].concat(args.slice(1))))})}}function _initialize(gaTrackingID,options){if(!gaTrackingID)return void(0,_warn2.default)("gaTrackingID is required in initialize()");options&&(options.debug&&!0===options.debug&&(_debug=!0),!1===options.titleCase&&(_titleCase=!1)),options&&options.gaOptions?internalGa("create",gaTrackingID,options.gaOptions):internalGa("create",gaTrackingID,"auto")}function initialize(configsOrTrackingId,options){if(options&&!0===options.testMode)_testMode=!0;else{if("undefined"==typeof window)return!1;(0,_loadGA2.default)(options)}return Array.isArray(configsOrTrackingId)?configsOrTrackingId.forEach(function(config){if("object"!==(void 0===config?"undefined":_typeof(config)))return void(0,_warn2.default)("All configs must be an object");_initialize(config.trackingId,config)}):_initialize(configsOrTrackingId,options),!0}function ga(){for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return args.length>0&&(internalGa.apply(void 0,args),_debug&&((0,_log2.default)("called ga('arguments');"),(0,_log2.default)("with arguments: "+JSON.stringify(args)))),window.ga}function set(fieldsObject,trackerNames){return fieldsObject?"object"!==(void 0===fieldsObject?"undefined":_typeof(fieldsObject))?void(0,_warn2.default)("Expected `fieldsObject` arg to be an Object"):(0===Object.keys(fieldsObject).length&&(0,_warn2.default)("empty `fieldsObject` given to .set()"),_gaCommand(trackerNames,"set",fieldsObject),void(_debug&&((0,_log2.default)("called ga('set', fieldsObject);"),(0,_log2.default)("with fieldsObject: "+JSON.stringify(fieldsObject))))):void(0,_warn2.default)("`fieldsObject` is required in .set()")}function send(fieldObject,trackerNames){_gaCommand(trackerNames,"send",fieldObject),_debug&&((0,_log2.default)("called ga('send', fieldObject);"),(0,_log2.default)("with fieldObject: "+JSON.stringify(fieldObject)),(0,_log2.default)("with trackers: "+JSON.stringify(trackerNames)))}function pageview(rawPath,trackerNames,title){if(!rawPath)return void(0,_warn2.default)("path is required in .pageview()");var path=(0,_trim2.default)(rawPath);if(""===path)return void(0,_warn2.default)("path cannot be an empty string in .pageview()");var extraFields={};if(title&&(extraFields.title=title),"function"==typeof ga&&(_gaCommand(trackerNames,"send",_extends({hitType:"pageview",page:path},extraFields)),_debug)){(0,_log2.default)("called ga('send', 'pageview', path);");var extraLog="";title&&(extraLog=" and title: "+title),(0,_log2.default)("with path: "+path+extraLog)}}function modalview(rawModalName,trackerNames){if(!rawModalName)return void(0,_warn2.default)("modalName is required in .modalview(modalName)");var modalName=(0,_removeLeadingSlash2.default)((0,_trim2.default)(rawModalName));if(""===modalName)return void(0,_warn2.default)("modalName cannot be an empty string or a single / in .modalview()");if("function"==typeof ga){var path="/modal/"+modalName;_gaCommand(trackerNames,"send","pageview",path),_debug&&((0,_log2.default)("called ga('send', 'pageview', path);"),(0,_log2.default)("with path: "+path))}}function timing(){var _ref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},category=_ref.category,variable=_ref.variable,value=_ref.value,label=_ref.label,trackerNames=arguments[1];if("function"==typeof ga){if(!category||!variable||!value||"number"!=typeof value)return void(0,_warn2.default)("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number");var fieldObject={hitType:"timing",timingCategory:_format(category),timingVar:_format(variable),timingValue:value};label&&(fieldObject.timingLabel=_format(label)),send(fieldObject,trackerNames)}}function event(){var _ref2=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},trackerNames=arguments[1],category=_ref2.category,action=_ref2.action,label=_ref2.label,value=_ref2.value,nonInteraction=_ref2.nonInteraction,transport=_ref2.transport,args=_objectWithoutProperties(_ref2,["category","action","label","value","nonInteraction","transport"]);if("function"==typeof ga){if(!category||!action)return void(0,_warn2.default)("args.category AND args.action are required in event()");var fieldObject={hitType:"event",eventCategory:_format(category),eventAction:_format(action)};label&&(fieldObject.eventLabel=_format(label)),void 0!==value&&("number"!=typeof value?(0,_warn2.default)("Expected `args.value` arg to be a Number."):fieldObject.eventValue=value),void 0!==nonInteraction&&("boolean"!=typeof nonInteraction?(0,_warn2.default)("`args.nonInteraction` must be a boolean."):fieldObject.nonInteraction=nonInteraction),void 0!==transport&&("string"!=typeof transport?(0,_warn2.default)("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(transport)&&(0,_warn2.default)("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),fieldObject.transport=transport)),Object.keys(args).filter(function(key){return"dimension"===key.substr(0,"dimension".length)}).forEach(function(key){fieldObject[key]=args[key]}),Object.keys(args).filter(function(key){return"metric"===key.substr(0,"metric".length)}).forEach(function(key){fieldObject[key]=args[key]}),send(fieldObject,trackerNames)}}function exception(_ref3,trackerNames){var description=_ref3.description,fatal=_ref3.fatal;if("function"==typeof ga){var fieldObject={hitType:"exception"};description&&(fieldObject.exDescription=_format(description)),void 0!==fatal&&("boolean"!=typeof fatal?(0,_warn2.default)("`args.fatal` must be a boolean."):fieldObject.exFatal=fatal),send(fieldObject,trackerNames)}}function outboundLink(args,hitCallback,trackerNames){if("function"!=typeof hitCallback)return void(0,_warn2.default)("hitCallback function is required");if("function"==typeof ga){if(!args||!args.label)return void(0,_warn2.default)("args.label is required in outboundLink()");var fieldObject={hitType:"event",eventCategory:"Outbound",eventAction:"Click",eventLabel:_format(args.label)},safetyCallbackCalled=!1,safetyCallback=function(){safetyCallbackCalled=!0,hitCallback()},t=setTimeout(safetyCallback,250),clearableCallbackForGA=function(){clearTimeout(t),safetyCallbackCalled||hitCallback()};fieldObject.hitCallback=clearableCallbackForGA,send(fieldObject,trackerNames)}else setTimeout(hitCallback,0)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.testModeAPI=exports.OutboundLink=exports.plugin=void 0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.initialize=initialize,exports.ga=ga,exports.set=set,exports.send=send,exports.pageview=pageview,exports.modalview=modalview,exports.timing=timing,exports.event=event,exports.exception=exception,exports.outboundLink=outboundLink;var _format2=__webpack_require__(3),_format3=_interopRequireDefault(_format2),_removeLeadingSlash=__webpack_require__(6),_removeLeadingSlash2=_interopRequireDefault(_removeLeadingSlash),_trim=__webpack_require__(1),_trim2=_interopRequireDefault(_trim),_loadGA=__webpack_require__(7),_loadGA2=_interopRequireDefault(_loadGA),_warn=__webpack_require__(0),_warn2=_interopRequireDefault(_warn),_log=__webpack_require__(8),_log2=_interopRequireDefault(_log),_testModeAPI=__webpack_require__(9),_testModeAPI2=_interopRequireDefault(_testModeAPI),_OutboundLink=__webpack_require__(10),_OutboundLink2=_interopRequireDefault(_OutboundLink),_debug=!1,_titleCase=!0,_testMode=!1,internalGa=function(){var _window;return _testMode?_testModeAPI2.default.ga.apply(_testModeAPI2.default,arguments):window.ga?(_window=window).ga.apply(_window,arguments):(0,_warn2.default)("ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually")},plugin=exports.plugin={require:function(rawName,options){if("function"==typeof ga){if(!rawName)return void(0,_warn2.default)("`name` is required in .require()");var name=(0,_trim2.default)(rawName);if(""===name)return void(0,_warn2.default)("`name` cannot be an empty string in .require()");if(options){if("object"!==(void 0===options?"undefined":_typeof(options)))return void(0,_warn2.default)("Expected `options` arg to be an Object");0===Object.keys(options).length&&(0,_warn2.default)("Empty `options` given to .require()"),ga("require",name,options),_debug&&(0,_log2.default)("called ga('require', '"+name+"', "+JSON.stringify(options))}else ga("require",name),_debug&&(0,_log2.default)("called ga('require', '"+name+"');")}},execute:function(pluginName,action){var payload=void 0,actionType=void 0;if(1==(arguments.length<=2?0:arguments.length-2)?payload=arguments.length<=2?void 0:arguments[2]:(actionType=arguments.length<=2?void 0:arguments[2],payload=arguments.length<=3?void 0:arguments[3]),"function"==typeof ga)if("string"!=typeof pluginName)(0,_warn2.default)("Expected `pluginName` arg to be a String.");else if("string"!=typeof action)(0,_warn2.default)("Expected `action` arg to be a String.");else{var command=pluginName+":"+action;payload=payload||null,actionType&&payload?(ga(command,actionType,payload),_debug&&((0,_log2.default)("called ga('"+command+"');"),(0,_log2.default)('actionType: "'+actionType+'" with payload: '+JSON.stringify(payload)))):payload?(ga(command,payload),_debug&&((0,_log2.default)("called ga('"+command+"');"),(0,_log2.default)("with payload: "+JSON.stringify(payload)))):(ga(command),_debug&&(0,_log2.default)("called ga('"+command+"');"))}}};_OutboundLink2.default.origTrackLink=_OutboundLink2.default.trackLink,_OutboundLink2.default.trackLink=outboundLink;var OutboundLink=exports.OutboundLink=_OutboundLink2.default;exports.testModeAPI=_testModeAPI2.default;exports.default={initialize:initialize,ga:ga,set:set,send:send,pageview:pageview,modalview:modalview,timing:timing,event:event,exception:exception,plugin:plugin,outboundLink:outboundLink,OutboundLink:OutboundLink,testModeAPI:_testModeAPI2.default}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function format(s,titleCase){return(0,_mightBeEmail2.default)(s)?((0,_warn2.default)("This arg looks like an email address, redacting."),redacted):titleCase?(0,_toTitleCase2.default)(s):s}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=format;var _mightBeEmail=__webpack_require__(4),_mightBeEmail2=_interopRequireDefault(_mightBeEmail),_toTitleCase=__webpack_require__(5),_toTitleCase2=_interopRequireDefault(_toTitleCase),_warn=__webpack_require__(0),_warn2=_interopRequireDefault(_warn),redacted="REDACTED (Potential Email Address)"},function(module,exports,__webpack_require__){"use strict";function mightBeEmail(s){return/[^@]+@[^@]+/.test(s)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=mightBeEmail},function(module,exports,__webpack_require__){"use strict";function toTitleCase(string){return(0,_trim2.default)(string).replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,function(match,index,title){return index>0&&index+match.length!==title.length&&match.search(smallWords)>-1&&":"!==title.charAt(index-2)&&("-"!==title.charAt(index+match.length)||"-"===title.charAt(index-1))&&title.charAt(index-1).search(/[^\s-]/)<0?match.toLowerCase():match.substr(1).search(/[A-Z]|\../)>-1?match:match.charAt(0).toUpperCase()+match.substr(1)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=toTitleCase;var _trim=__webpack_require__(1),_trim2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_trim),smallWords=/^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i},function(module,exports,__webpack_require__){"use strict";function removeLeadingSlash(string){return"/"===string.substring(0,1)?string.substring(1):string}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=removeLeadingSlash},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(options){!function(i,s,o,g,r,a,m){i.GoogleAnalyticsObject=r,i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date,a=s.createElement(o),m=s.getElementsByTagName(o)[0],a.async=1,a.src=g,m.parentNode.insertBefore(a,m)}(window,document,"script",options&&options.gaAddress?options.gaAddress:"https://www.google-analytics.com/analytics.js","ga")}},function(module,exports,__webpack_require__){"use strict";function log(s){}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=log},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var gaCalls=exports.gaCalls=[];exports.default={calls:gaCalls,ga:function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];gaCalls.push([].concat(args))}}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(11),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(12),_propTypes2=_interopRequireDefault(_propTypes),_warn=__webpack_require__(0),_warn2=_interopRequireDefault(_warn),NEWTAB="_blank",MIDDLECLICK=1,OutboundLink=function(_Component){function OutboundLink(){var _ref,_temp,_this,_ret;_classCallCheck(this,OutboundLink);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_ref=OutboundLink.__proto__||Object.getPrototypeOf(OutboundLink)).call.apply(_ref,[this].concat(args))),_this.handleClick=function(event){var _this$props=_this.props,target=_this$props.target,eventLabel=_this$props.eventLabel,to=_this$props.to,onClick=_this$props.onClick,eventMeta={label:eventLabel},sameTarget=target!==NEWTAB,normalClick=!(event.ctrlKey||event.shiftKey||event.metaKey||event.button===MIDDLECLICK);sameTarget&&normalClick?(event.preventDefault(),OutboundLink.trackLink(eventMeta,function(){window.location.href=to})):OutboundLink.trackLink(eventMeta,function(){}),onClick&&onClick(event)},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(OutboundLink,_Component),_createClass(OutboundLink,[{key:"render",value:function(){var props=_extends({},this.props,{href:this.props.to,onClick:this.handleClick});return delete props.eventLabel,_react2.default.createElement("a",props)}}]),OutboundLink}(_react.Component);OutboundLink.propTypes={eventLabel:_propTypes2.default.string.isRequired,target:_propTypes2.default.string,to:_propTypes2.default.string,onClick:_propTypes2.default.func},OutboundLink.defaultProps={target:null,to:null,onClick:null},OutboundLink.trackLink=function(){(0,_warn2.default)("ga tracking not enabled")},exports.default=OutboundLink},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_11__},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE_12__}])})},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_ContextMenuTrigger=(_interopRequireDefault(_Icon),__webpack_require__(25)),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),Header=function(_React$Component){function Header(props){_classCallCheck(this,Header);var _this=_possibleConstructorReturn(this,(Header.__proto__||Object.getPrototypeOf(Header)).call(this,props));return _this.state={expanded:!1},_this}return _inherits(Header,_React$Component),_createClass(Header,[{key:"handleContextMenuTrigger",value:function(e,options){if(this.props.handleContextMenuTrigger)return this.props.handleContextMenuTrigger(e);e.preventDefault();var data={e:e,context:"custom",title:this.props.title,options:options};this.props.uiActions.showContextMenu(data)}},{key:"renderContextMenuTrigger",value:function(){var _this2=this;return this.props.handleContextMenuTrigger||this.props.options?_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenuTrigger(e,_this2.props.options)}}):null}},{key:"renderOptions",value:function(){return this.props.options||this.props.handleContextMenuTrigger?_react2.default.createElement("div",{className:"options"},this.renderContextMenuTrigger(),_react2.default.createElement("span",{className:"items"},_react2.default.createElement("span",{className:"liner"},this.props.options?this.props.options:null))):null}},{key:"render",value:function(){return _react2.default.createElement("header",{className:this.props.className?this.props.className:null},_react2.default.createElement("h1",null,this.props.children?this.props.children:null),this.renderOptions())}}]),Header}(_react2.default.Component);exports.default=Header},function(module,exports){module.exports=function(){throw new Error("define cannot be used indirect")}},function(module,exports,__webpack_require__){module.exports=__webpack_require__(158)()},function(module,exports,__webpack_require__){"use strict";var invariant=function(condition,format,a,b,c,d,e,f){if(!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}};module.exports=invariant},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;/*!
|
||
* jQuery JavaScript Library v3.3.1
|
||
* https://jquery.com/
|
||
*
|
||
* Includes Sizzle.js
|
||
* https://sizzlejs.com/
|
||
*
|
||
* Copyright JS Foundation and other contributors
|
||
* Released under the MIT license
|
||
* https://jquery.org/license
|
||
*
|
||
* Date: 2018-01-20T17:24Z
|
||
*/
|
||
!function(global,factory){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){"use strict";function DOMEval(code,doc,node){doc=doc||document;var i,script=doc.createElement("script");if(script.text=code,node)for(i in preservedScriptAttributes)node[i]&&(script[i]=node[i]);doc.head.appendChild(script).parentNode.removeChild(script)}function toType(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj}function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=toType(obj);return!isFunction(obj)&&!isWindow(obj)&&("array"===type||0===length||"number"==typeof length&&length>0&&length-1 in obj)}function nodeName(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()}function winnow(elements,qualifier,not){return isFunction(qualifier)?jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not}):qualifier.nodeType?jQuery.grep(elements,function(elem){return elem===qualifier!==not}):"string"!=typeof qualifier?jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not}):jQuery.filter(qualifier,elements,not)}function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}function createOptions(options){var object={};return jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=!0}),object}function Identity(v){return v}function Thrower(ex){throw ex}function adoptValue(value,resolve,reject,noValue){var method;try{value&&isFunction(method=value.promise)?method.call(value).done(resolve).fail(reject):value&&isFunction(method=value.then)?method.call(value,resolve,reject):resolve.apply(void 0,[value].slice(noValue))}catch(value){reject.apply(void 0,[value])}}function completed(){document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed),jQuery.ready()}function fcamelCase(all,letter){return letter.toUpperCase()}function camelCase(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)}function Data(){this.expando=jQuery.expando+Data.uid++}function getData(data){return"true"===data||"false"!==data&&("null"===data?null:data===+data+""?+data:rbrace.test(data)?JSON.parse(data):data)}function dataAttr(elem,key,data){var name;if(void 0===data&&1===elem.nodeType)if(name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(),"string"==typeof(data=elem.getAttribute(name))){try{data=getData(data)}catch(e){}dataUser.set(elem,key,data)}else data=void 0;return data}function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){for(initial/=2,unit=unit||initialInUnit[3],initialInUnit=+initial||1;maxIterations--;)jQuery.style(elem,prop,initialInUnit+unit),(1-scale)*(1-(scale=currentValue()/initial||.5))<=0&&(maxIterations=0),initialInUnit/=scale;initialInUnit*=2,jQuery.style(elem,prop,initialInUnit+unit),valueParts=valueParts||[]}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];return display||(temp=doc.body.appendChild(doc.createElement(nodeName)),display=jQuery.css(temp,"display"),temp.parentNode.removeChild(temp),"none"===display&&(display="block"),defaultDisplayMap[nodeName]=display,display)}function showHide(elements,show){for(var display,elem,values=[],index=0,length=elements.length;index<length;index++)elem=elements[index],elem.style&&(display=elem.style.display,show?("none"===display&&(values[index]=dataPriv.get(elem,"display")||null,values[index]||(elem.style.display="")),""===elem.style.display&&isHiddenWithinTree(elem)&&(values[index]=getDefaultDisplay(elem))):"none"!==display&&(values[index]="none",dataPriv.set(elem,"display",display)));for(index=0;index<length;index++)null!=values[index]&&(elements[index].style.display=values[index]);return elements}function getAll(context,tag){var ret;return ret=void 0!==context.getElementsByTagName?context.getElementsByTagName(tag||"*"):void 0!==context.querySelectorAll?context.querySelectorAll(tag||"*"):[],void 0===tag||tag&&nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;i<l;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;i<l;i++)if((elem=elems[i])||0===elem)if("object"===toType(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||fragment.appendChild(context.createElement("div")),tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),tmp=fragment.firstChild,tmp.textContent=""}else nodes.push(context.createTextNode(elem));for(fragment.textContent="",i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return fragment}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){"string"!=typeof selector&&(data=data||selector,selector=void 0);for(type in types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),!1===fn)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)},fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function manipulationTarget(elem,content){return nodeName(elem,"table")&&nodeName(11!==content.nodeType?content:content.firstChild,"tr")?jQuery(elem).children("tbody")[0]||elem:elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){return"true/"===(elem.type||"").slice(0,5)?elem.type=elem.type.slice(5):elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events)){delete pdataCur.handle,pdataCur.events={};for(type in events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i])}dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();"input"===nodeName&&rcheckableType.test(src.type)?dest.checked=src.checked:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue)}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],valueIsFunction=isFunction(value);if(valueIsFunction||l>1&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);valueIsFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored),first=fragment.firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(scripts=jQuery.map(getAll(fragment,"script"),disableScript),hasScripts=scripts.length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src&&"module"!==(node.type||"").toLowerCase()?jQuery._evalUrl&&jQuery._evalUrl(node.src):DOMEval(node.textContent.replace(rcleanScript,""),doc,node))}return collection}function remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(keepData&&jQuery.contains(node.ownerDocument,node)&&setGlobalEval(getAll(node,"script")),node.parentNode.removeChild(node));return elem}function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return computed=computed||getStyles(elem),computed&&(ret=computed.getPropertyValue(name)||computed[name],""!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth)),void 0!==ret?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){return conditionFn()?void delete this.get:(this.get=hookFn).apply(this,arguments)}}}function vendorPropName(name){if(name in emptyStyle)return name;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if((name=cssPrefixes[i]+capName)in emptyStyle)return name}function finalPropName(name){var ret=jQuery.cssProps[name];return ret||(ret=jQuery.cssProps[name]=vendorPropName(name)||name),ret}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){var i="width"===dimension?1:0,extra=0,delta=0;if(box===(isBorderBox?"border":"content"))return 0;for(;i<4;i+=2)"margin"===box&&(delta+=jQuery.css(elem,box+cssExpand[i],!0,styles)),isBorderBox?("content"===box&&(delta-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==box&&(delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(delta+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==box?delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles):extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles));return!isBorderBox&&computedVal>=0&&(delta+=Math.max(0,Math.ceil(elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-computedVal-delta-extra-.5))),delta}function getWidthOrHeight(elem,dimension,extra){var styles=getStyles(elem),val=curCSS(elem,dimension,styles),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles),valueIsBorderBox=isBorderBox;if(rnumnonpx.test(val)){if(!extra)return val;val="auto"}return valueIsBorderBox=valueIsBorderBox&&(support.boxSizingReliable()||val===elem.style[dimension]),("auto"===val||!parseFloat(val)&&"inline"===jQuery.css(elem,"display",!1,styles))&&(val=elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)],valueIsBorderBox=!0),(val=parseFloat(val)||0)+boxModelAdjustment(elem,dimension,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles,val)+"px"}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function schedule(){inProgress&&(!1===document.hidden&&window.requestAnimationFrame?window.requestAnimationFrame(schedule):window.setTimeout(schedule,jQuery.fx.interval),jQuery.fx.tick())}function createFxNow(){return window.setTimeout(function(){fxNow=void 0}),fxNow=Date.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)which=cssExpand[i],attrs["margin"+which]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;index<length;index++)if(tween=collection[index].call(animation,prop,value))return tween}function defaultPrefilter(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");opts.queue||(hooks=jQuery._queueHooks(elem,"fx"),null==hooks.unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})}));for(prop in props)if(value=props[prop],rfxtypes.test(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}if((propTween=!jQuery.isEmptyObject(props))||!jQuery.isEmptyObject(orig)){isBox&&1===elem.nodeType&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],restoreDisplay=dataShow&&dataShow.display,null==restoreDisplay&&(restoreDisplay=dataPriv.get(elem,"display")),display=jQuery.css(elem,"display"),"none"===display&&(restoreDisplay?display=restoreDisplay:(showHide([elem],!0),restoreDisplay=elem.style.display||restoreDisplay,display=jQuery.css(elem,"display"),showHide([elem]))),("inline"===display||"inline-block"===display&&null!=restoreDisplay)&&"none"===jQuery.css(elem,"float")&&(propTween||(anim.done(function(){style.display=restoreDisplay}),null==restoreDisplay&&(display=style.display,restoreDisplay="none"===display?"":display)),style.display="inline-block")),opts.overflow&&(style.overflow="hidden",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]})),propTween=!1;for(prop in orig)propTween||(dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay}),toggle&&(dataShow.hidden=!hidden),hidden&&showHide([elem],!0),anim.done(function(){hidden||showHide([elem]),dataPriv.remove(elem,"fxshow");for(prop in orig)jQuery.style(elem,prop,orig[prop])})),propTween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=propTween.start,hidden&&(propTween.end=propTween.start,propTween.start=0))}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props)if(name=camelCase(index),easing=specialEasing[name],value=props[index],Array.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),(hooks=jQuery.cssHooks[name])&&"expand"in hooks){value=hooks.expand(value),delete props[name];for(index in value)index in props||(props[index]=value[index],specialEasing[index]=easing)}else specialEasing[name]=easing}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(length||deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);index<length;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=result.stop.bind(result)),result;return jQuery.map(props,createTween,animation),isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation}function stripAndCollapse(value){return(value.match(rnothtmlwhite)||[]).join(" ")}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""}function classesToArray(value){return Array.isArray(value)?value:"string"==typeof value?value.match(rnothtmlwhite)||[]:[]}function buildParams(prefix,obj,traditional,add){var name;if(Array.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==toType(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(!(conv=converters[prev+" "+current]||converters["* "+current]))for(conv2 in converters)if(tmp=conv2.split(" "),tmp[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){!0===conv?conv=converters[conv2]:!0!==converters[conv2]&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(!0!==conv)if(conv&&s.throws)response=conv(response);else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}return{state:"success",data:response}}var arr=[],document=window.document,getProto=Object.getPrototypeOf,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,fnToString=hasOwn.toString,ObjectFunctionString=fnToString.call(Object),support={},isFunction=function(obj){return"function"==typeof obj&&"number"!=typeof obj.nodeType},isWindow=function(obj){return null!=obj&&obj===obj.window},preservedScriptAttributes={type:!0,src:!0,noModule:!0},jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;jQuery.fn=jQuery.prototype={jquery:"3.3.1",constructor:jQuery,length:0,toArray:function(){return slice.call(this)},get:function(num){return null==num?slice.call(this):num<0?this[num+this.length]:this[num]},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice},jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||isFunction(target)||(target={}),i===length&&(target=this,i--);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&(deep&©&&(jQuery.isPlainObject(copy)||(copyIsArray=Array.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&Array.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isPlainObject:function(obj){var proto,Ctor;return!(!obj||"[object Object]"!==toString.call(obj))&&(!(proto=getProto(obj))||"function"==typeof(Ctor=hasOwn.call(proto,"constructor")&&proto.constructor)&&fnToString.call(Ctor)===ObjectFunctionString)},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},globalEval:function(code){DOMEval(code)},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;i<length&&!1!==callback.call(obj[i],i,obj[i]);i++);else for(i in obj)if(!1===callback.call(obj[i],i,obj[i]))break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;j<len;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var matches=[],i=0,length=elems.length,callbackExpect=!invert;i<length;i++)!callback(elems[i],i)!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;i<length;i++)null!=(value=callback(elems[i],i,arg))&&ret.push(value);else for(i in elems)null!=(value=callback(elems[i],i,arg))&&ret.push(value);return concat.apply([],ret)},guid:1,support:support}),"function"==typeof Symbol&&(jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]),jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});var Sizzle=/*!
|
||
* Sizzle CSS Selector Engine v2.3.3
|
||
* https://sizzlejs.com/
|
||
*
|
||
* Copyright jQuery Foundation and other contributors
|
||
* Released under the MIT license
|
||
* http://jquery.org/license
|
||
*
|
||
* Date: 2016-08-08
|
||
*/
|
||
function(window){function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rcssescape,fcssescape):context.setAttribute("id",nid=expando),groups=tokenize(selector),i=groups.length;i--;)groups[i]="#"+nid+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}var keys=[];return cache}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return!1}finally{el.parentNode&&el.parentNode.removeChild(el),el=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createDisabledPseudo(disabled){return function(elem){return"form"in elem?elem.parentNode&&!1===elem.disabled?"label"in elem?"label"in elem.parentNode?elem.parentNode.disabled===disabled:elem.disabled===disabled:elem.isDisabled===disabled||elem.isDisabled!==!disabled&&disabledAncestor(elem)===disabled:elem.disabled===disabled:"label"in elem&&elem.disabled===disabled}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&void 0!==context.getElementsByTagName&&context}function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&"parentNode"===key,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml);return!1}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)if(outerCache=elem[expando]||(elem[expando]={}),uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={}),skip&&skip===elem.nodeName.toLowerCase())elem=elem[dir]||elem;else{if((oldCache=uniqueCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[key]=newCache,newCache[2]=matcher(elem,context,xml))return!0}return!1}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if(matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches),matcher[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:" "===tokens[i-2].type?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",outermost),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){return a===b&&(hasDuplicate=!0),0},hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;i<len;i++)if(list[i]===elem)return i;return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|.*)\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){return asCodePoint?"\0"===ch?"<22>":ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ":"\\"+ch},unloadHandler=function(){setDocument()},disabledAncestor=addCombinator(function(elem){return!0===elem.disabled&&("form"in elem||"label"in elem)},{dir:"parentNode",next:"legend"});try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(document=doc,docElem=document.documentElement,documentIsHTML=!isXML(document),preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow&&(subWindow.addEventListener?subWindow.addEventListener("unload",unloadHandler,!1):subWindow.attachEvent&&subWindow.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(el){return el.className="i",!el.getAttribute("className")}),support.getElementsByTagName=assert(function(el){return el.appendChild(document.createComment("")),!el.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(el){return docElem.appendChild(el).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}):(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=void 0!==elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}},Expr.find.ID=function(id,context){if(void 0!==context.getElementById&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem];for(elems=context.getElementsByName(id),i=0;elem=elems[i++];)if((node=elem.getAttributeNode("id"))&&node.value===id)return[elem]}return[]}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return void 0!==context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if(void 0!==context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(el){docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>",el.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),el.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),el.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),el.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),el.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(el){el.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var input=document.createElement("input");input.setAttribute("type","hidden"),el.appendChild(input).setAttribute("name","D"),el.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),2!==el.querySelectorAll(":enabled").length&&rbuggyQSA.push(":enabled",":disabled"),docElem.appendChild(el).disabled=!0,2!==el.querySelectorAll(":disabled").length&&rbuggyQSA.push(":enabled",":disabled"),el.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(el){support.disconnectedMatch=matches.call(el,"*"),matches.call(el,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&compare||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,"='$1']"),support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.escape=function(sel){return(sel+"").replace(rcssescape,fcssescape)},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||void 0!==elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&result.indexOf(check)>-1:"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:"|="===operator&&(result===check||result.slice(0,check.length+1)===check+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(node=parent,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(node=elem,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex),!1===diff)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&(outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),uniqueCache[type]=[dirruns,diff]),node!==elem)););return(diff-=last)===first||diff%first==0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)idx=indexOf(seed,matched[i]),seed[idx]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return(elemLang=elemLang.toLowerCase())===lang||0===elemLang.indexOf(lang+"-")}while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:createDisabledPseudo(!1),disabled:createDisabledPseudo(!0),checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,!0===elem.selected},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}},Expr.pseudos.nth=Expr.pseudos.eq;for(i in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=function(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=function(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}(i);return setFilters.prototype=Expr.filters=Expr.pseudos,Expr.setFilters=new setFilters,tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length));for(type in Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)cached=matcherFromTokens(match[i]),cached[expando]?setMatchers.push(cached):elementMatchers.push(cached);cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers)),cached.selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if(tokens=match[0]=match[0].slice(0),tokens.length>2&&"ID"===(token=tokens[0]).type&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(!(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0]))return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),!(selector=seed.length&&toSelector(tokens)))return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(el){return 1&el.compareDocumentPosition(document.createElement("fieldset"))}),assert(function(el){return el.innerHTML="<a href='#'></a>","#"===el.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(el){return el.innerHTML="<input/>",el.firstChild.setAttribute("value",""),""===el.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){if(!isXML&&"input"===elem.nodeName.toLowerCase())return elem.defaultValue}),assert(function(el){return null==el.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return!0===elem[name]?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[":"]=jQuery.expr.pseudos,jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains,jQuery.escapeSelector=Sizzle.escape;var dir=function(elem,dir,until){for(var matched=[],truncate=void 0!==until;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,ret,len=this.length,self=this;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(ret=this.pushStack([]),i=0;i<len;i++)jQuery.find(selector,self[i],ret);return len>1?jQuery.uniqueSort(ret):ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"==typeof selector){if(!(match="<"===selector[0]&&">"===selector[selector.length-1]&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return elem=document.getElementById(match[2]),elem&&(this[0]=elem,this.length=1),this}return selector.nodeType?(this[0]=selector,this.length=1,this):isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):jQuery.makeArray(selector,this)}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i<l;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],targets="string"!=typeof selectors&&jQuery(selectors);if(!rneedsContext.test(selectors))for(;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(targets?targets.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){return nodeName(elem,"iframe")?elem.contentDocument:(nodeName(elem,"template")&&(elem=elem.content||elem),jQuery.merge([],elem.childNodes))}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(matched=jQuery.filter(selector,matched)),this.length>1&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var rnothtmlwhite=/[^\x20\t\r\n\f]+/g;jQuery.Callbacks=function(options){options="string"==typeof options?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=locked||options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)!1===list[firingIndex].apply(memory[0],memory[1])&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==toType(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),index<=firingIndex&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=queue=[],memory||firing||(list=memory=""),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=args||[],args=[context,args.slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this},catch:function(fn){return promise.then(null,fn)},pipe:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this,fn?[returned]:arguments)})}),fns=null}).promise()},then:function(onFulfilled,onRejected,onProgress){function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function(){var returned,then;if(!(depth<maxDepth)){if((returned=handler.apply(that,args))===deferred.promise())throw new TypeError("Thenable self-resolution");then=returned&&("object"==typeof returned||"function"==typeof returned)&&returned.then,isFunction(then)?special?then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special)):(maxDepth++,then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith))):(handler!==Identity&&(that=void 0,args=[returned]),(special||deferred.resolveWith)(that,args))}},process=special?mightThrow:function(){try{mightThrow()}catch(e){jQuery.Deferred.exceptionHook&&jQuery.Deferred.exceptionHook(e,process.stackTrace),depth+1>=maxDepth&&(handler!==Thrower&&(that=void 0,args=[e]),deferred.rejectWith(that,args))}};depth?process():(jQuery.Deferred.getStackHook&&(process.stackTrace=jQuery.Deferred.getStackHook()),window.setTimeout(process))}}var maxDepth=0;return jQuery.Deferred(function(newDefer){tuples[0][3].add(resolve(0,newDefer,isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith)),tuples[1][3].add(resolve(0,newDefer,isFunction(onFulfilled)?onFulfilled:Identity)),tuples[2][3].add(resolve(0,newDefer,isFunction(onRejected)?onRejected:Thrower))}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[3-i][2].disable,tuples[3-i][3].disable,tuples[0][2].lock,tuples[0][3].lock),list.add(tuple[3].fire),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?void 0:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(singleValue){var remaining=arguments.length,i=remaining,resolveContexts=Array(i),resolveValues=slice.call(arguments),master=jQuery.Deferred(),updateFunc=function(i){return function(value){resolveContexts[i]=this,resolveValues[i]=arguments.length>1?slice.call(arguments):value,--remaining||master.resolveWith(resolveContexts,resolveValues)}};if(remaining<=1&&(adoptValue(singleValue,master.done(updateFunc(i)).resolve,master.reject,!remaining),"pending"===master.state()||isFunction(resolveValues[i]&&resolveValues[i].then)))return master.then();for(;i--;)adoptValue(resolveValues[i],updateFunc(i),master.reject);return master.promise()}});var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,stack){window.console&&window.console.warn&&error&&rerrorNames.test(error.name)&&window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack)},jQuery.readyException=function(error){window.setTimeout(function(){throw error})};var readyList=jQuery.Deferred();jQuery.fn.ready=function(fn){return readyList.then(fn).catch(function(error){jQuery.readyException(error)}),this},jQuery.extend({isReady:!1,readyWait:1,ready:function(wait){(!0===wait?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,!0!==wait&&--jQuery.readyWait>0||readyList.resolveWith(document,[jQuery]))}}),jQuery.ready.then=readyList.then,"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed));var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if("object"===toType(key)){chainable=!0;for(i in key)access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(void 0!==value&&(chainable=!0,isFunction(value)||(raw=!0),bulk&&(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;i<len;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet},rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g,acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};Data.uid=1,Data.prototype={cache:function(owner){var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if("string"==typeof data)cache[camelCase(data)]=value;else for(prop in data)cache[camelCase(prop)]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][camelCase(key)]},access:function(owner,key,value){return void 0===key||key&&"string"==typeof key&&void 0===value?this.get(owner,key):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,cache=owner[this.expando];if(void 0!==cache){if(void 0!==key){Array.isArray(key)?key=key.map(camelCase):(key=camelCase(key),key=key in cache?[key]:key.match(rnothtmlwhite)||[]),i=key.length;for(;i--;)delete cache[key[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data,dataUser=new Data,rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,data){return dataUser.access(elem,name,data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}}),jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(void 0===key){if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,"hasDataAttrs"))){for(i=attrs.length;i--;)attrs[i]&&(name=attrs[i].name,0===name.indexOf("data-")&&(name=camelCase(name.slice(5)),dataAttr(elem,name,data[name])));dataPriv.set(elem,"hasDataAttrs",!0)}return data}return"object"==typeof key?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data;if(elem&&void 0===value){if(void 0!==(data=dataUser.get(elem,key)))return data;if(void 0!==(data=dataAttr(elem,key)))return data}else this.each(function(){dataUser.set(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=dataPriv.get(elem,type),data&&(!queue||Array.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key])})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=void 0),type=type||"fx";i--;)(tmp=dataPriv.get(elements[i],type+"queueHooks"))&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHiddenWithinTree=function(elem,el){return elem=el||elem,"none"===elem.style.display||""===elem.style.display&&jQuery.contains(elem.ownerDocument,elem)&&"none"===jQuery.css(elem,"display")},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret},defaultDisplayMap={};jQuery.fn.extend({show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHiddenWithinTree(this)?jQuery(this).show():jQuery(this).hide()})}});var rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,rscriptType=/^$|^module$|\/(?:java|ecma)script/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var rhtml=/<|&#?\w+;/;!function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue}();var documentElement=document.documentElement,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(elemData)for(handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler,selector=handleObjIn.selector),selector&&jQuery.find.matchesSelector(documentElement,selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return void 0!==jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),types=(types||"").match(rnothtmlwhite)||[""],t=types.length;t--;)tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||(handlers=events[type]=[],handlers.delegateCount=0,special.setup&&!1!==special.setup.call(elem,data,namespaces,eventHandle)||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(elemData&&(events=elemData.events)){for(types=(types||"").match(rnothtmlwhite)||[""],t=types.length;t--;)if(tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,handlers=events[type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&!1!==special.teardown.call(elem,namespaces,elemData.handle)||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,"handle events")}},dispatch:function(nativeEvent){var i,j,ret,matched,handleObj,handlerQueue,event=jQuery.event.fix(nativeEvent),args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};for(args[0]=event,i=1;i<arguments.length;i++)args[i]=arguments[i];if(event.delegateTarget=this,!special.preDispatch||!1!==special.preDispatch.call(this,event)){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,void 0!==(ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args))&&!1===(event.result=ret)&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&!("click"===event.type&&event.button>=1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&("click"!==event.type||!0!==cur.disabled)){for(matchedHandlers=[],matchedSelectors={},i=0;i<delegateCount;i++)handleObj=handlers[i],sel=handleObj.selector+" ",void 0===matchedSelectors[sel]&&(matchedSelectors[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matchedSelectors[sel]&&matchedHandlers.push(handleObj);matchedHandlers.length&&handlerQueue.push({elem:cur,handlers:matchedHandlers})}return cur=this,delegateCount<handlers.length&&handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)}),handlerQueue},addProp:function(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:!0,configurable:!0,get:isFunction(hook)?function(){if(this.originalEvent)return hook(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[name]},set:function(value){Object.defineProperty(this,name,{enumerable:!0,configurable:!0,writable:!0,value:value})}})},fix:function(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&nodeName(this,"input"))return this.click(),!1},_default:function(event){return nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event))return new jQuery.Event(src,props);src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&!1===src.returnValue?returnTrue:returnFalse,this.target=src.target&&3===src.target.nodeType?src.target.parentNode:src.target,this.currentTarget=src.currentTarget,this.relatedTarget=src.relatedTarget):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||Date.now(),this[jQuery.expando]=!0},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(event){var button=event.button;return null==event.which&&rkeyEvent.test(event.type)?null!=event.charCode?event.charCode:event.keyCode:!event.which&&void 0!==button&&rmouseEvent.test(event.type)?1&button?1:2&button?3:4&button?2:0:event.which}},jQuery.event.addProp),jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===target||jQuery.contains(target,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return!1!==selector&&"function"!=typeof selector||(fn=selector,selector=void 0),!1===fn&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0,l=srcElements.length;i<l;i++)fixInput(srcElements[i],destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;i<l;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return destElements=getAll(clone,"script"),destElements.length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){manipulationTarget(this,elem).appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent="");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(void 0===value&&1===elem.nodeType)return elem.innerHTML;if("string"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++)elem=this[i]||{},1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),parent&&parent.replaceChild(elem,this))},ignored)}}),jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;i<=last;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)},rboxStyle=new RegExp(cssExpand.join("|"),"i");!function(){function computeStyleTests(){if(div){container.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",div.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",documentElement.appendChild(container).appendChild(div);var divStyle=window.getComputedStyle(div);pixelPositionVal="1%"!==divStyle.top,reliableMarginLeftVal=12===roundPixelMeasures(divStyle.marginLeft),div.style.right="60%",pixelBoxStylesVal=36===roundPixelMeasures(divStyle.right),boxSizingReliableVal=36===roundPixelMeasures(divStyle.width),div.style.position="absolute",scrollboxSizeVal=36===div.offsetWidth||"absolute",documentElement.removeChild(container),div=null}}function roundPixelMeasures(measure){return Math.round(parseFloat(measure))}var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");div.style&&(div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,jQuery.extend(support,{boxSizingReliable:function(){return computeStyleTests(),boxSizingReliableVal},pixelBoxStyles:function(){return computeStyleTests(),pixelBoxStylesVal},pixelPosition:function(){return computeStyleTests(),pixelPositionVal},reliableMarginLeft:function(){return computeStyleTests(),reliableMarginLeftVal},scrollboxSize:function(){return computeStyleTests(),scrollboxSizeVal}}))}();var rdisplayswap=/^(none|table(?!-c[ea]).+)/,rcustomProp=/^--/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style;jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=camelCase(name),isCustomProp=rcustomProp.test(name),style=elem.style;if(isCustomProp||(name=finalPropName(origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value)return hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name];type=typeof value,"string"===type&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value===value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(isCustomProp?style.setProperty(name,value):style[name]=value))}},css:function(elem,name,extra,styles){var val,num,hooks,origName=camelCase(name);return rcustomProp.test(name)||(name=finalPropName(origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],hooks&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),!0===extra||isFinite(num)?num||0:val):val}}),jQuery.each(["height","width"],function(i,dimension){jQuery.cssHooks[dimension]={get:function(elem,computed,extra){if(computed)return!rdisplayswap.test(jQuery.css(elem,"display"))||elem.getClientRects().length&&elem.getBoundingClientRect().width?getWidthOrHeight(elem,dimension,extra):swap(elem,cssShow,function(){return getWidthOrHeight(elem,dimension,extra)})},set:function(elem,value,extra){var matches,styles=getStyles(elem),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles),subtract=extra&&boxModelAdjustment(elem,dimension,extra,isBorderBox,styles);return isBorderBox&&support.scrollboxSize()===styles.position&&(subtract-=Math.ceil(elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-parseFloat(styles[dimension])-boxModelAdjustment(elem,dimension,"border",!1,styles)-.5)),subtract&&(matches=rcssNum.exec(value))&&"px"!==(matches[3]||"px")&&(elem.style[dimension]=value,value=jQuery.css(elem,dimension)),setPositiveNumber(elem,value,subtract)}}}),jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed)return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+"px"}),jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},"margin"!==prefix&&(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)}),jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(Array.isArray(name)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||jQuery.easing._default,this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""),result&&"auto"!==result?result:0)},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,inProgress,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){isFunction(props)?(callback=props,props=["*"]):props=props.match(rnothtmlwhite);for(var prop,index=0,length=props.length;index<length;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!isFunction(easing)&&easing};return jQuery.fx.off?opt.duration=0:"number"!=typeof opt.duration&&(opt.duration in jQuery.fx.speeds?opt.duration=jQuery.fx.speeds[opt.duration]:opt.duration=jQuery.fx.speeds._default),null!=opt.queue&&!0!==opt.queue||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHiddenWithinTree).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);(empty||dataPriv.get(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||!1===optall.queue?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&!1!==type&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return!1!==type&&(type=type||"fx"),this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.timers=[],jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;for(fxNow=Date.now();i<timers.length;i++)(timer=timers[i])()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),jQuery.fx.start()},jQuery.fx.interval=13,jQuery.fx.start=function(){inProgress||(inProgress=!0,schedule())},jQuery.fx.stop=function(){inProgress=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx?jQuery.fx.speeds[time]||time:time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox",support.checkOn=""!==input.value,support.optSelected=opt.selected,input=document.createElement("input"),input.value="t",input.type="radio",support.radioValue="t"===input.value}();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}}),jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return void 0===elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:(ret=jQuery.find.attr(elem,name),null==ret?void 0:ret))},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,i=0,attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return!1===value?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),name}},jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle,lowercaseName=name.toLowerCase();return isXML||(handle=attrHandle[lowercaseName],attrHandle[lowercaseName]=ret,ret=null!=getter(elem,name,isXML)?lowercaseName:null,attrHandle[lowercaseName]=handle),ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}}),jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}}),jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this}),jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if(classes=classesToArray(value),classes.length)for(;elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");finalValue=stripAndCollapse(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if(classes=classesToArray(value),classes.length)for(;elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>-1;)cur=cur.replace(" "+clazz+" "," ");finalValue=stripAndCollapse(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value,isValidValue="string"===type||Array.isArray(value);return"boolean"==typeof stateVal&&isValidValue?stateVal?this.addClass(value):this.removeClass(value):isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if(isValidValue)for(i=0,self=jQuery(this),classNames=classesToArray(value);className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else void 0!==value&&"boolean"!==type||(className=getClass(this),className&&dataPriv.set(this,"__className__",className),this.setAttribute&&this.setAttribute("class",className||!1===value?"":dataPriv.get(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1)return!0;return!1}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,valueIsFunction,elem=this[0];{if(arguments.length)return valueIsFunction=isFunction(value),this.each(function(i){var val;1===this.nodeType&&(val=valueIsFunction?value.call(this,i,jQuery(this).val()):value,null==val?val="":"number"==typeof val?val+="":Array.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),(hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()])&&"set"in hooks&&void 0!==hooks.set(this,val,"value")||(this.value=val))});if(elem)return(hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()])&&"get"in hooks&&void 0!==(ret=hooks.get(elem,"value"))?ret:(ret=elem.value,"string"==typeof ret?ret.replace(rreturn,""):null==ret?"":ret)}}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:stripAndCollapse(jQuery.text(elem))}},select:{get:function(elem){var value,option,i,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type,values=one?null:[],max=one?index+1:options.length;for(i=index<0?max:one?index:0;i<max;i++)if(option=options[i],(option.selected||i===index)&&!option.disabled&&(!option.parentNode.disabled||!nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)option=options[i],(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),values}}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(Array.isArray(value))return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"on":elem.value})}),support.focusin="onfocusin"in window;var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,stopPropagationCallback=function(e){e.stopPropagation()};jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=lastElement=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>-1&&(namespaces=type.split("."),type=namespaces.shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event),event.isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||!1!==special.trigger.apply(elem,data))){if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)lastElement=cur,event.type=i>1?bubbleType:special.bindType||type,handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle"),handle&&handle.apply(cur,data),(handle=ontype&&cur[ontype])&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),!1===event.result&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&!1!==special._default.apply(eventPath.pop(),data)||!acceptData(elem)||ontype&&isFunction(elem[type])&&!isWindow(elem)&&(tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type,event.isPropagationStopped()&&lastElement.addEventListener(type,stopPropagationCallback),elem[type](),event.isPropagationStopped()&&lastElement.removeEventListener(type,stopPropagationCallback),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem)}}),jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem)return jQuery.event.trigger(type,data,elem,!0)}}),support.focusin||jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=Date.now(),rquery=/\?/;jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=void 0}return xml&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,valueOrFunction){var value=isFunction(valueOrFunction)?valueOrFunction():valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(null==value?"":value)};if(Array.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:Array.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;completed||(completed=!0,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&status<300||304===status,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),response=ajaxConvert(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&(modified=jqXHR.getResponseHeader("Last-Modified"),modified&&(jQuery.lastModified[cacheURL]=modified),(modified=jqXHR.getResponseHeader("etag"))&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,error=response.error,isSuccess=!error)):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--jQuery.active||jQuery.event.trigger("ajaxStop")))}"object"==typeof url&&(options=url,url=void 0),options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,completed,fireGlobals,i,uncached,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(completed){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return completed?responseHeadersString:null},setRequestHeader:function(name,value){return null==completed&&(name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return null==completed&&(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(completed)jqXHR.always(map[jqXHR.status]);else for(code in map)statusCode[code]=[statusCode[code],map[code]];return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR),s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""],null==s.crossDomain){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url,urlAnchor.href=urlAnchor.href,s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!=urlAnchor.protocol+"//"+urlAnchor.host}catch(e){s.crossDomain=!0}}if(s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),completed)return jqXHR;fireGlobals=jQuery.event&&s.global,fireGlobals&&0==jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url.replace(rhash,""),s.hasContent?s.data&&s.processData&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&(s.data=s.data.replace(r20,"+")):(uncached=s.url.slice(cacheURL.length),s.data&&(s.processData||"string"==typeof s.data)&&(cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),!1===s.cache&&(cacheURL=cacheURL.replace(rantiCache,"$1"),uncached=(rquery.test(cacheURL)?"&":"?")+"_="+nonce+++uncached),s.url=cacheURL+uncached),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&!1!==s.contentType||options.contentType)&&jqXHR.setRequestHeader("Content-Type",s.contentType),jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+("*"!==s.dataTypes[0]?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(!1===s.beforeSend.call(callbackContext,jqXHR,s)||completed))return jqXHR.abort();if(strAbort="abort",completeDeferred.add(s.complete),jqXHR.done(s.success),jqXHR.fail(s.error),transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),completed)return jqXHR;s.async&&s.timeout>0&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{completed=!1,transport.send(requestHeaders,done)}catch(e){if(completed)throw e;done(-1,e)}}else done(-1,"No Transport");return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,void 0,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return isFunction(data)&&(type=type||callback,callback=data,data=void 0),jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}}),jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return this[0]&&(isFunction(html)&&(html=html.call(this[0])),wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this},wrapInner:function(html){return isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var htmlIsFunction=isFunction(html);return this.each(function(i){jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html)})},unwrap:function(selector){return this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes)}),this}}),jQuery.expr.pseudos.hidden=function(elem){return!jQuery.expr.pseudos.visible(elem)},jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length)},jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&"withCredentials"in xhrSupported,support.ajax=xhrSupported=!!xhrSupported,jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain)return{send:function(headers,complete){var i,xhr=options.xhr();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest");for(i in headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){callback&&(callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.ontimeout=xhr.onreadystatechange=null,"abort"===type?xhr.abort():"error"===type?"number"!=typeof xhr.status?complete(0,"error"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,"text"!==(xhr.responseType||"text")||"string"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=callback(),errorCallback=xhr.onerror=xhr.ontimeout=callback("error"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){callback&&errorCallback()})},callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){callback&&callback()}}}),jQuery.ajaxPrefilter(function(s){s.crossDomain&&(s.contents.script=!1)}),jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type="GET")}),jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove(),callback=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){callback&&callback()}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),support.createHTMLDocument=function(){var body=document.implementation.createHTMLDocument("").body;return body.innerHTML="<form></form><form></form>",2===body.childNodes.length}(),jQuery.parseHTML=function(data,context,keepScripts){if("string"!=typeof data)return[];"boolean"==typeof context&&(keepScripts=context,context=!1);var base,parsed,scripts;return context||(support.createHTMLDocument?(context=document.implementation.createHTMLDocument(""),base=context.createElement("base"),base.href=document.location.href,context.head.appendChild(base)):context=document),parsed=rsingleTag.exec(data),scripts=!keepScripts&&[],parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))},jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");return off>-1&&(selector=stripAndCollapse(url.slice(off)),url=url.slice(0,off)),isFunction(params)?(callback=params,params=void 0):params&&"object"==typeof params&&(type="POST"),self.length>0&&jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=("absolute"===position||"fixed"===position)&&(curCSSTop+curCSSLeft).indexOf("auto")>-1,calculatePosition?(curPosition=curElem.position(),curTop=curPosition.top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var rect,win,elem=this[0];if(elem)return elem.getClientRects().length?(rect=elem.getBoundingClientRect(),win=elem.ownerDocument.defaultView,{top:rect.top+win.pageYOffset,left:rect.left+win.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var offsetParent,offset,doc,elem=this[0],parentOffset={top:0,left:0};if("fixed"===jQuery.css(elem,"position"))offset=elem.getBoundingClientRect();else{for(offset=this.offset(),doc=elem.ownerDocument,offsetParent=elem.offsetParent||doc.documentElement;offsetParent&&(offsetParent===doc.body||offsetParent===doc.documentElement)&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.parentNode;offsetParent&&offsetParent!==elem&&1===offsetParent.nodeType&&(parentOffset=jQuery(offsetParent).offset(),parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",!0))}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win;if(isWindow(elem)?win=elem:9===elem.nodeType&&(win=elem.defaultView),void 0===val)return win?win[prop]:elem[method];win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val},method,val,arguments.length)}}),jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return isWindow(elem)?0===funcName.indexOf("outer")?elem["inner"+name]:elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable)}})}),jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)}}),jQuery.proxy=function(fn,context){var tmp,args,proxy;if("string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),isFunction(fn))return args=slice.call(arguments,2),proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))},proxy.guid=fn.guid=fn.guid||jQuery.guid++,proxy},jQuery.holdReady=function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},jQuery.isArray=Array.isArray,jQuery.parseJSON=JSON.parse,jQuery.nodeName=nodeName,jQuery.isFunction=isFunction,jQuery.isWindow=isWindow,jQuery.camelCase=camelCase,jQuery.type=toType,jQuery.now=Date.now,jQuery.isNumeric=function(obj){var type=jQuery.type(obj);return("number"===type||"string"===type)&&!isNaN(obj-parseFloat(obj))},__WEBPACK_AMD_DEFINE_ARRAY__=[],void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return jQuery}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__);var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery})},function(module,exports,__webpack_require__){"use strict";(function($){function set(data){return{type:"LASTFM_SET",data:data}}function authorizationGranted(data){return data.session.expiry=(new Date).getTime()+3600,{type:"LASTFM_AUTHORIZATION_GRANTED",data:data}}function revokeAuthorization(){return{type:"LASTFM_AUTHORIZATION_REVOKED"}}function importAuthorization(authorization){return{type:"LASTFM_IMPORT_AUTHORIZATION",authorization:authorization}}function getMe(){return function(dispatch,getState){var params="method=user.getInfo&user="+getState().lastfm.authorization.name;sendRequest(dispatch,getState,params).then(function(response){response.user&&dispatch({type:"LASTFM_ME_LOADED",me:response.user})})}}function getTrack(uri){return function(dispatch,getState){if(void 0===getState().core.tracks[uri])return void dispatch(coreActions.handleException("Could not get LastFM track",{},"Could not find track in index"));var track=getState().core.tracks[uri];if(!track.artists)return void dispatch(coreActions.handleException("Could not get LastFM track",{},"Track has no artists"));var track_name=track.name,artist_name=encodeURIComponent(track.artists[0].name),params="method=track.getInfo&track="+track_name+"&artist="+artist_name;getState().lastfm.authorization&&(params+="&username="+getState().lastfm.authorization.name),sendRequest(dispatch,getState,params).then(function(response){if(response.track){var merged_track=Object.assign({},{uri:track.uri},response.track,track);dispatch(coreActions.trackLoaded(merged_track))}})}}function getArtist(uri,artist){var mbid=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){if(mbid)var params="method=artist.getInfo&mbid="+mbid;else{artist=artist.replace("&","and"),artist=encodeURIComponent(artist);var params="method=artist.getInfo&artist="+artist}sendRequest(dispatch,getState,params).then(function(response){if(response.artist){var artist={uri:uri,images:response.artist.image,mbid:response.artist.mbid,biography:response.artist.bio.content,biography_publish_date:response.artist.bio.published,biography_link:response.artist.bio.links.link.href,listeners:parseInt(response.artist.stats.listeners)};dispatch(coreActions.artistLoaded(artist))}})}}function getAlbum(artist,album){var mbid=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(dispatch,getState){if(mbid)var params="method=album.getInfo&mbid="+mbid;else{artist=encodeURIComponent(artist),album=encodeURIComponent(album);var params="method=album.getInfo&album="+album+"&artist="+artist}sendRequest(dispatch,getState,params).then(function(response){response.album&&dispatch(coreActions.albumLoaded(response.album))})}}function getImages(context,uri){return function(dispatch,getState){var record=getState().core[context][uri];if(record)switch(context){case"tracks":if(record.mbid)var params="method=album.getInfo&mbid="+record.mbid;else if(record.artists&&record.artists.length>0&&record.album)var artist=encodeURIComponent(record.artists[0].name),album=encodeURIComponent(record.album.name),params="method=album.getInfo&album="+album+"&artist="+artist;params&&sendRequest(dispatch,getState,params).then(function(response){response.album&&(record=Object.assign({},record,{images:response.album.image}),dispatch(coreActions.trackLoaded(record)),dispatch(coreActions.albumLoaded(response.album)))});break;case"albums":if(record.mbid)var params="method=album.getInfo&mbid="+record.mbid;else if(record.artists&&record.artists.length>0)var artist=encodeURIComponent(record.artists[0].name),album=encodeURIComponent(record.name),params="method=album.getInfo&album="+album+"&artist="+artist;params&&sendRequest(dispatch,getState,params).then(function(response){response.album&&(record=Object.assign({},record,{images:response.album.image}),dispatch(coreActions.albumLoaded(record)))})}}}function loveTrack(uri){return function(dispatch,getState){if(void 0===getState().core.tracks[uri])return void dispatch(coreActions.handleException("Could not love LastFM track",track,"Could not find track in index"));var track=getState().core.tracks[uri];if(!track.artists)return void dispatch(coreActions.handleException("Could not love LastFM track",track,"Track has no artists"));var artist=encodeURIComponent(track.artists[0].name),params="method=track.love&track="+track.name+"&artist="+artist;sendSignedRequest(dispatch,getState,params).then(function(response){track=Object.assign({},track,{userloved:!0}),dispatch({type:"TRACKS_LOADED",tracks:[track]})})}}function unloveTrack(uri){return function(dispatch,getState){if(void 0===getState().core.tracks[uri])return void dispatch(coreActions.handleException("Could not unlove LastFM track",track,"Could not find track in index"));var track=getState().core.tracks[uri];if(!track.artists)return void dispatch(coreActions.handleException("Could not unlove LastFM track",track,"Track has no artists"));var artist=encodeURIComponent(track.artists[0].name),params="method=track.unlove&track="+track.name+"&artist="+artist;sendSignedRequest(dispatch,getState,params).then(function(response){track=Object.assign({},track,{userloved:!1}),dispatch({type:"TRACKS_LOADED",tracks:[track]})})}}function scrobble(track){return function(dispatch,getState){var track_name=track.name,artist_name="Unknown";track.artists&&(artist_name=track.artists[0].name);var artist_name=encodeURIComponent(artist_name),params="method=track.scrobble";params+="&track="+track_name+"&artist="+artist_name,params+="×tamp="+Math.floor(Date.now()/1e3),sendSignedRequest(dispatch,getState,params).then(function(response){},function(error){dispatch(coreActions.handleException("Could not scrobble LastFM track",error,error.description?error.description:null))})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.authorizationGranted=authorizationGranted,exports.revokeAuthorization=revokeAuthorization,exports.importAuthorization=importAuthorization,exports.getMe=getMe,exports.getTrack=getTrack,exports.getArtist=getArtist,exports.getAlbum=getAlbum,exports.getImages=getImages,exports.loveTrack=loveTrack,exports.unloveTrack=unloveTrack,exports.scrobble=scrobble;var coreActions=__webpack_require__(10),uiActions=__webpack_require__(3),helpers=__webpack_require__(1),sendRequest=function(dispatch,getState,params){var signed=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return new Promise(function(resolve,reject){var loader_key=helpers.generateGuid(),method=params.substring(params.indexOf("method=")+7,params.length);method=method.substring(0,method.indexOf("&")),dispatch(uiActions.startLoading(loader_key,"lastfm_"+method));var config={method:"GET",cache:!0,timeout:3e4,url:"https://ws.audioscrobbler.com/2.0/?format=json&"+params};signed?config.method="POST":config.url+="&api_key=4320a3ef51c9b3d69de552ac083c55e3",$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),response.error?reject({config:config,error:response}):resolve(response)},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key));var description=null;xhr.responseJSON.message&&(description=xhr.responseJSON.message),reject({config:config,error:error,description:description,status:status,xhr:xhr})})})},sendSignedRequest=function(dispatch,getState,params){return new Promise(function(resolve,reject){getState().lastfm.authorization||reject({params:params,error:"No active LastFM authorization (session)"});var loader_key=helpers.generateGuid(),method=params.substring(params.indexOf("method=")+7,params.length);method=method.substring(0,method.indexOf("&")),dispatch(uiActions.startLoading(loader_key,"lastfm_"+method)),params+="&sk="+getState().lastfm.authorization.key;var config={method:"GET",cache:!1,timeout:3e4,url:getState().lastfm.authorization_url+"?action=sign_request&"+params};$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),sendRequest(dispatch,getState,response.params,!0).then(function(response){resolve(response)},function(error){reject(error)})},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),reject(error)})})}}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),ArtistSentence=function(_React$Component){function ArtistSentence(props){return _classCallCheck(this,ArtistSentence),_possibleConstructorReturn(this,(ArtistSentence.__proto__||Object.getPrototypeOf(ArtistSentence)).call(this,props))}return _inherits(ArtistSentence,_React$Component),_createClass(ArtistSentence,[{key:"render",value:function(){var _this2=this;return this.props.artists?_react2.default.createElement("span",{className:this.props.className?this.props.className+" artist-sentence":"artist-sentence"},this.props.artists.map(function(artist,index){if(!artist)return _react2.default.createElement("span",null,"-");var separator=null;if(index==_this2.props.artists.length-2?separator=" and ":index<_this2.props.artists.length-2&&(separator=", "),artist.name)if(!artist.uri||_this2.props.nolinks)var content=_react2.default.createElement("span",null,artist.name);else var content=_react2.default.createElement(_URILink2.default,{className:"artist",type:"artist",uri:artist.uri},artist.name);else var content=_react2.default.createElement("span",null,"-");return _react2.default.createElement("span",{key:"index_"+artist.uri},content,separator)})):_react2.default.createElement("span",{className:this.props.className?this.props.className+" artist-sentence":"artist-sentence"},"-")}}]),ArtistSentence}(_react2.default.Component);exports.default=ArtistSentence},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),URILink=function(_React$Component){function URILink(props){return _classCallCheck(this,URILink),_possibleConstructorReturn(this,(URILink.__proto__||Object.getPrototypeOf(URILink)).call(this,props))}return _inherits(URILink,_React$Component),_createClass(URILink,[{key:"handleContextMenu",value:function(e){this.props.onContextMenu&&this.props.onContextMenu(e)}},{key:"render",value:function(){var _this2=this,to=null,uri=this.props.uri;switch(this.props.unencoded||(uri=encodeURIComponent(uri)),this.props.type){case"playlist":to=global.baseURL+"playlist/"+uri;break;case"artist":to=global.baseURL+"artist/"+uri;break;case"album":to=global.baseURL+"album/"+uri;break;case"track":to=global.baseURL+"track/"+uri;break;case"user":to=global.baseURL+"user/"+uri;break;case"browse":to=global.baseURL+"library/browse/"+uri;break;case"recommendations":to=global.baseURL+"discover/recommendations/"+uri;break;case"search":var exploded=uri.split("%3A");to=global.baseURL+"search/"+exploded[1]+"/"+exploded[2];break;default:to=null}return uri?_react2.default.createElement(_Link2.default,{className:this.props.className?this.props.className:null,to:to,onContextMenu:function(e){return _this2.handleContextMenu(e)}},this.props.children):_react2.default.createElement("span",{className:this.props.className?this.props.className:null},this.props.children)}}]),URILink}(_react2.default.Component);exports.default=URILink}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Track=__webpack_require__(99),_Track2=_interopRequireDefault(_Track),_ContextMenuTrigger=__webpack_require__(25),_helpers=(_interopRequireDefault(_ContextMenuTrigger),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),TrackList=function(_React$Component){function TrackList(props){_classCallCheck(this,TrackList);var _this=_possibleConstructorReturn(this,(TrackList.__proto__||Object.getPrototypeOf(TrackList)).call(this,props));return _this.touch_dragging_tracks_keys=!1,_this.handleKeyDown=_this.handleKeyDown.bind(_this),_this.handleTouchMove=_this.handleTouchMove.bind(_this),_this.handleTouchEnd=_this.handleTouchEnd.bind(_this),_this}return _inherits(TrackList,_React$Component),_createClass(TrackList,[{key:"componentWillMount",value:function(){window.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("touchmove",this.handleTouchMove,!1),window.addEventListener("touchend",this.handleTouchEnd,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("touchmove",this.handleTouchMove,!1),window.removeEventListener("touchend",this.handleTouchEnd,!1)}},{key:"handleKeyDown",value:function(e){if(["INPUT","TEXTAREA"].indexOf(e.target.nodeName)>-1)return!1;var tracks_keys=this.digestTracksKeys();switch(e.keyCode){case 13:tracks_keys&&tracks_keys.length>0&&this.playTracks();break;case 46:tracks_keys&&tracks_keys.length>0&&this.removeTracks();break;case 65:if(e.ctrlKey||e.metaKey){e.preventDefault();for(var all_tracks=[],i=0;i<this.props.tracks.length;i++)all_tracks.push(this.buildTrackKey(this.props.tracks[i],i));return this.props.uiActions.setSelectedTracks(all_tracks),!1}}}},{key:"handleDrag",value:function(e,track_key){var selected_tracks=[];this.props.selected_tracks.includes(track_key)?selected_tracks=this.digestTracksKeys():(this.props.uiActions.setSelectedTracks([track_key]),selected_tracks=this.digestTracksKeys([track_key]));var selected_tracks_indexes=helpers.arrayOf("index",selected_tracks);this.props.uiActions.dragStart(e,this.props.context,this.props.uri,selected_tracks,selected_tracks_indexes)}},{key:"handleDrop",value:function(e,track_key){if(this.props.dragger&&this.props.dragger.active&&void 0!==this.props.reorderTracks){var indexes=this.props.dragger.victims_indexes,tracks=this.digestTracksKeys([track_key]);return this.props.reorderTracks(indexes,tracks[0].index)}this.touch_dragging_tracks_keys=!1}},{key:"handleTouchDrag",value:function(e,track_key){this.props.selected_tracks.includes(track_key)?this.touch_dragging_tracks_keys=this.props.selected_tracks:(this.touch_dragging_tracks_keys=[track_key],this.props.uiActions.setSelectedTracks([track_key]))}},{key:"handleTouchMove",value:function(e){if(this.touch_dragging_tracks_keys){var touch=e.touches[0],over=$(document.elementFromPoint(touch.clientX,touch.clientY));return over.is(".track")||(over=over.closest(".list__item--track")),$(document).find(".touch-drag-hover").removeClass("touch-drag-hover"),over.length>0&&over.addClass("touch-drag-hover"),e.returnValue=!1,e.cancelBubble=!0,e.preventDefault(),e.stopPropagation(),!1}}},{key:"handleTouchEnd",value:function(e){if(this.touch_dragging_tracks_keys){var touch=e.changedTouches[0],over=$(document.elementFromPoint(touch.clientX,touch.clientY));if(over.is(".list__item--track")||(over=over.closest(".list__item--track")),over.length>0){var siblings=over.parent().children(".list__item--track"),dropped_at=siblings.index(over);void 0!==this.props.reorderTracks&&(this.props.reorderTracks(helpers.arrayOf("index",this.digestTracksKeys()),dropped_at),this.props.uiActions.setSelectedTracks([]))}$(document).find(".touch-drag-hover").removeClass("touch-drag-hover"),$("body").removeClass("touch-dragging")}this.touch_dragging_tracks_keys=!1}},{key:"handleTap",value:function(e,track_key){this.updateSelection(e,track_key,!0)}},{key:"handleDoubleTap",value:function(e,track_key){this.playTracks([track_key]),this.updateSelection(e,track_key)}},{key:"handleClick",value:function(e,track_key){this.updateSelection(e,track_key)}},{key:"handleDoubleClick",value:function(e,track_key){this.props.context_menu&&this.props.uiActions.hideContextMenu(),this.playTracks([track_key]),this.updateSelection(e,track_key)}},{key:"handleContextMenu",value:function(e){var track_key=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e.preventDefault(),e.stopPropagation(),e.cancelBubble=!0;var selected_tracks=this.props.selected_tracks;track_key&&!selected_tracks.includes(track_key)&&(selected_tracks=[track_key],this.props.uiActions.setSelectedTracks(selected_tracks));var selected_tracks_digested=this.digestTracksKeys(selected_tracks),selected_tracks_uris=helpers.arrayOf("uri",selected_tracks_digested),selected_tracks_indexes=helpers.arrayOf("index",selected_tracks_digested),data={e:e,context:this.props.context?this.props.context+"-track":"track",tracklist_uri:this.props.uri?this.props.uri:null,items:selected_tracks_digested,uris:selected_tracks_uris,indexes:selected_tracks_indexes};this.props.uiActions.showContextMenu(data)}},{key:"updateSelection",value:function(e,track_key){var touched=arguments.length>2&&void 0!==arguments[2]&&arguments[2],selected_tracks=this.props.selected_tracks;if(e.ctrlKey||e.metaKey||touched)if(selected_tracks.includes(track_key)){var index=selected_tracks.indexOf(track_key);selected_tracks.splice(index,1)}else selected_tracks.push(track_key);else if(e.shiftKey){var last_selected_track=this.digestTracksKeys(selected_tracks[selected_tracks.length-1]),last_selected_track_index=last_selected_track.index,newly_selected_track=this.digestTracksKeys(track_key),newly_selected_track_index=newly_selected_track.index;if(last_selected_track_index<newly_selected_track_index)var start=last_selected_track_index+1,end=newly_selected_track_index;else var start=newly_selected_track_index,end=last_selected_track_index-1;if(!1!==start&&start>=0&&!1!==end&&end>=0)for(var i=start;i<=end;i++)selected_tracks.push(this.buildTrackKey(this.props.tracks[i],i))}else selected_tracks=[track_key];this.props.uiActions.setSelectedTracks(selected_tracks)}},{key:"isRightClick",value:function(e){return"which"in e?3==e.which:"button"in e&&2==e.button}},{key:"playTracks",value:function(){var tracks_keys=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(null!==tracks_keys)var selected_tracks=this.digestTracksKeys(tracks_keys);else var selected_tracks=this.digestTracksKeys();helpers.arrayOf("index",selected_tracks);if(selected_tracks.length<=0)return this.props.uiActions.createNotification({content:"No tracks selected",type:"bad"});if(void 0!==this.props.playTracks)return this.props.playTracks(selected_tracks);var selected_tracks_uris=helpers.arrayOf("uri",selected_tracks);return this.props.mopidyActions.playURIs(selected_tracks_uris,this.props.uri)}},{key:"removeTracks",value:function(){if(void 0!==this.props.removeTracks){var selected_tracks=this.digestTracksKeys(),selected_tracks_indexes=helpers.arrayOf("index",selected_tracks);return this.props.removeTracks(selected_tracks_indexes)}}},{key:"buildTrackKey",value:function(track,index){var key=index;return key+="@@"+(track.tlid?track.tlid:"none"),key+="@@"+track.uri,key+="@@"+(this.props.uri?this.props.uri:"none"),key+="@@"+(this.props.context?this.props.context:"none")}},{key:"digestTracksKeys",value:function(){var keys=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.selected_tracks,indexes_only=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!keys)return!1;var singleton=!1;keys instanceof Array||(singleton=!0,keys=[keys]);for(var array=[],i=0;i<keys.length;i++){var key=keys[i].split("@@");indexes_only?array.push(key[0]):array.push({index:parseInt(key[0]),tlid:parseInt(key[1]),uri:key[2],context:key[3],context_uri:key[4]})}return singleton&&array.length>0?array[0]:array}},{key:"render",value:function(){var _this2=this;if(!this.props.tracks||"[object Array]"!==Object.prototype.toString.call(this.props.tracks))return null;var className="list list--tracks "+this.props.context;return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},this.props.tracks.map(function(track,index){var track_key=_this2.buildTrackKey(track,index);return track.key=track_key,_react2.default.createElement(_Track2.default,{show_source_icon:_this2.props.show_source_icon,key:track_key,mini_zones:_this2.props.slim_mode||helpers.isTouchDevice(),track:track,context:_this2.props.context,can_sort:"queue"==_this2.props.context||"editable-playlist"==_this2.props.context,selected:_this2.props.selected_tracks.includes(track_key),play_state:_this2.props.play_state,dragger:_this2.props.dragger,handleClick:function(e){return _this2.handleClick(e,track_key)},handleDoubleClick:function(e){return _this2.handleDoubleClick(e,track_key)},handleContextMenu:function(e){return _this2.handleContextMenu(e,track_key)},handleDrag:function(e){return _this2.handleDrag(e,track_key)},handleDrop:function(e){return _this2.handleDrop(e,track_key)},handleTap:function(e){return _this2.handleTap(e,track_key)},handleDoubleTap:function(e){return _this2.handleDoubleTap(e,track_key)},handleTouchDrag:function(e){return _this2.handleTouchDrag(e,track_key)}})}))}}]),TrackList}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{play_state:state.mopidy.play_state,slim_mode:state.ui.slim_mode,selected_tracks:state.ui.selected_tracks,dragger:state.ui.dragger,current_track:state.core.current_track,context_menu:state.ui.context_menu}},mapDispatchToProps=function(dispatch){return{mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(TrackList)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),LazyLoadListener=function(_React$Component){function LazyLoadListener(props){_classCallCheck(this,LazyLoadListener);var _this=_possibleConstructorReturn(this,(LazyLoadListener.__proto__||Object.getPrototypeOf(LazyLoadListener)).call(this,props));return _this.state={listening:!!_this.props.loadKey,loadKey:_this.props.loadKey},_this.handleScroll=helpers.throttle(_this.handleScroll.bind(_this),50),_this}return _inherits(LazyLoadListener,_React$Component),_createClass(LazyLoadListener,[{key:"componentDidMount",value:function(){this.element=document.getElementById("main"),this.element.addEventListener("scroll",this.handleScroll,!1)}},{key:"componentWillUnmount",value:function(){this.element.removeEventListener("scroll",this.handleScroll,!1)}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.loadKey&&nextProps.loadKey!==this.state.loadKey&&this.setState({loadKey:nextProps.loadKey,listening:!0})}},{key:"handleScroll",value:function(e){var _this2=this;this.state.listening&&this.element.scrollTop>this.element.scrollHeight-this.element.offsetHeight-100&&this.setState({listening:!1},function(){_this2.props.loadMore()})}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"lazy-loader body-loader"+(this.props.showLoader?" loading":"")},this.props.showLoader?_react2.default.createElement("div",{className:"loader"}):null)}}]),LazyLoadListener}(_react2.default.Component);exports.default=LazyLoadListener},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),ContextMenuTrigger=function(_React$Component){function ContextMenuTrigger(props){return _classCallCheck(this,ContextMenuTrigger),_possibleConstructorReturn(this,(ContextMenuTrigger.__proto__||Object.getPrototypeOf(ContextMenuTrigger)).call(this,props))}return _inherits(ContextMenuTrigger,_React$Component),_createClass(ContextMenuTrigger,[{key:"handleClick",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onTrigger(e)}},{key:"render",value:function(){var _this2=this,className="context-menu-trigger mouse-contextable touch-contextable";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("span",{className:className,onClick:function(e){return _this2.handleClick(e)}},_react2.default.createElement(_Icon2.default,{name:"more_horiz"}))}}]),ContextMenuTrigger}(_react2.default.Component);exports.default=ContextMenuTrigger},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_helpers=(__webpack_require__(2),__webpack_require__(1)),_Icon=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),Modal=function(_React$Component){function Modal(props){_classCallCheck(this,Modal);var _this=_possibleConstructorReturn(this,(Modal.__proto__||Object.getPrototypeOf(Modal)).call(this,props));return _this.handleKeyUp=_this.handleKeyUp.bind(_this),_this}return _inherits(Modal,_React$Component),_createClass(Modal,[{key:"componentWillMount",value:function(){$("body").addClass("modal-open"),window.addEventListener("keyup",this.handleKeyUp,!1)}},{key:"componentWillUnmount",value:function(){$("body").removeClass("modal-open"),window.removeEventListener("keyup",this.handleKeyUp,!1)}},{key:"handleKeyUp",value:function(e){this.props.shortkeys_enabled&&27==e.keyCode&&window.history.back()}},{key:"render",value:function(){var className="modal";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},_react2.default.createElement("div",{className:"controls"},this.props.noclose?null:_react2.default.createElement("div",{className:"control close",onClick:function(e){return window.history.back()}},_react2.default.createElement(_Icon2.default,{name:"close",className:"white"}))),_react2.default.createElement("div",{className:"content"},this.props.children))}}]),Modal}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{shortkeys_enabled:state.ui.shortkeys_enabled}},mapDispatchToProps=function(dispatch){return{}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Modal)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";var React=__webpack_require__(0),factory=__webpack_require__(156);if(void 0===React)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var ReactNoopUpdateQueue=(new React.Component).updater;module.exports=factory(React.Component,React.isValidElement,ReactNoopUpdateQueue)},function(module,exports,__webpack_require__){"use strict";var warning=function(){};module.exports=warning},function(module,__webpack_exports__,__webpack_require__){"use strict";function isValidChild(object){return null==object||__WEBPACK_IMPORTED_MODULE_0_react___default.a.isValidElement(object)}function isReactChildren(object){return isValidChild(object)||Array.isArray(object)&&object.every(isValidChild)}function createRoute(defaultProps,props){return _extends({},defaultProps,props)}function createRouteFromReactElement(element){var type=element.type,route=createRoute(type.defaultProps,element.props);if(route.children){var childRoutes=createRoutesFromReactChildren(route.children,route);childRoutes.length&&(route.childRoutes=childRoutes),delete route.children}return route}function createRoutesFromReactChildren(children,parentRoute){var routes=[];return __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children,function(element){if(__WEBPACK_IMPORTED_MODULE_0_react___default.a.isValidElement(element))if(element.type.createRouteFromReactElement){var route=element.type.createRouteFromReactElement(element,parentRoute);route&&routes.push(route)}else routes.push(createRouteFromReactElement(element))}),routes}function createRoutes(routes){return isReactChildren(routes)?routes=createRoutesFromReactChildren(routes):routes&&!Array.isArray(routes)&&(routes=[routes]),routes}__webpack_exports__.c=isReactChildren,__webpack_exports__.a=createRouteFromReactElement,__webpack_exports__.b=createRoutes;var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.createPath=exports.parsePath=exports.getQueryStringValueFromPath=exports.stripQueryStringValueFromPath=exports.addQueryStringValueToPath=void 0;var _warning=__webpack_require__(28),extractPath=(function(obj){obj&&obj.__esModule}(_warning),exports.addQueryStringValueToPath=function(path,key,value){var _parsePath=parsePath(path),pathname=_parsePath.pathname,search=_parsePath.search,hash=_parsePath.hash;return createPath({pathname:pathname,search:search+(-1===search.indexOf("?")?"?":"&")+key+"="+value,hash:hash})},exports.stripQueryStringValueFromPath=function(path,key){var _parsePath2=parsePath(path),pathname=_parsePath2.pathname,search=_parsePath2.search,hash=_parsePath2.hash;return createPath({pathname:pathname,search:search.replace(new RegExp("([?&])"+key+"=[a-zA-Z0-9]+(&?)"),function(match,prefix,suffix){return"?"===prefix?prefix:suffix}),hash:hash})},exports.getQueryStringValueFromPath=function(path,key){var _parsePath3=parsePath(path),search=_parsePath3.search,match=search.match(new RegExp("[?&]"+key+"=([a-zA-Z0-9]+)"));return match&&match[1]},function(string){var match=string.match(/^(https?:)?\/\/[^\/]*/);return null==match?string:string.substring(match[0].length)}),parsePath=exports.parsePath=function(path){var pathname=extractPath(path),search="",hash="",hashIndex=pathname.indexOf("#");-1!==hashIndex&&(hash=pathname.substring(hashIndex),pathname=pathname.substring(0,hashIndex));var searchIndex=pathname.indexOf("?");return-1!==searchIndex&&(search=pathname.substring(searchIndex),pathname=pathname.substring(0,searchIndex)),""===pathname&&(pathname="/"),{pathname:pathname,search:search,hash:hash}},createPath=exports.createPath=function(location){if(null==location||"string"==typeof location)return location;var basename=location.basename,pathname=location.pathname,search=location.search,hash=location.hash,path=(basename||"")+pathname;return search&&"?"!==search&&(path+=search),hash&&(path+=hash),path}},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),Dater=function(_React$Component){function Dater(props){return _classCallCheck(this,Dater),_possibleConstructorReturn(this,(Dater.__proto__||Object.getPrototypeOf(Dater)).call(this,props))}return _inherits(Dater,_React$Component),_createClass(Dater,[{key:"durationTime",value:function(){var milliseconds=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!milliseconds)return null;var total_hours,total_minutes,total_seconds,minutes,seconds,string="";return total_seconds=Math.floor(milliseconds/1e3),total_minutes=Math.floor(milliseconds/6e4),total_hours=Math.floor(milliseconds/36e5),seconds=total_seconds-60*total_minutes,seconds<=9&&(seconds="0"+seconds),0==seconds&&(seconds="00"),minutes=total_minutes-60*total_hours,minutes<=9&&total_hours&&(minutes="0"+minutes),0==minutes&&(minutes="0"),total_hours&&(string+=total_hours+":"),minutes&&(string+=minutes+":"),seconds&&(string+=seconds),string}},{key:"durationSentence",value:function(){var milliseconds=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!milliseconds)return null;var total_hours,total_minutes,total_seconds;return total_seconds=Math.floor(milliseconds/1e3),total_minutes=Math.floor(milliseconds/6e4),total_hours=Math.floor(milliseconds/36e5),total_hours>1?total_hours+"+ hrs":total_minutes>1?total_minutes+" mins":total_seconds?total_seconds+" sec":void 0}},{key:"calculate",value:function(){switch(this.props.type){case"total-time":for(var duration=0,tracks=this.props.data,i=0;i<tracks.length;i++)tracks[i].duration&&(duration+=parseInt(tracks[i].duration));return this.durationSentence(duration);case"length":return this.durationTime(this.props.data);case"date":var date=new Date(this.props.data);return date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear();case"ago":var date=new Date(this.props.data),diff=new Date-date,seconds=Math.floor(diff/1e3),minutes=Math.floor(diff/6e4),hours=Math.floor(diff/36e5),days=Math.floor(diff/864e5);return seconds<60?seconds+" seconds":minutes<60?minutes+" minutes":hours<24?hours+" hours":days+" days";default:return null}}},{key:"render",value:function(){return this.props.data?_react2.default.createElement("span",{className:"dater"},this.calculate()):null}}]),Dater}(_react2.default.Component);exports.default=Dater},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),Parallax=function(_React$Component){function Parallax(props){_classCallCheck(this,Parallax);var _this=_possibleConstructorReturn(this,(Parallax.__proto__||Object.getPrototypeOf(Parallax)).call(this,props));return _this.state={loaded:!1,url:null},_this}return _inherits(Parallax,_React$Component),_createClass(Parallax,[{key:"componentWillMount",value:function(){this.props.image&&this.loadImage(this.props.image)}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.image!=this.state.url&&this.loadImage(nextProps.image)}},{key:"loadImage",value:function(url){if(this.setState({loaded:!1,url:null}),url&&""!==url){var self=this,imageObject=new Image;imageObject.src=url,imageObject.onload=function(){self.setState({loaded:!0,url:url})}}}},{key:"render",value:function(){var class_name="parallax preserve-3d";this.props.blur&&(class_name+=" parallax--blur"),this.state.loaded&&(class_name+=" parallax--loaded");var style={};return this.state.loaded&&this.state.url&&(style={backgroundImage:"url("+this.state.url+")"}),_react2.default.createElement("div",{className:class_name},_react2.default.createElement("div",{className:"parallax__inner preserve-3d"},_react2.default.createElement("div",{className:"parallax__image",style:style}),_react2.default.createElement("div",{className:"parallax__overlay"})))}}]),Parallax}(_react2.default.Component);exports.default=Parallax},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=(__webpack_require__(4),__webpack_require__(2),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),DropdownField=function(_React$Component){function DropdownField(props){_classCallCheck(this,DropdownField);var _this=_possibleConstructorReturn(this,(DropdownField.__proto__||Object.getPrototypeOf(DropdownField)).call(this,props));return _this.uid=_this.props.name.replace(" ","_").toLowerCase(),_this.props.uid&&(_this.uid+="_"+_this.props.uid),_this.state={expanded:!1},_this.handleClick=_this.handleClick.bind(_this),_this}return _inherits(DropdownField,_React$Component),_createClass(DropdownField,[{key:"componentDidMount",value:function(){window.addEventListener("click",this.handleClick,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleClick,!1)}},{key:"setExpanded",value:function(){var expanded=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.expanded;expanded?(this.setState({expanded:expanded}),window.addEventListener("click",this.handleClick,!1)):(this.setState({expanded:expanded}),window.removeEventListener("click",this.handleClick,!1))}},{key:"handleClick",value:function(e){$(e.target).closest(".dropdown-field").attr("data-uid")!=this.uid&&this.state.expanded&&this.setExpanded(!1)}},{key:"handleChange",value:function(value,is_selected){var current_value=this.props.value;if(this.isMultiSelect())if("select-all"==value)for(var new_value=[],i=0;i<this.props.options.length;i++)new_value.push(this.props.options[i].value);else if(is_selected){var index=current_value.indexOf(value);current_value.splice(index,1);var new_value=current_value}else{current_value.push(value);var new_value=current_value}else{var new_value=value;this.setExpanded(!1)}return this.props.handleChange(new_value)}},{key:"isMultiSelect",value:function(){return this.props.value instanceof Array}},{key:"render",value:function(){var _this2=this;if(!this.props.options)return null;var className="dropdown-field";this.state.expanded&&(className+=" expanded"),this.props.no_status_icon&&(className+=" no-status-icon"),this.props.no_label&&(className+=" no-label"),this.props.button&&(className+=" buttonify"),this.props.className&&(className+=" "+this.props.className);var current_value=null;void 0!==this.props.value?current_value=this.props.value:this.props.options.length>0&&(current_value=this.props.options[0].value);var selected_icon=_react2.default.createElement(_Icon2.default,{name:"check"});this.props.selected_icon&&(selected_icon=_react2.default.createElement(_Icon2.default,{name:this.props.selected_icon}));var options=Object.assign([],this.props.options);return this.isMultiSelect()&&options.push({value:"select-all",label:"Select all",className:"mid_grey-text"}),_react2.default.createElement("div",{className:className,"data-uid":this.uid},_react2.default.createElement("div",{className:"label"+(this.props.button?" button "+this.props.button:""),onClick:function(e){return _this2.setExpanded()}},this.props.icon?_react2.default.createElement(_Icon2.default,{name:this.props.icon,type:this.props.icon_type?this.props.icon_type:"material"}):null,_react2.default.createElement("span",{className:"text"},this.props.name,this.isMultiSelect()?" ("+current_value.length+")":null)),_react2.default.createElement("div",{className:"options"},_react2.default.createElement("div",{className:"liner"},options.map(function(option){if(_this2.isMultiSelect())var is_selected=current_value.indexOf(option.value)>-1;else var is_selected=current_value===option.value;return _react2.default.createElement("div",{className:"option "+(option.className?option.className:""),key:option.value,onClick:function(e){return _this2.handleChange(option.value,is_selected)}},!_this2.props.no_status_icon&&is_selected?selected_icon:null,option.label)}))))}}]),DropdownField}(_react2.default.Component);exports.default=DropdownField}).call(exports,__webpack_require__(19))},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_warning__=__webpack_require__(28);__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__)},function(module,__webpack_exports__,__webpack_require__){"use strict";function escapeRegExp(string){return string.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _compilePattern(pattern){for(var regexpSource="",paramNames=[],tokens=[],match=void 0,lastIndex=0,matcher=/:([a-zA-Z_$][a-zA-Z0-9_$]*)|\*\*|\*|\(|\)|\\\(|\\\)/g;match=matcher.exec(pattern);)match.index!==lastIndex&&(tokens.push(pattern.slice(lastIndex,match.index)),regexpSource+=escapeRegExp(pattern.slice(lastIndex,match.index))),match[1]?(regexpSource+="([^/]+)",paramNames.push(match[1])):"**"===match[0]?(regexpSource+="(.*)",paramNames.push("splat")):"*"===match[0]?(regexpSource+="(.*?)",paramNames.push("splat")):"("===match[0]?regexpSource+="(?:":")"===match[0]?regexpSource+=")?":"\\("===match[0]?regexpSource+="\\(":"\\)"===match[0]&&(regexpSource+="\\)"),tokens.push(match[0]),lastIndex=matcher.lastIndex;return lastIndex!==pattern.length&&(tokens.push(pattern.slice(lastIndex,pattern.length)),regexpSource+=escapeRegExp(pattern.slice(lastIndex,pattern.length))),{pattern:pattern,regexpSource:regexpSource,paramNames:paramNames,tokens:tokens}}function compilePattern(pattern){return CompiledPatternsCache[pattern]||(CompiledPatternsCache[pattern]=_compilePattern(pattern)),CompiledPatternsCache[pattern]}function matchPattern(pattern,pathname){"/"!==pattern.charAt(0)&&(pattern="/"+pattern);var _compilePattern2=compilePattern(pattern),regexpSource=_compilePattern2.regexpSource,paramNames=_compilePattern2.paramNames,tokens=_compilePattern2.tokens;"/"!==pattern.charAt(pattern.length-1)&&(regexpSource+="/?"),"*"===tokens[tokens.length-1]&&(regexpSource+="$");var match=pathname.match(new RegExp("^"+regexpSource,"i"));if(null==match)return null;var matchedPath=match[0],remainingPathname=pathname.substr(matchedPath.length);if(remainingPathname){if("/"!==matchedPath.charAt(matchedPath.length-1))return null;remainingPathname="/"+remainingPathname}return{remainingPathname:remainingPathname,paramNames:paramNames,paramValues:match.slice(1).map(function(v){return v&&decodeURIComponent(v)})}}function getParamNames(pattern){return compilePattern(pattern).paramNames}function formatPattern(pattern,params){params=params||{};for(var _compilePattern3=compilePattern(pattern),tokens=_compilePattern3.tokens,parenCount=0,pathname="",splatIndex=0,parenHistory=[],token=void 0,paramName=void 0,paramValue=void 0,i=0,len=tokens.length;i<len;++i)if("*"===(token=tokens[i])||"**"===token)paramValue=Array.isArray(params.splat)?params.splat[splatIndex++]:params.splat,null!=paramValue||parenCount>0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),null!=paramValue&&(pathname+=encodeURI(paramValue));else if("("===token)parenHistory[parenCount]="",parenCount+=1;else if(")"===token){var parenText=parenHistory.pop();parenCount-=1,parenCount?parenHistory[parenCount-1]+=parenText:pathname+=parenText}else if("\\("===token)pathname+="(";else if("\\)"===token)pathname+=")";else if(":"===token.charAt(0))if(paramName=token.substring(1),paramValue=params[paramName],null!=paramValue||parenCount>0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),null==paramValue){if(parenCount){parenHistory[parenCount-1]="";for(var curTokenIdx=tokens.indexOf(token),tokensSubset=tokens.slice(curTokenIdx,tokens.length),nextParenIdx=-1,_i=0;_i<tokensSubset.length;_i++)if(")"==tokensSubset[_i]){nextParenIdx=_i;break}nextParenIdx>0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),i=curTokenIdx+nextParenIdx-1}}else parenCount?parenHistory[parenCount-1]+=encodeURIComponent(paramValue):pathname+=encodeURIComponent(paramValue);else parenCount?parenHistory[parenCount-1]+=token:pathname+=token;return parenCount<=0||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),pathname.replace(/\/+/g,"/")}__webpack_exports__.c=matchPattern,__webpack_exports__.b=getParamNames,__webpack_exports__.a=formatPattern;var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(18),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),CompiledPatternsCache=Object.create(null)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0,exports.locationsAreEqual=exports.statesAreEqual=exports.createLocation=exports.createQuery=void 0;var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_invariant=__webpack_require__(18),_invariant2=_interopRequireDefault(_invariant),_warning=__webpack_require__(28),_PathUtils=(_interopRequireDefault(_warning),__webpack_require__(30)),_Actions=__webpack_require__(47),isDate=(exports.createQuery=function(props){return _extends(Object.create(null),props)},exports.createLocation=function(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",action=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Actions.POP,key=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,object="string"==typeof input?(0,_PathUtils.parsePath)(input):input;return{pathname:object.pathname||"/",search:object.search||"",hash:object.hash||"",state:object.state,action:action,key:key}},function(object){return"[object Date]"===Object.prototype.toString.call(object)}),statesAreEqual=exports.statesAreEqual=function statesAreEqual(a,b){if(a===b)return!0;var typeofA=void 0===a?"undefined":_typeof(a);if(typeofA!==(void 0===b?"undefined":_typeof(b)))return!1;if("function"===typeofA&&(0,_invariant2.default)(!1),"object"===typeofA){if(isDate(a)&&isDate(b)&&(0,_invariant2.default)(!1),!Array.isArray(a)){var keysofA=Object.keys(a),keysofB=Object.keys(b);return keysofA.length===keysofB.length&&keysofA.every(function(key){return statesAreEqual(a[key],b[key])})}return Array.isArray(b)&&a.length===b.length&&a.every(function(item,index){return statesAreEqual(item,b[index])})}return!1};exports.locationsAreEqual=function(a,b){return a.key===b.key&&a.pathname===b.pathname&&a.search===b.search&&a.hash===b.hash&&statesAreEqual(a.state,b.state)}},function(module,exports,__webpack_require__){"use strict";(function($){function set(data){return{type:"GENIUS_SET",data:data}}function authorizationGranted(data){return{type:"GENIUS_AUTHORIZATION_GRANTED",data:data}}function revokeAuthorization(){return{type:"GENIUS_AUTHORIZATION_REVOKED"}}function importAuthorization(authorization){return{type:"GENIUS_IMPORT_AUTHORIZATION",authorization:authorization}}function getMe(){return function(dispatch,getState){sendRequest(dispatch,getState,"account").then(function(response){dispatch({type:"GENIUS_ME_LOADED",me:response.user})},function(error){dispatch(coreActions.handleException("Could not load your Genius profile",error))})}}function getTrackLyrics(uri,path){return function(dispatch,getState){dispatch(coreActions.trackLoaded({uri:uri,lyrics:null,lyrics_path:null}));var config={method:"GET",url:"//"+getState().mopidy.host+":"+getState().mopidy.port+"/iris/http/get_lyrics?path="+path+"&connection_id="+getState().pusher.connection_id,timeout:1e4},loader_key=helpers.generateGuid();dispatch(uiActions.startLoading(loader_key,"genius_get_lyrics")),$.ajax(config).then(function(response,status,xhr){if(dispatch(uiActions.stopLoading(loader_key)),response&&response.result){var html=$(response.result),lyrics=html.find(".lyrics");if(lyrics.length>0){lyrics=lyrics.first(),lyrics.find("a").replaceWith(function(){return this.innerHTML});var lyrics_html=lyrics.html();lyrics_html=lyrics_html.replace(/(\[)/g,'<span class="mid_grey-text">['),lyrics_html=lyrics_html.replace(/(\])/g,"]</span>"),dispatch(coreActions.trackLoaded({uri:uri,lyrics:lyrics_html,lyrics_path:path}))}}else dispatch(coreActions.handleException("Could not get track lyrics",response.error))},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),dispatch(coreActions.handleException("Could not get track lyrics",error))})}}function findTrackLyrics(track){return function(dispatch,getState){var query="";query+=track.artists[0].name+" ",query+=track.name,query=query.toLowerCase(),query=query.replace(/\([^)]*\) */g,""),query=query.replace(/\([^[]*\] */g,""),sendRequest(dispatch,getState,"search","GET","q="+encodeURIComponent(query)).then(function(response){if(response.hits&&response.hits.length>0){for(var lyrics_results=[],i=0;i<response.hits.length;i++)lyrics_results.push({title:response.hits[i].result.full_title,url:response.hits[i].result.url,path:response.hits[i].result.path});dispatch(coreActions.trackLoaded({uri:track.uri,lyrics_results:lyrics_results}));var lyrics_result=lyrics_results[0];dispatch(getTrackLyrics(track.uri,lyrics_result.path))}},function(error){dispatch(coreActions.handleException("Could not search for track lyrics",error))})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.authorizationGranted=authorizationGranted,exports.revokeAuthorization=revokeAuthorization,exports.importAuthorization=importAuthorization,exports.getMe=getMe,exports.getTrackLyrics=getTrackLyrics,exports.findTrackLyrics=findTrackLyrics;var coreActions=__webpack_require__(10),uiActions=__webpack_require__(3),helpers=__webpack_require__(1),sendRequest=function(dispatch,getState,endpoint){var method=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"GET",data=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise(function(resolve,reject){if(endpoint.startsWith("https://")||endpoint.startsWith("http://"))var url=endpoint;else{var url="https://api.genius.com/"+endpoint;getState().genius.access_token&&(url+="?access_token="+getState().genius.access_token)}var config={method:method,url:url,timeout:3e4,crossDomain:!0};data&&(config.data="string"==typeof data?data:JSON.stringify(data));var loader_key=helpers.generateGuid();dispatch(uiActions.startLoading(loader_key,"genius_"+endpoint)),$.ajax(config).then(function(response){dispatch(uiActions.stopLoading(loader_key)),response.meta&&response.meta.status>=200&&response.meta.status<300&&response.response?resolve(response.response):reject({config:config,xhr:xhr,status:status,error:error})},function(xhr,status,error){dispatch(uiActions.stopLoading(loader_key)),reject({config:config,xhr:xhr,status:status,error:error})})})}}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function getServer(){return{type:"SNAPCAST_GET_SERVER"}}function setClientName(id,name){return{type:"SNAPCAST_SET_CLIENT_NAME",id:id,name:name}}function setClientMute(id,mute){return{type:"SNAPCAST_SET_CLIENT_MUTE",id:id,mute:mute}}function setClientVolume(id,volume){return{type:"SNAPCAST_SET_CLIENT_VOLUME",id:id,volume:volume}}function setClientLatency(id,latency){return{type:"SNAPCAST_SET_CLIENT_LATENCY",id:id,latency:latency}}function setClientGroup(id,group_id){return{type:"SNAPCAST_SET_CLIENT_GROUP",id:id,group_id:group_id}}function deleteClient(id){return{type:"SNAPCAST_DELETE_CLIENT",id:id}}function setGroupStream(id,stream_id){return{type:"SNAPCAST_SET_GROUP_STREAM",id:id,stream_id:stream_id}}function setGroupMute(id,mute){return{type:"SNAPCAST_SET_GROUP_MUTE",id:id,mute:mute}}function setGroupVolume(id,percent){return{type:"SNAPCAST_SET_GROUP_VOLUME",id:id,percent:percent,old_percent:arguments.length>2&&void 0!==arguments[2]?arguments[2]:0}}function eventReceived(message){return{type:"SNAPCAST_EVENT_RECEIVED",method:message.method,params:message.params}}function serverLoaded(server){return{type:"SNAPCAST_SERVER_LOADED",server:server}}function clientLoaded(client){return clientsLoaded([client])}function clientsLoaded(clients){return{type:"SNAPCAST_CLIENTS_LOADED",clients:clients,flush:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function groupLoaded(group){return groupsLoaded([group])}function groupsLoaded(groups){return{type:"SNAPCAST_GROUPS_LOADED",groups:groups,flush:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}function streamLoaded(stream){return streamsLoaded([stream])}function streamsLoaded(streams){return{type:"SNAPCAST_STREAMS_LOADED",streams:streams,flush:arguments.length>1&&void 0!==arguments[1]&&arguments[1]}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getServer=getServer,exports.setClientName=setClientName,exports.setClientMute=setClientMute,exports.setClientVolume=setClientVolume,exports.setClientLatency=setClientLatency,exports.setClientGroup=setClientGroup,exports.deleteClient=deleteClient,exports.setGroupStream=setGroupStream,exports.setGroupMute=setGroupMute,exports.setGroupVolume=setGroupVolume,exports.eventReceived=eventReceived,exports.serverLoaded=serverLoaded,exports.clientLoaded=clientLoaded,exports.clientsLoaded=clientsLoaded,exports.groupLoaded=groupLoaded,exports.groupsLoaded=groupsLoaded,exports.streamLoaded=streamLoaded,exports.streamsLoaded=streamsLoaded},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_Thumbnail=__webpack_require__(11),_GridItem=(_interopRequireDefault(_Thumbnail),__webpack_require__(41)),_GridItem2=_interopRequireDefault(_GridItem),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions2),ArtistGrid=function(_React$Component){function ArtistGrid(props){return _classCallCheck(this,ArtistGrid),_possibleConstructorReturn(this,(ArtistGrid.__proto__||Object.getPrototypeOf(ArtistGrid)).call(this,props))}return _inherits(ArtistGrid,_React$Component),_createClass(ArtistGrid,[{key:"itemMounted",value:function(item){item.images||this.props.lastfmActions.getArtist(item.uri,item.name)}},{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"artist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"render",value:function(){var _this2=this;if(this.props.artists){var className="grid artist-grid";return this.props.className&&(className+=" "+this.props.className),this.props.single_row&&(className+=" single-row"),_react2.default.createElement("div",{className:className},this.props.artists.map(function(artist,index){return _react2.default.createElement(_GridItem2.default,{key:artist.uri,type:"artist",item:helpers.collate(artist,{albums:_this2.props.albums}),show_source_icon:_this2.props.show_source_icon,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"artist/"+encodeURIComponent(artist.uri))},lastfmActions:_this2.props.lastfmActions,onContextMenu:function(e){return _this2.handleContextMenu(e,artist)},onMount:function(){return _this2.itemMounted(artist)}})}))}return null}}]),ArtistGrid}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{albums:state.core.albums}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ArtistGrid)}).call(exports,__webpack_require__(9))},function(module,__webpack_exports__,__webpack_require__){"use strict";function falsy(props,propName,componentName){if(props[propName])return new Error("<"+componentName+'> should not have a "'+propName+'" prop')}__webpack_exports__.c=falsy,__webpack_require__.d(__webpack_exports__,"a",function(){return component}),__webpack_require__.d(__webpack_exports__,"b",function(){return components}),__webpack_require__.d(__webpack_exports__,"d",function(){return routes});var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(17),component=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.shape)({listen:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,push:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,replace:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,go:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goBack:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goForward:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired}),Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([__WEBPACK_IMPORTED_MODULE_0_prop_types__.func,__WEBPACK_IMPORTED_MODULE_0_prop_types__.string])),components=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([component,__WEBPACK_IMPORTED_MODULE_0_prop_types__.object]),route=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([__WEBPACK_IMPORTED_MODULE_0_prop_types__.object,__WEBPACK_IMPORTED_MODULE_0_prop_types__.element]),routes=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.oneOfType)([route,Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.arrayOf)(route)])},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(46),_helpers=(_interopRequireDefault(_reactDom),__webpack_require__(12),__webpack_require__(1)),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),GridItem=function(_React$Component){function GridItem(props){return _classCallCheck(this,GridItem),_possibleConstructorReturn(this,(GridItem.__proto__||Object.getPrototypeOf(GridItem)).call(this,props))}return _inherits(GridItem,_React$Component),_createClass(GridItem,[{key:"componentDidMount",value:function(){this.props.onMount&&this.props.onMount()}},{key:"handleClick",value:function(e){this.props.onClick&&"a"!==e.target.tagName.toLowerCase()&&(helpers.scrollTo(),this.props.onClick(e))}},{key:"handleContextMenu",value:function(e){this.props.onContextMenu&&this.props.onContextMenu(e)}},{key:"shouldComponentUpdate",value:function(nextProps,nextState){return nextProps.item!=this.props.item}},{key:"renderSecondary",value:function(item){switch(helpers.uriType(item.uri)){case"playlist":if(item.tracks_total)return _react2.default.createElement("span",null,item.tracks_total," tracks");break;case"artist":return _react2.default.createElement("span",null,void 0!==item.followers?item.followers.toLocaleString()+" followers":null,void 0!==item.albums_uris?item.albums_uris.length+" albums":null);case"album":return _react2.default.createElement("span",null,void 0!==item.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:item.artists}):null);default:return _react2.default.createElement("span",null,void 0!==item.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:item.artists}):null,void 0!==item.followers?item.followers.toLocaleString()+" followers":null)}return""}},{key:"render",value:function(){var _this2=this;if(!this.props.item)return null;var item=this.props.item;void 0!==item.album&&(item.album.added_at=item.added_at,item=item.album);var images=null;return this.props.item.images?images=Array.isArray(this.props.item.images)?this.props.item.images[0]:this.props.item.images:this.props.item.icons&&(images=this.props.item.icons),_react2.default.createElement("div",{className:"grid-item "+this.props.type+"-grid-item",onClick:function(e){return _this2.handleClick(e)},onContextMenu:function(e){return _this2.handleContextMenu(e)}},_react2.default.createElement(_Thumbnail2.default,{size:"medium",images:images}),_react2.default.createElement("div",{className:"name"},item.name?item.name:_react2.default.createElement("span",{className:"opaque-text"},item.uri)),_react2.default.createElement("div",{className:"secondary"},this.props.show_source_icon?_react2.default.createElement(_Icon2.default,{name:helpers.sourceIcon(item.uri),type:"fontawesome",className:"source"}):null,this.renderSecondary(item)))}}]),GridItem}(_react2.default.Component);exports.default=GridItem},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_helpers=(_interopRequireDefault(_Link),__webpack_require__(1)),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions2),FollowButton=function(_React$Component){function FollowButton(props){return _classCallCheck(this,FollowButton),_possibleConstructorReturn(this,(FollowButton.__proto__||Object.getPrototypeOf(FollowButton)).call(this,props))}return _inherits(FollowButton,_React$Component),_createClass(FollowButton,[{key:"remove",value:function(){this.props.spotifyActions.following(this.props.uri,"DELETE")}},{key:"add",value:function(){this.props.spotifyActions.following(this.props.uri,"PUT")}},{key:"render",value:function(){var _this2=this;if(!this.props.uri)return!1;var className="";return this.props.className&&(className+=" "+this.props.className),this.props.spotify_authorized?!0===this.props.is_following?_react2.default.createElement("button",{className:className+" destructive",onClick:function(e){return _this2.remove()}},this.props.removeText):_react2.default.createElement("button",{className:className,onClick:function(e){return _this2.add()}},this.props.addText):_react2.default.createElement("button",{className:className+" disabled",onClick:function(e){return _this2.props.uiActions.createNotification({content:"You must authorize Spotify first",type:"warning"})}},this.props.addText)}}]),FollowButton}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,spotify_authorized:state.spotify.authorization}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(FollowButton)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_GridItem=__webpack_require__(41),_GridItem2=_interopRequireDefault(_GridItem),AlbumGrid=function(_React$Component){function AlbumGrid(props){return _classCallCheck(this,AlbumGrid),_possibleConstructorReturn(this,(AlbumGrid.__proto__||Object.getPrototypeOf(AlbumGrid)).call(this,props))}return _inherits(AlbumGrid,_React$Component),_createClass(AlbumGrid,[{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"album",uris:[item.uri],items:[item],tracklist_uri:item.uri};this.props.uiActions.showContextMenu(data)}},{key:"render",value:function(){var _this2=this;if(this.props.albums){var className="grid album-grid";return this.props.className&&(className+=" "+this.props.className),this.props.single_row&&(className+=" single-row"),_react2.default.createElement("div",{className:className},this.props.albums.map(function(item){var album=helpers.collate(item,{artists:_this2.props.artists});return _react2.default.createElement(_GridItem2.default,{key:album.uri,type:"album",item:album,show_source_icon:_this2.props.show_source_icon,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"album/"+encodeURIComponent(album.uri))},onContextMenu:function(e){return _this2.handleContextMenu(e,album)}})}))}return null}}]),AlbumGrid}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{artists:state.core.artists}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AlbumGrid)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_GridItem=__webpack_require__(41),_GridItem2=_interopRequireDefault(_GridItem),PlaylistGrid=function(_React$Component){function PlaylistGrid(props){return _classCallCheck(this,PlaylistGrid),_possibleConstructorReturn(this,(PlaylistGrid.__proto__||Object.getPrototypeOf(PlaylistGrid)).call(this,props))}return _inherits(PlaylistGrid,_React$Component),_createClass(PlaylistGrid,[{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"playlist",uris:[item.uri],items:[item],tracklist_uri:item.uri};this.props.uiActions.showContextMenu(data)}},{key:"render",value:function(){var _this2=this;if(!this.props.playlists)return null;var className="grid playlist-grid";return this.props.className&&(className+=" "+this.props.className),this.props.single_row&&(className+=" single-row"),_react2.default.createElement("div",{className:className},this.props.playlists.map(function(playlist){return _react2.default.createElement(_GridItem2.default,{key:playlist.uri,type:"playlist",item:playlist,show_source_icon:_this2.props.show_source_icon,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(playlist.uri))},onContextMenu:function(e){return _this2.handleContextMenu(e,playlist)}})}))}}]),PlaylistGrid}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(PlaylistGrid)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function toObject(val){if(null===val||void 0===val)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(val)}/*
|
||
object-assign
|
||
(c) Sindre Sorhus
|
||
@license MIT
|
||
*/
|
||
var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=function(){try{if(!Object.assign)return!1;var test1=new String("abc");if(test1[5]="de","5"===Object.getOwnPropertyNames(test1)[0])return!1;for(var test2={},i=0;i<10;i++)test2["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(test2).map(function(n){return test2[n]}).join(""))return!1;var test3={};return"abcdefghijklmnopqrst".split("").forEach(function(letter){test3[letter]=letter}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},test3)).join("")}catch(err){return!1}}()?Object.assign:function(target,source){for(var from,symbols,to=toObject(target),s=1;s<arguments.length;s++){from=Object(arguments[s]);for(var key in from)hasOwnProperty.call(from,key)&&(to[key]=from[key]);if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++)propIsEnumerable.call(from,symbols[i])&&(to[symbols[i]]=from[symbols[i]])}}return to}},function(module,exports,__webpack_require__){"use strict";function checkDCE(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(err){console.error(err)}}checkDCE(),module.exports=__webpack_require__(110)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.PUSH="PUSH",exports.REPLACE="REPLACE",exports.POP="POP"},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.addEventListener=function(node,event,listener){return node.addEventListener?node.addEventListener(event,listener,!1):node.attachEvent("on"+event,listener)},exports.removeEventListener=function(node,event,listener){return node.removeEventListener?node.removeEventListener(event,listener,!1):node.detachEvent("on"+event,listener)},exports.supportsHistory=function(){var ua=window.navigator.userAgent;return(-1===ua.indexOf("Android 2.")&&-1===ua.indexOf("Android 4.0")||-1===ua.indexOf("Mobile Safari")||-1!==ua.indexOf("Chrome")||-1!==ua.indexOf("Windows Phone"))&&(window.history&&"pushState"in window.history)},exports.supportsGoWithoutReloadUsingHash=function(){return-1===window.navigator.userAgent.indexOf("Firefox")},exports.supportsPopstateOnHashchange=function(){return-1===window.navigator.userAgent.indexOf("Trident")},exports.isExtraneousPopstateEvent=function(event){return void 0===event.state&&-1===navigator.userAgent.indexOf("CriOS")}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _captialize=__webpack_require__(310);Object.defineProperty(exports,"captialize",{enumerable:!0,get:function(){return _interopRequireDefault(_captialize).default}});var _clamp=__webpack_require__(311);Object.defineProperty(exports,"clamp",{enumerable:!0,get:function(){return _interopRequireDefault(_clamp).default}});var _distanceTo=__webpack_require__(312);Object.defineProperty(exports,"distanceTo",{enumerable:!0,get:function(){return _interopRequireDefault(_distanceTo).default}});var _isDefined=__webpack_require__(313);Object.defineProperty(exports,"isDefined",{enumerable:!0,get:function(){return _interopRequireDefault(_isDefined).default}});var _isNumber=__webpack_require__(314);Object.defineProperty(exports,"isNumber",{enumerable:!0,get:function(){return _interopRequireDefault(_isNumber).default}});var _isObject=__webpack_require__(315);Object.defineProperty(exports,"isObject",{enumerable:!0,get:function(){return _interopRequireDefault(_isObject).default}});var _length=__webpack_require__(316);Object.defineProperty(exports,"length",{enumerable:!0,get:function(){return _interopRequireDefault(_length).default}})},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Dater=__webpack_require__(31),_Dater2=_interopRequireDefault(_Dater),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_ContextMenuTrigger=__webpack_require__(25),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Popularity=__webpack_require__(64),_Popularity2=_interopRequireDefault(_Popularity),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),List=function(_React$Component){function List(props){return _classCallCheck(this,List),_possibleConstructorReturn(this,(List.__proto__||Object.getPrototypeOf(List)).call(this,props))}return _inherits(List,_React$Component),_createClass(List,[{key:"handleClick",value:function(e,uri){"a"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),_reactRouter.hashHistory.push((this.props.link_prefix?this.props.link_prefix:"")+encodeURIComponent(uri)),helpers.scrollTo())}},{key:"handleMouseDown",value:function(e,uri){"a"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),_reactRouter.hashHistory.push((this.props.link_prefix?this.props.link_prefix:"")+encodeURIComponent(uri)),helpers.scrollTo())}},{key:"handleContextMenu",value:function(e,item){this.props.handleContextMenu&&(e.preventDefault(),this.props.handleContextMenu(e,item))}},{key:"renderValue",value:function(row,key_string){for(var key=key_string.split("."),value=row,i=0;i<key.length;i++){if(void 0===value[key[i]])return null;if("string"==typeof value[key[i]]&&""==value[key[i]].replace(" ",""))return null;value=value[key[i]]}return"tracks_total"===key_string||"tracks_uris.length"===key_string?_react2.default.createElement("span",null,value," tracks"):"followers"===key_string?_react2.default.createElement("span",null,value.toLocaleString()," followers"):"added_at"===key_string?_react2.default.createElement("span",null,"Added ",_react2.default.createElement(_Dater2.default,{type:"ago",data:value})," ago"):"owner"===key_string?_react2.default.createElement(_URILink2.default,{type:"user",uri:value.uri},value.id):"popularity"===key_string?_react2.default.createElement(_Popularity2.default,{full:!0,popularity:value}):"artists"===key[0]?_react2.default.createElement(_ArtistSentence2.default,{artists:value}):!0===value?_react2.default.createElement(_Icon2.default,{name:"check"}):"number"==typeof value?_react2.default.createElement("span",null,value.toLocaleString()):_react2.default.createElement("span",null,value)}},{key:"render",value:function(){var _this2=this;if(!this.props.rows)return null;var className="list";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},this.props.rows.map(function(row,row_index){var class_name="list__item";return row.type&&(class_name+=" list__item--"+row.type),_this2.props.middle_column&&(class_name+=" list__item--has-middle-column"),_this2.props.thumbnail&&(class_name+=" list__item--has-thumbnail"),_this2.props.details&&(class_name+=" list__item--has-details"),_react2.default.createElement("div",{className:class_name,key:row_index,onClick:function(e){return _this2.handleClick(e,row.uri)},onContextMenu:function(e){return _this2.handleContextMenu(e,row)}},_react2.default.createElement("div",{className:"list__item__column list__item__column--right"},_this2.props.right_column?_this2.props.right_column.map(function(item,index){return _react2.default.createElement("span",{className:"list__item__column__item list__item__column__item--"+item.replace(".","_"),key:index},_this2.renderValue(row,item))}):null,_this2.props.nocontext?null:_react2.default.createElement(_ContextMenuTrigger2.default,{className:"list__item__column__item list__item__column__item--context-menu-trigger subtle",onTrigger:function(e){return _this2.handleContextMenu(e,row)}})),_react2.default.createElement("div",{className:"list__item__column list__item__column--name"},_this2.props.thumbnail?_react2.default.createElement(_Thumbnail2.default,{className:"list__item__column__item list__item__column__item--thumbnail",images:row.images?row.images:null,size:"small"}):null,_react2.default.createElement("div",{className:"list__item__column__item list__item__column__item--name"},_this2.renderValue(row,"name")),_this2.props.details?_react2.default.createElement("ul",{className:"list__item__column__item list__item__column__item--details details"},_this2.props.details.map(function(item,index){var value=_this2.renderValue(row,item);return value?_react2.default.createElement("li",{className:"details__item details__item--"+item.replace(".","_"),key:index},value):null})):null),_this2.props.middle_column?_react2.default.createElement("div",{className:"list__item__column list__item__column--middle"},_this2.props.middle_column?_this2.props.middle_column.map(function(item,index){return _react2.default.createElement("span",{className:"list__item__column__item list__item__column__item--"+item.replace(".","_"),key:index},_this2.renderValue(row,item))}):null):null)}))}}]),List}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(List)},function(module,__webpack_exports__,__webpack_require__){"use strict";function warning(message){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(message);try{throw new Error(message)}catch(e){}}__webpack_exports__.a=warning},function(module,__webpack_exports__,__webpack_require__){"use strict";function loopAsync(turns,work,callback){function done(){if(isDone=!0,sync)return void(doneArgs=[].concat(Array.prototype.slice.call(arguments)));callback.apply(this,arguments)}function next(){if(!isDone&&(hasNext=!0,!sync)){for(sync=!0;!isDone&¤tTurn<turns&&hasNext;)hasNext=!1,work.call(this,currentTurn++,next,done);if(sync=!1,isDone)return void callback.apply(this,doneArgs);currentTurn>=turns&&hasNext&&(isDone=!0,callback())}}var currentTurn=0,isDone=!1,sync=!1,hasNext=!1,doneArgs=void 0;next()}function mapAsync(array,work,callback){function done(index,error,value){isDone||(error?(isDone=!0,callback(error)):(values[index]=value,(isDone=++doneCount===length)&&callback(null,values)))}var length=array.length,values=[];if(0===length)return callback(null,values);var isDone=!1,doneCount=0;array.forEach(function(item,index){work(item,index,function(error,value){done(index,error,value)})})}__webpack_exports__.a=loopAsync,__webpack_exports__.b=mapAsync},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(18),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),__WEBPACK_IMPORTED_MODULE_1_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__),__WEBPACK_IMPORTED_MODULE_2_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_2_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_create_react_class__),__WEBPACK_IMPORTED_MODULE_3_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_4__getRouteParams__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__),__webpack_require__(166)),__WEBPACK_IMPORTED_MODULE_5__ContextUtils__=__webpack_require__(54),__WEBPACK_IMPORTED_MODULE_6__RouteUtils__=__webpack_require__(29),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},RouterContext=__WEBPACK_IMPORTED_MODULE_2_create_react_class___default()({displayName:"RouterContext",mixins:[Object(__WEBPACK_IMPORTED_MODULE_5__ContextUtils__.a)("router")],propTypes:{router:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired,location:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired,routes:__WEBPACK_IMPORTED_MODULE_3_prop_types__.array.isRequired,params:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired,components:__WEBPACK_IMPORTED_MODULE_3_prop_types__.array.isRequired,createElement:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func.isRequired},getDefaultProps:function(){return{createElement:__WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement}},childContextTypes:{router:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object.isRequired},getChildContext:function(){return{router:this.props.router}},createElement:function(component,props){return null==component?null:this.props.createElement(component,props)},render:function(){var _this=this,_props=this.props,location=_props.location,routes=_props.routes,params=_props.params,components=_props.components,router=_props.router,element=null;return components&&(element=components.reduceRight(function(element,components,index){if(null==components)return element;var route=routes[index],routeParams=Object(__WEBPACK_IMPORTED_MODULE_4__getRouteParams__.a)(route,params),props={location:location,params:params,route:route,router:router,routeParams:routeParams,routes:routes};if(Object(__WEBPACK_IMPORTED_MODULE_6__RouteUtils__.c)(element))props.children=element;else if(element)for(var prop in element)Object.prototype.hasOwnProperty.call(element,prop)&&(props[prop]=element[prop]);if("object"===(void 0===components?"undefined":_typeof(components))){var elements={};for(var key in components)Object.prototype.hasOwnProperty.call(components,key)&&(elements[key]=_this.createElement(components[key],_extends({key:key},props)));return elements}return _this.createElement(components,props)},element)),null===element||!1===element||__WEBPACK_IMPORTED_MODULE_1_react___default.a.isValidElement(element)||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),element}});__webpack_exports__.a=RouterContext},function(module,__webpack_exports__,__webpack_require__){"use strict";function makeContextName(name){return"@@contextSubscriber/"+name}function ContextProvider(name){var _childContextTypes,_ref2,contextName=makeContextName(name),listenersKey=contextName+"/listeners",eventIndexKey=contextName+"/eventIndex",subscribeKey=contextName+"/subscribe";return _ref2={childContextTypes:(_childContextTypes={},_childContextTypes[contextName]=contextProviderShape.isRequired,_childContextTypes),getChildContext:function(){var _ref;return _ref={},_ref[contextName]={eventIndex:this[eventIndexKey],subscribe:this[subscribeKey]},_ref},componentWillMount:function(){this[listenersKey]=[],this[eventIndexKey]=0},componentWillReceiveProps:function(){this[eventIndexKey]++},componentDidUpdate:function(){var _this=this;this[listenersKey].forEach(function(listener){return listener(_this[eventIndexKey])})}},_ref2[subscribeKey]=function(listener){var _this2=this;return this[listenersKey].push(listener),function(){_this2[listenersKey]=_this2[listenersKey].filter(function(item){return item!==listener})}},_ref2}function ContextSubscriber(name){var _contextTypes,_ref4,contextName=makeContextName(name),lastRenderedEventIndexKey=contextName+"/lastRenderedEventIndex",handleContextUpdateKey=contextName+"/handleContextUpdate",unsubscribeKey=contextName+"/unsubscribe";return _ref4={contextTypes:(_contextTypes={},_contextTypes[contextName]=contextProviderShape,_contextTypes),getInitialState:function(){var _ref3;return this.context[contextName]?(_ref3={},_ref3[lastRenderedEventIndexKey]=this.context[contextName].eventIndex,_ref3):{}},componentDidMount:function(){this.context[contextName]&&(this[unsubscribeKey]=this.context[contextName].subscribe(this[handleContextUpdateKey]))},componentWillReceiveProps:function(){var _setState;this.context[contextName]&&this.setState((_setState={},_setState[lastRenderedEventIndexKey]=this.context[contextName].eventIndex,_setState))},componentWillUnmount:function(){this[unsubscribeKey]&&(this[unsubscribeKey](),this[unsubscribeKey]=null)}},_ref4[handleContextUpdateKey]=function(eventIndex){if(eventIndex!==this.state[lastRenderedEventIndexKey]){var _setState2;this.setState((_setState2={},_setState2[lastRenderedEventIndexKey]=eventIndex,_setState2))}},_ref4}__webpack_exports__.a=ContextProvider,__webpack_exports__.b=ContextSubscriber;var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_0_prop_types___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),contextProviderShape=__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({subscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,eventIndex:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.number.isRequired})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",function(){return routerShape}),__webpack_require__.d(__webpack_exports__,"a",function(){return locationShape});var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(17),routerShape=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.shape)({push:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,replace:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,go:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goBack:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,goForward:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,setRouteLeaveHook:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired,isActive:__WEBPACK_IMPORTED_MODULE_0_prop_types__.func.isRequired})),locationShape=Object(__WEBPACK_IMPORTED_MODULE_0_prop_types__.shape)({pathname:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string.isRequired,search:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string.isRequired,state:__WEBPACK_IMPORTED_MODULE_0_prop_types__.object,action:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string.isRequired,key:__WEBPACK_IMPORTED_MODULE_0_prop_types__.string})},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _warning=__webpack_require__(28),runTransitionHook=(function(obj){obj&&obj.__esModule}(_warning),function(hook,location,callback){var result=hook(location,callback);hook.length<2&&callback(result)});exports.default=runTransitionHook},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _AsyncUtils=__webpack_require__(176),_PathUtils=__webpack_require__(30),_runTransitionHook=__webpack_require__(56),_runTransitionHook2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_runTransitionHook),_Actions=__webpack_require__(47),_LocationUtils=__webpack_require__(36),createHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},getCurrentLocation=options.getCurrentLocation,getUserConfirmation=options.getUserConfirmation,pushLocation=options.pushLocation,replaceLocation=options.replaceLocation,go=options.go,keyLength=options.keyLength,currentLocation=void 0,pendingLocation=void 0,beforeListeners=[],listeners=[],allKeys=[],getCurrentIndex=function(){return pendingLocation&&pendingLocation.action===_Actions.POP?allKeys.indexOf(pendingLocation.key):currentLocation?allKeys.indexOf(currentLocation.key):-1},updateLocation=function(nextLocation){var currentIndex=getCurrentIndex();currentLocation=nextLocation,currentLocation.action===_Actions.PUSH?allKeys=[].concat(allKeys.slice(0,currentIndex+1),[currentLocation.key]):currentLocation.action===_Actions.REPLACE&&(allKeys[currentIndex]=currentLocation.key),listeners.forEach(function(listener){return listener(currentLocation)})},listenBefore=function(listener){return beforeListeners.push(listener),function(){return beforeListeners=beforeListeners.filter(function(item){return item!==listener})}},listen=function(listener){return listeners.push(listener),function(){return listeners=listeners.filter(function(item){return item!==listener})}},confirmTransitionTo=function(location,callback){(0,_AsyncUtils.loopAsync)(beforeListeners.length,function(index,next,done){(0,_runTransitionHook2.default)(beforeListeners[index],location,function(result){return null!=result?done(result):next()})},function(message){getUserConfirmation&&"string"==typeof message?getUserConfirmation(message,function(ok){return callback(!1!==ok)}):callback(!1!==message)})},transitionTo=function(nextLocation){currentLocation&&(0,_LocationUtils.locationsAreEqual)(currentLocation,nextLocation)||pendingLocation&&(0,_LocationUtils.locationsAreEqual)(pendingLocation,nextLocation)||(pendingLocation=nextLocation,confirmTransitionTo(nextLocation,function(ok){if(pendingLocation===nextLocation)if(pendingLocation=null,ok){if(nextLocation.action===_Actions.PUSH){var prevPath=(0,_PathUtils.createPath)(currentLocation),nextPath=(0,_PathUtils.createPath)(nextLocation);nextPath===prevPath&&(0,_LocationUtils.statesAreEqual)(currentLocation.state,nextLocation.state)&&(nextLocation.action=_Actions.REPLACE)}nextLocation.action===_Actions.POP?updateLocation(nextLocation):nextLocation.action===_Actions.PUSH?!1!==pushLocation(nextLocation)&&updateLocation(nextLocation):nextLocation.action===_Actions.REPLACE&&!1!==replaceLocation(nextLocation)&&updateLocation(nextLocation)}else if(currentLocation&&nextLocation.action===_Actions.POP){var prevIndex=allKeys.indexOf(currentLocation.key),nextIndex=allKeys.indexOf(nextLocation.key);-1!==prevIndex&&-1!==nextIndex&&go(prevIndex-nextIndex)}}))},push=function(input){return transitionTo(createLocation(input,_Actions.PUSH))},replace=function(input){return transitionTo(createLocation(input,_Actions.REPLACE))},goBack=function(){return go(-1)},goForward=function(){return go(1)},createKey=function(){return Math.random().toString(36).substr(2,keyLength||6)},createHref=function(location){return(0,_PathUtils.createPath)(location)},createLocation=function(location,action){var key=arguments.length>2&&void 0!==arguments[2]?arguments[2]:createKey();return(0,_LocationUtils.createLocation)(location,action,key)};return{getCurrentLocation:getCurrentLocation,listenBefore:listenBefore,listen:listen,transitionTo:transitionTo,push:push,replace:replace,go:go,goBack:goBack,goForward:goForward,createKey:createKey,createPath:_PathUtils.createPath,createHref:createHref,createLocation:createLocation}};exports.default=createHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.go=exports.replaceLocation=exports.pushLocation=exports.startListener=exports.getUserConfirmation=exports.getCurrentLocation=void 0;var _LocationUtils=__webpack_require__(36),_DOMUtils=__webpack_require__(48),_DOMStateStorage=__webpack_require__(90),_PathUtils=__webpack_require__(30),_ExecutionEnvironment=__webpack_require__(58),needsHashchangeListener=_ExecutionEnvironment.canUseDOM&&!(0,_DOMUtils.supportsPopstateOnHashchange)(),_createLocation=function(historyState){var key=historyState&&historyState.key;return(0,_LocationUtils.createLocation)({pathname:window.location.pathname,search:window.location.search,hash:window.location.hash,state:key?(0,_DOMStateStorage.readState)(key):void 0},void 0,key)},getCurrentLocation=exports.getCurrentLocation=function(){var historyState=void 0;try{historyState=window.history.state||{}}catch(error){historyState={}}return _createLocation(historyState)},updateLocation=(exports.getUserConfirmation=function(message,callback){return callback(window.confirm(message))},exports.startListener=function(listener){var handlePopState=function(event){(0,_DOMUtils.isExtraneousPopstateEvent)(event)||listener(_createLocation(event.state))};(0,_DOMUtils.addEventListener)(window,"popstate",handlePopState);var handleUnpoppedHashChange=function(){return listener(getCurrentLocation())};return needsHashchangeListener&&(0,_DOMUtils.addEventListener)(window,"hashchange",handleUnpoppedHashChange),function(){(0,_DOMUtils.removeEventListener)(window,"popstate",handlePopState),needsHashchangeListener&&(0,_DOMUtils.removeEventListener)(window,"hashchange",handleUnpoppedHashChange)}},function(location,updateState){var state=location.state,key=location.key;void 0!==state&&(0,_DOMStateStorage.saveState)(key,state),updateState({key:key},(0,_PathUtils.createPath)(location))});exports.pushLocation=function(location){return updateLocation(location,function(state,path){return window.history.pushState(state,null,path)})},exports.replaceLocation=function(location){return updateLocation(location,function(state,path){return window.history.replaceState(state,null,path)})},exports.go=function(n){n&&window.history.go(n)}},function(module,exports,__webpack_require__){(function(process){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){var MutationObs,capturedSetTimeout="undefined"!=typeof setTimeout&&setTimeout,setTimer=function(f,ms){return setTimeout(f,ms)},clearTimer=function(t){return clearTimeout(t)},asap=function(f){return capturedSetTimeout(f,0)};if(function(){return void 0!==process&&"[object process]"===Object.prototype.toString.call(process)}())asap=function(f){return process.nextTick(f)};else if(MutationObs=function(){return"undefined"!=typeof MutationObserver&&MutationObserver||"undefined"!=typeof WebKitMutationObserver&&WebKitMutationObserver}())asap=function(MutationObserver){function run(){var f=scheduled;scheduled=void 0,f()}var scheduled,node=document.createTextNode("");new MutationObserver(run).observe(node,{characterData:!0});var i=0;return function(f){scheduled=f,node.data=i^=1}}(MutationObs);else if(!capturedSetTimeout){var vertx=__webpack_require__(210);setTimer=function(f,ms){return vertx.setTimer(ms,f)},clearTimer=vertx.cancelTimer,asap=vertx.runOnLoop||vertx.runOnContext}return{setTimer:setTimer,clearTimer:clearTimer,asap:asap}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))}).call(exports,__webpack_require__(92))},function(module,exports,__webpack_require__){"use strict";function set(data){return{type:"GOOGLE_SET",data:data}}function getLibraryArtists(){return{type:"GOOGLE_GET_LIBRARY_ARTISTS"}}function clearLibraryArtists(){return{type:"GOOGLE_CLEAR_LIBRARY_ARTISTS"}}function getLibraryAlbums(){return{type:"GOOGLE_GET_LIBRARY_ALBUMS"}}function clearLibraryAlbums(){return{type:"GOOGLE_CLEAR_LIBRARY_ALBUMS"}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=set,exports.getLibraryArtists=getLibraryArtists,exports.clearLibraryArtists=clearLibraryArtists,exports.getLibraryAlbums=getLibraryAlbums,exports.clearLibraryAlbums=clearLibraryAlbums},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),VolumeControl=function(_React$Component){function VolumeControl(props){_classCallCheck(this,VolumeControl);var _this=_possibleConstructorReturn(this,(VolumeControl.__proto__||Object.getPrototypeOf(VolumeControl)).call(this,props));return _this.handleChange=helpers.throttle(_this.handleChange.bind(_this),100),_this}return _inherits(VolumeControl,_React$Component),_createClass(VolumeControl,[{key:"handleChange",value:function(value){this.props.onVolumeChange(value,this.props.volume)}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("div",{className:"slider__wrapper "+(this.props.className?this.props.className:"")},_react2.default.createElement("div",{className:"slider slider--volume "+(this.props.mute?"slider--muted":"")},_react2.default.createElement("input",{className:"slider__input",type:"range",min:"0",max:"25",value:this.props.volume/4,onChange:function(e){return _this2.handleChange(4*parseInt(e.target.value))}}),_react2.default.createElement("div",{className:"slider__track"},_react2.default.createElement("div",{className:"slider__track__progress",style:{width:this.props.volume+"%"}}))))}}]),VolumeControl}(_react2.default.Component);exports.default=VolumeControl},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),MuteControl=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),function(_React$Component){function MuteControl(props){return _classCallCheck(this,MuteControl),_possibleConstructorReturn(this,(MuteControl.__proto__||Object.getPrototypeOf(MuteControl)).call(this,props))}return _inherits(MuteControl,_React$Component),_createClass(MuteControl,[{key:"render",value:function(){var _this2=this;return this.props.mute?_react2.default.createElement("a",{className:"control mute-control "+(this.props.noTooltip?"":"tooltip ")+(this.props.className?this.props.className:""),onClick:function(){return _this2.props.onMuteChange(!1)}},_react2.default.createElement(_Icon2.default,{className:"red-text",name:"volume_off"}),this.props.noTooltip?null:_react2.default.createElement("span",{className:"tooltip__content"},"Unmute")):_react2.default.createElement("a",{className:"control mute-control "+(this.props.noTooltip?"":"tooltip ")+(this.props.className?this.props.className:""),onClick:function(){return _this2.props.onMuteChange(!0)}},_react2.default.createElement(_Icon2.default,{className:"muted",name:"volume_mute"}),this.props.noTooltip?null:_react2.default.createElement("span",{className:"tooltip__content"},"Mute"))}}]),MuteControl}(_react2.default.Component));exports.default=MuteControl},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),Popularity=(function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers),function(_React$Component){function Popularity(props){return _classCallCheck(this,Popularity),_possibleConstructorReturn(this,(Popularity.__proto__||Object.getPrototypeOf(Popularity)).call(this,props))}return _inherits(Popularity,_React$Component),_createClass(Popularity,[{key:"render",value:function(){return void 0===this.props.popularity||null===this.props.popularity?null:_react2.default.createElement("span",{className:"popularity"},_react2.default.createElement("span",{className:"popularity-bars"},_react2.default.createElement("span",{className:"bar"+(this.props.popularity>10?" filled":"")}),_react2.default.createElement("span",{className:"bar"+(this.props.popularity>30?" filled":"")}),_react2.default.createElement("span",{className:"bar"+(this.props.popularity>50?" filled":"")}),_react2.default.createElement("span",{className:"bar"+(this.props.popularity>70?" filled":"")}),_react2.default.createElement("span",{className:"bar"+(this.props.popularity>90?" filled":"")})),_react2.default.createElement("span",{className:"popularity-value"},this.props.popularity,"% popularity"))}}]),Popularity}(_react2.default.Component));exports.default=Popularity},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),ErrorBoundary=function(_React$Component){function ErrorBoundary(props){_classCallCheck(this,ErrorBoundary);var _this=_possibleConstructorReturn(this,(ErrorBoundary.__proto__||Object.getPrototypeOf(ErrorBoundary)).call(this,props));return _this.state={hasError:!1,error:null,info:null},_this}return _inherits(ErrorBoundary,_React$Component),_createClass(ErrorBoundary,[{key:"componentDidCatch",value:function(error,info){this.setState({hasError:!0,error:error,info:info}),console.error(error,info)}},{key:"render",value:function(){return this.state.hasError?_react2.default.createElement("div",{className:"error-boundary"},_react2.default.createElement("h4",{className:"error-boundary__title"},_react2.default.createElement("i",{className:"icon icon--material"},"error"),this.state.error?this.state.error.toString():"Unknown error"),this.state.info?_react2.default.createElement("pre",{className:"error-boundary__trace"},this.state.info.componentStack):null):this.props.children}}]),ErrorBoundary}(_react2.default.Component);exports.default=ErrorBoundary},function(module,exports,__webpack_require__){"use strict";function autobind(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return 1===args.length?boundClass.apply(void 0,args):boundMethod.apply(void 0,args)}function boundClass(target){var keys=void 0;return"undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys?keys=Reflect.ownKeys(target.prototype):(keys=Object.getOwnPropertyNames(target.prototype),"function"==typeof Object.getOwnPropertySymbols&&(keys=keys.concat(Object.getOwnPropertySymbols(target.prototype)))),keys.forEach(function(key){if("constructor"!==key){var descriptor=Object.getOwnPropertyDescriptor(target.prototype,key);"function"==typeof descriptor.value&&Object.defineProperty(target.prototype,key,boundMethod(target,key,descriptor))}}),target}function boundMethod(target,key,descriptor){var fn=descriptor.value;if("function"!=typeof fn)throw new Error("@autobind decorator can only be applied to methods not: "+typeof fn);var definingProperty=!1;return{configurable:!0,get:function(){if(definingProperty||this===target.prototype||this.hasOwnProperty(key))return fn;var boundFn=fn.bind(this);return definingProperty=!0,Object.defineProperty(this,key,{value:boundFn,configurable:!0,writable:!0}),definingProperty=!1,boundFn}}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=autobind,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Link=__webpack_require__(8),_Icon=(_interopRequireDefault(_Link),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),FilterField=function(_React$Component){function FilterField(props){_classCallCheck(this,FilterField);var _this=_possibleConstructorReturn(this,(FilterField.__proto__||Object.getPrototypeOf(FilterField)).call(this,props));return _this.state={value:"",active:!!_this.props.slim_mode},_this.handleKeyUp=_this.handleKeyUp.bind(_this),_this}return _inherits(FilterField,_React$Component),_createClass(FilterField,[{key:"componentWillMount",value:function(){window.addEventListener("keyup",this.handleKeyUp,!1),this.setState({value:this.props.initialValue})}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keyup",this.handleKeyUp,!1)}},{key:"handleKeyUp",value:function(e){27!=e.keyCode||this.props.slim_mode||(e.preventDefault(),this.setState({value:"",active:!1}),this.handleChange(""))}},{key:"activate",value:function(){this.setState({active:!0})}},{key:"handleChange",value:function(value){this.setState({value:value,active:!!this.props.slim_mode||""!=value}),this.props.handleChange(value)}},{key:"handleBlur",value:function(){""!=this.state.value||this.props.slim_mode||this.setState({active:!1})}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("span",{className:"filter-field "+(this.state.active?"active":""),onClick:function(e){return _this2.activate()}},_react2.default.createElement("form",null,_react2.default.createElement("input",{type:"text",placeholder:"Filter",value:this.state.value,onFocus:function(e){return _this2.activate()},onBlur:function(e){return _this2.handleBlur()},onChange:function(e){return _this2.handleChange(e.target.value)}}),_react2.default.createElement(_Icon2.default,{name:"search",type:"material"})))}}]),FilterField}(_react2.default.Component);exports.default=FilterField},function(module,exports,__webpack_require__){module.exports=__webpack_require__(121)()},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",function(){return subscriptionShape}),__webpack_require__.d(__webpack_exports__,"a",function(){return storeShape});var __WEBPACK_IMPORTED_MODULE_0_prop_types__=__webpack_require__(68),__WEBPACK_IMPORTED_MODULE_0_prop_types___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__),subscriptionShape=__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({trySubscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,tryUnsubscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,notifyNestedSubs:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,isSubscribed:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired}),storeShape=__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({subscribe:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,dispatch:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,getState:__WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired})},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function noop(){}function makeSelectorStateful(sourceSelector,store){var selector={run:function(props){try{var nextProps=sourceSelector(store.getState(),props);(nextProps!==selector.props||selector.error)&&(selector.shouldComponentUpdate=!0,selector.props=nextProps,selector.error=null)}catch(error){selector.shouldComponentUpdate=!0,selector.error=error}}};return selector}function connectAdvanced(selectorFactory){var _contextTypes,_childContextTypes,_ref=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},_ref$getDisplayName=_ref.getDisplayName,getDisplayName=void 0===_ref$getDisplayName?function(name){return"ConnectAdvanced("+name+")"}:_ref$getDisplayName,_ref$methodName=_ref.methodName,methodName=void 0===_ref$methodName?"connectAdvanced":_ref$methodName,_ref$renderCountProp=_ref.renderCountProp,renderCountProp=void 0===_ref$renderCountProp?void 0:_ref$renderCountProp,_ref$shouldHandleStat=_ref.shouldHandleStateChanges,shouldHandleStateChanges=void 0===_ref$shouldHandleStat||_ref$shouldHandleStat,_ref$storeKey=_ref.storeKey,storeKey=void 0===_ref$storeKey?"store":_ref$storeKey,_ref$withRef=_ref.withRef,withRef=void 0!==_ref$withRef&&_ref$withRef,connectOptions=_objectWithoutProperties(_ref,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef"]),subscriptionKey=storeKey+"Subscription",version=hotReloadingVersion++,contextTypes=(_contextTypes={},_contextTypes[storeKey]=__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__.a,_contextTypes[subscriptionKey]=__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__.b,_contextTypes),childContextTypes=(_childContextTypes={},_childContextTypes[subscriptionKey]=__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__.b,_childContextTypes);return function(WrappedComponent){__WEBPACK_IMPORTED_MODULE_1_invariant___default()("function"==typeof WrappedComponent,"You must pass a component to the function returned by "+methodName+". Instead received "+JSON.stringify(WrappedComponent));var wrappedComponentName=WrappedComponent.displayName||WrappedComponent.name||"Component",displayName=getDisplayName(wrappedComponentName),selectorFactoryOptions=_extends({},connectOptions,{getDisplayName:getDisplayName,methodName:methodName,renderCountProp:renderCountProp,shouldHandleStateChanges:shouldHandleStateChanges,storeKey:storeKey,withRef:withRef,displayName:displayName,wrappedComponentName:wrappedComponentName,WrappedComponent:WrappedComponent}),Connect=function(_Component){function Connect(props,context){_classCallCheck(this,Connect);var _this=_possibleConstructorReturn(this,_Component.call(this,props,context));return _this.version=version,_this.state={},_this.renderCount=0,_this.store=props[storeKey]||context[storeKey],_this.propsMode=Boolean(props[storeKey]),_this.setWrappedInstance=_this.setWrappedInstance.bind(_this),__WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store,'Could not find "'+storeKey+'" in either the context or props of "'+displayName+'". Either wrap the root component in a <Provider>, or explicitly pass "'+storeKey+'" as a prop to "'+displayName+'".'),_this.initSelector(),_this.initSubscription(),_this}return _inherits(Connect,_Component),Connect.prototype.getChildContext=function(){var _ref2,subscription=this.propsMode?null:this.subscription;return _ref2={},_ref2[subscriptionKey]=subscription||this.context[subscriptionKey],_ref2},Connect.prototype.componentDidMount=function(){shouldHandleStateChanges&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},Connect.prototype.componentWillReceiveProps=function(nextProps){this.selector.run(nextProps)},Connect.prototype.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},Connect.prototype.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=noop,this.store=null,this.selector.run=noop,this.selector.shouldComponentUpdate=!1},Connect.prototype.getWrappedInstance=function(){return __WEBPACK_IMPORTED_MODULE_1_invariant___default()(withRef,"To access the wrapped instance, you need to specify { withRef: true } in the options argument of the "+methodName+"() call."),this.wrappedInstance},Connect.prototype.setWrappedInstance=function(ref){this.wrappedInstance=ref},Connect.prototype.initSelector=function(){var sourceSelector=selectorFactory(this.store.dispatch,selectorFactoryOptions);this.selector=makeSelectorStateful(sourceSelector,this.store),this.selector.run(this.props)},Connect.prototype.initSubscription=function(){if(shouldHandleStateChanges){var parentSub=(this.propsMode?this.props:this.context)[subscriptionKey];this.subscription=new __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__.a(this.store,parentSub,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},Connect.prototype.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(dummyState)):this.notifyNestedSubs()},Connect.prototype.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},Connect.prototype.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},Connect.prototype.addExtraProps=function(props){if(!(withRef||renderCountProp||this.propsMode&&this.subscription))return props;var withExtras=_extends({},props);return withRef&&(withExtras.ref=this.setWrappedInstance),renderCountProp&&(withExtras[renderCountProp]=this.renderCount++),this.propsMode&&this.subscription&&(withExtras[subscriptionKey]=this.subscription),withExtras},Connect.prototype.render=function(){var selector=this.selector;if(selector.shouldComponentUpdate=!1,selector.error)throw selector.error;return Object(__WEBPACK_IMPORTED_MODULE_2_react__.createElement)(WrappedComponent,this.addExtraProps(selector.props))},Connect}(__WEBPACK_IMPORTED_MODULE_2_react__.Component);return Connect.WrappedComponent=WrappedComponent,Connect.displayName=displayName,Connect.childContextTypes=childContextTypes,Connect.contextTypes=contextTypes,Connect.propTypes=contextTypes,__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default()(Connect,WrappedComponent)}}__webpack_exports__.a=connectAdvanced;var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__=__webpack_require__(71),__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__),__WEBPACK_IMPORTED_MODULE_1_invariant__=__webpack_require__(18),__WEBPACK_IMPORTED_MODULE_1_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__),__WEBPACK_IMPORTED_MODULE_2_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_3__utils_Subscription__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__),__webpack_require__(123)),__WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__=__webpack_require__(69),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},hotReloadingVersion=0,dummyState={}},function(module,exports,__webpack_require__){"use strict";function hoistNonReactStatics(targetComponent,sourceComponent,blacklist){if("string"!=typeof sourceComponent){if(objectPrototype){var inheritedComponent=getPrototypeOf(sourceComponent);inheritedComponent&&inheritedComponent!==objectPrototype&&hoistNonReactStatics(targetComponent,inheritedComponent,blacklist)}var keys=getOwnPropertyNames(sourceComponent);getOwnPropertySymbols&&(keys=keys.concat(getOwnPropertySymbols(sourceComponent)));for(var i=0;i<keys.length;++i){var key=keys[i];if(!(REACT_STATICS[key]||KNOWN_STATICS[key]||blacklist&&blacklist[key])){var descriptor=getOwnPropertyDescriptor(sourceComponent,key);try{defineProperty(targetComponent,key,descriptor)}catch(e){}}}return targetComponent}return targetComponent}var REACT_STATICS={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},KNOWN_STATICS={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},defineProperty=Object.defineProperty,getOwnPropertyNames=Object.getOwnPropertyNames,getOwnPropertySymbols=Object.getOwnPropertySymbols,getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,getPrototypeOf=Object.getPrototypeOf,objectPrototype=getPrototypeOf&&getPrototypeOf(Object);module.exports=hoistNonReactStatics},function(module,__webpack_exports__,__webpack_require__){"use strict";function createStore(reducer,preloadedState,enhancer){function ensureCanMutateNextListeners(){nextListeners===currentListeners&&(nextListeners=currentListeners.slice())}function getState(){return currentState}function subscribe(listener){if("function"!=typeof listener)throw new Error("Expected listener to be a function.");var isSubscribed=!0;return ensureCanMutateNextListeners(),nextListeners.push(listener),function(){if(isSubscribed){isSubscribed=!1,ensureCanMutateNextListeners();var index=nextListeners.indexOf(listener);nextListeners.splice(index,1)}}}function dispatch(action){if(!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__.a)(action))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===action.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(isDispatching)throw new Error("Reducers may not dispatch actions.");try{isDispatching=!0,currentState=currentReducer(currentState,action)}finally{isDispatching=!1}for(var listeners=currentListeners=nextListeners,i=0;i<listeners.length;i++){(0,listeners[i])()}return action}function replaceReducer(nextReducer){if("function"!=typeof nextReducer)throw new Error("Expected the nextReducer to be a function.");currentReducer=nextReducer,dispatch({type:ActionTypes.INIT})}function observable(){var _ref,outerSubscribe=subscribe;return _ref={subscribe:function(observer){function observeState(){observer.next&&observer.next(getState())}if("object"!=typeof observer)throw new TypeError("Expected the observer to be an object.");return observeState(),{unsubscribe:outerSubscribe(observeState)}}},_ref[__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default.a]=function(){return this},_ref}var _ref2;if("function"==typeof preloadedState&&void 0===enhancer&&(enhancer=preloadedState,preloadedState=void 0),void 0!==enhancer){if("function"!=typeof enhancer)throw new Error("Expected the enhancer to be a function.");return enhancer(createStore)(reducer,preloadedState)}if("function"!=typeof reducer)throw new Error("Expected the reducer to be a function.");var currentReducer=reducer,currentState=preloadedState,currentListeners=[],nextListeners=currentListeners,isDispatching=!1;return dispatch({type:ActionTypes.INIT}),_ref2={dispatch:dispatch,subscribe:subscribe,getState:getState,replaceReducer:replaceReducer},_ref2[__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default.a]=observable,_ref2}__webpack_require__.d(__webpack_exports__,"a",function(){return ActionTypes}),__webpack_exports__.b=createStore;var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__=__webpack_require__(73),__WEBPACK_IMPORTED_MODULE_1_symbol_observable__=__webpack_require__(135),__WEBPACK_IMPORTED_MODULE_1_symbol_observable___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_symbol_observable__),ActionTypes={INIT:"@@redux/INIT"}},function(module,__webpack_exports__,__webpack_require__){"use strict";function isPlainObject(value){if(!Object(__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__.a)(value)||Object(__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__.a)(value)!=objectTag)return!1;var proto=Object(__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__.a)(value);if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}var __WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__=__webpack_require__(127),__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__=__webpack_require__(132),__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__=__webpack_require__(134),objectTag="[object Object]",funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectCtorString=funcToString.call(Object);__webpack_exports__.a=isPlainObject},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__root_js__=__webpack_require__(128),Symbol=__WEBPACK_IMPORTED_MODULE_0__root_js__.a.Symbol;__webpack_exports__.a=Symbol},function(module,__webpack_exports__,__webpack_require__){"use strict"},function(module,__webpack_exports__,__webpack_require__){"use strict";function compose(){for(var _len=arguments.length,funcs=Array(_len),_key=0;_key<_len;_key++)funcs[_key]=arguments[_key];return 0===funcs.length?function(arg){return arg}:1===funcs.length?funcs[0]:funcs.reduce(function(a,b){return function(){return a(b.apply(void 0,arguments))}})}__webpack_exports__.a=compose},function(module,__webpack_exports__,__webpack_require__){"use strict";function wrapMapToPropsConstant(getConstant){return function(dispatch,options){function constantSelector(){return constant}var constant=getConstant(dispatch,options);return constantSelector.dependsOnOwnProps=!1,constantSelector}}function getDependsOnOwnProps(mapToProps){return null!==mapToProps.dependsOnOwnProps&&void 0!==mapToProps.dependsOnOwnProps?Boolean(mapToProps.dependsOnOwnProps):1!==mapToProps.length}function wrapMapToPropsFunc(mapToProps,methodName){return function(dispatch,_ref){var proxy=(_ref.displayName,function(stateOrDispatch,ownProps){return proxy.dependsOnOwnProps?proxy.mapToProps(stateOrDispatch,ownProps):proxy.mapToProps(stateOrDispatch)});return proxy.dependsOnOwnProps=!0,proxy.mapToProps=function(stateOrDispatch,ownProps){proxy.mapToProps=mapToProps,proxy.dependsOnOwnProps=getDependsOnOwnProps(mapToProps);var props=proxy(stateOrDispatch,ownProps);return"function"==typeof props&&(proxy.mapToProps=props,proxy.dependsOnOwnProps=getDependsOnOwnProps(props),props=proxy(stateOrDispatch,ownProps)),props},proxy}}__webpack_exports__.a=wrapMapToPropsConstant,__webpack_exports__.b=wrapMapToPropsFunc;__webpack_require__(78)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(142),__webpack_require__(51)},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__root_js__=__webpack_require__(144),Symbol=__WEBPACK_IMPORTED_MODULE_0__root_js__.a.Symbol;__webpack_exports__.a=Symbol},function(module,exports,__webpack_require__){"use strict";function invariant(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}}var validateFormat=function(format){};module.exports=invariant},function(module,__webpack_exports__,__webpack_require__){"use strict";function hasAnyProperties(object){for(var p in object)if(Object.prototype.hasOwnProperty.call(object,p))return!0;return!1}function createTransitionManager(history,routes){function isActive(location,indexOnly){return location=history.createLocation(location),Object(__WEBPACK_IMPORTED_MODULE_3__isActive__.a)(location,indexOnly,state.location,state.routes,state.params)}function match(location,callback){partialNextState&&partialNextState.location===location?finishMatch(partialNextState,callback):Object(__WEBPACK_IMPORTED_MODULE_5__matchRoutes__.a)(routes,location,function(error,nextState){error?callback(error):nextState?finishMatch(_extends({},nextState,{location:location}),callback):callback()})}function finishMatch(nextState,callback){function finishEnterHooks(error,redirectInfo){if(error||redirectInfo)return handleErrorOrRedirect(error,redirectInfo);Object(__WEBPACK_IMPORTED_MODULE_4__getComponents__.a)(nextState,function(error,components){error?callback(error):callback(null,null,state=_extends({},nextState,{components:components}))})}function handleErrorOrRedirect(error,redirectInfo){error?callback(error):callback(null,redirectInfo)}var _computeChangedRoutes=Object(__WEBPACK_IMPORTED_MODULE_1__computeChangedRoutes__.a)(state,nextState),leaveRoutes=_computeChangedRoutes.leaveRoutes,changeRoutes=_computeChangedRoutes.changeRoutes,enterRoutes=_computeChangedRoutes.enterRoutes;runLeaveHooks(leaveRoutes,state),leaveRoutes.filter(function(route){return-1===enterRoutes.indexOf(route)}).forEach(removeListenBeforeHooksForRoute),runChangeHooks(changeRoutes,state,nextState,function(error,redirectInfo){if(error||redirectInfo)return handleErrorOrRedirect(error,redirectInfo);runEnterHooks(enterRoutes,nextState,finishEnterHooks)})}function getRouteID(route){var create=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return route.__id__||create&&(route.__id__=RouteGuid++)}function getRouteHooksForRoutes(routes){return routes.map(function(route){return RouteHooks[getRouteID(route)]}).filter(function(hook){return hook})}function transitionHook(location,callback){Object(__WEBPACK_IMPORTED_MODULE_5__matchRoutes__.a)(routes,location,function(error,nextState){if(null==nextState)return void callback();partialNextState=_extends({},nextState,{location:location});for(var hooks=getRouteHooksForRoutes(Object(__WEBPACK_IMPORTED_MODULE_1__computeChangedRoutes__.a)(state,partialNextState).leaveRoutes),result=void 0,i=0,len=hooks.length;null==result&&i<len;++i)result=hooks[i](location);callback(result)})}function beforeUnloadHook(){if(state.routes){for(var hooks=getRouteHooksForRoutes(state.routes),message=void 0,i=0,len=hooks.length;"string"!=typeof message&&i<len;++i)message=hooks[i]();return message}}function removeListenBeforeHooksForRoute(route){var routeID=getRouteID(route);routeID&&(delete RouteHooks[routeID],hasAnyProperties(RouteHooks)||(unlistenBefore&&(unlistenBefore(),unlistenBefore=null),unlistenBeforeUnload&&(unlistenBeforeUnload(),unlistenBeforeUnload=null)))}function listenBeforeLeavingRoute(route,hook){var thereWereNoRouteHooks=!hasAnyProperties(RouteHooks),routeID=getRouteID(route,!0);return RouteHooks[routeID]=hook,thereWereNoRouteHooks&&(unlistenBefore=history.listenBefore(transitionHook),history.listenBeforeUnload&&(unlistenBeforeUnload=history.listenBeforeUnload(beforeUnloadHook))),function(){removeListenBeforeHooksForRoute(route)}}function listen(listener){function historyListener(location){state.location===location?listener(null,state):match(location,function(error,redirectLocation,nextState){error?listener(error):redirectLocation?history.replace(redirectLocation):nextState&&listener(null,nextState)})}var unsubscribe=history.listen(historyListener);return state.location?listener(null,state):historyListener(history.getCurrentLocation()),unsubscribe}var state={},_getTransitionUtils=Object(__WEBPACK_IMPORTED_MODULE_2__TransitionUtils__.a)(),runEnterHooks=_getTransitionUtils.runEnterHooks,runChangeHooks=_getTransitionUtils.runChangeHooks,runLeaveHooks=_getTransitionUtils.runLeaveHooks,partialNextState=void 0,RouteGuid=1,RouteHooks=Object.create(null),unlistenBefore=void 0,unlistenBeforeUnload=void 0;return{isActive:isActive,match:match,listenBeforeLeavingRoute:listenBeforeLeavingRoute,listen:listen}}__webpack_exports__.a=createTransitionManager;var __WEBPACK_IMPORTED_MODULE_1__computeChangedRoutes__=(__webpack_require__(34),__webpack_require__(161)),__WEBPACK_IMPORTED_MODULE_2__TransitionUtils__=__webpack_require__(162),__WEBPACK_IMPORTED_MODULE_3__isActive__=__webpack_require__(163),__WEBPACK_IMPORTED_MODULE_4__getComponents__=__webpack_require__(164),__WEBPACK_IMPORTED_MODULE_5__matchRoutes__=__webpack_require__(165),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function isPromise(obj){return obj&&"function"==typeof obj.then}__webpack_exports__.a=isPromise},function(module,__webpack_exports__,__webpack_require__){"use strict";function createRouterObject(history,transitionManager,state){return assignRouterState(_extends({},history,{setRouteLeaveHook:transitionManager.listenBeforeLeavingRoute,isActive:transitionManager.isActive}),state)}function assignRouterState(router,_ref){var location=_ref.location,params=_ref.params,routes=_ref.routes;return router.location=location,router.params=params,router.routes=routes,router}__webpack_exports__.b=createRouterObject,__webpack_exports__.a=assignRouterState;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function isLeftClickEvent(event){return 0===event.button}function isModifiedEvent(event){return!!(event.metaKey||event.altKey||event.ctrlKey||event.shiftKey)}function isEmptyObject(object){for(var p in object)if(Object.prototype.hasOwnProperty.call(object,p))return!1;return!0}function resolveToLocation(to,router){return"function"==typeof to?to(router.location):to}var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__WEBPACK_IMPORTED_MODULE_1_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_1_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_create_react_class__),__WEBPACK_IMPORTED_MODULE_2_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_3_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__),__webpack_require__(18)),__WEBPACK_IMPORTED_MODULE_3_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__),__WEBPACK_IMPORTED_MODULE_4__PropTypes__=__webpack_require__(55),__WEBPACK_IMPORTED_MODULE_5__ContextUtils__=__webpack_require__(54),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},Link=__WEBPACK_IMPORTED_MODULE_1_create_react_class___default()({displayName:"Link",mixins:[Object(__WEBPACK_IMPORTED_MODULE_5__ContextUtils__.b)("router")],contextTypes:{router:__WEBPACK_IMPORTED_MODULE_4__PropTypes__.b},propTypes:{to:Object(__WEBPACK_IMPORTED_MODULE_2_prop_types__.oneOfType)([__WEBPACK_IMPORTED_MODULE_2_prop_types__.string,__WEBPACK_IMPORTED_MODULE_2_prop_types__.object,__WEBPACK_IMPORTED_MODULE_2_prop_types__.func]),activeStyle:__WEBPACK_IMPORTED_MODULE_2_prop_types__.object,activeClassName:__WEBPACK_IMPORTED_MODULE_2_prop_types__.string,onlyActiveOnIndex:__WEBPACK_IMPORTED_MODULE_2_prop_types__.bool.isRequired,onClick:__WEBPACK_IMPORTED_MODULE_2_prop_types__.func,target:__WEBPACK_IMPORTED_MODULE_2_prop_types__.string},getDefaultProps:function(){return{onlyActiveOnIndex:!1,style:{}}},handleClick:function(event){if(this.props.onClick&&this.props.onClick(event),!event.defaultPrevented){var router=this.context.router;router||__WEBPACK_IMPORTED_MODULE_3_invariant___default()(!1),!isModifiedEvent(event)&&isLeftClickEvent(event)&&(this.props.target||(event.preventDefault(),router.push(resolveToLocation(this.props.to,router))))}},render:function(){var _props=this.props,to=_props.to,activeClassName=_props.activeClassName,activeStyle=_props.activeStyle,onlyActiveOnIndex=_props.onlyActiveOnIndex,props=_objectWithoutProperties(_props,["to","activeClassName","activeStyle","onlyActiveOnIndex"]),router=this.context.router;if(router){if(!to)return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("a",props);var toLocation=resolveToLocation(to,router);props.href=router.createHref(toLocation),(activeClassName||null!=activeStyle&&!isEmptyObject(activeStyle))&&router.isActive(toLocation,onlyActiveOnIndex)&&(activeClassName&&(props.className?props.className+=" "+activeClassName:props.className=activeClassName),activeStyle&&(props.style=_extends({},props.style,activeStyle)))}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("a",_extends({},props,{onClick:this.handleClick}))}});__webpack_exports__.a=Link},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_2_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(18)),__WEBPACK_IMPORTED_MODULE_2_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__),__WEBPACK_IMPORTED_MODULE_3__RouteUtils__=__webpack_require__(29),__WEBPACK_IMPORTED_MODULE_4__PatternUtils__=__webpack_require__(35),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(40),Redirect=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"Redirect",statics:{createRouteFromReactElement:function(element){var route=Object(__WEBPACK_IMPORTED_MODULE_3__RouteUtils__.a)(element);return route.from&&(route.path=route.from),route.onEnter=function(nextState,replace){var location=nextState.location,params=nextState.params,pathname=void 0;if("/"===route.to.charAt(0))pathname=Object(__WEBPACK_IMPORTED_MODULE_4__PatternUtils__.a)(route.to,params);else if(route.to){var routeIndex=nextState.routes.indexOf(route),parentPattern=Redirect.getRoutePattern(nextState.routes,routeIndex-1),pattern=parentPattern.replace(/\/*$/,"/")+route.to;pathname=Object(__WEBPACK_IMPORTED_MODULE_4__PatternUtils__.a)(pattern,params)}else pathname=location.pathname;replace({pathname:pathname,query:route.query||location.query,state:route.state||location.state})},route},getRoutePattern:function(routes,routeIndex){for(var parentPattern="",i=routeIndex;i>=0;i--){var route=routes[i],pattern=route.path||"";if(parentPattern=pattern.replace(/\/*$/,"/")+parentPattern,0===pattern.indexOf("/"))break}return"/"+parentPattern}},propTypes:{path:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string,from:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string,to:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string.isRequired,query:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,state:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,onEnter:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c,children:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c},render:function(){__WEBPACK_IMPORTED_MODULE_2_invariant___default()(!1)}});__webpack_exports__.a=Redirect},function(module,__webpack_exports__,__webpack_require__){"use strict";function createMemoryHistory(options){var memoryHistory=__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory___default()(options),createHistory=function(){return memoryHistory};return __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default()(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default()(createHistory))(options)}__webpack_exports__.a=createMemoryHistory;var __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__=__webpack_require__(87),__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__=__webpack_require__(88),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__),__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory__=__webpack_require__(175),__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_history_lib_createMemoryHistory__)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_queryString=__webpack_require__(173),_runTransitionHook=__webpack_require__(56),_runTransitionHook2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_runTransitionHook),_LocationUtils=__webpack_require__(36),_PathUtils=__webpack_require__(30),defaultStringifyQuery=function(query){return(0,_queryString.stringify)(query).replace(/%20/g,"+")},defaultParseQueryString=_queryString.parse,useQueries=function(createHistory){return function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},history=createHistory(options),stringifyQuery=options.stringifyQuery,parseQueryString=options.parseQueryString;"function"!=typeof stringifyQuery&&(stringifyQuery=defaultStringifyQuery),"function"!=typeof parseQueryString&&(parseQueryString=defaultParseQueryString);var decodeQuery=function(location){return location?(null==location.query&&(location.query=parseQueryString(location.search.substring(1))),location):location},encodeQuery=function(location,query){if(null==query)return location;var object="string"==typeof location?(0,_PathUtils.parsePath)(location):location,queryString=stringifyQuery(query);return _extends({},object,{search:queryString?"?"+queryString:""})};return _extends({},history,{getCurrentLocation:function(){return decodeQuery(history.getCurrentLocation())},listenBefore:function(hook){return history.listenBefore(function(location,callback){return(0,_runTransitionHook2.default)(hook,decodeQuery(location),callback)})},listen:function(listener){return history.listen(function(location){return listener(decodeQuery(location))})},push:function(location){return history.push(encodeQuery(location,location.query))},replace:function(location){return history.replace(encodeQuery(location,location.query))},createPath:function(location){return history.createPath(encodeQuery(location,location.query))},createHref:function(location){return history.createHref(encodeQuery(location,location.query))},createLocation:function(location){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];var newLocation=history.createLocation.apply(history,[encodeQuery(location,location.query)].concat(args));return location.query&&(newLocation.query=(0,_LocationUtils.createQuery)(location.query)),decodeQuery(newLocation)}})}};exports.default=useQueries},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_runTransitionHook=__webpack_require__(56),_runTransitionHook2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_runTransitionHook),_PathUtils=__webpack_require__(30),useBasename=function(createHistory){return function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},history=createHistory(options),basename=options.basename,addBasename=function(location){return location?(basename&&null==location.basename&&(0===location.pathname.toLowerCase().indexOf(basename.toLowerCase())?(location.pathname=location.pathname.substring(basename.length),location.basename=basename,""===location.pathname&&(location.pathname="/")):location.basename=""),location):location},prependBasename=function(location){if(!basename)return location;var object="string"==typeof location?(0,_PathUtils.parsePath)(location):location,pname=object.pathname,normalizedBasename="/"===basename.slice(-1)?basename:basename+"/",normalizedPathname="/"===pname.charAt(0)?pname.slice(1):pname;return _extends({},object,{pathname:normalizedBasename+normalizedPathname})};return _extends({},history,{getCurrentLocation:function(){return addBasename(history.getCurrentLocation())},listenBefore:function(hook){return history.listenBefore(function(location,callback){return(0,_runTransitionHook2.default)(hook,addBasename(location),callback)})},listen:function(listener){return history.listen(function(location){return listener(addBasename(location))})},push:function(location){return history.push(prependBasename(location))},replace:function(location){return history.replace(prependBasename(location))},createPath:function(location){return history.createPath(prependBasename(location))},createHref:function(location){return history.createHref(prependBasename(location))},createLocation:function(location){for(var _len=arguments.length,args=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return addBasename(history.createLocation.apply(history,[prependBasename(location)].concat(args)))}})}};exports.default=useBasename},function(module,__webpack_exports__,__webpack_require__){"use strict";function useRouterHistory(createHistory){return function(options){return __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default()(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default()(createHistory))(options)}}__webpack_exports__.a=useRouterHistory;var __WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__=__webpack_require__(87),__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_useQueries__),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__=__webpack_require__(88),__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_history_lib_useBasename__)},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.readState=exports.saveState=void 0;var _warning=__webpack_require__(28),QuotaExceededErrors=(function(obj){obj&&obj.__esModule}(_warning),{QuotaExceededError:!0,QUOTA_EXCEEDED_ERR:!0}),SecurityErrors={SecurityError:!0},createKey=function(key){return"@@History/"+key};exports.saveState=function(key,state){if(window.sessionStorage)try{null==state?window.sessionStorage.removeItem(createKey(key)):window.sessionStorage.setItem(createKey(key),JSON.stringify(state))}catch(error){if(SecurityErrors[error.name])return;if(QuotaExceededErrors[error.name]&&0===window.sessionStorage.length)return;throw error}},exports.readState=function(key){var json=void 0;try{json=window.sessionStorage.getItem(createKey(key))}catch(error){if(SecurityErrors[error.name])return}if(json)try{return JSON.parse(json)}catch(error){}}},function(module,__webpack_exports__,__webpack_require__){"use strict";function createRouterHistory(createHistory){var history=void 0;return canUseDOM&&(history=Object(__WEBPACK_IMPORTED_MODULE_0__useRouterHistory__.a)(createHistory)()),history}__webpack_exports__.a=createRouterHistory;var __WEBPACK_IMPORTED_MODULE_0__useRouterHistory__=__webpack_require__(89),canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},function(module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,runClearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(name){return[]},process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function TimeoutError(message){Error.call(this),this.message=message,this.name=TimeoutError.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,TimeoutError)}return TimeoutError.prototype=Object.create(Error.prototype),TimeoutError.prototype.constructor=TimeoutError,TimeoutError}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function toPendingState(){return{state:"pending"}}function toRejectedState(e){return{state:"rejected",reason:e}}function toFulfilledState(x){return{state:"fulfilled",value:x}}function inspect(handler){var state=handler.state();return 0===state?toPendingState():state>0?toFulfilledState(handler.value):toRejectedState(handler.value)}return{pending:toPendingState,fulfilled:toFulfilledState,rejected:toRejectedState,inspect:inspect}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function makeApply(Promise,call){function apply(f,thisArg,args){var p=Promise._defer(),l=args.length;return callAndResolve({f:f,thisArg:thisArg,args:args,params:new Array(l),i:l-1,call:call},p._handler),p}function callAndResolve(c,h){if(c.i<0)return call(c.f,c.thisArg,c.params,h);Promise._handler(c.args[c.i]).fold(callAndResolveNext,c,void 0,h)}function callAndResolveNext(c,x,h){c.params[c.i]=x,c.i-=1,callAndResolve(c,h)}return arguments.length<2&&(call=tryCatchResolve),apply}function tryCatchResolve(f,thisArg,args,resolver){try{resolver.resolve(f.apply(thisArg,args))}catch(e){resolver.reject(e)}}return makeApply.tryCatchResolve=tryCatchResolve,makeApply}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){!function(){var crypt=__webpack_require__(223),utf8=__webpack_require__(97).utf8,isBuffer=__webpack_require__(224),bin=__webpack_require__(97).bin,md5=function(message,options){message.constructor==String?message=options&&"binary"===options.encoding?bin.stringToBytes(message):utf8.stringToBytes(message):isBuffer(message)?message=Array.prototype.slice.call(message,0):Array.isArray(message)||(message=message.toString());for(var m=crypt.bytesToWords(message),l=8*message.length,a=1732584193,b=-271733879,c=-1732584194,d=271733878,i=0;i<m.length;i++)m[i]=16711935&(m[i]<<8|m[i]>>>24)|4278255360&(m[i]<<24|m[i]>>>8);m[l>>>5]|=128<<l%32,m[14+(l+64>>>9<<4)]=l;for(var FF=md5._ff,GG=md5._gg,HH=md5._hh,II=md5._ii,i=0;i<m.length;i+=16){var aa=a,bb=b,cc=c,dd=d;a=FF(a,b,c,d,m[i+0],7,-680876936),d=FF(d,a,b,c,m[i+1],12,-389564586),c=FF(c,d,a,b,m[i+2],17,606105819),b=FF(b,c,d,a,m[i+3],22,-1044525330),a=FF(a,b,c,d,m[i+4],7,-176418897),d=FF(d,a,b,c,m[i+5],12,1200080426),c=FF(c,d,a,b,m[i+6],17,-1473231341),b=FF(b,c,d,a,m[i+7],22,-45705983),a=FF(a,b,c,d,m[i+8],7,1770035416),d=FF(d,a,b,c,m[i+9],12,-1958414417),c=FF(c,d,a,b,m[i+10],17,-42063),b=FF(b,c,d,a,m[i+11],22,-1990404162),a=FF(a,b,c,d,m[i+12],7,1804603682),d=FF(d,a,b,c,m[i+13],12,-40341101),c=FF(c,d,a,b,m[i+14],17,-1502002290),b=FF(b,c,d,a,m[i+15],22,1236535329),a=GG(a,b,c,d,m[i+1],5,-165796510),d=GG(d,a,b,c,m[i+6],9,-1069501632),c=GG(c,d,a,b,m[i+11],14,643717713),b=GG(b,c,d,a,m[i+0],20,-373897302),a=GG(a,b,c,d,m[i+5],5,-701558691),d=GG(d,a,b,c,m[i+10],9,38016083),c=GG(c,d,a,b,m[i+15],14,-660478335),b=GG(b,c,d,a,m[i+4],20,-405537848),a=GG(a,b,c,d,m[i+9],5,568446438),d=GG(d,a,b,c,m[i+14],9,-1019803690),c=GG(c,d,a,b,m[i+3],14,-187363961),b=GG(b,c,d,a,m[i+8],20,1163531501),a=GG(a,b,c,d,m[i+13],5,-1444681467),d=GG(d,a,b,c,m[i+2],9,-51403784),c=GG(c,d,a,b,m[i+7],14,1735328473),b=GG(b,c,d,a,m[i+12],20,-1926607734),a=HH(a,b,c,d,m[i+5],4,-378558),d=HH(d,a,b,c,m[i+8],11,-2022574463),c=HH(c,d,a,b,m[i+11],16,1839030562),b=HH(b,c,d,a,m[i+14],23,-35309556),a=HH(a,b,c,d,m[i+1],4,-1530992060),d=HH(d,a,b,c,m[i+4],11,1272893353),c=HH(c,d,a,b,m[i+7],16,-155497632),b=HH(b,c,d,a,m[i+10],23,-1094730640),a=HH(a,b,c,d,m[i+13],4,681279174),d=HH(d,a,b,c,m[i+0],11,-358537222),c=HH(c,d,a,b,m[i+3],16,-722521979),b=HH(b,c,d,a,m[i+6],23,76029189),a=HH(a,b,c,d,m[i+9],4,-640364487),d=HH(d,a,b,c,m[i+12],11,-421815835),c=HH(c,d,a,b,m[i+15],16,530742520),b=HH(b,c,d,a,m[i+2],23,-995338651),a=II(a,b,c,d,m[i+0],6,-198630844),d=II(d,a,b,c,m[i+7],10,1126891415),c=II(c,d,a,b,m[i+14],15,-1416354905),b=II(b,c,d,a,m[i+5],21,-57434055),a=II(a,b,c,d,m[i+12],6,1700485571),d=II(d,a,b,c,m[i+3],10,-1894986606),c=II(c,d,a,b,m[i+10],15,-1051523),b=II(b,c,d,a,m[i+1],21,-2054922799),a=II(a,b,c,d,m[i+8],6,1873313359),d=II(d,a,b,c,m[i+15],10,-30611744),c=II(c,d,a,b,m[i+6],15,-1560198380),b=II(b,c,d,a,m[i+13],21,1309151649),a=II(a,b,c,d,m[i+4],6,-145523070),d=II(d,a,b,c,m[i+11],10,-1120210379),c=II(c,d,a,b,m[i+2],15,718787259),b=II(b,c,d,a,m[i+9],21,-343485551),a=a+aa>>>0,b=b+bb>>>0,c=c+cc>>>0,d=d+dd>>>0}return crypt.endian([a,b,c,d])};md5._ff=function(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+(x>>>0)+t;return(n<<s|n>>>32-s)+b},md5._gg=function(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+(x>>>0)+t;return(n<<s|n>>>32-s)+b},md5._hh=function(a,b,c,d,x,s,t){var n=a+(b^c^d)+(x>>>0)+t;return(n<<s|n>>>32-s)+b},md5._ii=function(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+(x>>>0)+t;return(n<<s|n>>>32-s)+b},md5._blocksize=16,md5._digestsize=16,module.exports=function(message,options){if(void 0===message||null===message)throw new Error("Illegal argument "+message);var digestbytes=crypt.wordsToBytes(md5(message,options));return options&&options.asBytes?digestbytes:options&&options.asString?bin.bytesToString(digestbytes):crypt.bytesToHex(digestbytes)}}()},function(module,exports){var charenc={utf8:{stringToBytes:function(str){return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)))},bytesToString:function(bytes){return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)))}},bin:{stringToBytes:function(str){for(var bytes=[],i=0;i<str.length;i++)bytes.push(255&str.charCodeAt(i));return bytes},bytesToString:function(bytes){for(var str=[],i=0;i<bytes.length;i++)str.push(String.fromCharCode(bytes[i]));return str.join("")}}};module.exports=charenc},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions),ProgressSlider=function(_React$Component){function ProgressSlider(props){_classCallCheck(this,ProgressSlider);var _this=_possibleConstructorReturn(this,(ProgressSlider.__proto__||Object.getPrototypeOf(ProgressSlider)).call(this,props));return _this.handleChange=helpers.throttle(_this.handleChange.bind(_this),250),_this}return _inherits(ProgressSlider,_React$Component),_createClass(ProgressSlider,[{key:"handleChange",value:function(value){this.props.mopidyActions.setTimePosition(this.props.current_track.duration*(value/100))}},{key:"render",value:function(){var _this2=this,percent=0;return this.props.connected&&this.props.time_position&&this.props.current_track&&this.props.current_track.duration&&(percent=this.props.time_position/this.props.current_track.duration,(percent*=100)>1e3&&(percent=100)),_react2.default.createElement("div",{className:"slider slider--playback-progress slider--"+this.props.play_state},_react2.default.createElement("div",{className:"slider__track"},_react2.default.createElement("input",{type:"range",min:"0",max:"100",value:percent,className:"slider__input",onChange:function(e){return _this2.handleChange(parseInt(e.target.value))}}),_react2.default.createElement("div",{className:"slider__track__progress",style:{width:percent+"%"}})))}}]),ProgressSlider}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{current_track:state.core.current_track&&void 0!==state.core.tracks[state.core.current_track.uri]?state.core.tracks[state.core.current_track.uri]:null,connected:state.mopidy.connected,time_position:state.mopidy.time_position,play_state:state.mopidy.play_state}},mapDispatchToProps=function(dispatch){return{mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ProgressSlider)},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Link=__webpack_require__(8),_Icon=(_interopRequireDefault(_Link),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Dater=__webpack_require__(31),_Dater2=_interopRequireDefault(_Dater),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_ContextMenuTrigger=__webpack_require__(25),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_Popularity=__webpack_require__(64),_ErrorBoundary=(_interopRequireDefault(_Popularity),__webpack_require__(65)),_ErrorBoundary2=_interopRequireDefault(_ErrorBoundary),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),Track=function(_React$Component){function Track(props){_classCallCheck(this,Track);var _this=_possibleConstructorReturn(this,(Track.__proto__||Object.getPrototypeOf(Track)).call(this,props));return _this.state={hover:!1},_this.start_time=0,_this.end_time=0,_this.start_position=!1,_this}return _inherits(Track,_React$Component),_createClass(Track,[{key:"handleMouseEnter",value:function(e){this.setState({hover:!0})}},{key:"handleMouseLeave",value:function(e){this.setState({hover:!1})}},{key:"handleMouseDown",value:function(e){if($(e.target).is("a"))return!1;0===e.button?this.start_position={x:e.pageX,y:e.pageY}:this.start_position=!1}},{key:"handleMouseMove",value:function(e){$(e.target);if(void 0===this.props.handleDrag)return!1;if(this.start_position){var start_x=this.start_position.x,start_y=this.start_position.y;(e.pageX>start_x+5||e.pageX<start_x-5||e.pageY>start_y+5||e.pageY<start_y-5)&&(this.props.handleDrag(e),this.start_position=!1)}}},{key:"handleMouseUp",value:function(e){var target=$(e.target);if(0!==e.button)return this.start_position=!1,!1;this.props.dragger?(e.preventDefault(),void 0!==this.props.handleDrop&&this.props.handleDrop(e)):!target.is("a")&&target.closest("a").length<=0&&(this.props.handleClick(e),this.start_position=!1)}},{key:"handleDoubleClick",value:function(e){this.props.handleDoubleClick(e)}},{key:"handleTouchStart",value:function(e){var target=$(e.target),timestamp=Math.floor(Date.now());return target.hasClass("drag-zone")&&(this.props.handleTouchDrag(e),e.preventDefault()),this.start_time=timestamp,this.start_position={x:e.touches[0].clientX,y:e.touches[0].clientY},!1}},{key:"handleTouchEnd",value:function(e){var target=$(e.target),timestamp=Math.floor(Date.now()),end_position={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY};if(this.start_time+200<timestamp)return!1;if(this.start_position.x+10>end_position.x&&this.start_position.x-10<end_position.x&&this.start_position.y+10>end_position.y&&this.start_position.y-10<end_position.y){if(target.is("a")||e.preventDefault(),target.hasClass("touch-contextable"))return this.props.handleContextMenu(e),!1;if(timestamp-this.end_time>0&×tamp-this.end_time<=300)return this.props.handleDoubleTap(e),e.preventDefault(),!1;this.props.handleTap(e)}this.end_time=timestamp}},{key:"render",value:function(){var _this2=this;if(!this.props.track)return null;var track=this.props.track,className="list__item list__item--track mouse-draggable mouse-selectable mouse-contextable",track_details=[];if(track.artists&&track_details.push(_react2.default.createElement("li",{className:"details__item details__item--artists",key:"artists"},track.artists?_react2.default.createElement(_ArtistSentence2.default,{artists:track.artists}):"-")),track.album){if(track.album.uri)var album=_react2.default.createElement(_URILink2.default,{type:"album",uri:track.album.uri},track.album.name);else var album=_react2.default.createElement("span",null,track.album.name);track_details.push(_react2.default.createElement("li",{className:"details__item details__item--album",key:"album"},album))}if("history"==this.props.context)var track_middle_column=_react2.default.createElement("div",{className:"list__item__column__item list__item__column__item--played_at"},track.played_at?_react2.default.createElement("span",null,_react2.default.createElement(_Dater2.default,{type:"ago",data:track.played_at})," ago"):"-");else if("queue"==this.props.context)if(track.added_from&&track.added_by){var type=track.added_from?helpers.uriType(track.added_from):null;switch(type){case"discover":var link=_react2.default.createElement(_URILink2.default,{type:"recommendations",uri:helpers.getFromUri("seeds",track.added_from)},"discover");break;case"browse":var link=_react2.default.createElement(_URILink2.default,{type:"browse",uri:track.added_from.replace("iris:browse:","")},"browse");break;case"search":var link=_react2.default.createElement(_URILink2.default,{type:"search",uri:track.added_from.replace("iris:","")},"search");break;default:var link=_react2.default.createElement(_URILink2.default,{type:type,uri:track.added_from},type)}var track_middle_column=_react2.default.createElement("div",{className:"list__item__column__item list__item__column__item--added"},_react2.default.createElement("span",{className:"by"},track.added_by," "),_react2.default.createElement("span",{className:"from"},"from ",link))}else if(track.added_by)var track_middle_column=_react2.default.createElement("div",{className:"list__item__column__item list__item__column__item--added"},_react2.default.createElement("span",{className:"by"},track.added_by));var drag_zone=null;return helpers.isTouchDevice()&&this.props.can_sort&&(className+=" list__item--has-drag-zone",drag_zone=_react2.default.createElement("span",{className:"list__item__column__item list__item__column__item--drag-zone drag-zone touch-draggable mouse-draggable",key:"drag-zone"},_react2.default.createElement(_Icon2.default,{name:"drag_indicator"}))),this.props.selected&&(className+=" list__item--selected"),this.props.can_sort&&(className+=" list__item--can-sort"),void 0!==track.type&&(className+=" list__item--"+track.type),track.playing&&(className+=" list__item--playing"),this.state.hover&&(className+=" list__item--hover"),track_middle_column&&(className+=" list__item--has-middle-column"),track_details.length>0&&(className+=" list__item--has-details"),_react2.default.createElement(_ErrorBoundary2.default,null,_react2.default.createElement("div",{className:className,onMouseEnter:function(e){return _this2.handleMouseEnter(e)},onMouseLeave:function(e){return _this2.handleMouseLeave(e)},onMouseDown:function(e){return _this2.handleMouseDown(e)},onMouseUp:function(e){return _this2.handleMouseUp(e)},onMouseMove:function(e){return _this2.handleMouseMove(e)},onDoubleClick:function(e){return _this2.handleDoubleClick(e)},onContextMenu:function(e){return _this2.props.handleContextMenu(e)},onTouchStart:function(e){return _this2.handleTouchStart(e)},onTouchEnd:function(e){return _this2.handleTouchEnd(e)}},_react2.default.createElement("div",{className:"list__item__column list__item__column--right"},drag_zone,_react2.default.createElement("span",{className:"list__item__column__item list__item__column__item--duration"},track.duration?_react2.default.createElement(_Dater2.default,{type:"length",data:track.duration}):"-"),this.props.show_source_icon?_react2.default.createElement("span",{className:"list__item__column__item list__item__column__item--source"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:helpers.sourceIcon(track.uri),fixedWidth:!0})):null,_react2.default.createElement(_ContextMenuTrigger2.default,{className:"list__item__column__item--context-menu-trigger subtle",onTrigger:function(e){return _this2.props.handleContextMenu(e)}})),_react2.default.createElement("div",{className:"list__item__column list__item__column--name"},_react2.default.createElement("div",{className:"list__item__column__item--name"},track.name?track.name:_react2.default.createElement("span",{className:"mid_grey-text"},track.uri),track.explicit?_react2.default.createElement("span",{className:"flag dark"},"EXPLICIT"):null,track.playing?_react2.default.createElement(_Icon2.default,{className:"js--"+this.props.play_state,name:"playing",type:"css"}):null),track_details?_react2.default.createElement("ul",{className:"list__item__column__item--details"},track_details):null),track_middle_column?_react2.default.createElement("div",{className:"list__item__column list__item__column--middle"},track_middle_column):null))}}]),Track}(_react2.default.Component);exports.default=Track}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),RelatedArtists=function(_React$Component){function RelatedArtists(props){return _classCallCheck(this,RelatedArtists),_possibleConstructorReturn(this,(RelatedArtists.__proto__||Object.getPrototypeOf(RelatedArtists)).call(this,props))}return _inherits(RelatedArtists,_React$Component),_createClass(RelatedArtists,[{key:"render",value:function(){return this.props.artists?_react2.default.createElement("div",{className:"related-artists"},this.props.artists.map(function(artist,index){var images=artist.images;return Array.isArray(images)&&(images=images[0]),artist.uri?_react2.default.createElement(_URILink2.default,{type:"artist",uri:artist.uri,key:artist.uri,className:"related-artists__item related-artists__item--link"},_react2.default.createElement(_Thumbnail2.default,{className:"related-artists__item__thumbnail",circle:!0,size:"small",images:images}),_react2.default.createElement("span",{className:"related-artists__item__name"},artist.name)):_react2.default.createElement("span",{key:artist.uri,className:"related-artists__item"},_react2.default.createElement(_Thumbnail2.default,{className:"related-artists__item__thumbnail",circle:!0,size:"small",images:images}),_react2.default.createElement("span",{className:"related-artists__item__name"},artist.name))})):null}}]),RelatedArtists}(_react2.default.Component);exports.default=RelatedArtists},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),ConfirmationButton=function(_React$Component){function ConfirmationButton(props){_classCallCheck(this,ConfirmationButton);var _this=_possibleConstructorReturn(this,(ConfirmationButton.__proto__||Object.getPrototypeOf(ConfirmationButton)).call(this,props));return _this.state={timing_out:!1,confirming:!1},_this.confirming=!1,_this.unconfirmTimer=!1,_this}return _inherits(ConfirmationButton,_React$Component),_createClass(ConfirmationButton,[{key:"componentWillUnmount",value:function(){clearTimeout(this.unconfirmTimer)}},{key:"handleClick",value:function(e){this.state.confirming?(this.setState({confirming:!1}),this.props.onConfirm()):this.setState({confirming:!0})}},{key:"handleMouseEnter",value:function(e){this.setState({timing_out:!1}),clearTimeout(this.unconfirmTimer)}},{key:"handleMouseLeave",value:function(e){this.state.confirming&&(this.setState({timing_out:!0}),this.unconfirmTimer=setTimeout(function(){this.setState({confirming:!1})}.bind(this),2e3))}},{key:"render",value:function(){var _this2=this,className="button",content=this.props.content;return this.state.confirming&&(className+=" confirming",content=this.props.confirmingContent,this.state.timing_out&&(className+=" timing-out")),this.props.working&&(className+=" working",this.props.workingContent&&(content=this.props.workingContent)),this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("button",{className:className,onClick:function(e){return _this2.handleClick(e)},onMouseLeave:function(e){return _this2.handleMouseLeave(e)},onMouseEnter:function(e){return _this2.handleMouseEnter(e)}},content)}}]),ConfirmationButton}(_react2.default.Component);exports.default=ConfirmationButton},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactGa=__webpack_require__(14),_Thumbnail=(_interopRequireDefault(_reactGa),__webpack_require__(11)),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions2),SpotifyAuthenticationFrame=function(_React$Component){function SpotifyAuthenticationFrame(props){_classCallCheck(this,SpotifyAuthenticationFrame);var _this=_possibleConstructorReturn(this,(SpotifyAuthenticationFrame.__proto__||Object.getPrototypeOf(SpotifyAuthenticationFrame)).call(this,props));return _this.state={authorizing:!1},_this}return _inherits(SpotifyAuthenticationFrame,_React$Component),_createClass(SpotifyAuthenticationFrame,[{key:"componentDidMount",value:function(){var self=this;window.addEventListener("message",function(event){try{var data=JSON.parse(event.data)}catch(e){return void console.error("Failed to parse JSON",e,event)}"auth_spotify"==data.origin&&self.handleMessage(event,data)},!1)}},{key:"handleMessage",value:function(event,data){var authorization_domain=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(event.origin!=authorization_domain)return this.props.uiActions.createNotification({content:"Authorization failed. "+event.origin+" is not the configured authorization_url.",type:"bad"}),!1;void 0!==data.error?this.props.uiActions.createNotification({content:data.error,type:"bad"}):(this.props.spotifyActions.authorizationGranted(data),this.props.spotifyActions.getMe()),this.setState({authorizing:!1})}},{key:"startAuthorization",value:function(){function checkPopup(){void 0!==popup&&popup?popup.closed&&(self.setState({authorizing:!1}),clearInterval(timer)):(self.props.uiActions.createNotification({content:"Popup blocked. Please allow popups and try again.",type:"bad"}),self.setState({authorizing:!1}),clearInterval(timer))}var self=this;this.setState({authorizing:!0});var url=this.props.authorization_url+"?action=authorize",scopes=["playlist-modify-private","playlist-modify-public","playlist-read-private","playlist-modify-private","user-library-read","user-library-modify","user-follow-modify","user-follow-read","user-read-email","user-top-read","user-read-currently-playing","user-read-playback-state","playlist-read-collaborative","ugc-image-upload"],popup=window.open(url+"&scope="+scopes.join("%20"),"popup","height=580,width=350"),timer=setInterval(checkPopup,1e3)}},{key:"render",value:function(){var _this2=this;return this.state.authorizing?_react2.default.createElement("button",{className:"working"},"Authorizing..."):this.props.authorized?_react2.default.createElement("button",{className:"destructive",onClick:function(){return _this2.props.spotifyActions.revokeAuthorization()}},"Log out"):_react2.default.createElement("button",{className:"primary",onClick:function(){return _this2.startAuthorization()}},"Log in")}}]),SpotifyAuthenticationFrame}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{authorization_url:state.spotify.authorization_url,authorized:state.spotify.authorization,authorizing:state.spotify.authorizing}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(SpotifyAuthenticationFrame)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactGa=__webpack_require__(14),_Thumbnail=(_interopRequireDefault(_reactGa),__webpack_require__(11)),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions2),LastfmAuthenticationFrame=function(_React$Component){function LastfmAuthenticationFrame(props){_classCallCheck(this,LastfmAuthenticationFrame);var _this=_possibleConstructorReturn(this,(LastfmAuthenticationFrame.__proto__||Object.getPrototypeOf(LastfmAuthenticationFrame)).call(this,props));return _this.state={authorizing:!1},_this}return _inherits(LastfmAuthenticationFrame,_React$Component),_createClass(LastfmAuthenticationFrame,[{key:"componentDidMount",value:function(){var self=this;window.addEventListener("message",function(event){try{var data=JSON.parse(event.data)}catch(e){return void console.error("Failed to parse JSON",e,event)}"auth_lastfm"==data.origin&&self.handleMessage(event,data)},!1)}},{key:"handleMessage",value:function(event,data){var authorization_domain=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(event.origin!=authorization_domain)return this.props.uiActions.createNotification({content:"Authorization failed. "+event.origin+" is not the configured authorization_url.",type:"bad"}),!1;void 0!==data.error?this.props.uiActions.createNotification({content:data.message,type:"bad"}):(this.props.lastfmActions.authorizationGranted(data),this.props.lastfmActions.getMe()),this.setState({authorizing:!1})}},{key:"startAuthorization",value:function(){function checkPopup(){void 0!==popup&&popup?popup.closed&&(self.setState({authorizing:!1}),clearInterval(timer)):(self.props.uiActions.createNotification({content:"Popup blocked. Please allow popups and try again.",type:"bad"}),self.setState({authorizing:!1}),clearInterval(timer))}var self=this;this.setState({authorizing:!0});var url=this.props.authorization_url+"?action=authorize",popup=window.open(url,"popup","height=580,width=350");popup.name="LastfmAuthenticationWindow";var timer=setInterval(checkPopup,1e3)}},{key:"render",value:function(){var _this2=this;return this.state.authorizing?_react2.default.createElement("button",{className:"working"},"Authorizing..."):this.props.authorization?_react2.default.createElement("button",{className:"destructive",onClick:function(){return _this2.props.lastfmActions.revokeAuthorization()}},"Log out"):_react2.default.createElement("button",{className:"primary",onClick:function(){return _this2.startAuthorization()}},"Log in")}}]),LastfmAuthenticationFrame}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{authorization_url:state.lastfm.authorization_url,authorization:state.lastfm.authorization,authorizing:state.lastfm.authorizing}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LastfmAuthenticationFrame)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function Label(props){var labelValue=props.formatLabel?props.formatLabel(props.children,props.type):props.children;return _react2.default.createElement("span",{className:props.classNames[props.type+"Label"]},_react2.default.createElement("span",{className:props.classNames.labelContainer},labelValue))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Label;var _react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(17),_propTypes2=_interopRequireDefault(_propTypes);Label.propTypes={children:_propTypes2.default.node.isRequired,classNames:_propTypes2.default.objectOf(_propTypes2.default.string).isRequired,formatLabel:_propTypes2.default.func,type:_propTypes2.default.string.isRequired},module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(46),_reactDom2=_interopRequireDefault(_reactDom),_reactRedux=__webpack_require__(4),_reactRouter=(__webpack_require__(2),__webpack_require__(12)),_bootstrap=__webpack_require__(184),_bootstrap2=_interopRequireDefault(_bootstrap),_App=__webpack_require__(231),_App2=_interopRequireDefault(_App),_Album=__webpack_require__(284),_Album2=_interopRequireDefault(_Album),_Artist=__webpack_require__(285),_Artist2=_interopRequireDefault(_Artist),_Playlist=__webpack_require__(286),_Playlist2=_interopRequireDefault(_Playlist),_User=__webpack_require__(287),_User2=_interopRequireDefault(_User),_Track=__webpack_require__(288),_Track2=_interopRequireDefault(_Track),_Queue=__webpack_require__(290),_Queue2=_interopRequireDefault(_Queue),_QueueHistory=__webpack_require__(291),_QueueHistory2=_interopRequireDefault(_QueueHistory),_Debug=__webpack_require__(292),_Debug2=_interopRequireDefault(_Debug),_Search=__webpack_require__(293),_Search2=_interopRequireDefault(_Search),_Settings=__webpack_require__(295),_Settings2=_interopRequireDefault(_Settings),_DiscoverRecommendations=__webpack_require__(306),_DiscoverRecommendations2=_interopRequireDefault(_DiscoverRecommendations),_DiscoverFeatured=__webpack_require__(324),_DiscoverFeatured2=_interopRequireDefault(_DiscoverFeatured),_DiscoverCategories=__webpack_require__(325),_DiscoverCategories2=_interopRequireDefault(_DiscoverCategories),_DiscoverCategory=__webpack_require__(327),_DiscoverCategory2=_interopRequireDefault(_DiscoverCategory),_DiscoverNewReleases=__webpack_require__(328),_DiscoverNewReleases2=_interopRequireDefault(_DiscoverNewReleases),_LibraryArtists=__webpack_require__(329),_LibraryArtists2=_interopRequireDefault(_LibraryArtists),_LibraryAlbums=__webpack_require__(330),_LibraryAlbums2=_interopRequireDefault(_LibraryAlbums),_LibraryTracks=__webpack_require__(331),_LibraryTracks2=_interopRequireDefault(_LibraryTracks),_LibraryPlaylists=__webpack_require__(332),_LibraryPlaylists2=_interopRequireDefault(_LibraryPlaylists),_LibraryBrowse=__webpack_require__(333),_LibraryBrowse2=_interopRequireDefault(_LibraryBrowse),_EditPlaylist=__webpack_require__(334),_EditPlaylist2=_interopRequireDefault(_EditPlaylist),_CreatePlaylist=__webpack_require__(335),_CreatePlaylist2=_interopRequireDefault(_CreatePlaylist),_EditRadio=__webpack_require__(336),_EditRadio2=_interopRequireDefault(_EditRadio),_AddToQueue=__webpack_require__(337),_AddToQueue2=_interopRequireDefault(_AddToQueue),_InitialSetup=__webpack_require__(338),_InitialSetup2=_interopRequireDefault(_InitialSetup),_KioskMode=__webpack_require__(339),_KioskMode2=_interopRequireDefault(_KioskMode),_ShareConfiguration=__webpack_require__(340),_ShareConfiguration2=_interopRequireDefault(_ShareConfiguration),_AddToPlaylist=__webpack_require__(341),_AddToPlaylist2=_interopRequireDefault(_AddToPlaylist),_ImageZoom=__webpack_require__(342),_ImageZoom2=_interopRequireDefault(_ImageZoom),_EditCommand=__webpack_require__(343),_EditCommand2=_interopRequireDefault(_EditCommand);__webpack_require__(346),global.baseURL="/",_reactDom2.default.render(_react2.default.createElement(_reactRedux.Provider,{store:_bootstrap2.default},_react2.default.createElement(_reactRouter.Router,{history:_reactRouter.hashHistory},_react2.default.createElement(_reactRouter.Route,{path:global.baseURL,component:_App2.default},_react2.default.createElement(_reactRouter.IndexRoute,{component:_Queue2.default}),_react2.default.createElement(_reactRouter.Route,{path:"initial-setup",component:_InitialSetup2.default}),_react2.default.createElement(_reactRouter.Route,{path:"kiosk-mode",component:_KioskMode2.default}),_react2.default.createElement(_reactRouter.Route,{path:"add-to-playlist/:uris",component:_AddToPlaylist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"image-zoom",component:_ImageZoom2.default}),_react2.default.createElement(_reactRouter.Route,{path:"share-configuration",component:_ShareConfiguration2.default}),_react2.default.createElement(_reactRouter.Route,{path:"edit-command(/:id)",component:_EditCommand2.default}),_react2.default.createElement(_reactRouter.Route,{path:"queue",component:_Queue2.default}),_react2.default.createElement(_reactRouter.Route,{path:"queue/history",component:_QueueHistory2.default}),_react2.default.createElement(_reactRouter.Route,{path:"queue/radio",component:_EditRadio2.default}),_react2.default.createElement(_reactRouter.Route,{path:"queue/add-uri",component:_AddToQueue2.default}),_react2.default.createElement(_reactRouter.Route,{path:"settings/debug",component:_Debug2.default}),_react2.default.createElement(_reactRouter.Route,{path:"settings(/service/:sub_view)",component:_Settings2.default}),_react2.default.createElement(_reactRouter.Route,{path:"search(/:type/:term)",component:_Search2.default}),_react2.default.createElement(_reactRouter.Route,{path:"album/:uri",component:_Album2.default}),_react2.default.createElement(_reactRouter.Route,{path:"artist/:uri(/:sub_view)",component:_Artist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"playlist/create",component:_CreatePlaylist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"playlist/:uri",component:_Playlist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"playlist/:uri/edit",component:_EditPlaylist2.default}),_react2.default.createElement(_reactRouter.Route,{path:"user/:uri",component:_User2.default}),_react2.default.createElement(_reactRouter.Route,{path:"track/:uri",component:_Track2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/recommendations(/:seeds)",component:_DiscoverRecommendations2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/featured",component:_DiscoverFeatured2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/categories",component:_DiscoverCategories2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/categories/:id",component:_DiscoverCategory2.default}),_react2.default.createElement(_reactRouter.Route,{path:"discover/new-releases",component:_DiscoverNewReleases2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/artists",component:_LibraryArtists2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/albums",component:_LibraryAlbums2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/tracks",component:_LibraryTracks2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/playlists",component:_LibraryPlaylists2.default}),_react2.default.createElement(_reactRouter.Route,{path:"library/browse(/:uri)",component:_LibraryBrowse2.default})))),document.getElementById("app"))}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function D(a){for(var b=arguments.length-1,e="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=0;c<b;c++)e+="&args[]="+encodeURIComponent(arguments[c+1]);n(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",e)}function F(a,b,e){this.props=a,this.context=b,this.refs=p,this.updater=e||E}function G(){}function H(a,b,e){this.props=a,this.context=b,this.refs=p,this.updater=e||E}function M(a,b,e){var c=void 0,d={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=""+b.key),b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var l=Array(f),m=0;m<f;m++)l[m]=arguments[m+2];d.children=l}if(a&&a.defaultProps)for(c in f=a.defaultProps)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:t,type:a,key:g,ref:h,props:d,_owner:J.current}}function N(a){return"object"==typeof a&&null!==a&&a.$$typeof===t}function escape(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}function Q(a,b,e,c){if(P.length){var d=P.pop();return d.result=a,d.keyPrefix=b,d.func=e,d.context=c,d.count=0,d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function R(a){a.result=null,a.keyPrefix=null,a.func=null,a.context=null,a.count=0,10>P.length&&P.push(a)}function S(a,b,e,c){var d=typeof a;"undefined"!==d&&"boolean"!==d||(a=null);var g=!1;if(null===a)g=!0;else switch(d){case"string":case"number":g=!0;break;case"object":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,""===b?"."+T(a,0):b),1;if(g=0,b=""===b?".":b+":",Array.isArray(a))for(var h=0;h<a.length;h++){d=a[h];var f=b+T(d,h);g+=S(d,f,e,c)}else if(null===a||void 0===a?f=null:(f=C&&a[C]||a["@@iterator"],f="function"==typeof f?f:null),"function"==typeof f)for(a=f.call(a),h=0;!(d=a.next()).done;)d=d.value,f=b+T(d,h++),g+=S(d,f,e,c);else"object"===d&&(e=""+a,D("31","[object Object]"===e?"object with keys {"+Object.keys(a).join(", ")+"}":e,""));return g}function T(a,b){return"object"==typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function U(a,b){a.func.call(a.context,b,a.count++)}function V(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++),Array.isArray(a)?W(a,c,e,q.thatReturnsArgument):null!=a&&(N(a)&&(b=d+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(O,"$&/")+"/")+e,a={$$typeof:t,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function W(a,b,e,c,d){var g="";null!=e&&(g=(""+e).replace(O,"$&/")+"/"),b=Q(b,g,c,d),null==a||S(a,"",V,b),R(b)}/** @license React v16.4.1
|
||
* react.production.min.js
|
||
*
|
||
* Copyright (c) 2013-present, Facebook, Inc.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/
|
||
var k=__webpack_require__(45),n=__webpack_require__(107),p=__webpack_require__(108),q=__webpack_require__(109),r="function"==typeof Symbol&&Symbol.for,t=r?Symbol.for("react.element"):60103,u=r?Symbol.for("react.portal"):60106,v=r?Symbol.for("react.fragment"):60107,w=r?Symbol.for("react.strict_mode"):60108,x=r?Symbol.for("react.profiler"):60114,y=r?Symbol.for("react.provider"):60109,z=r?Symbol.for("react.context"):60110,A=r?Symbol.for("react.async_mode"):60111,B=r?Symbol.for("react.forward_ref"):60112;r&&Symbol.for("react.timeout");var C="function"==typeof Symbol&&Symbol.iterator,E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};F.prototype.isReactComponent={},F.prototype.setState=function(a,b){"object"!=typeof a&&"function"!=typeof a&&null!=a&&D("85"),this.updater.enqueueSetState(this,a,b,"setState")},F.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")},G.prototype=F.prototype;var I=H.prototype=new G;I.constructor=H,k(I,F.prototype),I.isPureReactComponent=!0;var J={current:null},K=Object.prototype.hasOwnProperty,L={key:!0,ref:!0,__self:!0,__source:!0},O=/\/+/g,P=[],X={Children:{map:function(a,b,e){if(null==a)return a;var c=[];return W(a,c,null,b,e),c},forEach:function(a,b,e){if(null==a)return a;b=Q(null,null,b,e),null==a||S(a,"",U,b),R(b)},count:function(a){return null==a?0:S(a,"",q.thatReturnsNull,null)},toArray:function(a){var b=[];return W(a,b,null,q.thatReturnsArgument),b},only:function(a){return N(a)||D("143"),a}},createRef:function(){return{current:null}},Component:F,PureComponent:H,createContext:function(a,b){return void 0===b&&(b=null),a={$$typeof:z,_calculateChangedBits:b,_defaultValue:a,_currentValue:a,_currentValue2:a,_changedBits:0,_changedBits2:0,Provider:null,Consumer:null},a.Provider={$$typeof:y,_context:a},a.Consumer=a},forwardRef:function(a){return{$$typeof:B,render:a}},Fragment:v,StrictMode:w,unstable_AsyncMode:A,unstable_Profiler:x,createElement:M,cloneElement:function(a,b,e){(null===a||void 0===a)&&D("267",a);var c=void 0,d=k({},a.props),g=a.key,h=a.ref,f=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,f=J.current),void 0!==b.key&&(g=""+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(c in b)K.call(b,c)&&!L.hasOwnProperty(c)&&(d[c]=void 0===b[c]&&void 0!==l?l[c]:b[c])}if(1===(c=arguments.length-2))d.children=e;else if(1<c){l=Array(c);for(var m=0;m<c;m++)l[m]=arguments[m+2];d.children=l}return{$$typeof:t,type:a.type,key:g,ref:h,props:d,_owner:f}},createFactory:function(a){var b=M.bind(null,a);return b.type=a,b},isValidElement:N,version:"16.4.1",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:J,assign:k}},Y={default:X},Z=Y&&X||Y;module.exports=Z.default?Z.default:Z},function(module,exports,__webpack_require__){"use strict";function invariant(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}}var validateFormat=function(format){};module.exports=invariant},function(module,exports,__webpack_require__){"use strict";var emptyObject={};module.exports=emptyObject},function(module,exports,__webpack_require__){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){"use strict";function A(a){for(var b=arguments.length-1,c="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=0;d<b;d++)c+="&args[]="+encodeURIComponent(arguments[d+1]);aa(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",c)}function ia(a,b,c,d,e,f,g,h,k){this._hasCaughtError=!1,this._caughtError=null;var n=Array.prototype.slice.call(arguments,3);try{b.apply(c,n)}catch(r){this._caughtError=r,this._hasCaughtError=!0}}function ka(){if(B._hasRethrowError){var a=B._rethrowError;throw B._rethrowError=null,B._hasRethrowError=!1,a}}function na(){if(la)for(var a in ma){var b=ma[a],c=la.indexOf(a);if(-1<c||A("96",a),!oa[c]){b.extractEvents||A("97",a),oa[c]=b,c=b.eventTypes;for(var d in c){var e=void 0,f=c[d],g=b,h=d;pa.hasOwnProperty(h)&&A("99",h),pa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&qa(k[e],g,h);e=!0}else f.registrationName?(qa(f.registrationName,g,h),e=!0):e=!1;e||A("98",d,a)}}}}function qa(a,b,c){ra[a]&&A("100",a),ra[a]=b,sa[a]=b.eventTypes[c].dependencies}function ta(a){la&&A("101"),la=Array.prototype.slice.call(a),na()}function ua(a){var c,b=!1;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];ma.hasOwnProperty(c)&&ma[c]===d||(ma[c]&&A("102",c),ma[c]=d,b=!0)}b&&na()}function za(a,b,c,d){b=a.type||"unknown-event",a.currentTarget=ya(d),B.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a),a.currentTarget=null}function Aa(a,b){return null==b&&A("30"),null==a?b:Array.isArray(a)?Array.isArray(b)?(a.push.apply(a,b),a):(a.push(b),a):Array.isArray(b)?[a].concat(b):[a,b]}function Ba(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}function Da(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)za(a,b,c[e],d[e]);else c&&za(a,b,c,d);a._dispatchListeners=null,a._dispatchInstances=null,a.isPersistent()||a.constructor.release(a)}}function Ea(a){return Da(a,!0)}function Fa(a){return Da(a,!1)}function Ha(a,b){var c=a.stateNode;if(!c)return null;var d=wa(c);if(!d)return null;c=d[b];a:switch(b){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a)),a=!d;break a;default:a=!1}return a?null:(c&&"function"!=typeof c&&A("231",b,typeof c),c)}function Ia(a,b){null!==a&&(Ca=Aa(Ca,a)),a=Ca,Ca=null,a&&(b?Ba(a,Ea):Ba(a,Fa),Ca&&A("95"),B.rethrowCaughtError())}function Ja(a,b,c,d){for(var e=null,f=0;f<oa.length;f++){var g=oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=Aa(e,g))}Ia(e,!1)}function Na(a){if(a[C])return a[C];for(;!a[C];){if(!a.parentNode)return null;a=a.parentNode}return a=a[C],5===a.tag||6===a.tag?a:null}function Oa(a){if(5===a.tag||6===a.tag)return a.stateNode;A("33")}function Pa(a){return a[Ma]||null}function F(a){do{a=a.return}while(a&&5!==a.tag);return a||null}function Ra(a,b,c){for(var d=[];a;)d.push(a),a=F(a);for(a=d.length;0<a--;)b(d[a],"captured",c);for(a=0;a<d.length;a++)b(d[a],"bubbled",c)}function Sa(a,b,c){(b=Ha(a,c.dispatchConfig.phasedRegistrationNames[b]))&&(c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a))}function Ta(a){a&&a.dispatchConfig.phasedRegistrationNames&&Ra(a._targetInst,Sa,a)}function Ua(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?F(b):null,Ra(b,Sa,a)}}function Va(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=Ha(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=Aa(c._dispatchListeners,b),c._dispatchInstances=Aa(c._dispatchInstances,a))}function Xa(a){a&&a.dispatchConfig.registrationName&&Va(a._targetInst,null,a)}function Ya(a){Ba(a,Ta)}function Za(a,b,c,d){if(c&&d)a:{for(var e=c,f=d,g=0,h=e;h;h=F(h))g++;h=0;for(var k=f;k;k=F(k))h++;for(;0<g-h;)e=F(e),g--;for(;0<h-g;)f=F(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=F(e),f=F(f)}e=null}else e=null;for(f=e,e=[];c&&c!==f&&(null===(g=c.alternate)||g!==f);)e.push(c),c=F(c);for(c=[];d&&d!==f&&(null===(g=d.alternate)||g!==f);)c.push(d),d=F(d);for(d=0;d<e.length;d++)Va(e[d],"bubbled",a);for(a=c.length;0<a--;)Va(c[a],"captured",b)}function ab(a,b){var c={};return c[a.toLowerCase()]=b.toLowerCase(),c["Webkit"+a]="webkit"+b,c["Moz"+a]="moz"+b,c["ms"+a]="MS"+b,c["O"+a]="o"+b.toLowerCase(),c}function eb(a){if(cb[a])return cb[a];if(!bb[a])return a;var c,b=bb[a];for(c in b)if(b.hasOwnProperty(c)&&c in db)return cb[a]=b[c];return a}function lb(){return!kb&&m.canUseDOM&&(kb="textContent"in document.documentElement?"textContent":"innerText"),kb}function mb(){if(G._fallbackText)return G._fallbackText;var a,d,b=G._startText,c=b.length,e=nb(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return G._fallbackText=e.slice(a,1<d?1-d:void 0),G._fallbackText}function nb(){return"value"in G._root?G._root.value:G._root[lb()]}function H(a,b,c,d){this.dispatchConfig=a,this._targetInst=b,this.nativeEvent=c,a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):"target"===e?this.target=d:this[e]=c[e]);return this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?v.thatReturnsTrue:v.thatReturnsFalse,this.isPropagationStopped=v.thatReturnsFalse,this}function rb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();return this.call(e,a,b,c,d),e}return new this(a,b,c,d)}function sb(a){a instanceof this||A("223"),a.destructor(),10>this.eventPool.length&&this.eventPool.push(a)}function qb(a){a.eventPool=[],a.getPooled=rb,a.release=sb}function Db(a,b){switch(a){case"keyup":return-1!==vb.indexOf(b.keyCode);case"keydown":return 229!==b.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function Eb(a){return a=a.detail,"object"==typeof a&&"data"in a?a.data:null}function Gb(a,b){switch(a){case"compositionend":return Eb(b);case"keypress":return 32!==b.which?null:(Cb=!0,Ab);case"textInput":return a=b.data,a===Ab&&Cb?null:a;default:return null}}function Hb(a,b){if(Fb)return"compositionend"===a||!wb&&Db(a,b)?(a=mb(),G._root=null,G._startText=null,G._fallbackText=null,Fb=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case"compositionend":return zb?null:b.data;default:return null}}function Nb(a){if(a=xa(a)){Jb&&"function"==typeof Jb.restoreControlledState||A("194");var b=wa(a.stateNode);Jb.restoreControlledState(a.stateNode,a.type,b)}}function Ob(a){Lb?Mb?Mb.push(a):Mb=[a]:Lb=a}function Pb(){return null!==Lb||null!==Mb}function Qb(){if(Lb){var a=Lb,b=Mb;if(Mb=Lb=null,Nb(a),b)for(a=0;a<b.length;a++)Nb(b[a])}}function Sb(a,b){return a(b)}function Tb(a,b,c){return a(b,c)}function Ub(){}function Wb(a,b){if(Vb)return a(b);Vb=!0;try{return Sb(a,b)}finally{Vb=!1,Pb()&&(Ub(),Qb())}}function Yb(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!Xb[a.type]:"textarea"===b}function Zb(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),3===a.nodeType?a.parentNode:a}function $b(a,b){return!(!m.canUseDOM||b&&!("addEventListener"in document))&&(a="on"+a,b=a in document,b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"==typeof b[a]),b)}function ac(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)}function bc(a){var b=ac(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&void 0!==c&&"function"==typeof c.get&&"function"==typeof c.set){var e=c.get,f=c.set;return Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a,f.call(this,a)}}),Object.defineProperty(a,b,{enumerable:c.enumerable}),{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker=null,delete a[b]}}}}function cc(a){a._valueTracker||(a._valueTracker=bc(a))}function dc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue(),d="";return a&&(d=ac(a)?a.checked?"true":"false":a.value),(a=d)!==c&&(b.setValue(a),!0)}function tc(a){return null===a||void 0===a?null:(a=sc&&a[sc]||a["@@iterator"],"function"==typeof a?a:null)}function uc(a){var b=a.type;if("function"==typeof b)return b.displayName||b.name;if("string"==typeof b)return b;switch(b){case pc:return"AsyncMode";case mc:return"Context.Consumer";case ic:return"ReactFragment";case hc:return"ReactPortal";case kc:return"Profiler("+a.pendingProps.id+")";case lc:return"Context.Provider";case jc:return"StrictMode";case rc:return"Timeout"}if("object"==typeof b&&null!==b)switch(b.$$typeof){case qc:return a=b.render.displayName||b.render.name||"",""!==a?"ForwardRef("+a+")":"ForwardRef"}return null}function vc(a){var b="";do{a:switch(a.tag){case 0:case 1:case 2:case 5:var c=a._debugOwner,d=a._debugSource,e=uc(a),f=null;c&&(f=uc(c)),c=d,e="\n in "+(e||"Unknown")+(c?" (at "+c.fileName.replace(/^.*[\\\/]/,"")+":"+c.lineNumber+")":f?" (created by "+f+")":"");break a;default:e=""}b+=e,a=a.return}while(a);return b}function Ac(a){return!!zc.hasOwnProperty(a)||!xc.hasOwnProperty(a)&&(wc.test(a)?zc[a]=!0:(xc[a]=!0,!1))}function Bc(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case"function":case"symbol":return!0;case"boolean":return!d&&(null!==c?!c.acceptsBooleans:"data-"!==(a=a.toLowerCase().slice(0,5))&&"aria-"!==a);default:return!1}}function Cc(a,b,c,d){if(null===b||void 0===b||Bc(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function I(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b,this.attributeName=d,this.attributeNamespace=e,this.mustUseProperty=c,this.propertyName=a,this.type=b}function Ec(a){return a[1].toUpperCase()}function Fc(a,b,c,d){var e=J.hasOwnProperty(b)?J[b]:null;(null!==e?0===e.type:!d&&(2<b.length&&("o"===b[0]||"O"===b[0])&&("n"===b[1]||"N"===b[1])))||(Cc(b,c,e,d)&&(c=null),d||null===e?Ac(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3!==e.type&&"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}function Gc(a,b){var c=b.checked;return p({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Hc(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ic(null!=b.value?b.value:c),a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function Jc(a,b){null!=(b=b.checked)&&Fc(a,"checked",b,!1)}function Kc(a,b){Jc(a,b);var c=Ic(b.value);null!=c&&("number"===b.type?(0===c&&""===a.value||a.value!=c)&&(a.value=""+c):a.value!==""+c&&(a.value=""+c)),b.hasOwnProperty("value")?Lc(a,b.type,c):b.hasOwnProperty("defaultValue")&&Lc(a,b.type,Ic(b.defaultValue)),null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}function Mc(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){b=""+a._wrapperState.initialValue;var d=a.value;c||b===d||(a.value=b),a.defaultValue=b}c=a.name,""!==c&&(a.name=""),a.defaultChecked=!a.defaultChecked,a.defaultChecked=!a.defaultChecked,""!==c&&(a.name=c)}function Lc(a,b,c){"number"===b&&a.ownerDocument.activeElement===a||(null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c))}function Ic(a){switch(typeof a){case"boolean":case"number":case"object":case"string":case"undefined":return a;default:return""}}function Oc(a,b,c){return a=H.getPooled(Nc.change,a,b,c),a.type="change",Ob(c),Ya(a),a}function Rc(a){Ia(a,!1)}function Sc(a){if(dc(Oa(a)))return a}function Tc(a,b){if("change"===a)return b}function Vc(){Pc&&(Pc.detachEvent("onpropertychange",Wc),Qc=Pc=null)}function Wc(a){"value"===a.propertyName&&Sc(Qc)&&(a=Oc(Qc,a,Zb(a)),Wb(Rc,a))}function Xc(a,b,c){"focus"===a?(Vc(),Pc=b,Qc=c,Pc.attachEvent("onpropertychange",Wc)):"blur"===a&&Vc()}function Yc(a){if("selectionchange"===a||"keyup"===a||"keydown"===a)return Sc(Qc)}function Zc(a,b){if("click"===a)return Sc(b)}function $c(a,b){if("input"===a||"change"===a)return Sc(b)}function dd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):!!(a=cd[a])&&!!b[a]}function ed(){return dd}function jd(a){var b=a;if(a.alternate)for(;b.return;)b=b.return;else{if(0!=(2&b.effectTag))return 1;for(;b.return;)if(b=b.return,0!=(2&b.effectTag))return 1}return 3===b.tag?2:3}function kd(a){2!==jd(a)&&A("188")}function ld(a){var b=a.alternate;if(!b)return b=jd(a),3===b&&A("188"),1===b?null:a;for(var c=a,d=b;;){var e=c.return,f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return kd(e),a;if(g===d)return kd(e),b;g=g.sibling}A("188")}if(c.return!==d.return)c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0,c=e,d=f;break}if(h===d){g=!0,d=e,c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0,c=f,d=e;break}if(h===d){g=!0,d=f,c=e;break}h=h.sibling}g||A("189")}}c.alternate!==d&&A("190")}return 3!==c.tag&&A("188"),c.stateNode.current===c?a:b}function md(a){if(!(a=ld(a)))return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return,b=b.sibling}}return null}function nd(a){if(!(a=ld(a)))return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return,b=b.sibling}}return null}function rd(a){var b=a.keyCode;return"charCode"in a?0===(a=a.charCode)&&13===b&&(a=13):a=b,10===a&&(a=13),32<=a||13===a?a:0}function Cd(a,b){var c=a[0];a=a[1];var d="on"+(a[0].toUpperCase()+a.slice(1));b={phasedRegistrationNames:{bubbled:d,captured:d+"Capture"},dependencies:[c],isInteractive:b},Ad[a]=b,Bd[c]=b}function Gd(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c.return;)c=c.return;if(!(c=3!==c.tag?null:c.stateNode.containerInfo))break;a.ancestors.push(b),b=Na(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],Ja(a.topLevelType,b,a.nativeEvent,Zb(a.nativeEvent))}function Id(a){Hd=!!a}function K(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!1)}function Md(a,b){if(!b)return null;var c=(Ed(a)?Kd:Ld).bind(null,a);b.addEventListener(a,c,!0)}function Kd(a,b){Tb(Ld,a,b)}function Ld(a,b){if(Hd){var c=Zb(b);if(c=Na(c),null===c||"number"!=typeof c.tag||2===jd(c)||(c=null),Fd.length){var d=Fd.pop();d.topLevelType=a,d.nativeEvent=b,d.targetInst=c,a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{Wb(Gd,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>Fd.length&&Fd.push(a)}}}function Rd(a){return Object.prototype.hasOwnProperty.call(a,Qd)||(a[Qd]=Pd++,Od[a[Qd]]={}),Od[a[Qd]]}function Sd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function Td(a,b){var c=Sd(a);a=0;for(var d;c;){if(3===c.nodeType){if(d=a+c.textContent.length,a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Sd(c)}}function Ud(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}function ae(a,b){if($d||null==Xd||Xd!==da())return null;var c=Xd;return"selectionStart"in c&&Ud(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0,Zd&&ea(Zd,c)?null:(Zd=c,a=H.getPooled(Wd.select,Yd,a,b),a.type="select",a.target=Xd,Ya(a),a)}function xe(a){var b="";return ba.Children.forEach(a,function(a){null==a||"string"!=typeof a&&"number"!=typeof a||(b+=a)}),b}function ye(a,b){return a=p({children:void 0},b),(b=xe(b.children))&&(a.children=b),a}function ze(a,b,c,d){if(a=a.options,b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{for(c=""+c,b=null,e=0;e<a.length;e++){if(a[e].value===c)return a[e].selected=!0,void(d&&(a[e].defaultSelected=!0));null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}function Ae(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Be(a,b){return null!=b.dangerouslySetInnerHTML&&A("91"),p({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function Ce(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c&&A("92"),Array.isArray(b)&&(1>=b.length||A("93"),b=b[0]),c=""+b),null==c&&(c="")),a._wrapperState={initialValue:""+c}}function De(a,b){var c=b.value;null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c)),null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function Ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}function Ge(a){switch(a){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function He(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Ge(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a}function Ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType)return void(c.nodeValue=b)}a.textContent=b}function Ne(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=c,f=b[c];e=null==f||"boolean"==typeof f||""===f?"":d||"number"!=typeof f||0===f||Le.hasOwnProperty(e)&&Le[e]?(""+f).trim():f+"px","float"===c&&(c="cssFloat"),d?a.setProperty(c,e):a[c]=e}}function Pe(a,b,c){b&&(Oe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML)&&A("137",a,c()),null!=b.dangerouslySetInnerHTML&&(null!=b.children&&A("60"),"object"==typeof b.dangerouslySetInnerHTML&&"__html"in b.dangerouslySetInnerHTML||A("61")),null!=b.style&&"object"!=typeof b.style&&A("62",c()))}function Qe(a,b){if(-1===a.indexOf("-"))return"string"==typeof b.is;switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Rd(a);b=sa[b];for(var d=0;d<b.length;d++){var e=b[d];if(!c.hasOwnProperty(e)||!c[e]){switch(e){case"scroll":Md("scroll",a);break;case"focus":case"blur":Md("focus",a),Md("blur",a),c.blur=!0,c.focus=!0;break;case"cancel":case"close":$b(e,!0)&&Md(e,a);break;case"invalid":case"submit":case"reset":break;default:-1===jb.indexOf(e)&&K(e,a)}c[e]=!0}}}function Te(a,b,c,d){return c=9===c.nodeType?c:c.ownerDocument,d===Fe.html&&(d=Ge(a)),d===Fe.html?"script"===a?(a=c.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild)):a="string"==typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a),a}function Ue(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}function Ve(a,b,c,d){var e=Qe(b,c);switch(b){case"iframe":case"object":K("load",a);var f=c;break;case"video":case"audio":for(f=0;f<jb.length;f++)K(jb[f],a);f=c;break;case"source":K("error",a),f=c;break;case"img":case"image":case"link":K("error",a),K("load",a),f=c;break;case"form":K("reset",a),K("submit",a),f=c;break;case"details":K("toggle",a),f=c;break;case"input":Hc(a,c),f=Gc(a,c),K("invalid",a),Se(d,"onChange");break;case"option":f=ye(a,c);break;case"select":Ae(a,c),f=p({},c,{value:void 0}),K("invalid",a),Se(d,"onChange");break;case"textarea":Ce(a,c),f=Be(a,c),K("invalid",a),Se(d,"onChange");break;default:f=c}Pe(b,f,Re);var h,g=f;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];"style"===h?Ne(a,k,Re):"dangerouslySetInnerHTML"===h?null!=(k=k?k.__html:void 0)&&Je(a,k):"children"===h?"string"==typeof k?("textarea"!==b||""!==k)&&Ke(a,k):"number"==typeof k&&Ke(a,""+k):"suppressContentEditableWarning"!==h&&"suppressHydrationWarning"!==h&&"autoFocus"!==h&&(ra.hasOwnProperty(h)?null!=k&&Se(d,h):null!=k&&Fc(a,h,k,e))}switch(b){case"input":cc(a),Mc(a,c,!1);break;case"textarea":cc(a),Ee(a,c);break;case"option":null!=c.value&&a.setAttribute("value",c.value);break;case"select":a.multiple=!!c.multiple,b=c.value,null!=b?ze(a,!!c.multiple,b,!1):null!=c.defaultValue&&ze(a,!!c.multiple,c.defaultValue,!0);break;default:"function"==typeof f.onClick&&(a.onclick=v)}}function We(a,b,c,d,e){var f=null;switch(b){case"input":c=Gc(a,c),d=Gc(a,d),f=[];break;case"option":c=ye(a,c),d=ye(a,d),f=[];break;case"select":c=p({},c,{value:void 0}),d=p({},d,{value:void 0}),f=[];break;case"textarea":c=Be(a,c),d=Be(a,d),f=[];break;default:"function"!=typeof c.onClick&&"function"==typeof d.onClick&&(a.onclick=v)}Pe(b,d,Re),b=a=void 0;var g=null;for(a in c)if(!d.hasOwnProperty(a)&&c.hasOwnProperty(a)&&null!=c[a])if("style"===a){var h=c[a];for(b in h)h.hasOwnProperty(b)&&(g||(g={}),g[b]="")}else"dangerouslySetInnerHTML"!==a&&"children"!==a&&"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&"autoFocus"!==a&&(ra.hasOwnProperty(a)?f||(f=[]):(f=f||[]).push(a,null));for(a in d){var k=d[a];if(h=null!=c?c[a]:void 0,d.hasOwnProperty(a)&&k!==h&&(null!=k||null!=h))if("style"===a)if(h){for(b in h)!h.hasOwnProperty(b)||k&&k.hasOwnProperty(b)||(g||(g={}),g[b]="");for(b in k)k.hasOwnProperty(b)&&h[b]!==k[b]&&(g||(g={}),g[b]=k[b])}else g||(f||(f=[]),f.push(a,g)),g=k;else"dangerouslySetInnerHTML"===a?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(a,""+k)):"children"===a?h===k||"string"!=typeof k&&"number"!=typeof k||(f=f||[]).push(a,""+k):"suppressContentEditableWarning"!==a&&"suppressHydrationWarning"!==a&&(ra.hasOwnProperty(a)?(null!=k&&Se(e,a),f||h===k||(f=[])):(f=f||[]).push(a,k))}return g&&(f=f||[]).push("style",g),f}function Xe(a,b,c,d,e){"input"===c&&"radio"===e.type&&null!=e.name&&Jc(a,e),Qe(c,d),d=Qe(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];"style"===g?Ne(a,h,Re):"dangerouslySetInnerHTML"===g?Je(a,h):"children"===g?Ke(a,h):Fc(a,g,h,d)}switch(c){case"input":Kc(a,e);break;case"textarea":De(a,e);break;case"select":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?ze(a,!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?ze(a,!!e.multiple,e.defaultValue,!0):ze(a,!!e.multiple,e.multiple?[]:"",!1))}}function Ye(a,b,c,d,e){switch(b){case"iframe":case"object":K("load",a);break;case"video":case"audio":for(d=0;d<jb.length;d++)K(jb[d],a);break;case"source":K("error",a);break;case"img":case"image":case"link":K("error",a),K("load",a);break;case"form":K("reset",a),K("submit",a);break;case"details":K("toggle",a);break;case"input":Hc(a,c),K("invalid",a),Se(e,"onChange");break;case"select":Ae(a,c),K("invalid",a),Se(e,"onChange");break;case"textarea":Ce(a,c),K("invalid",a),Se(e,"onChange")}Pe(b,c,Re),d=null;for(var f in c)if(c.hasOwnProperty(f)){var g=c[f];"children"===f?"string"==typeof g?a.textContent!==g&&(d=["children",g]):"number"==typeof g&&a.textContent!==""+g&&(d=["children",""+g]):ra.hasOwnProperty(f)&&null!=g&&Se(e,f)}switch(b){case"input":cc(a),Mc(a,c,!0);break;case"textarea":cc(a),Ee(a,c);break;case"select":case"option":break;default:"function"==typeof c.onClick&&(a.onclick=v)}return d}function Ze(a,b){return a.nodeValue!==b}function cf(a,b){switch(a){case"button":case"input":case"select":case"textarea":return!!b.autoFocus}return!1}function df(a,b){return"textarea"===a||"string"==typeof b.children||"number"==typeof b.children||"object"==typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&"string"==typeof b.dangerouslySetInnerHTML.__html}function hf(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}function jf(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a}function mf(a){return{current:a}}function M(a){0>lf||(a.current=kf[lf],kf[lf]=null,lf--)}function N(a,b){lf++,kf[lf]=a.current,a.current=b}function pf(a){return qf(a)?of:nf.current}function rf(a,b){var c=a.type.contextTypes;if(!c)return ha;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var f,e={};for(f in c)e[f]=b[f];return d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e),e}function qf(a){return 2===a.tag&&null!=a.type.childContextTypes}function sf(a){qf(a)&&(M(O,a),M(nf,a))}function tf(a){M(O,a),M(nf,a)}function uf(a,b,c){nf.current!==ha&&A("168"),N(nf,b,a),N(O,c,a)}function vf(a,b){var c=a.stateNode,d=a.type.childContextTypes;if("function"!=typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d||A("108",uc(a)||"Unknown",e);return p({},b,c)}function wf(a){if(!qf(a))return!1;var b=a.stateNode;return b=b&&b.__reactInternalMemoizedMergedChildContext||ha,of=nf.current,N(nf,b,a),N(O,O.current,a),!0}function xf(a,b){var c=a.stateNode;if(c||A("169"),b){var d=vf(a,of);c.__reactInternalMemoizedMergedChildContext=d,M(O,a),M(nf,a),N(nf,d,a)}else M(O,a);N(O,b,a)}function yf(a,b,c,d){this.tag=a,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=null,this.index=0,this.ref=null,this.pendingProps=b,this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=d,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function zf(a,b,c){var d=a.alternate;return null===d?(d=new yf(a.tag,b,a.key,a.mode),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.pendingProps=b,d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null),d.expirationTime=c,d.child=a.child,d.memoizedProps=a.memoizedProps,d.memoizedState=a.memoizedState,d.updateQueue=a.updateQueue,d.sibling=a.sibling,d.index=a.index,d.ref=a.ref,d}function Af(a,b,c){var d=a.type,e=a.key;if(a=a.props,"function"==typeof d)var f=d.prototype&&d.prototype.isReactComponent?2:0;else if("string"==typeof d)f=5;else switch(d){case ic:return Bf(a.children,b,c,e);case pc:f=11,b|=3;break;case jc:f=11,b|=2;break;case kc:return d=new yf(15,a,e,4|b),d.type=kc,d.expirationTime=c,d;case rc:f=16,b|=2;break;default:a:{switch("object"==typeof d&&null!==d?d.$$typeof:null){case lc:f=13;break a;case mc:f=12;break a;case qc:f=14;break a;default:A("130",null==d?d:typeof d,"")}f=void 0}}return b=new yf(f,a,e,b),b.type=d,b.expirationTime=c,b}function Bf(a,b,c,d){return a=new yf(10,a,d,b),a.expirationTime=c,a}function Cf(a,b,c){return a=new yf(6,a,null,b),a.expirationTime=c,a}function Df(a,b,c){return b=new yf(4,null!==a.children?a.children:[],a.key,b),b.expirationTime=c,b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},b}function Ef(a,b,c){return b=new yf(3,null,null,b?3:0),a={current:b,containerInfo:a,pendingChildren:null,earliestPendingTime:0,latestPendingTime:0,earliestSuspendedTime:0,latestSuspendedTime:0,latestPingedTime:0,pendingCommitExpirationTime:0,finishedWork:null,context:null,pendingContext:null,hydrate:c,remainingExpirationTime:0,firstBatch:null,nextScheduledRoot:null},b.stateNode=a}function Hf(a){return function(b){try{return a(b)}catch(c){}}}function If(a){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Ff=Hf(function(a){return b.onCommitFiberRoot(c,a)}),Gf=Hf(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function Jf(a){"function"==typeof Ff&&Ff(a)}function Kf(a){"function"==typeof Gf&&Gf(a)}function Mf(a){return{expirationTime:0,baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Nf(a){return{expirationTime:a.expirationTime,baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Of(a){return{expirationTime:a,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Pf(a,b,c){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b),(0===a.expirationTime||a.expirationTime>c)&&(a.expirationTime=c)}function Qf(a,b,c){var d=a.alternate;if(null===d){var e=a.updateQueue,f=null;null===e&&(e=a.updateQueue=Mf(a.memoizedState))}else e=a.updateQueue,f=d.updateQueue,null===e?null===f?(e=a.updateQueue=Mf(a.memoizedState),f=d.updateQueue=Mf(d.memoizedState)):e=a.updateQueue=Nf(f):null===f&&(f=d.updateQueue=Nf(e));null===f||e===f?Pf(e,b,c):null===e.lastUpdate||null===f.lastUpdate?(Pf(e,b,c),Pf(f,b,c)):(Pf(e,b,c),f.lastUpdate=b)}function Rf(a,b,c){var d=a.updateQueue;d=null===d?a.updateQueue=Mf(a.memoizedState):Sf(a,d),null===d.lastCapturedUpdate?d.firstCapturedUpdate=d.lastCapturedUpdate=b:(d.lastCapturedUpdate.next=b,d.lastCapturedUpdate=b),(0===d.expirationTime||d.expirationTime>c)&&(d.expirationTime=c)}function Sf(a,b){var c=a.alternate;return null!==c&&b===c.updateQueue&&(b=a.updateQueue=Nf(b)),b}function Tf(a,b,c,d,e,f){switch(c.tag){case 1:return a=c.payload,"function"==typeof a?a.call(f,d,e):a;case 3:a.effectTag=-1025&a.effectTag|64;case 0:if(a=c.payload,null===(e="function"==typeof a?a.call(f,d,e):a)||void 0===e)break;return p({},d,e);case 2:Lf=!0}return d}function Uf(a,b,c,d,e){if(Lf=!1,!(0===b.expirationTime||b.expirationTime>e)){b=Sf(a,b);for(var f=b.baseState,g=null,h=0,k=b.firstUpdate,n=f;null!==k;){var r=k.expirationTime;r>e?(null===g&&(g=k,f=n),(0===h||h>r)&&(h=r)):(n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastEffect?b.firstEffect=b.lastEffect=k:(b.lastEffect.nextEffect=k,b.lastEffect=k))),k=k.next}for(r=null,k=b.firstCapturedUpdate;null!==k;){var w=k.expirationTime;w>e?(null===r&&(r=k,null===g&&(f=n)),(0===h||h>w)&&(h=w)):(n=Tf(a,b,k,n,c,d),null!==k.callback&&(a.effectTag|=32,k.nextEffect=null,null===b.lastCapturedEffect?b.firstCapturedEffect=b.lastCapturedEffect=k:(b.lastCapturedEffect.nextEffect=k,b.lastCapturedEffect=k))),k=k.next}null===g&&(b.lastUpdate=null),null===r?b.lastCapturedUpdate=null:a.effectTag|=32,null===g&&null===r&&(f=n),b.baseState=f,b.firstUpdate=g,b.firstCapturedUpdate=r,b.expirationTime=h,a.memoizedState=n}}function Vf(a,b){"function"!=typeof a&&A("191",a),a.call(b)}function Wf(a,b,c){for(null!==b.firstCapturedUpdate&&(null!==b.lastUpdate&&(b.lastUpdate.next=b.firstCapturedUpdate,b.lastUpdate=b.lastCapturedUpdate),b.firstCapturedUpdate=b.lastCapturedUpdate=null),a=b.firstEffect,b.firstEffect=b.lastEffect=null;null!==a;){var d=a.callback;null!==d&&(a.callback=null,Vf(d,c)),a=a.nextEffect}for(a=b.firstCapturedEffect,b.firstCapturedEffect=b.lastCapturedEffect=null;null!==a;)b=a.callback,null!==b&&(a.callback=null,Vf(b,c)),a=a.nextEffect}function Xf(a,b){return{value:a,source:b,stack:vc(b)}}function ag(a){var b=a.type._context;N($f,b._changedBits,a),N(Zf,b._currentValue,a),N(Yf,a,a),b._currentValue=a.pendingProps.value,b._changedBits=a.stateNode}function bg(a){var b=$f.current,c=Zf.current;M(Yf,a),M(Zf,a),M($f,a),a=a.type._context,a._currentValue=c,a._changedBits=b}function gg(a){return a===cg&&A("174"),a}function ig(a,b){N(fg,b,a),N(eg,a,a),N(dg,cg,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:He(null,"");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=He(b,c)}M(dg,a),N(dg,b,a)}function jg(a){M(dg,a),M(eg,a),M(fg,a)}function kg(a){eg.current===a&&(M(dg,a),M(eg,a))}function lg(a,b,c){var d=a.memoizedState;b=b(c,d),d=null===b||void 0===b?d:p({},d,b),a.memoizedState=d,null!==(a=a.updateQueue)&&0===a.expirationTime&&(a.baseState=d)}function qg(a,b,c,d,e,f){var g=a.stateNode;return a=a.type,"function"==typeof g.shouldComponentUpdate?g.shouldComponentUpdate(c,e,f):!a.prototype||!a.prototype.isPureReactComponent||(!ea(b,c)||!ea(d,e))}function rg(a,b,c,d){a=b.state,"function"==typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d),"function"==typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d),b.state!==a&&pg.enqueueReplaceState(b,b.state,null)}function sg(a,b){var c=a.type,d=a.stateNode,e=a.pendingProps,f=pf(a);d.props=e,d.state=a.memoizedState,d.refs=ha,d.context=rf(a,f),f=a.updateQueue,null!==f&&(Uf(a,f,e,d,b),d.state=a.memoizedState),f=a.type.getDerivedStateFromProps,"function"==typeof f&&(lg(a,f,e),d.state=a.memoizedState),"function"==typeof c.getDerivedStateFromProps||"function"==typeof d.getSnapshotBeforeUpdate||"function"!=typeof d.UNSAFE_componentWillMount&&"function"!=typeof d.componentWillMount||(c=d.state,"function"==typeof d.componentWillMount&&d.componentWillMount(),"function"==typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount(),c!==d.state&&pg.enqueueReplaceState(d,d.state,null),null!==(f=a.updateQueue)&&(Uf(a,f,e,d,b),d.state=a.memoizedState)),"function"==typeof d.componentDidMount&&(a.effectTag|=4)}function ug(a,b,c){if(null!==(a=c.ref)&&"function"!=typeof a&&"object"!=typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(2!==c.tag&&A("110"),d=c.stateNode),d||A("147",a);var e=""+a;return null!==b&&null!==b.ref&&"function"==typeof b.ref&&b.ref._stringRef===e?b.ref:(b=function(a){var b=d.refs===ha?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a},b._stringRef=e,b)}"string"!=typeof a&&A("148"),c._owner||A("254",a)}return a}function vg(a,b){"textarea"!==a.type&&A("31","[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+"}":b,"")}function wg(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c,c.nextEffect=null,c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){return a=zf(a,b,c),a.index=0,a.sibling=null,a}function f(b,c,d){return b.index=d,a?null!==(d=b.alternate)?(d=d.index,d<c?(b.effectTag=2,c):d):(b.effectTag=2,c):c}function g(b){return a&&null===b.alternate&&(b.effectTag=2),b}function h(a,b,c,d){return null===b||6!==b.tag?(b=Cf(c,a.mode,d),b.return=a,b):(b=e(b,c,d),b.return=a,b)}function k(a,b,c,d){return null!==b&&b.type===c.type?(d=e(b,c.props,d),d.ref=ug(a,b,c),d.return=a,d):(d=Af(c,a.mode,d),d.ref=ug(a,b,c),d.return=a,d)}function n(a,b,c,d){return null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation?(b=Df(c,a.mode,d),b.return=a,b):(b=e(b,c.children||[],d),b.return=a,b)}function r(a,b,c,d,f){return null===b||10!==b.tag?(b=Bf(c,a.mode,d,f),b.return=a,b):(b=e(b,c,d),b.return=a,b)}function w(a,b,c){if("string"==typeof b||"number"==typeof b)return b=Cf(""+b,a.mode,c),b.return=a,b;if("object"==typeof b&&null!==b){switch(b.$$typeof){case gc:return c=Af(b,a.mode,c),c.ref=ug(a,null,b),c.return=a,c;case hc:return b=Df(b,a.mode,c),b.return=a,b}if(tg(b)||tc(b))return b=Bf(b,a.mode,c,null),b.return=a,b;vg(a,b)}return null}function P(a,b,c,d){var e=null!==b?b.key:null;if("string"==typeof c||"number"==typeof c)return null!==e?null:h(a,b,""+c,d);if("object"==typeof c&&null!==c){switch(c.$$typeof){case gc:return c.key===e?c.type===ic?r(a,b,c.props.children,d,e):k(a,b,c,d):null;case hc:return c.key===e?n(a,b,c,d):null}if(tg(c)||tc(c))return null!==e?null:r(a,b,c,d,null);vg(a,c)}return null}function nc(a,b,c,d,e){if("string"==typeof d||"number"==typeof d)return a=a.get(c)||null,h(b,a,""+d,e);if("object"==typeof d&&null!==d){switch(d.$$typeof){case gc:return a=a.get(null===d.key?c:d.key)||null,d.type===ic?r(b,a,d.props.children,e,d.key):k(b,a,d,e);case hc:return a=a.get(null===d.key?c:d.key)||null,n(b,a,d,e)}if(tg(d)||tc(d))return a=a.get(c)||null,r(b,a,d,e,null);vg(b,d)}return null}function Jd(e,g,h,k){for(var u=null,x=null,t=g,q=g=0,n=null;null!==t&&q<h.length;q++){t.index>q?(n=t,t=null):n=t.sibling;var l=P(e,t,h[q],k);if(null===l){null===t&&(t=n);break}a&&t&&null===l.alternate&&b(e,t),g=f(l,g,q),null===x?u=l:x.sibling=l,x=l,t=n}if(q===h.length)return c(e,t),u;if(null===t){for(;q<h.length;q++)(t=w(e,h[q],k))&&(g=f(t,g,q),null===x?u=t:x.sibling=t,x=t);return u}for(t=d(e,t);q<h.length;q++)(n=nc(t,e,q,h[q],k))&&(a&&null!==n.alternate&&t.delete(null===n.key?q:n.key),g=f(n,g,q),null===x?u=n:x.sibling=n,x=n);return a&&t.forEach(function(a){return b(e,a)}),u}function E(e,g,h,k){var u=tc(h);"function"!=typeof u&&A("150"),null==(h=u.call(h))&&A("151");for(var t=u=null,n=g,x=g=0,y=null,l=h.next();null!==n&&!l.done;x++,l=h.next()){n.index>x?(y=n,n=null):y=n.sibling;var r=P(e,n,l.value,k);if(null===r){n||(n=y);break}a&&n&&null===r.alternate&&b(e,n),g=f(r,g,x),null===t?u=r:t.sibling=r,t=r,n=y}if(l.done)return c(e,n),u;if(null===n){for(;!l.done;x++,l=h.next())null!==(l=w(e,l.value,k))&&(g=f(l,g,x),null===t?u=l:t.sibling=l,t=l);return u}for(n=d(e,n);!l.done;x++,l=h.next())null!==(l=nc(n,e,x,l.value,k))&&(a&&null!==l.alternate&&n.delete(null===l.key?x:l.key),g=f(l,g,x),null===t?u=l:t.sibling=l,t=l);return a&&n.forEach(function(a){return b(e,a)}),u}return function(a,d,f,h){var k="object"==typeof f&&null!==f&&f.type===ic&&null===f.key;k&&(f=f.props.children);var n="object"==typeof f&&null!==f;if(n)switch(f.$$typeof){case gc:a:{for(n=f.key,k=d;null!==k;){if(k.key===n){if(10===k.tag?f.type===ic:k.type===f.type){c(a,k.sibling),d=e(k,f.type===ic?f.props.children:f.props,h),d.ref=ug(a,k,f),d.return=a,a=d;break a}c(a,k);break}b(a,k),k=k.sibling}f.type===ic?(d=Bf(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Af(f,a.mode,h),h.ref=ug(a,d,f),h.return=a,a=h)}return g(a);case hc:a:{for(k=f.key;null!==d;){if(d.key===k){if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling),d=e(d,f.children||[],h),d.return=a,a=d;break a}c(a,d);break}b(a,d),d=d.sibling}d=Df(f,a.mode,h),d.return=a,a=d}return g(a)}if("string"==typeof f||"number"==typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=Cf(f,a.mode,h),d.return=a,a=d),g(a);if(tg(f))return Jd(a,d,f,h);if(tc(f))return E(a,d,f,h);if(n&&vg(a,f),void 0===f&&!k)switch(a.tag){case 2:case 1:h=a.type,A("152",h.displayName||h.name||"Component")}return c(a,d)}}function Cg(a,b){var c=new yf(5,null,null,0);c.type="DELETED",c.stateNode=b,c.return=a,c.effectTag=8,null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Dg(a,b){switch(a.tag){case 5:var c=a.type;return null!==(b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b)&&(a.stateNode=b,!0);case 6:return null!==(b=""===a.pendingProps||3!==b.nodeType?null:b)&&(a.stateNode=b,!0);default:return!1}}function Eg(a){if(Bg){var b=Ag;if(b){var c=b;if(!Dg(a,b)){if(!(b=hf(c))||!Dg(a,b))return a.effectTag|=2,Bg=!1,void(zg=a);Cg(zg,c)}zg=a,Ag=jf(b)}else a.effectTag|=2,Bg=!1,zg=a}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag;)a=a.return;zg=a}function Gg(a){if(a!==zg)return!1;if(!Bg)return Fg(a),Bg=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!df(b,a.memoizedProps))for(b=Ag;b;)Cg(a,b),b=hf(b);return Fg(a),Ag=zg?hf(a.stateNode):null,!0}function Hg(){Ag=zg=null,Bg=!1}function Q(a,b,c){Ig(a,b,c,b.expirationTime)}function Ig(a,b,c,d){b.child=null===a?yg(b,null,c,d):xg(b,a.child,c,d)}function Jg(a,b){var c=b.ref;(null===a&&null!==c||null!==a&&a.ref!==c)&&(b.effectTag|=128)}function Kg(a,b,c,d,e){Jg(a,b);var f=0!=(64&b.effectTag);if(!c&&!f)return d&&xf(b,!1),R(a,b);c=b.stateNode,ec.current=b;var g=f?null:c.render();return b.effectTag|=1,f&&(Ig(a,b,null,e),b.child=null),Ig(a,b,g,e),b.memoizedState=c.state,b.memoizedProps=c.props,d&&xf(b,!0),b.child}function Lg(a){var b=a.stateNode;b.pendingContext?uf(a,b.pendingContext,b.pendingContext!==b.context):b.context&&uf(a,b.context,!1),ig(a,b.containerInfo)}function Mg(a,b,c,d){var e=a.child;for(null!==e&&(e.return=a);null!==e;){switch(e.tag){case 12:var f=0|e.stateNode;if(e.type===b&&0!=(f&c)){for(f=e;null!==f;){var g=f.alternate;if(0===f.expirationTime||f.expirationTime>d)f.expirationTime=d,null!==g&&(0===g.expirationTime||g.expirationTime>d)&&(g.expirationTime=d);else{if(null===g||!(0===g.expirationTime||g.expirationTime>d))break;g.expirationTime=d}f=f.return}f=null}else f=e.child;break;case 13:f=e.type===a.type?null:e.child;break;default:f=e.child}if(null!==f)f.return=e;else for(f=e;null!==f;){if(f===a){f=null;break}if(null!==(e=f.sibling)){e.return=f.return,f=e;break}f=f.return}e=f}}function Qg(a,b,c){var d=b.type._context,e=b.pendingProps,f=b.memoizedProps,g=!0;if(O.current)g=!1;else if(f===e)return b.stateNode=0,ag(b),R(a,b);var h=e.value;if(b.memoizedProps=e,null===f)h=1073741823;else if(f.value===e.value){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else{var k=f.value;if(k===h&&(0!==k||1/k==1/h)||k!==k&&h!==h){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b);h=0}else if(h="function"==typeof d._calculateChangedBits?d._calculateChangedBits(k,h):1073741823,0===(h|=0)){if(f.children===e.children&&g)return b.stateNode=0,ag(b),R(a,b)}else Mg(b,d,h,c)}return b.stateNode=h,ag(b),Q(a,b,e.children),b.child}function R(a,b){if(null!==a&&b.child!==a.child&&A("153"),null!==b.child){a=b.child;var c=zf(a,a.pendingProps,a.expirationTime);for(b.child=c,c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=zf(a,a.pendingProps,a.expirationTime),c.return=b;c.sibling=null}return b.child}function Rg(a,b,c){if(0===b.expirationTime||b.expirationTime>c){switch(b.tag){case 3:Lg(b);break;case 2:wf(b);break;case 4:ig(b,b.stateNode.containerInfo);break;case 13:ag(b)}return null}switch(b.tag){case 0:null!==a&&A("155");var d=b.type,e=b.pendingProps,f=pf(b);return f=rf(b,f),d=d(e,f),b.effectTag|=1,"object"==typeof d&&null!==d&&"function"==typeof d.render&&void 0===d.$$typeof?(f=b.type,b.tag=2,b.memoizedState=null!==d.state&&void 0!==d.state?d.state:null,f=f.getDerivedStateFromProps,"function"==typeof f&&lg(b,f,e),e=wf(b),d.updater=pg,b.stateNode=d,d._reactInternalFiber=b,sg(b,c),a=Kg(a,b,!0,e,c)):(b.tag=1,Q(a,b,d),b.memoizedProps=e,a=b.child),a;case 1:return e=b.type,c=b.pendingProps,O.current||b.memoizedProps!==c?(d=pf(b),d=rf(b,d),e=e(c,d),b.effectTag|=1,Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 2:if(e=wf(b),null===a)if(null===b.stateNode){var g=b.pendingProps,h=b.type;d=pf(b);var k=2===b.tag&&null!=b.type.contextTypes;f=k?rf(b,d):ha,g=new h(g,f),b.memoizedState=null!==g.state&&void 0!==g.state?g.state:null,g.updater=pg,b.stateNode=g,g._reactInternalFiber=b,k&&(k=b.stateNode,k.__reactInternalMemoizedUnmaskedChildContext=d,k.__reactInternalMemoizedMaskedChildContext=f),sg(b,c),d=!0}else{h=b.type,d=b.stateNode,k=b.memoizedProps,f=b.pendingProps,d.props=k;var n=d.context;g=pf(b),g=rf(b,g);var r=h.getDerivedStateFromProps;(h="function"==typeof r||"function"==typeof d.getSnapshotBeforeUpdate)||"function"!=typeof d.UNSAFE_componentWillReceiveProps&&"function"!=typeof d.componentWillReceiveProps||(k!==f||n!==g)&&rg(b,d,f,g),Lf=!1;var w=b.memoizedState;n=d.state=w;var P=b.updateQueue;null!==P&&(Uf(b,P,f,d,c),n=b.memoizedState),k!==f||w!==n||O.current||Lf?("function"==typeof r&&(lg(b,r,f),n=b.memoizedState),(k=Lf||qg(b,k,f,w,n,g))?(h||"function"!=typeof d.UNSAFE_componentWillMount&&"function"!=typeof d.componentWillMount||("function"==typeof d.componentWillMount&&d.componentWillMount(),"function"==typeof d.UNSAFE_componentWillMount&&d.UNSAFE_componentWillMount()),"function"==typeof d.componentDidMount&&(b.effectTag|=4)):("function"==typeof d.componentDidMount&&(b.effectTag|=4),b.memoizedProps=f,b.memoizedState=n),d.props=f,d.state=n,d.context=g,d=k):("function"==typeof d.componentDidMount&&(b.effectTag|=4),d=!1)}else h=b.type,d=b.stateNode,f=b.memoizedProps,k=b.pendingProps,d.props=f,n=d.context,g=pf(b),g=rf(b,g),r=h.getDerivedStateFromProps,(h="function"==typeof r||"function"==typeof d.getSnapshotBeforeUpdate)||"function"!=typeof d.UNSAFE_componentWillReceiveProps&&"function"!=typeof d.componentWillReceiveProps||(f!==k||n!==g)&&rg(b,d,k,g),Lf=!1,n=b.memoizedState,w=d.state=n,P=b.updateQueue,null!==P&&(Uf(b,P,k,d,c),w=b.memoizedState),f!==k||n!==w||O.current||Lf?("function"==typeof r&&(lg(b,r,k),w=b.memoizedState),(r=Lf||qg(b,f,k,n,w,g))?(h||"function"!=typeof d.UNSAFE_componentWillUpdate&&"function"!=typeof d.componentWillUpdate||("function"==typeof d.componentWillUpdate&&d.componentWillUpdate(k,w,g),"function"==typeof d.UNSAFE_componentWillUpdate&&d.UNSAFE_componentWillUpdate(k,w,g)),"function"==typeof d.componentDidUpdate&&(b.effectTag|=4),"function"==typeof d.getSnapshotBeforeUpdate&&(b.effectTag|=256)):("function"!=typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),"function"!=typeof d.getSnapshotBeforeUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),b.memoizedProps=k,b.memoizedState=w),d.props=k,d.state=w,d.context=g,d=r):("function"!=typeof d.componentDidUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=4),"function"!=typeof d.getSnapshotBeforeUpdate||f===a.memoizedProps&&n===a.memoizedState||(b.effectTag|=256),d=!1);return Kg(a,b,d,e,c);case 3:return Lg(b),e=b.updateQueue,null!==e?(d=b.memoizedState,d=null!==d?d.element:null,Uf(b,e,b.pendingProps,null,c),(e=b.memoizedState.element)===d?(Hg(),a=R(a,b)):(d=b.stateNode,(d=(null===a||null===a.child)&&d.hydrate)&&(Ag=jf(b.stateNode.containerInfo),zg=b,d=Bg=!0),d?(b.effectTag|=2,b.child=yg(b,null,e,c)):(Hg(),Q(a,b,e)),a=b.child)):(Hg(),a=R(a,b)),a;case 5:return gg(fg.current),e=gg(dg.current),d=He(e,b.type),e!==d&&(N(eg,b,b),N(dg,d,b)),null===a&&Eg(b),e=b.type,k=b.memoizedProps,d=b.pendingProps,f=null!==a?a.memoizedProps:null,O.current||k!==d||((k=1&b.mode&&!!d.hidden)&&(b.expirationTime=1073741823),k&&1073741823===c)?(k=d.children,df(e,d)?k=null:f&&df(e,f)&&(b.effectTag|=16),Jg(a,b),1073741823!==c&&1&b.mode&&d.hidden?(b.expirationTime=1073741823,b.memoizedProps=d,a=null):(Q(a,b,k),b.memoizedProps=d,a=b.child)):a=R(a,b),a;case 6:return null===a&&Eg(b),b.memoizedProps=b.pendingProps,null;case 16:return null;case 4:return ig(b,b.stateNode.containerInfo),e=b.pendingProps,O.current||b.memoizedProps!==e?(null===a?b.child=xg(b,null,e,c):Q(a,b,e),b.memoizedProps=e,a=b.child):a=R(a,b),a;case 14:return e=b.type.render,c=b.pendingProps,d=b.ref,O.current||b.memoizedProps!==c||d!==(null!==a?a.ref:null)?(e=e(c,d),Q(a,b,e),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 10:return c=b.pendingProps,O.current||b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 11:return c=b.pendingProps.children,O.current||null!==c&&b.memoizedProps!==c?(Q(a,b,c),b.memoizedProps=c,a=b.child):a=R(a,b),a;case 15:return c=b.pendingProps,b.memoizedProps===c?a=R(a,b):(Q(a,b,c.children),b.memoizedProps=c,a=b.child),a;case 13:return Qg(a,b,c);case 12:a:if(d=b.type,f=b.pendingProps,k=b.memoizedProps,e=d._currentValue,g=d._changedBits,O.current||0!==g||k!==f){if(b.memoizedProps=f,h=f.unstable_observedBits,void 0!==h&&null!==h||(h=1073741823),b.stateNode=h,0!=(g&h))Mg(b,d,g,c);else if(k===f){a=R(a,b);break a}c=f.children,c=c(e),b.effectTag|=1,Q(a,b,c),a=b.child}else a=R(a,b);return a;default:A("156")}}function Sg(a){a.effectTag|=4}function Wg(a,b){var c=b.pendingProps;switch(b.tag){case 1:return null;case 2:return sf(b),null;case 3:jg(b),tf(b);var d=b.stateNode;return d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),null!==a&&null!==a.child||(Gg(b),b.effectTag&=-3),Tg(b),null;case 5:kg(b),d=gg(fg.current);var e=b.type;if(null!==a&&null!=b.stateNode){var f=a.memoizedProps,g=b.stateNode,h=gg(dg.current);g=We(g,e,f,c,d),Ug(a,b,g,e,f,c,d,h),a.ref!==b.ref&&(b.effectTag|=128)}else{if(!c)return null===b.stateNode&&A("166"),null;if(a=gg(dg.current),Gg(b))c=b.stateNode,e=b.type,f=b.memoizedProps,c[C]=b,c[Ma]=f,d=Ye(c,e,f,a,d),b.updateQueue=d,null!==d&&Sg(b);else{a=Te(e,c,d,a),a[C]=b,a[Ma]=c;a:for(f=b.child;null!==f;){if(5===f.tag||6===f.tag)a.appendChild(f.stateNode);else if(4!==f.tag&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===b)break;for(;null===f.sibling;){if(null===f.return||f.return===b)break a;f=f.return}f.sibling.return=f.return,f=f.sibling}Ve(a,e,c,d),cf(e,c)&&Sg(b),b.stateNode=a}null!==b.ref&&(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)Vg(a,b,a.memoizedProps,c);else{if("string"!=typeof c)return null===b.stateNode&&A("166"),null;d=gg(fg.current),gg(dg.current),Gg(b)?(d=b.stateNode,c=b.memoizedProps,d[C]=b,Ze(d,c)&&Sg(b)):(d=Ue(c,d),d[C]=b,b.stateNode=d)}return null;case 14:case 16:case 10:case 11:case 15:return null;case 4:return jg(b),Tg(b),null;case 13:return bg(b),null;case 12:return null;case 0:A("167");default:A("156")}}function Xg(a,b){var c=b.source;null===b.stack&&null!==c&&vc(c),null!==c&&uc(c),b=b.value,null!==a&&2===a.tag&&uc(a);try{b&&b.suppressReactErrorLogging||console.error(b)}catch(d){d&&d.suppressReactErrorLogging||console.error(d)}}function Yg(a){var b=a.ref;if(null!==b)if("function"==typeof b)try{b(null)}catch(c){Zg(a,c)}else b.current=null}function $g(a){switch("function"==typeof Kf&&Kf(a),a.tag){case 2:Yg(a);var b=a.stateNode;if("function"==typeof b.componentWillUnmount)try{b.props=a.memoizedProps,b.state=a.memoizedState,b.componentWillUnmount()}catch(c){Zg(a,c)}break;case 5:Yg(a);break;case 4:ah(a)}}function bh(a){return 5===a.tag||3===a.tag||4===a.tag}function ch(a){a:{for(var b=a.return;null!==b;){if(bh(b)){var c=b;break a}b=b.return}A("160"),c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode,d=!1;break;case 3:case 4:b=c.stateNode.containerInfo,d=!0;break;default:A("161")}16&c.effectTag&&(Ke(b,""),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||bh(c.return)){c=null;break a}c=c.return}for(c.sibling.return=c.return,c=c.sibling;5!==c.tag&&6!==c.tag;){if(2&c.effectTag)continue b;if(null===c.child||4===c.tag)continue b;c.child.return=c,c=c.child}if(!(2&c.effectTag)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)if(c)if(d){var f=b,g=e.stateNode,h=c;8===f.nodeType?f.parentNode.insertBefore(g,h):f.insertBefore(g,h)}else b.insertBefore(e.stateNode,c);else d?(f=b,g=e.stateNode,8===f.nodeType?f.parentNode.insertBefore(g,f):f.appendChild(g)):b.appendChild(e.stateNode);else if(4!==e.tag&&null!==e.child){e.child.return=e,e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e.return||e.return===a)return;e=e.return}e.sibling.return=e.return,e=e.sibling}}function ah(a){for(var b=a,c=!1,d=void 0,e=void 0;;){if(!c){c=b.return;a:for(;;){switch(null===c&&A("160"),c.tag){case 5:d=c.stateNode,e=!1;break a;case 3:case 4:d=c.stateNode.containerInfo,e=!0;break a}c=c.return}c=!0}if(5===b.tag||6===b.tag){a:for(var f=b,g=f;;)if($g(g),null!==g.child&&4!==g.tag)g.child.return=g,g=g.child;else{if(g===f)break;for(;null===g.sibling;){if(null===g.return||g.return===f)break a;g=g.return}g.sibling.return=g.return,g=g.sibling}e?(f=d,g=b.stateNode,8===f.nodeType?f.parentNode.removeChild(g):f.removeChild(g)):d.removeChild(b.stateNode)}else if(4===b.tag?d=b.stateNode.containerInfo:$g(b),null!==b.child){b.child.return=b,b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return;b=b.return,4===b.tag&&(c=!1)}b.sibling.return=b.return,b=b.sibling}}function dh(a,b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null,null!==f&&(c[Ma]=d,Xe(c,f,e,a,d))}break;case 6:null===b.stateNode&&A("162"),b.stateNode.nodeValue=b.memoizedProps;break;case 3:case 15:case 16:break;default:A("163")}}function eh(a,b,c){c=Of(c),c.tag=3,c.payload={element:null};var d=b.value;return c.callback=function(){fh(d),Xg(a,b)},c}function gh(a,b,c){c=Of(c),c.tag=3;var d=a.stateNode;return null!==d&&"function"==typeof d.componentDidCatch&&(c.callback=function(){null===hh?hh=new Set([this]):hh.add(this);var c=b.value,d=b.stack;Xg(a,b),this.componentDidCatch(c,{componentStack:null!==d?d:""})}),c}function ih(a,b,c,d,e,f){c.effectTag|=512,c.firstEffect=c.lastEffect=null,d=Xf(d,c),a=b;do{switch(a.tag){case 3:return a.effectTag|=1024,d=eh(a,d,f),void Rf(a,d,f);case 2:if(b=d,c=a.stateNode,0==(64&a.effectTag)&&null!==c&&"function"==typeof c.componentDidCatch&&(null===hh||!hh.has(c)))return a.effectTag|=1024,d=gh(a,b,f),void Rf(a,d,f)}a=a.return}while(null!==a)}function jh(a){switch(a.tag){case 2:sf(a);var b=a.effectTag;return 1024&b?(a.effectTag=-1025&b|64,a):null;case 3:return jg(a),tf(a),b=a.effectTag,1024&b?(a.effectTag=-1025&b|64,a):null;case 5:return kg(a),null;case 16:return b=a.effectTag,1024&b?(a.effectTag=-1025&b|64,a):null;case 4:return jg(a),null;case 13:return bg(a),null;default:return null}}function vh(){if(null!==S)for(var a=S.return;null!==a;){var b=a;switch(b.tag){case 2:sf(b);break;case 3:jg(b),tf(b);break;case 5:kg(b);break;case 4:jg(b);break;case 13:bg(b)}a=a.return}qh=null,T=0,rh=-1,sh=!1,S=null,uh=!1}function wh(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0==(512&a.effectTag)){b=Wg(b,a,T);var e=a;if(1073741823===T||1073741823!==e.expirationTime){var f=0;switch(e.tag){case 3:case 2:var g=e.updateQueue;null!==g&&(f=g.expirationTime)}for(g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==b)return b;if(null!==c&&0==(512&c.effectTag)&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a)),null!==d)return d;if(null===c){uh=!0;break}a=c}else{if(null!==(a=jh(a,sh,T)))return a.effectTag&=511,a;if(null!==c&&(c.firstEffect=c.lastEffect=null,c.effectTag|=512),null!==d)return d;if(null===c)break;a=c}}return null}function xh(a){var b=Rg(a.alternate,a,T);return null===b&&(b=wh(a)),ec.current=null,b}function yh(a,b,c){ph&&A("243"),ph=!0,b===T&&a===qh&&null!==S||(vh(),qh=a,T=b,rh=-1,S=zf(qh.current,null,T),a.pendingCommitExpirationTime=0);var d=!1;for(sh=!c||T<=lh;;){try{if(c)for(;null!==S&&!zh();)S=xh(S);else for(;null!==S;)S=xh(S)}catch(f){if(null===S)d=!0,fh(f);else{null===S&&A("271"),c=S;var e=c.return;if(null===e){d=!0,fh(f);break}ih(a,e,c,f,sh,T,mh),S=wh(c)}}break}if(ph=!1,d)return null;if(null===S){if(uh)return a.pendingCommitExpirationTime=b,a.current.alternate;sh&&A("262"),0<=rh&&setTimeout(function(){var b=a.current.expirationTime;0!==b&&(0===a.remainingExpirationTime||a.remainingExpirationTime<b)&&Ah(a,b)},rh),Bh(a.current.expirationTime)}return null}function Zg(a,b){var c;a:{for(ph&&!th&&A("263"),c=a.return;null!==c;){switch(c.tag){case 2:var d=c.stateNode;if("function"==typeof c.type.getDerivedStateFromCatch||"function"==typeof d.componentDidCatch&&(null===hh||!hh.has(d))){a=Xf(b,a),a=gh(c,a,1),Qf(c,a,1),og(c,1),c=void 0;break a}break;case 3:a=Xf(b,a),a=eh(c,a,1),Qf(c,a,1),og(c,1),c=void 0;break a}c=c.return}3===a.tag&&(c=Xf(b,a),c=eh(a,c,1),Qf(a,c,1),og(a,1)),c=void 0}return c}function Ch(){var a=2+25*(1+((mg()-2+500)/25|0));return a<=nh&&(a=nh+1),nh=a}function ng(a,b){return a=0!==oh?oh:ph?th?1:T:1&b.mode?Dh?2+10*(1+((a-2+15)/10|0)):2+25*(1+((a-2+500)/25|0)):1,Dh&&(0===Eh||a>Eh)&&(Eh=a),a}function og(a,b){for(;null!==a;){if((0===a.expirationTime||a.expirationTime>b)&&(a.expirationTime=b),null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b),null===a.return){if(3!==a.tag)break;var c=a.stateNode;!ph&&0!==T&&b<T&&vh();var d=c.current.expirationTime;ph&&!th&&qh===c||Ah(c,d),Fh>Gh&&A("185")}a=a.return}}function mg(){return mh=ef()-kh,lh=2+(mh/10|0)}function Hh(a){var b=oh;oh=2+25*(1+((mg()-2+500)/25|0));try{return a()}finally{oh=b}}function Ih(a,b,c,d,e){var f=oh;oh=1;try{return a(b,c,d,e)}finally{oh=f}}function Th(a){if(0!==Kh){if(a>Kh)return;null!==Lh&&gf(Lh)}var b=ef()-kh;Kh=a,Lh=ff(Uh,{timeout:10*(a-2)-b})}function Ah(a,b){if(null===a.nextScheduledRoot)a.remainingExpirationTime=b,null===V?(Jh=V=a,a.nextScheduledRoot=a):(V=V.nextScheduledRoot=a,V.nextScheduledRoot=Jh);else{var c=a.remainingExpirationTime;(0===c||b<c)&&(a.remainingExpirationTime=b)}W||(Z?Qh&&(X=a,Y=1,Vh(a,1,!1)):1===b?Wh():Th(b))}function Xh(){var a=0,b=null;if(null!==V)for(var c=V,d=Jh;null!==d;){var e=d.remainingExpirationTime;if(0===e){if((null===c||null===V)&&A("244"),d===d.nextScheduledRoot){Jh=V=d.nextScheduledRoot=null;break}if(d===Jh)Jh=e=d.nextScheduledRoot,V.nextScheduledRoot=e,d.nextScheduledRoot=null;else{if(d===V){V=c,V.nextScheduledRoot=Jh,d.nextScheduledRoot=null;break}c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null}d=c.nextScheduledRoot}else{if((0===a||e<a)&&(a=e,b=d),d===V)break;c=d,d=d.nextScheduledRoot}}c=X,null!==c&&c===b&&1===a?Fh++:Fh=0,X=b,Y=a}function Uh(a){Yh(0,!0,a)}function Wh(){Yh(1,!1,null)}function Yh(a,b,c){if(Ph=c,Xh(),b)for(;null!==X&&0!==Y&&(0===a||a>=Y)&&(!Mh||mg()>=Y);)mg(),Vh(X,Y,!Mh),Xh();else for(;null!==X&&0!==Y&&(0===a||a>=Y);)Vh(X,Y,!1),Xh();null!==Ph&&(Kh=0,Lh=null),0!==Y&&Th(Y),Ph=null,Mh=!1,Zh()}function $h(a,b){W&&A("253"),X=a,Y=b,Vh(a,b,!1),Wh(),Zh()}function Zh(){if(Fh=0,null!==Rh){var a=Rh;Rh=null;for(var b=0;b<a.length;b++){var c=a[b];try{c._onComplete()}catch(d){Nh||(Nh=!0,Oh=d)}}}if(Nh)throw a=Oh,Oh=null,Nh=!1,a}function Vh(a,b,c){W&&A("245"),W=!0,c?(c=a.finishedWork,null!==c?ai(a,c,b):null!==(c=yh(a,b,!0))&&(zh()?a.finishedWork=c:ai(a,c,b))):(c=a.finishedWork,null!==c?ai(a,c,b):null!==(c=yh(a,b,!1))&&ai(a,c,b)),W=!1}function ai(a,b,c){var d=a.firstBatch;if(null!==d&&d._expirationTime<=c&&(null===Rh?Rh=[d]:Rh.push(d),d._defer))return a.finishedWork=b,void(a.remainingExpirationTime=0);if(a.finishedWork=null,th=ph=!0,c=b.stateNode,c.current===b&&A("177"),d=c.pendingCommitExpirationTime,0===d&&A("261"),c.pendingCommitExpirationTime=0,mg(),ec.current=null,1<b.effectTag)if(null!==b.lastEffect){b.lastEffect.nextEffect=b;var e=b.firstEffect}else e=b;else e=b.firstEffect;af=Hd;var f=da();if(Ud(f)){if("selectionStart"in f)var g={start:f.selectionStart,end:f.selectionEnd};else a:{var h=window.getSelection&&window.getSelection();if(h&&0!==h.rangeCount){g=h.anchorNode;var k=h.anchorOffset,n=h.focusNode;h=h.focusOffset;try{g.nodeType,n.nodeType}catch(Wa){g=null;break a}var r=0,w=-1,P=-1,nc=0,Jd=0,E=f,t=null;b:for(;;){for(var x;E!==g||0!==k&&3!==E.nodeType||(w=r+k),E!==n||0!==h&&3!==E.nodeType||(P=r+h),3===E.nodeType&&(r+=E.nodeValue.length),null!==(x=E.firstChild);)t=E,E=x;for(;;){if(E===f)break b;if(t===g&&++nc===k&&(w=r),t===n&&++Jd===h&&(P=r),null!==(x=E.nextSibling))break;E=t,t=E.parentNode}E=x}g=-1===w||-1===P?null:{start:w,end:P}}else g=null}g=g||{start:0,end:0}}else g=null;for(bf={focusedElem:f,selectionRange:g},Id(!1),U=e;null!==U;){f=!1,g=void 0;try{for(;null!==U;){if(256&U.effectTag){var u=U.alternate;switch(k=U,k.tag){case 2:if(256&k.effectTag&&null!==u){var y=u.memoizedProps,D=u.memoizedState,ja=k.stateNode;ja.props=k.memoizedProps,ja.state=k.memoizedState;var mi=ja.getSnapshotBeforeUpdate(y,D);ja.__reactInternalSnapshotBeforeUpdate=mi}break;case 3:case 5:case 6:case 4:break;default:A("163")}}U=U.nextEffect}}catch(Wa){f=!0,g=Wa}f&&(null===U&&A("178"),Zg(U,g),null!==U&&(U=U.nextEffect))}for(U=e;null!==U;){u=!1,y=void 0;try{for(;null!==U;){var q=U.effectTag;if(16&q&&Ke(U.stateNode,""),128&q){var z=U.alternate;if(null!==z){var l=z.ref;null!==l&&("function"==typeof l?l(null):l.current=null)}}switch(14&q){case 2:ch(U),U.effectTag&=-3;break;case 6:ch(U),U.effectTag&=-3,dh(U.alternate,U);break;case 4:dh(U.alternate,U);break;case 8:D=U,ah(D),D.return=null,D.child=null,D.alternate&&(D.alternate.child=null,D.alternate.return=null)}U=U.nextEffect}}catch(Wa){u=!0,y=Wa}u&&(null===U&&A("178"),Zg(U,y),null!==U&&(U=U.nextEffect))}if(l=bf,z=da(),q=l.focusedElem,u=l.selectionRange,z!==q&&fa(document.documentElement,q)){null!==u&&Ud(q)&&(z=u.start,l=u.end,void 0===l&&(l=z),"selectionStart"in q?(q.selectionStart=z,q.selectionEnd=Math.min(l,q.value.length)):window.getSelection&&(z=window.getSelection(),y=q[lb()].length,l=Math.min(u.start,y),u=void 0===u.end?l:Math.min(u.end,y),!z.extend&&l>u&&(y=u,u=l,l=y),y=Td(q,l),D=Td(q,u),y&&D&&(1!==z.rangeCount||z.anchorNode!==y.node||z.anchorOffset!==y.offset||z.focusNode!==D.node||z.focusOffset!==D.offset)&&(ja=document.createRange(),ja.setStart(y.node,y.offset),z.removeAllRanges(),l>u?(z.addRange(ja),z.extend(D.node,D.offset)):(ja.setEnd(D.node,D.offset),z.addRange(ja))))),z=[];for(l=q;l=l.parentNode;)1===l.nodeType&&z.push({element:l,left:l.scrollLeft,top:l.scrollTop});for("function"==typeof q.focus&&q.focus(),q=0;q<z.length;q++)l=z[q],l.element.scrollLeft=l.left,l.element.scrollTop=l.top}for(bf=null,Id(af),af=null,c.current=b,U=e;null!==U;){e=!1,q=void 0;try{for(z=d;null!==U;){var hg=U.effectTag;if(36&hg){var oc=U.alternate;switch(l=U,u=z,l.tag){case 2:var ca=l.stateNode;if(4&l.effectTag)if(null===oc)ca.props=l.memoizedProps,ca.state=l.memoizedState,ca.componentDidMount();else{var wi=oc.memoizedProps,xi=oc.memoizedState;ca.props=l.memoizedProps,ca.state=l.memoizedState,ca.componentDidUpdate(wi,xi,ca.__reactInternalSnapshotBeforeUpdate)}var Ng=l.updateQueue;null!==Ng&&(ca.props=l.memoizedProps,ca.state=l.memoizedState,Wf(l,Ng,ca,u));break;case 3:var Og=l.updateQueue;if(null!==Og){if(y=null,null!==l.child)switch(l.child.tag){case 5:y=l.child.stateNode;break;case 2:y=l.child.stateNode}Wf(l,Og,y,u)}break;case 5:var yi=l.stateNode;null===oc&&4&l.effectTag&&cf(l.type,l.memoizedProps)&&yi.focus();break;case 6:case 4:case 15:case 16:break;default:A("163")}}if(128&hg){l=void 0;var yc=U.ref;if(null!==yc){var Pg=U.stateNode;switch(U.tag){case 5:l=Pg;break;default:l=Pg}"function"==typeof yc?yc(l):yc.current=l}}var zi=U.nextEffect;U.nextEffect=null,U=zi}}catch(Wa){e=!0,q=Wa}e&&(null===U&&A("178"),Zg(U,q),null!==U&&(U=U.nextEffect))}ph=th=!1,"function"==typeof Jf&&Jf(b.stateNode),b=c.current.expirationTime,0===b&&(hh=null),a.remainingExpirationTime=b}function zh(){return!(null===Ph||Ph.timeRemaining()>Sh)&&(Mh=!0)}function fh(a){null===X&&A("246"),X.remainingExpirationTime=0,Nh||(Nh=!0,Oh=a)}function Bh(a){null===X&&A("246"),X.remainingExpirationTime=a}function bi(a,b){var c=Z;Z=!0;try{return a(b)}finally{(Z=c)||W||Wh()}}function ci(a,b){if(Z&&!Qh){Qh=!0;try{return a(b)}finally{Qh=!1}}return a(b)}function di(a,b){W&&A("187");var c=Z;Z=!0;try{return Ih(a,b)}finally{Z=c,Wh()}}function ei(a,b,c){if(Dh)return a(b,c);Z||W||0===Eh||(Yh(Eh,!1,null),Eh=0);var d=Dh,e=Z;Z=Dh=!0;try{return a(b,c)}finally{Dh=d,(Z=e)||W||Wh()}}function fi(a){var b=Z;Z=!0;try{Ih(a)}finally{(Z=b)||W||Yh(1,!1,null)}}function gi(a,b,c,d,e){var f=b.current;if(c){c=c._reactInternalFiber;var g;b:{for(2===jd(c)&&2===c.tag||A("170"),g=c;3!==g.tag;){if(qf(g)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}(g=g.return)||A("171")}g=g.stateNode.context}c=qf(c)?vf(c,g):g}else c=ha;return null===b.context?b.context=c:b.pendingContext=c,b=e,e=Of(d),e.payload={element:a},b=void 0===b?null:b,null!==b&&(e.callback=b),Qf(f,e,d),og(f,d),d}function hi(a){var b=a._reactInternalFiber;return void 0===b&&("function"==typeof a.render?A("188"):A("268",Object.keys(a))),a=md(b),null===a?null:a.stateNode}function ii(a,b,c,d){var e=b.current;return e=ng(mg(),e),gi(a,b,c,e,d)}function ji(a){if(a=a.current,!a.child)return null;switch(a.child.tag){case 5:default:return a.child.stateNode}}function ki(a){var b=a.findFiberByHostInstance;return If(p({},a,{findHostInstanceByFiber:function(a){return a=md(a),null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))}function ni(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:hc,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}}function oi(a){this._expirationTime=Ch(),this._root=a,this._callbacks=this._next=null,this._hasChildren=this._didComplete=!1,this._children=null,this._defer=!0}function pi(){this._callbacks=null,this._didCommit=!1,this._onCommit=this._onCommit.bind(this)}function qi(a,b,c){this._internalRoot=Ef(a,b,c)}function ri(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}function si(a,b){if(b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot"))),!b)for(var c;c=a.lastChild;)a.removeChild(c);return new qi(a,!1,b)}function ti(a,b,c,d,e){ri(c)||A("200");var f=c._reactRootContainer;if(f){if("function"==typeof e){var g=e;e=function(){var a=ji(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{if(f=c._reactRootContainer=si(c,d),"function"==typeof e){var h=e;e=function(){var a=ji(f._internalRoot);h.call(a)}}ci(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return ji(f._internalRoot)}function ui(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;return ri(b)||A("200"),ni(a,b,null,c)}/** @license React v16.4.1
|
||
* react-dom.production.min.js
|
||
*
|
||
* Copyright (c) 2013-present, Facebook, Inc.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*/
|
||
var aa=__webpack_require__(111),ba=__webpack_require__(0),m=__webpack_require__(112),p=__webpack_require__(45),v=__webpack_require__(113),da=__webpack_require__(114),ea=__webpack_require__(115),fa=__webpack_require__(116),ha=__webpack_require__(119);ba||A("227");var B={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){ia.apply(B,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){if(B.invokeGuardedCallback.apply(this,arguments),B.hasCaughtError()){var n=B.clearCaughtError();B._hasRethrowError||(B._hasRethrowError=!0,B._rethrowError=n)}},rethrowCaughtError:function(){return ka.apply(B,arguments)},hasCaughtError:function(){return B._hasCaughtError},clearCaughtError:function(){if(B._hasCaughtError){var a=B._caughtError;return B._caughtError=null,B._hasCaughtError=!1,a}A("198")}},la=null,ma={},oa=[],pa={},ra={},sa={},va={plugins:oa,eventNameDispatchConfigs:pa,registrationNameModules:ra,registrationNameDependencies:sa,possibleRegistrationNames:null,injectEventPluginOrder:ta,injectEventPluginsByName:ua},wa=null,xa=null,ya=null,Ca=null,Ga={injectEventPluginOrder:ta,injectEventPluginsByName:ua},Ka={injection:Ga,getListener:Ha,runEventsInBatch:Ia,runExtractedEventsInBatch:Ja},La=Math.random().toString(36).slice(2),C="__reactInternalInstance$"+La,Ma="__reactEventHandlers$"+La,Qa={precacheFiberNode:function(a,b){b[C]=a},getClosestInstanceFromNode:Na,getInstanceFromNode:function(a){return a=a[C],!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:Oa,getFiberCurrentPropsFromNode:Pa,updateFiberProps:function(a,b){a[Ma]=b}},$a={accumulateTwoPhaseDispatches:Ya,accumulateTwoPhaseDispatchesSkipTarget:function(a){Ba(a,Ua)},accumulateEnterLeaveDispatches:Za,accumulateDirectDispatches:function(a){Ba(a,Xa)}},bb={animationend:ab("Animation","AnimationEnd"),animationiteration:ab("Animation","AnimationIteration"),animationstart:ab("Animation","AnimationStart"),transitionend:ab("Transition","TransitionEnd")},cb={},db={};m.canUseDOM&&(db=document.createElement("div").style,"AnimationEvent"in window||(delete bb.animationend.animation,delete bb.animationiteration.animation,delete bb.animationstart.animation),"TransitionEvent"in window||delete bb.transitionend.transition);var fb=eb("animationend"),gb=eb("animationiteration"),hb=eb("animationstart"),ib=eb("transitionend"),jb="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),kb=null,G={_root:null,_startText:null,_fallbackText:null},ob="dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances".split(" "),pb={type:null,target:null,currentTarget:v.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};p(H.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!=typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=v.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!=typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=v.thatReturnsTrue)},persist:function(){this.isPersistent=v.thatReturnsTrue},isPersistent:v.thatReturnsFalse,destructor:function(){var b,a=this.constructor.Interface;for(b in a)this[b]=null;for(a=0;a<ob.length;a++)this[ob[a]]=null}}),H.Interface=pb,H.extend=function(a){function b(){}function c(){return d.apply(this,arguments)}var d=this;b.prototype=d.prototype;var e=new b;return p(e,c.prototype),c.prototype=e,c.prototype.constructor=c,c.Interface=p({},d.Interface,a),c.extend=d.extend,qb(c),c},qb(H);var tb=H.extend({data:null}),ub=H.extend({data:null}),vb=[9,13,27,32],wb=m.canUseDOM&&"CompositionEvent"in window,xb=null;m.canUseDOM&&"documentMode"in document&&(xb=document.documentMode);var yb=m.canUseDOM&&"TextEvent"in window&&!xb,zb=m.canUseDOM&&(!wb||xb&&8<xb&&11>=xb),Ab=String.fromCharCode(32),Bb={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},Cb=!1,Fb=!1,Ib={eventTypes:Bb,extractEvents:function(a,b,c,d){var e=void 0,f=void 0;if(wb)b:{switch(a){case"compositionstart":e=Bb.compositionStart;break b;case"compositionend":e=Bb.compositionEnd;break b;case"compositionupdate":e=Bb.compositionUpdate;break b}e=void 0}else Fb?Db(a,c)&&(e=Bb.compositionEnd):"keydown"===a&&229===c.keyCode&&(e=Bb.compositionStart);return e?(zb&&(Fb||e!==Bb.compositionStart?e===Bb.compositionEnd&&Fb&&(f=mb()):(G._root=d,G._startText=nb(),Fb=!0)),e=tb.getPooled(e,b,c,d),f?e.data=f:null!==(f=Eb(c))&&(e.data=f),Ya(e),f=e):f=null,(a=yb?Gb(a,c):Hb(a,c))?(b=ub.getPooled(Bb.beforeInput,b,c,d),b.data=a,Ya(b)):b=null,null===f?b:null===b?f:[f,b]}},Jb=null,Kb={injectFiberControlledHostComponent:function(a){Jb=a}},Lb=null,Mb=null,Rb={injection:Kb,enqueueStateRestore:Ob,needsStateRestore:Pb,restoreStateIfNeeded:Qb},Vb=!1,Xb={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},ec=ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,fc="function"==typeof Symbol&&Symbol.for,gc=fc?Symbol.for("react.element"):60103,hc=fc?Symbol.for("react.portal"):60106,ic=fc?Symbol.for("react.fragment"):60107,jc=fc?Symbol.for("react.strict_mode"):60108,kc=fc?Symbol.for("react.profiler"):60114,lc=fc?Symbol.for("react.provider"):60109,mc=fc?Symbol.for("react.context"):60110,pc=fc?Symbol.for("react.async_mode"):60111,qc=fc?Symbol.for("react.forward_ref"):60112,rc=fc?Symbol.for("react.timeout"):60113,sc="function"==typeof Symbol&&Symbol.iterator,wc=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xc={},zc={},J={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){J[a]=new I(a,0,!1,a,null)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];J[b]=new I(b,1,!1,a[1],null)}),["contentEditable","draggable","spellCheck","value"].forEach(function(a){J[a]=new I(a,2,!1,a.toLowerCase(),null)}),["autoReverse","externalResourcesRequired","preserveAlpha"].forEach(function(a){J[a]=new I(a,2,!1,a,null)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){J[a]=new I(a,3,!1,a.toLowerCase(),null)}),["checked","multiple","muted","selected"].forEach(function(a){J[a]=new I(a,3,!0,a.toLowerCase(),null)}),["capture","download"].forEach(function(a){J[a]=new I(a,4,!1,a.toLowerCase(),null)}),["cols","rows","size","span"].forEach(function(a){J[a]=new I(a,6,!1,a.toLowerCase(),null)}),["rowSpan","start"].forEach(function(a){J[a]=new I(a,5,!1,a.toLowerCase(),null)});var Dc=/[\-:]([a-z])/g;"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,null)}),"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,"http://www.w3.org/1999/xlink")}),["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(Dc,Ec);J[b]=new I(b,1,!1,a,"http://www.w3.org/XML/1998/namespace")}),J.tabIndex=new I("tabIndex",1,!1,"tabindex",null);var Nc={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:"blur change click focus input keydown keyup selectionchange".split(" ")}},Pc=null,Qc=null,Uc=!1;m.canUseDOM&&(Uc=$b("input")&&(!document.documentMode||9<document.documentMode));var ad={eventTypes:Nc,_isInputEventSupported:Uc,extractEvents:function(a,b,c,d){var e=b?Oa(b):window,f=void 0,g=void 0,h=e.nodeName&&e.nodeName.toLowerCase();if("select"===h||"input"===h&&"file"===e.type?f=Tc:Yb(e)?Uc?f=$c:(f=Yc,g=Xc):(h=e.nodeName)&&"input"===h.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)&&(f=Zc),f&&(f=f(a,b)))return Oc(f,c,d);g&&g(a,e,b),"blur"===a&&(a=e._wrapperState)&&a.controlled&&"number"===e.type&&Lc(e,"number",e.value)}},bd=H.extend({view:null,detail:null}),cd={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},fd=bd.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ed,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)}}),gd=fd.extend({pointerId:null,width:null,height:null,pressure:null,tiltX:null,tiltY:null,pointerType:null,isPrimary:null}),hd={mouseEnter:{registrationName:"onMouseEnter",dependencies:["mouseout","mouseover"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["mouseout","mouseover"]},pointerEnter:{registrationName:"onPointerEnter",dependencies:["pointerout","pointerover"]},pointerLeave:{registrationName:"onPointerLeave",dependencies:["pointerout","pointerover"]}},id={eventTypes:hd,extractEvents:function(a,b,c,d){var e="mouseover"===a||"pointerover"===a,f="mouseout"===a||"pointerout"===a;if(e&&(c.relatedTarget||c.fromElement)||!f&&!e)return null;if(e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window,f?(f=b,b=(b=c.relatedTarget||c.toElement)?Na(b):null):f=null,f===b)return null;var g=void 0,h=void 0,k=void 0,n=void 0;return"mouseout"===a||"mouseover"===a?(g=fd,h=hd.mouseLeave,k=hd.mouseEnter,n="mouse"):"pointerout"!==a&&"pointerover"!==a||(g=gd,h=hd.pointerLeave,k=hd.pointerEnter,n="pointer"),a=null==f?e:Oa(f),e=null==b?e:Oa(b),h=g.getPooled(h,f,c,d),h.type=n+"leave",h.target=a,h.relatedTarget=e,c=g.getPooled(k,b,c,d),c.type=n+"enter",c.target=e,c.relatedTarget=a,Za(h,c,f,b),[h,c]}},od=H.extend({animationName:null,elapsedTime:null,pseudoElement:null}),pd=H.extend({clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),qd=bd.extend({relatedTarget:null}),sd={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},td={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},ud=bd.extend({key:function(a){if(a.key){var b=sd[a.key]||a.key;if("Unidentified"!==b)return b}return"keypress"===a.type?(a=rd(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?td[a.keyCode]||"Unidentified":""},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ed,charCode:function(a){return"keypress"===a.type?rd(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?rd(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),vd=fd.extend({dataTransfer:null}),wd=bd.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ed}),xd=H.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),yd=fd.extend({deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null}),zd=[["abort","abort"],[fb,"animationEnd"],[gb,"animationIteration"],[hb,"animationStart"],["canplay","canPlay"],["canplaythrough","canPlayThrough"],["drag","drag"],["dragenter","dragEnter"],["dragexit","dragExit"],["dragleave","dragLeave"],["dragover","dragOver"],["durationchange","durationChange"],["emptied","emptied"],["encrypted","encrypted"],["ended","ended"],["error","error"],["gotpointercapture","gotPointerCapture"],["load","load"],["loadeddata","loadedData"],["loadedmetadata","loadedMetadata"],["loadstart","loadStart"],["lostpointercapture","lostPointerCapture"],["mousemove","mouseMove"],["mouseout","mouseOut"],["mouseover","mouseOver"],["playing","playing"],["pointermove","pointerMove"],["pointerout","pointerOut"],["pointerover","pointerOver"],["progress","progress"],["scroll","scroll"],["seeking","seeking"],["stalled","stalled"],["suspend","suspend"],["timeupdate","timeUpdate"],["toggle","toggle"],["touchmove","touchMove"],[ib,"transitionEnd"],["waiting","waiting"],["wheel","wheel"]],Ad={},Bd={};[["blur","blur"],["cancel","cancel"],["click","click"],["close","close"],["contextmenu","contextMenu"],["copy","copy"],["cut","cut"],["dblclick","doubleClick"],["dragend","dragEnd"],["dragstart","dragStart"],["drop","drop"],["focus","focus"],["input","input"],["invalid","invalid"],["keydown","keyDown"],["keypress","keyPress"],["keyup","keyUp"],["mousedown","mouseDown"],["mouseup","mouseUp"],["paste","paste"],["pause","pause"],["play","play"],["pointercancel","pointerCancel"],["pointerdown","pointerDown"],["pointerup","pointerUp"],["ratechange","rateChange"],["reset","reset"],["seeked","seeked"],["submit","submit"],["touchcancel","touchCancel"],["touchend","touchEnd"],["touchstart","touchStart"],["volumechange","volumeChange"]].forEach(function(a){Cd(a,!0)}),zd.forEach(function(a){Cd(a,!1)});var Dd={eventTypes:Ad,isInteractiveTopLevelEventType:function(a){return void 0!==(a=Bd[a])&&!0===a.isInteractive},extractEvents:function(a,b,c,d){var e=Bd[a];if(!e)return null;switch(a){case"keypress":if(0===rd(c))return null;case"keydown":case"keyup":a=ud;break;case"blur":case"focus":a=qd;break;case"click":if(2===c.button)return null;case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":a=fd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":a=vd;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":a=wd;break;case fb:case gb:case hb:a=od;break;case ib:a=xd;break;case"scroll":a=bd;break;case"wheel":a=yd;break;case"copy":case"cut":case"paste":a=pd;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":a=gd;break;default:a=H}return b=a.getPooled(e,b,c,d),Ya(b),b}},Ed=Dd.isInteractiveTopLevelEventType,Fd=[],Hd=!0,Nd={get _enabled(){return Hd},setEnabled:Id,isEnabled:function(){return Hd},trapBubbledEvent:K,trapCapturedEvent:Md,dispatchEvent:Ld},Od={},Pd=0,Qd="_reactListenersID"+(""+Math.random()).slice(2),Vd=m.canUseDOM&&"documentMode"in document&&11>=document.documentMode,Wd={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Xd=null,Yd=null,Zd=null,$d=!1,be={eventTypes:Wd,extractEvents:function(a,b,c,d){var f,e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument;if(!(f=!e)){a:{e=Rd(e),f=sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;switch(e=b?Oa(b):window,a){case"focus":(Yb(e)||"true"===e.contentEditable)&&(Xd=e,Yd=b,Zd=null);break;case"blur":Zd=Yd=Xd=null;break;case"mousedown":$d=!0;break;case"contextmenu":case"mouseup":return $d=!1,ae(c,d);case"selectionchange":if(Vd)break;case"keydown":case"keyup":return ae(c,d)}return null}};Ga.injectEventPluginOrder("ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")),wa=Qa.getFiberCurrentPropsFromNode,xa=Qa.getInstanceFromNode,ya=Qa.getNodeFromInstance,Ga.injectEventPluginsByName({SimpleEventPlugin:Dd,EnterLeaveEventPlugin:id,ChangeEventPlugin:ad,SelectEventPlugin:be,BeforeInputEventPlugin:Ib});var ce="function"==typeof requestAnimationFrame?requestAnimationFrame:void 0,de=Date,ee=setTimeout,fe=clearTimeout,ge=void 0;if("object"==typeof performance&&"function"==typeof performance.now){var he=performance;ge=function(){return he.now()}}else ge=function(){return de.now()};var ie=void 0,je=void 0;if(m.canUseDOM){var ke="function"==typeof ce?ce:function(){A("276")},L=null,le=null,me=-1,ne=!1,oe=!1,pe=0,qe=33,re=33,se={didTimeout:!1,timeRemaining:function(){var a=pe-ge();return 0<a?a:0}},ue=function(a,b){var c=a.scheduledCallback,d=!1;try{c(b),d=!0}finally{je(a),d||(ne=!0,window.postMessage(te,"*"))}},te="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(a){if(a.source===window&&a.data===te&&(ne=!1,null!==L)){if(null!==L){var b=ge();if(!(-1===me||me>b)){a=-1;for(var c=[],d=L;null!==d;){var e=d.timeoutTime;-1!==e&&e<=b?c.push(d):-1!==e&&(-1===a||e<a)&&(a=e),d=d.next}if(0<c.length)for(se.didTimeout=!0,b=0,d=c.length;b<d;b++)ue(c[b],se);me=a}}for(a=ge();0<pe-a&&null!==L;)a=L,se.didTimeout=!1,ue(a,se),a=ge();null===L||oe||(oe=!0,ke(ve))}},!1);var ve=function(a){oe=!1;var b=a-pe+re;b<re&&qe<re?(8>b&&(b=8),re=b<qe?qe:b):qe=b,pe=a+re,ne||(ne=!0,window.postMessage(te,"*"))};ie=function(a,b){var c=-1;return null!=b&&"number"==typeof b.timeout&&(c=ge()+b.timeout),(-1===me||-1!==c&&c<me)&&(me=c),a={scheduledCallback:a,timeoutTime:c,prev:null,next:null},null===L?L=a:null!==(b=a.prev=le)&&(b.next=a),le=a,oe||(oe=!0,ke(ve)),a},je=function(a){if(null!==a.prev||L===a){var b=a.next,c=a.prev;a.next=null,a.prev=null,null!==b?null!==c?(c.next=b,b.prev=c):(b.prev=null,L=b):null!==c?(c.next=null,le=c):le=L=null}}}else{var we=new Map;ie=function(a){var b={scheduledCallback:a,timeoutTime:0,next:null,prev:null},c=ee(function(){a({timeRemaining:function(){return 1/0},didTimeout:!1})});return we.set(a,c),b},je=function(a){var b=we.get(a.scheduledCallback);we.delete(a),fe(b)}}var Fe={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"},Ie=void 0,Je=function(a){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c)})}:a}(function(a,b){if(a.namespaceURI!==Fe.svg||"innerHTML"in a)a.innerHTML=b;else{for(Ie=Ie||document.createElement("div"),Ie.innerHTML="<svg>"+b+"</svg>",b=Ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}),Le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Me=["Webkit","ms","Moz","O"];Object.keys(Le).forEach(function(a){Me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1),Le[b]=Le[a]})});var Oe=p({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Re=v.thatReturns(""),$e={createElement:Te,createTextNode:Ue,setInitialProperties:Ve,diffProperties:We,updateProperties:Xe,diffHydratedProperties:Ye,diffHydratedText:Ze,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(a,b,c){switch(b){case"input":if(Kc(a,c),b=c.name,"radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;for(c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]'),b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Pa(d);e||A("90"),dc(d),Kc(d,e)}}}break;case"textarea":De(a,c);break;case"select":null!=(b=c.value)&&ze(a,!!c.multiple,b,!1)}}},af=null,bf=null,ef=ge,ff=ie,gf=je;new Set;var kf=[],lf=-1,nf=mf(ha),O=mf(!1),of=ha,Ff=null,Gf=null,Lf=!1,Yf=mf(null),Zf=mf(null),$f=mf(0),cg={},dg=mf(cg),eg=mf(cg),fg=mf(cg),pg={isMounted:function(a){return!!(a=a._reactInternalFiber)&&2===jd(a)},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.payload=b,void 0!==c&&null!==c&&(e.callback=c),Qf(a,e,d),og(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=mg();d=ng(d,a);var e=Of(d);e.tag=1,e.payload=b,void 0!==c&&null!==c&&(e.callback=c),Qf(a,e,d),og(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=mg();c=ng(c,a);var d=Of(c);d.tag=2,void 0!==b&&null!==b&&(d.callback=b),Qf(a,d,c),og(a,c)}},tg=Array.isArray,xg=wg(!0),yg=wg(!1),zg=null,Ag=null,Bg=!1,Tg=void 0,Ug=void 0,Vg=void 0;Tg=function(){},Ug=function(a,b,c){(b.updateQueue=c)&&Sg(b)},Vg=function(a,b,c,d){c!==d&&Sg(b)};var kh=ef(),lh=2,mh=kh,nh=0,oh=0,ph=!1,S=null,qh=null,T=0,rh=-1,sh=!1,U=null,th=!1,uh=!1,hh=null,Jh=null,V=null,Kh=0,Lh=void 0,W=!1,X=null,Y=0,Eh=0,Mh=!1,Nh=!1,Oh=null,Ph=null,Z=!1,Qh=!1,Dh=!1,Rh=null,Gh=1e3,Fh=0,Sh=1,li={updateContainerAtExpirationTime:gi,createContainer:function(a,b,c){return Ef(a,b,c)},updateContainer:ii,flushRoot:$h,requestWork:Ah,computeUniqueAsyncExpiration:Ch,batchedUpdates:bi,unbatchedUpdates:ci,deferredUpdates:Hh,syncUpdates:Ih,interactiveUpdates:ei,flushInteractiveUpdates:function(){W||0===Eh||(Yh(Eh,!1,null),Eh=0)},flushControlled:fi,flushSync:di,getPublicRootInstance:ji,findHostInstance:hi,findHostInstanceWithNoPortals:function(a){return a=nd(a),null===a?null:a.stateNode},injectIntoDevTools:ki};Kb.injectFiberControlledHostComponent($e),oi.prototype.render=function(a){this._defer||A("250"),this._hasChildren=!0,this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new pi;return gi(a,b,null,c,d._onCommit),d},oi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]),b.push(a)}},oi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;if(this._defer&&null!==b||A("251"),this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d&&A("251"),d._next=e._next,this._next=b,a.firstBatch=this}this._defer=!1,$h(a,c),b=this._next,this._next=null,b=a.firstBatch=b,null!==b&&b._hasChildren&&b.render(b._children)}else this._next=null,this._defer=!1},oi.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}},pi.prototype.then=function(a){if(this._didCommit)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]),b.push(a)}},pi.prototype._onCommit=function(){if(!this._didCommit){this._didCommit=!0;var a=this._callbacks;if(null!==a)for(var b=0;b<a.length;b++){var c=a[b];"function"!=typeof c&&A("191",c),c()}}},qi.prototype.render=function(a,b){var c=this._internalRoot,d=new pi;return b=void 0===b?null:b,null!==b&&d.then(b),ii(a,c,null,d._onCommit),d},qi.prototype.unmount=function(a){var b=this._internalRoot,c=new pi;return a=void 0===a?null:a,null!==a&&c.then(a),ii(null,b,null,c._onCommit),c},qi.prototype.legacy_renderSubtreeIntoContainer=function(a,b,c){var d=this._internalRoot,e=new pi;return c=void 0===c?null:c,null!==c&&e.then(c),ii(b,d,a,e._onCommit),e},qi.prototype.createBatch=function(){var a=new oi(this),b=a._expirationTime,c=this._internalRoot,d=c.firstBatch;if(null===d)c.firstBatch=a,a._next=null;else{for(c=null;null!==d&&d._expirationTime<=b;)c=d,d=d._next;a._next=d,null!==c&&(c._next=a)}return a},Sb=li.batchedUpdates,Tb=li.interactiveUpdates,Ub=li.flushInteractiveUpdates;var vi={createPortal:ui,findDOMNode:function(a){return null==a?null:1===a.nodeType?a:hi(a)},hydrate:function(a,b,c){return ti(null,a,b,!0,c)},render:function(a,b,c){return ti(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){return(null==a||void 0===a._reactInternalFiber)&&A("38"),ti(a,b,c,!1,d)},unmountComponentAtNode:function(a){return ri(a)||A("40"),!!a._reactRootContainer&&(ci(function(){ti(null,null,a,!1,function(){a._reactRootContainer=null})}),!0)},unstable_createPortal:function(){return ui.apply(void 0,arguments)},unstable_batchedUpdates:bi,unstable_deferredUpdates:Hh,unstable_interactiveUpdates:ei,flushSync:di,unstable_flushControlled:fi,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:Ka,EventPluginRegistry:va,EventPropagators:$a,ReactControlledComponent:Rb,ReactDOMComponentTree:Qa,ReactDOMEventListener:Nd},unstable_createRoot:function(a,b){return new qi(a,!0,null!=b&&!0===b.hydrate)}};ki({findFiberByHostInstance:Na,bundleType:0,version:"16.4.1",rendererPackageName:"react-dom"});var Ai={default:vi},Bi=Ai&&vi||Ai;module.exports=Bi.default?Bi.default:Bi},function(module,exports,__webpack_require__){"use strict";function invariant(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}}var validateFormat=function(format){};module.exports=invariant},function(module,exports,__webpack_require__){"use strict";var canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement),ExecutionEnvironment={canUseDOM:canUseDOM,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:canUseDOM&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:canUseDOM&&!!window.screen,isInWorker:!canUseDOM};module.exports=ExecutionEnvironment},function(module,exports,__webpack_require__){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){"use strict";function getActiveElement(doc){if(void 0===(doc=doc||("undefined"!=typeof document?document:void 0)))return null;try{return doc.activeElement||doc.body}catch(e){return doc.body}}module.exports=getActiveElement},function(module,exports,__webpack_require__){"use strict";function is(x,y){return x===y?0!==x||0!==y||1/x==1/y:x!==x&&y!==y}function shallowEqual(objA,objB){if(is(objA,objB))return!0;if("object"!=typeof objA||null===objA||"object"!=typeof objB||null===objB)return!1;var keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(var i=0;i<keysA.length;i++)if(!hasOwnProperty.call(objB,keysA[i])||!is(objA[keysA[i]],objB[keysA[i]]))return!1;return!0}var hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=shallowEqual},function(module,exports,__webpack_require__){"use strict";function containsNode(outerNode,innerNode){return!(!outerNode||!innerNode)&&(outerNode===innerNode||!isTextNode(outerNode)&&(isTextNode(innerNode)?containsNode(outerNode,innerNode.parentNode):"contains"in outerNode?outerNode.contains(innerNode):!!outerNode.compareDocumentPosition&&!!(16&outerNode.compareDocumentPosition(innerNode))))}var isTextNode=__webpack_require__(117);module.exports=containsNode},function(module,exports,__webpack_require__){"use strict";function isTextNode(object){return isNode(object)&&3==object.nodeType}var isNode=__webpack_require__(118);module.exports=isTextNode},function(module,exports,__webpack_require__){"use strict";function isNode(object){var doc=object?object.ownerDocument||object:document,defaultView=doc.defaultView||window;return!(!object||!("function"==typeof defaultView.Node?object instanceof defaultView.Node:"object"==typeof object&&"number"==typeof object.nodeType&&"string"==typeof object.nodeName))}module.exports=isNode},function(module,exports,__webpack_require__){"use strict";var emptyObject={};module.exports=emptyObject},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function createProvider(){var _Provider$childContex,storeKey=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"store",subKey=arguments[1],subscriptionKey=subKey||storeKey+"Subscription",Provider=function(_Component){function Provider(props,context){_classCallCheck(this,Provider);var _this=_possibleConstructorReturn(this,_Component.call(this,props,context));return _this[storeKey]=props.store,_this}return _inherits(Provider,_Component),Provider.prototype.getChildContext=function(){var _ref;return _ref={},_ref[storeKey]=this[storeKey],_ref[subscriptionKey]=null,_ref},Provider.prototype.render=function(){return __WEBPACK_IMPORTED_MODULE_0_react__.Children.only(this.props.children)},Provider}(__WEBPACK_IMPORTED_MODULE_0_react__.Component);return Provider.propTypes={store:__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__.a.isRequired,children:__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.element.isRequired},Provider.childContextTypes=(_Provider$childContex={},_Provider$childContex[storeKey]=__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__.a.isRequired,_Provider$childContex[subscriptionKey]=__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__.b,_Provider$childContex),Provider}__webpack_exports__.a=createProvider;var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_prop_types__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__webpack_require__(68)),__WEBPACK_IMPORTED_MODULE_1_prop_types___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__WEBPACK_IMPORTED_MODULE_2__utils_PropTypes__=__webpack_require__(69);__webpack_require__(51);__webpack_exports__.b=createProvider()},function(module,exports,__webpack_require__){"use strict";function emptyFunction(){}var ReactPropTypesSecret=__webpack_require__(122);module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){if(secret!==ReactPropTypesSecret){var err=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw err.name="Invariant Violation",err}}function getShim(){return shim}shim.isRequired=shim;var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim};return ReactPropTypes.checkPropTypes=emptyFunction,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function createListenerCollection(){var current=[],next=[];return{clear:function(){next=CLEARED,current=CLEARED},notify:function(){for(var listeners=current=next,i=0;i<listeners.length;i++)listeners[i]()},get:function(){return next},subscribe:function(listener){var isSubscribed=!0;return next===current&&(next=current.slice()),next.push(listener),function(){isSubscribed&¤t!==CLEARED&&(isSubscribed=!1,next===current&&(next=current.slice()),next.splice(next.indexOf(listener),1))}}}}__webpack_require__.d(__webpack_exports__,"a",function(){return Subscription});var CLEARED=null,nullListeners={notify:function(){}},Subscription=function(){function Subscription(store,parentSub,onStateChange){_classCallCheck(this,Subscription),this.store=store,this.parentSub=parentSub,this.onStateChange=onStateChange,this.unsubscribe=null,this.listeners=nullListeners}return Subscription.prototype.addNestedSub=function(listener){return this.trySubscribe(),this.listeners.subscribe(listener)},Subscription.prototype.notifyNestedSubs=function(){this.listeners.notify()},Subscription.prototype.isSubscribed=function(){return Boolean(this.unsubscribe)},Subscription.prototype.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.onStateChange):this.store.subscribe(this.onStateChange),this.listeners=createListenerCollection())},Subscription.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=nullListeners)},Subscription}()},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function match(arg,factories,name){for(var i=factories.length-1;i>=0;i--){var result=factories[i](arg);if(result)return result}return function(dispatch,options){throw new Error("Invalid value of type "+typeof arg+" for "+name+" argument when connecting component "+options.wrappedComponentName+".")}}function strictEqual(a,b){return a===b}var __WEBPACK_IMPORTED_MODULE_0__components_connectAdvanced__=__webpack_require__(70),__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__=__webpack_require__(125),__WEBPACK_IMPORTED_MODULE_2__mapDispatchToProps__=__webpack_require__(126),__WEBPACK_IMPORTED_MODULE_3__mapStateToProps__=__webpack_require__(151),__WEBPACK_IMPORTED_MODULE_4__mergeProps__=__webpack_require__(152),__WEBPACK_IMPORTED_MODULE_5__selectorFactory__=__webpack_require__(153),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};__webpack_exports__.a=function(){var _ref=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},_ref$connectHOC=_ref.connectHOC,connectHOC=void 0===_ref$connectHOC?__WEBPACK_IMPORTED_MODULE_0__components_connectAdvanced__.a:_ref$connectHOC,_ref$mapStateToPropsF=_ref.mapStateToPropsFactories,mapStateToPropsFactories=void 0===_ref$mapStateToPropsF?__WEBPACK_IMPORTED_MODULE_3__mapStateToProps__.a:_ref$mapStateToPropsF,_ref$mapDispatchToPro=_ref.mapDispatchToPropsFactories,mapDispatchToPropsFactories=void 0===_ref$mapDispatchToPro?__WEBPACK_IMPORTED_MODULE_2__mapDispatchToProps__.a:_ref$mapDispatchToPro,_ref$mergePropsFactor=_ref.mergePropsFactories,mergePropsFactories=void 0===_ref$mergePropsFactor?__WEBPACK_IMPORTED_MODULE_4__mergeProps__.a:_ref$mergePropsFactor,_ref$selectorFactory=_ref.selectorFactory,selectorFactory=void 0===_ref$selectorFactory?__WEBPACK_IMPORTED_MODULE_5__selectorFactory__.a:_ref$selectorFactory;return function(mapStateToProps,mapDispatchToProps,mergeProps){var _ref2=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},_ref2$pure=_ref2.pure,pure=void 0===_ref2$pure||_ref2$pure,_ref2$areStatesEqual=_ref2.areStatesEqual,areStatesEqual=void 0===_ref2$areStatesEqual?strictEqual:_ref2$areStatesEqual,_ref2$areOwnPropsEqua=_ref2.areOwnPropsEqual,areOwnPropsEqual=void 0===_ref2$areOwnPropsEqua?__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__.a:_ref2$areOwnPropsEqua,_ref2$areStatePropsEq=_ref2.areStatePropsEqual,areStatePropsEqual=void 0===_ref2$areStatePropsEq?__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__.a:_ref2$areStatePropsEq,_ref2$areMergedPropsE=_ref2.areMergedPropsEqual,areMergedPropsEqual=void 0===_ref2$areMergedPropsE?__WEBPACK_IMPORTED_MODULE_1__utils_shallowEqual__.a:_ref2$areMergedPropsE,extraOptions=_objectWithoutProperties(_ref2,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),initMapStateToProps=match(mapStateToProps,mapStateToPropsFactories,"mapStateToProps"),initMapDispatchToProps=match(mapDispatchToProps,mapDispatchToPropsFactories,"mapDispatchToProps"),initMergeProps=match(mergeProps,mergePropsFactories,"mergeProps");return connectHOC(selectorFactory,_extends({methodName:"connect",getDisplayName:function(name){return"Connect("+name+")"},shouldHandleStateChanges:Boolean(mapStateToProps),initMapStateToProps:initMapStateToProps,initMapDispatchToProps:initMapDispatchToProps,initMergeProps:initMergeProps,pure:pure,areStatesEqual:areStatesEqual,areOwnPropsEqual:areOwnPropsEqual,areStatePropsEqual:areStatePropsEqual,areMergedPropsEqual:areMergedPropsEqual},extraOptions))}}()},function(module,__webpack_exports__,__webpack_require__){"use strict";function is(x,y){return x===y?0!==x||0!==y||1/x==1/y:x!==x&&y!==y}function shallowEqual(objA,objB){if(is(objA,objB))return!0;if("object"!=typeof objA||null===objA||"object"!=typeof objB||null===objB)return!1;var keysA=Object.keys(objA),keysB=Object.keys(objB);if(keysA.length!==keysB.length)return!1;for(var i=0;i<keysA.length;i++)if(!hasOwn.call(objB,keysA[i])||!is(objA[keysA[i]],objB[keysA[i]]))return!1;return!0}__webpack_exports__.a=shallowEqual;var hasOwn=Object.prototype.hasOwnProperty},function(module,__webpack_exports__,__webpack_require__){"use strict";function whenMapDispatchToPropsIsFunction(mapDispatchToProps){return"function"==typeof mapDispatchToProps?Object(__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__.b)(mapDispatchToProps,"mapDispatchToProps"):void 0}function whenMapDispatchToPropsIsMissing(mapDispatchToProps){return mapDispatchToProps?void 0:Object(__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__.a)(function(dispatch){return{dispatch:dispatch}})}function whenMapDispatchToPropsIsObject(mapDispatchToProps){return mapDispatchToProps&&"object"==typeof mapDispatchToProps?Object(__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__.a)(function(dispatch){return Object(__WEBPACK_IMPORTED_MODULE_0_redux__.bindActionCreators)(mapDispatchToProps,dispatch)}):void 0}var __WEBPACK_IMPORTED_MODULE_0_redux__=__webpack_require__(2),__WEBPACK_IMPORTED_MODULE_1__wrapMapToProps__=__webpack_require__(77);__webpack_exports__.a=[whenMapDispatchToPropsIsFunction,whenMapDispatchToPropsIsMissing,whenMapDispatchToPropsIsObject]},function(module,__webpack_exports__,__webpack_require__){"use strict";function baseGetTag(value){return null==value?void 0===value?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?Object(__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__.a)(value):Object(__WEBPACK_IMPORTED_MODULE_2__objectToString_js__.a)(value)}var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__=__webpack_require__(74),__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__=__webpack_require__(130),__WEBPACK_IMPORTED_MODULE_2__objectToString_js__=__webpack_require__(131),nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a?__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a.toStringTag:void 0;__webpack_exports__.a=baseGetTag},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__=__webpack_require__(129),freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=__WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__.a||freeSelf||Function("return this")();__webpack_exports__.a=root},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global;__webpack_exports__.a=freeGlobal}).call(__webpack_exports__,__webpack_require__(9))},function(module,__webpack_exports__,__webpack_require__){"use strict";function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__=__webpack_require__(74),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a?__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a.toStringTag:void 0;__webpack_exports__.a=getRawTag},function(module,__webpack_exports__,__webpack_require__){"use strict";function objectToString(value){return nativeObjectToString.call(value)}var objectProto=Object.prototype,nativeObjectToString=objectProto.toString;__webpack_exports__.a=objectToString},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__overArg_js__=__webpack_require__(133),getPrototype=Object(__WEBPACK_IMPORTED_MODULE_0__overArg_js__.a)(Object.getPrototypeOf,Object);__webpack_exports__.a=getPrototype},function(module,__webpack_exports__,__webpack_require__){"use strict";function overArg(func,transform){return function(arg){return func(transform(arg))}}__webpack_exports__.a=overArg},function(module,__webpack_exports__,__webpack_require__){"use strict";function isObjectLike(value){return null!=value&&"object"==typeof value}__webpack_exports__.a=isObjectLike},function(module,exports,__webpack_require__){module.exports=__webpack_require__(136)},function(module,exports,__webpack_require__){"use strict";(function(global,module){Object.defineProperty(exports,"__esModule",{value:!0});var root,_ponyfill=__webpack_require__(138),_ponyfill2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_ponyfill);root="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==global?global:module;var result=(0,_ponyfill2.default)(root);exports.default=result}).call(exports,__webpack_require__(9),__webpack_require__(137)(module))},function(module,exports){module.exports=function(module){return module.webpackPolyfill||(module.deprecate=function(){},module.paths=[],module.children||(module.children=[]),Object.defineProperty(module,"loaded",{enumerable:!0,get:function(){return module.l}}),Object.defineProperty(module,"id",{enumerable:!0,get:function(){return module.i}}),module.webpackPolyfill=1),module}},function(module,exports,__webpack_require__){"use strict";function symbolObservablePonyfill(root){var result,_Symbol=root.Symbol;return"function"==typeof _Symbol?_Symbol.observable?result=_Symbol.observable:(result=_Symbol("observable"),_Symbol.observable=result):result="@@observable",result}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=symbolObservablePonyfill},function(module,__webpack_exports__,__webpack_require__){"use strict";function getUndefinedStateErrorMessage(key,action){var actionType=action&&action.type;return"Given action "+(actionType&&'"'+actionType.toString()+'"'||"an action")+', reducer "'+key+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function assertReducerShape(reducers){Object.keys(reducers).forEach(function(key){var reducer=reducers[key];if(void 0===reducer(void 0,{type:__WEBPACK_IMPORTED_MODULE_0__createStore__.a.INIT}))throw new Error('Reducer "'+key+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===reducer(void 0,{type:"@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".")}))throw new Error('Reducer "'+key+"\" returned undefined when probed with a random type. Don't try to handle "+__WEBPACK_IMPORTED_MODULE_0__createStore__.a.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')})}function combineReducers(reducers){for(var reducerKeys=Object.keys(reducers),finalReducers={},i=0;i<reducerKeys.length;i++){var key=reducerKeys[i];"function"==typeof reducers[key]&&(finalReducers[key]=reducers[key])}var finalReducerKeys=Object.keys(finalReducers),shapeAssertionError=void 0;try{assertReducerShape(finalReducers)}catch(e){shapeAssertionError=e}return function(){var state=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];if(shapeAssertionError)throw shapeAssertionError;for(var hasChanged=!1,nextState={},_i=0;_i<finalReducerKeys.length;_i++){var _key=finalReducerKeys[_i],reducer=finalReducers[_key],previousStateForKey=state[_key],nextStateForKey=reducer(previousStateForKey,action);if(void 0===nextStateForKey){var errorMessage=getUndefinedStateErrorMessage(_key,action);throw new Error(errorMessage)}nextState[_key]=nextStateForKey,hasChanged=hasChanged||nextStateForKey!==previousStateForKey}return hasChanged?nextState:state}}__webpack_exports__.a=combineReducers;var __WEBPACK_IMPORTED_MODULE_0__createStore__=__webpack_require__(72);__webpack_require__(73),__webpack_require__(75)},function(module,__webpack_exports__,__webpack_require__){"use strict";function bindActionCreator(actionCreator,dispatch){return function(){return dispatch(actionCreator.apply(void 0,arguments))}}function bindActionCreators(actionCreators,dispatch){if("function"==typeof actionCreators)return bindActionCreator(actionCreators,dispatch);if("object"!=typeof actionCreators||null===actionCreators)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===actionCreators?"null":typeof actionCreators)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var keys=Object.keys(actionCreators),boundActionCreators={},i=0;i<keys.length;i++){var key=keys[i],actionCreator=actionCreators[key];"function"==typeof actionCreator&&(boundActionCreators[key]=bindActionCreator(actionCreator,dispatch))}return boundActionCreators}__webpack_exports__.a=bindActionCreators},function(module,__webpack_exports__,__webpack_require__){"use strict";function applyMiddleware(){for(var _len=arguments.length,middlewares=Array(_len),_key=0;_key<_len;_key++)middlewares[_key]=arguments[_key];return function(createStore){return function(reducer,preloadedState,enhancer){var store=createStore(reducer,preloadedState,enhancer),_dispatch=store.dispatch,chain=[],middlewareAPI={getState:store.getState,dispatch:function(action){return _dispatch(action)}};return chain=middlewares.map(function(middleware){return middleware(middlewareAPI)}),_dispatch=__WEBPACK_IMPORTED_MODULE_0__compose__.a.apply(void 0,chain)(store.dispatch),_extends({},store,{dispatch:_dispatch})}}}__webpack_exports__.a=applyMiddleware;var __WEBPACK_IMPORTED_MODULE_0__compose__=__webpack_require__(76),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function isPlainObject(value){if(!Object(__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__.a)(value)||Object(__WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__.a)(value)!=objectTag)return!1;var proto=Object(__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__.a)(value);if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}var __WEBPACK_IMPORTED_MODULE_0__baseGetTag_js__=__webpack_require__(143),__WEBPACK_IMPORTED_MODULE_1__getPrototype_js__=__webpack_require__(148),__WEBPACK_IMPORTED_MODULE_2__isObjectLike_js__=__webpack_require__(150),objectTag="[object Object]",funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectCtorString=funcToString.call(Object);__webpack_exports__.a=isPlainObject},function(module,__webpack_exports__,__webpack_require__){"use strict";function baseGetTag(value){return null==value?void 0===value?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?Object(__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__.a)(value):Object(__WEBPACK_IMPORTED_MODULE_2__objectToString_js__.a)(value)}var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__=__webpack_require__(79),__WEBPACK_IMPORTED_MODULE_1__getRawTag_js__=__webpack_require__(146),__WEBPACK_IMPORTED_MODULE_2__objectToString_js__=__webpack_require__(147),nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a?__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a.toStringTag:void 0;__webpack_exports__.a=baseGetTag},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__=__webpack_require__(145),freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=__WEBPACK_IMPORTED_MODULE_0__freeGlobal_js__.a||freeSelf||Function("return this")();__webpack_exports__.a=root},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global;__webpack_exports__.a=freeGlobal}).call(__webpack_exports__,__webpack_require__(9))},function(module,__webpack_exports__,__webpack_require__){"use strict";function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=void 0;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__=__webpack_require__(79),objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,nativeObjectToString=objectProto.toString,symToStringTag=__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a?__WEBPACK_IMPORTED_MODULE_0__Symbol_js__.a.toStringTag:void 0;__webpack_exports__.a=getRawTag},function(module,__webpack_exports__,__webpack_require__){"use strict";function objectToString(value){return nativeObjectToString.call(value)}var objectProto=Object.prototype,nativeObjectToString=objectProto.toString;__webpack_exports__.a=objectToString},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0__overArg_js__=__webpack_require__(149),getPrototype=Object(__WEBPACK_IMPORTED_MODULE_0__overArg_js__.a)(Object.getPrototypeOf,Object);__webpack_exports__.a=getPrototype},function(module,__webpack_exports__,__webpack_require__){"use strict";function overArg(func,transform){return function(arg){return func(transform(arg))}}__webpack_exports__.a=overArg},function(module,__webpack_exports__,__webpack_require__){"use strict";function isObjectLike(value){return null!=value&&"object"==typeof value}__webpack_exports__.a=isObjectLike},function(module,__webpack_exports__,__webpack_require__){"use strict";function whenMapStateToPropsIsFunction(mapStateToProps){return"function"==typeof mapStateToProps?Object(__WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__.b)(mapStateToProps,"mapStateToProps"):void 0}function whenMapStateToPropsIsMissing(mapStateToProps){return mapStateToProps?void 0:Object(__WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__.a)(function(){return{}})}var __WEBPACK_IMPORTED_MODULE_0__wrapMapToProps__=__webpack_require__(77);__webpack_exports__.a=[whenMapStateToPropsIsFunction,whenMapStateToPropsIsMissing]},function(module,__webpack_exports__,__webpack_require__){"use strict";function defaultMergeProps(stateProps,dispatchProps,ownProps){return _extends({},ownProps,stateProps,dispatchProps)}function wrapMergePropsFunc(mergeProps){return function(dispatch,_ref){var pure=(_ref.displayName,_ref.pure),areMergedPropsEqual=_ref.areMergedPropsEqual,hasRunOnce=!1,mergedProps=void 0;return function(stateProps,dispatchProps,ownProps){var nextMergedProps=mergeProps(stateProps,dispatchProps,ownProps);return hasRunOnce?pure&&areMergedPropsEqual(nextMergedProps,mergedProps)||(mergedProps=nextMergedProps):(hasRunOnce=!0,mergedProps=nextMergedProps),mergedProps}}}function whenMergePropsIsFunction(mergeProps){return"function"==typeof mergeProps?wrapMergePropsFunc(mergeProps):void 0}function whenMergePropsIsOmitted(mergeProps){return mergeProps?void 0:function(){return defaultMergeProps}}var _extends=(__webpack_require__(78),Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target});__webpack_exports__.a=[whenMergePropsIsFunction,whenMergePropsIsOmitted]},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function impureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch){return function(state,ownProps){return mergeProps(mapStateToProps(state,ownProps),mapDispatchToProps(dispatch,ownProps),ownProps)}}function pureFinalPropsSelectorFactory(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,_ref){function handleFirstCall(firstState,firstOwnProps){return state=firstState,ownProps=firstOwnProps,stateProps=mapStateToProps(state,ownProps),dispatchProps=mapDispatchToProps(dispatch,ownProps),mergedProps=mergeProps(stateProps,dispatchProps,ownProps),hasRunAtLeastOnce=!0,mergedProps}function handleNewPropsAndNewState(){return stateProps=mapStateToProps(state,ownProps),mapDispatchToProps.dependsOnOwnProps&&(dispatchProps=mapDispatchToProps(dispatch,ownProps)),mergedProps=mergeProps(stateProps,dispatchProps,ownProps)}function handleNewProps(){return mapStateToProps.dependsOnOwnProps&&(stateProps=mapStateToProps(state,ownProps)),mapDispatchToProps.dependsOnOwnProps&&(dispatchProps=mapDispatchToProps(dispatch,ownProps)),mergedProps=mergeProps(stateProps,dispatchProps,ownProps)}function handleNewState(){var nextStateProps=mapStateToProps(state,ownProps),statePropsChanged=!areStatePropsEqual(nextStateProps,stateProps);return stateProps=nextStateProps,statePropsChanged&&(mergedProps=mergeProps(stateProps,dispatchProps,ownProps)),mergedProps}function handleSubsequentCalls(nextState,nextOwnProps){var propsChanged=!areOwnPropsEqual(nextOwnProps,ownProps),stateChanged=!areStatesEqual(nextState,state);return state=nextState,ownProps=nextOwnProps,propsChanged&&stateChanged?handleNewPropsAndNewState():propsChanged?handleNewProps():stateChanged?handleNewState():mergedProps}var areStatesEqual=_ref.areStatesEqual,areOwnPropsEqual=_ref.areOwnPropsEqual,areStatePropsEqual=_ref.areStatePropsEqual,hasRunAtLeastOnce=!1,state=void 0,ownProps=void 0,stateProps=void 0,dispatchProps=void 0,mergedProps=void 0;return function(nextState,nextOwnProps){return hasRunAtLeastOnce?handleSubsequentCalls(nextState,nextOwnProps):handleFirstCall(nextState,nextOwnProps)}}function finalPropsSelectorFactory(dispatch,_ref2){var initMapStateToProps=_ref2.initMapStateToProps,initMapDispatchToProps=_ref2.initMapDispatchToProps,initMergeProps=_ref2.initMergeProps,options=_objectWithoutProperties(_ref2,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),mapStateToProps=initMapStateToProps(dispatch,options),mapDispatchToProps=initMapDispatchToProps(dispatch,options),mergeProps=initMergeProps(dispatch,options);return(options.pure?pureFinalPropsSelectorFactory:impureFinalPropsSelectorFactory)(mapStateToProps,mapDispatchToProps,mergeProps,dispatch,options)}__webpack_exports__.a=finalPropsSelectorFactory;__webpack_require__(154)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__(51)},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(18),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),__WEBPACK_IMPORTED_MODULE_1_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__),__WEBPACK_IMPORTED_MODULE_2_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_2_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_create_react_class__),__WEBPACK_IMPORTED_MODULE_3_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__),__webpack_require__(81)),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(40),__WEBPACK_IMPORTED_MODULE_6__RouterContext__=__webpack_require__(53),__WEBPACK_IMPORTED_MODULE_7__RouteUtils__=__webpack_require__(29),__WEBPACK_IMPORTED_MODULE_8__RouterUtils__=__webpack_require__(83),_extends=(__webpack_require__(34),Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}),propTypes={history:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object,children:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.d,routes:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.d,render:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,createElement:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,onError:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,onUpdate:__WEBPACK_IMPORTED_MODULE_3_prop_types__.func,matchContext:__WEBPACK_IMPORTED_MODULE_3_prop_types__.object},Router=__WEBPACK_IMPORTED_MODULE_2_create_react_class___default()({displayName:"Router",propTypes:propTypes,getDefaultProps:function(){return{render:function(props){return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__RouterContext__.a,props)}}},getInitialState:function(){return{location:null,routes:null,params:null,components:null}},handleError:function(error){if(!this.props.onError)throw error;this.props.onError.call(this,error)},createRouterObject:function(state){var matchContext=this.props.matchContext;if(matchContext)return matchContext.router;var history=this.props.history;return Object(__WEBPACK_IMPORTED_MODULE_8__RouterUtils__.b)(history,this.transitionManager,state)},createTransitionManager:function(){var matchContext=this.props.matchContext;if(matchContext)return matchContext.transitionManager;var history=this.props.history,_props=this.props,routes=_props.routes,children=_props.children;return history.getCurrentLocation||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),Object(__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__.a)(history,Object(__WEBPACK_IMPORTED_MODULE_7__RouteUtils__.b)(routes||children))},componentWillMount:function(){var _this=this;this.transitionManager=this.createTransitionManager(),this.router=this.createRouterObject(this.state),this._unlisten=this.transitionManager.listen(function(error,state){error?_this.handleError(error):(Object(__WEBPACK_IMPORTED_MODULE_8__RouterUtils__.a)(_this.router,state),_this.setState(state,_this.props.onUpdate))})},componentWillReceiveProps:function(nextProps){},componentWillUnmount:function(){this._unlisten&&this._unlisten()},render:function(){var _state=this.state,location=_state.location,routes=_state.routes,params=_state.params,components=_state.components,_props2=this.props,createElement=_props2.createElement,render=_props2.render,props=_objectWithoutProperties(_props2,["createElement","render"]);return null==location?null:(Object.keys(propTypes).forEach(function(propType){return delete props[propType]}),render(_extends({},props,{router:this.router,location:location,routes:routes,params:params,components:components,createElement:createElement})))}});__webpack_exports__.a=Router},function(module,exports,__webpack_require__){"use strict";function identity(fn){return fn}function factory(ReactComponent,isValidElement,ReactNoopUpdateQueue){function validateMethodOverride(isAlreadyDefined,name){var specPolicy=ReactClassInterface.hasOwnProperty(name)?ReactClassInterface[name]:null;ReactClassMixin.hasOwnProperty(name)&&_invariant("OVERRIDE_BASE"===specPolicy,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",name),isAlreadyDefined&&_invariant("DEFINE_MANY"===specPolicy||"DEFINE_MANY_MERGED"===specPolicy,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",name)}function mixSpecIntoComponent(Constructor,spec){if(spec){_invariant("function"!=typeof spec,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),_invariant(!isValidElement(spec),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var proto=Constructor.prototype,autoBindPairs=proto.__reactAutoBindPairs;spec.hasOwnProperty(MIXINS_KEY)&&RESERVED_SPEC_KEYS.mixins(Constructor,spec.mixins);for(var name in spec)if(spec.hasOwnProperty(name)&&name!==MIXINS_KEY){var property=spec[name],isAlreadyDefined=proto.hasOwnProperty(name);if(validateMethodOverride(isAlreadyDefined,name),RESERVED_SPEC_KEYS.hasOwnProperty(name))RESERVED_SPEC_KEYS[name](Constructor,property);else{var isReactClassMethod=ReactClassInterface.hasOwnProperty(name),isFunction="function"==typeof property,shouldAutoBind=isFunction&&!isReactClassMethod&&!isAlreadyDefined&&!1!==spec.autobind;if(shouldAutoBind)autoBindPairs.push(name,property),proto[name]=property;else if(isAlreadyDefined){var specPolicy=ReactClassInterface[name];_invariant(isReactClassMethod&&("DEFINE_MANY_MERGED"===specPolicy||"DEFINE_MANY"===specPolicy),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",specPolicy,name),"DEFINE_MANY_MERGED"===specPolicy?proto[name]=createMergedResultFunction(proto[name],property):"DEFINE_MANY"===specPolicy&&(proto[name]=createChainedFunction(proto[name],property))}else proto[name]=property}}}else;}function mixStaticSpecIntoComponent(Constructor,statics){if(statics)for(var name in statics){var property=statics[name];if(statics.hasOwnProperty(name)){var isReserved=name in RESERVED_SPEC_KEYS;_invariant(!isReserved,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',name);var isAlreadyDefined=name in Constructor;if(isAlreadyDefined){var specPolicy=ReactClassStaticInterface.hasOwnProperty(name)?ReactClassStaticInterface[name]:null;return _invariant("DEFINE_MANY_MERGED"===specPolicy,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",name),void(Constructor[name]=createMergedResultFunction(Constructor[name],property))}Constructor[name]=property}}}function mergeIntoWithNoDuplicateKeys(one,two){_invariant(one&&two&&"object"==typeof one&&"object"==typeof two,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var key in two)two.hasOwnProperty(key)&&(_invariant(void 0===one[key],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",key),one[key]=two[key]);return one}function createMergedResultFunction(one,two){return function(){var a=one.apply(this,arguments),b=two.apply(this,arguments);if(null==a)return b;if(null==b)return a;var c={};return mergeIntoWithNoDuplicateKeys(c,a),mergeIntoWithNoDuplicateKeys(c,b),c}}function createChainedFunction(one,two){return function(){one.apply(this,arguments),two.apply(this,arguments)}}function bindAutoBindMethod(component,method){var boundMethod=method.bind(component);return boundMethod}function bindAutoBindMethods(component){for(var pairs=component.__reactAutoBindPairs,i=0;i<pairs.length;i+=2){var autoBindKey=pairs[i],method=pairs[i+1];component[autoBindKey]=bindAutoBindMethod(component,method)}}function createClass(spec){var Constructor=identity(function(props,context,updater){this.__reactAutoBindPairs.length&&bindAutoBindMethods(this),this.props=props,this.context=context,this.refs=emptyObject,this.updater=updater||ReactNoopUpdateQueue,this.state=null;var initialState=this.getInitialState?this.getInitialState():null;_invariant("object"==typeof initialState&&!Array.isArray(initialState),"%s.getInitialState(): must return an object or null",Constructor.displayName||"ReactCompositeComponent"),this.state=initialState});Constructor.prototype=new ReactClassComponent,Constructor.prototype.constructor=Constructor,Constructor.prototype.__reactAutoBindPairs=[],injectedMixins.forEach(mixSpecIntoComponent.bind(null,Constructor)),mixSpecIntoComponent(Constructor,IsMountedPreMixin),mixSpecIntoComponent(Constructor,spec),mixSpecIntoComponent(Constructor,IsMountedPostMixin),Constructor.getDefaultProps&&(Constructor.defaultProps=Constructor.getDefaultProps()),_invariant(Constructor.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var methodName in ReactClassInterface)Constructor.prototype[methodName]||(Constructor.prototype[methodName]=null);return Constructor}var injectedMixins=[],ReactClassInterface={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},ReactClassStaticInterface={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},RESERVED_SPEC_KEYS={displayName:function(Constructor,displayName){Constructor.displayName=displayName},mixins:function(Constructor,mixins){if(mixins)for(var i=0;i<mixins.length;i++)mixSpecIntoComponent(Constructor,mixins[i])},childContextTypes:function(Constructor,childContextTypes){Constructor.childContextTypes=_assign({},Constructor.childContextTypes,childContextTypes)},contextTypes:function(Constructor,contextTypes){Constructor.contextTypes=_assign({},Constructor.contextTypes,contextTypes)},getDefaultProps:function(Constructor,getDefaultProps){Constructor.getDefaultProps?Constructor.getDefaultProps=createMergedResultFunction(Constructor.getDefaultProps,getDefaultProps):Constructor.getDefaultProps=getDefaultProps},propTypes:function(Constructor,propTypes){Constructor.propTypes=_assign({},Constructor.propTypes,propTypes)},statics:function(Constructor,statics){mixStaticSpecIntoComponent(Constructor,statics)},autobind:function(){}},IsMountedPreMixin={componentDidMount:function(){this.__isMounted=!0}},IsMountedPostMixin={componentWillUnmount:function(){this.__isMounted=!1}},ReactClassMixin={replaceState:function(newState,callback){this.updater.enqueueReplaceState(this,newState,callback)},isMounted:function(){return!!this.__isMounted}},ReactClassComponent=function(){};return _assign(ReactClassComponent.prototype,ReactComponent.prototype,ReactClassMixin),createClass}var _assign=__webpack_require__(45),emptyObject=__webpack_require__(157),_invariant=__webpack_require__(80),MIXINS_KEY="mixins";module.exports=factory},function(module,exports,__webpack_require__){"use strict";var emptyObject={};module.exports=emptyObject},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(159),invariant=__webpack_require__(80),ReactPropTypesSecret=__webpack_require__(160);module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){secret!==ReactPropTypesSecret&&invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function getShim(){return shim}shim.isRequired=shim;var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim};return ReactPropTypes.checkPropTypes=emptyFunction,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(module,__webpack_exports__,__webpack_require__){"use strict";function routeParamsChanged(route,prevState,nextState){return!!route.path&&Object(__WEBPACK_IMPORTED_MODULE_0__PatternUtils__.b)(route.path).some(function(paramName){return prevState.params[paramName]!==nextState.params[paramName]})}function computeChangedRoutes(prevState,nextState){var prevRoutes=prevState&&prevState.routes,nextRoutes=nextState.routes,leaveRoutes=void 0,changeRoutes=void 0,enterRoutes=void 0;if(prevRoutes){var parentIsLeaving=!1;leaveRoutes=prevRoutes.filter(function(route){if(parentIsLeaving)return!0;var isLeaving=-1===nextRoutes.indexOf(route)||routeParamsChanged(route,prevState,nextState);return isLeaving&&(parentIsLeaving=!0),isLeaving}),leaveRoutes.reverse(),enterRoutes=[],changeRoutes=[],nextRoutes.forEach(function(route){var isNew=-1===prevRoutes.indexOf(route),paramsChanged=-1!==leaveRoutes.indexOf(route);isNew||paramsChanged?enterRoutes.push(route):changeRoutes.push(route)})}else leaveRoutes=[],changeRoutes=[],enterRoutes=nextRoutes;return{leaveRoutes:leaveRoutes,changeRoutes:changeRoutes,enterRoutes:enterRoutes}}var __WEBPACK_IMPORTED_MODULE_0__PatternUtils__=__webpack_require__(35);__webpack_exports__.a=computeChangedRoutes},function(module,__webpack_exports__,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function getTransitionUtils(){function createTransitionHook(hook,route,asyncArity,pendingHooks){var isSync=hook.length<asyncArity,transitionHook=function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];if(hook.apply(route,args),isSync){(0,args[args.length-1])()}};return pendingHooks.add(transitionHook),transitionHook}function getEnterHooks(routes){return routes.reduce(function(hooks,route){return route.onEnter&&hooks.push(createTransitionHook(route.onEnter,route,3,enterHooks)),hooks},[])}function getChangeHooks(routes){return routes.reduce(function(hooks,route){return route.onChange&&hooks.push(createTransitionHook(route.onChange,route,4,changeHooks)),hooks},[])}function runTransitionHooks(length,iter,callback){function replace(location){redirectInfo=location}if(!length)return void callback();var redirectInfo=void 0;Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.a)(length,function(index,next,done){iter(index,replace,function(error){error||redirectInfo?done(error,redirectInfo):next()})},callback)}function runEnterHooks(routes,nextState,callback){enterHooks.clear();var hooks=getEnterHooks(routes);return runTransitionHooks(hooks.length,function(index,replace,next){var wrappedNext=function(){enterHooks.has(hooks[index])&&(next.apply(void 0,arguments),enterHooks.remove(hooks[index]))};hooks[index](nextState,replace,wrappedNext)},callback)}function runChangeHooks(routes,state,nextState,callback){changeHooks.clear();var hooks=getChangeHooks(routes);return runTransitionHooks(hooks.length,function(index,replace,next){var wrappedNext=function(){changeHooks.has(hooks[index])&&(next.apply(void 0,arguments),changeHooks.remove(hooks[index]))};hooks[index](state,nextState,replace,wrappedNext)},callback)}function runLeaveHooks(routes,prevState){for(var i=0,len=routes.length;i<len;++i)routes[i].onLeave&&routes[i].onLeave.call(routes[i],prevState)}var enterHooks=new PendingHooks,changeHooks=new PendingHooks;return{runEnterHooks:runEnterHooks,runChangeHooks:runChangeHooks,runLeaveHooks:runLeaveHooks}}__webpack_exports__.a=getTransitionUtils;var __WEBPACK_IMPORTED_MODULE_0__AsyncUtils__=__webpack_require__(52),PendingHooks=function PendingHooks(){var _this=this;_classCallCheck(this,PendingHooks),this.hooks=[],this.add=function(hook){return _this.hooks.push(hook)},this.remove=function(hook){return _this.hooks=_this.hooks.filter(function(h){return h!==hook})},this.has=function(hook){return-1!==_this.hooks.indexOf(hook)},this.clear=function(){return _this.hooks=[]}}},function(module,__webpack_exports__,__webpack_require__){"use strict";function deepEqual(a,b){if(a==b)return!0;if(null==a||null==b)return!1;if(Array.isArray(a))return Array.isArray(b)&&a.length===b.length&&a.every(function(item,index){return deepEqual(item,b[index])});if("object"===(void 0===a?"undefined":_typeof(a))){for(var p in a)if(Object.prototype.hasOwnProperty.call(a,p))if(void 0===a[p]){if(void 0!==b[p])return!1}else{if(!Object.prototype.hasOwnProperty.call(b,p))return!1;if(!deepEqual(a[p],b[p]))return!1}return!0}return String(a)===String(b)}function pathIsActive(pathname,currentPathname){return"/"!==currentPathname.charAt(0)&&(currentPathname="/"+currentPathname),"/"!==pathname.charAt(pathname.length-1)&&(pathname+="/"),"/"!==currentPathname.charAt(currentPathname.length-1)&&(currentPathname+="/"),currentPathname===pathname}function routeIsActive(pathname,routes,params){for(var remainingPathname=pathname,paramNames=[],paramValues=[],i=0,len=routes.length;i<len;++i){var route=routes[i],pattern=route.path||"";if("/"===pattern.charAt(0)&&(remainingPathname=pathname,paramNames=[],paramValues=[]),null!==remainingPathname&&pattern){var matched=Object(__WEBPACK_IMPORTED_MODULE_0__PatternUtils__.c)(pattern,remainingPathname);if(matched?(remainingPathname=matched.remainingPathname,paramNames=[].concat(paramNames,matched.paramNames),paramValues=[].concat(paramValues,matched.paramValues)):remainingPathname=null,""===remainingPathname)return paramNames.every(function(paramName,index){return String(paramValues[index])===String(params[paramName])})}}return!1}function queryIsActive(query,activeQuery){return null==activeQuery?null==query:null==query||deepEqual(query,activeQuery)}function isActive(_ref,indexOnly,currentLocation,routes,params){var pathname=_ref.pathname,query=_ref.query;return null!=currentLocation&&("/"!==pathname.charAt(0)&&(pathname="/"+pathname),!!(pathIsActive(pathname,currentLocation.pathname)||!indexOnly&&routeIsActive(pathname,routes,params))&&queryIsActive(query,currentLocation.query))}__webpack_exports__.a=isActive;var __WEBPACK_IMPORTED_MODULE_0__PatternUtils__=__webpack_require__(35),_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}},function(module,__webpack_exports__,__webpack_require__){"use strict";function getComponentsForRoute(nextState,route,callback){if(route.component||route.components)return void callback(null,route.component||route.components);var getComponent=route.getComponent||route.getComponents;if(getComponent){var componentReturn=getComponent.call(route,nextState,callback);Object(__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__.a)(componentReturn)&&componentReturn.then(function(component){return callback(null,component)},callback)}else callback()}function getComponents(nextState,callback){Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.b)(nextState.routes,function(route,index,callback){getComponentsForRoute(nextState,route,callback)},callback)}var __WEBPACK_IMPORTED_MODULE_0__AsyncUtils__=__webpack_require__(52),__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__=__webpack_require__(82);__webpack_exports__.a=getComponents},function(module,__webpack_exports__,__webpack_require__){"use strict";function getChildRoutes(route,location,paramNames,paramValues,callback){if(route.childRoutes)return[null,route.childRoutes];if(!route.getChildRoutes)return[];var sync=!0,result=void 0,partialNextState={location:location,params:createParams(paramNames,paramValues)},childRoutesReturn=route.getChildRoutes(partialNextState,function(error,childRoutes){if(childRoutes=!error&&Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(childRoutes),sync)return void(result=[error,childRoutes]);callback(error,childRoutes)});return Object(__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__.a)(childRoutesReturn)&&childRoutesReturn.then(function(childRoutes){return callback(null,Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(childRoutes))},callback),sync=!1,result}function getIndexRoute(route,location,paramNames,paramValues,callback){if(route.indexRoute)callback(null,route.indexRoute);else if(route.getIndexRoute){var partialNextState={location:location,params:createParams(paramNames,paramValues)},indexRoutesReturn=route.getIndexRoute(partialNextState,function(error,indexRoute){callback(error,!error&&Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(indexRoute)[0])});Object(__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__.a)(indexRoutesReturn)&&indexRoutesReturn.then(function(indexRoute){return callback(null,Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(indexRoute)[0])},callback)}else if(route.childRoutes||route.getChildRoutes){var onChildRoutes=function(error,childRoutes){if(error)return void callback(error);var pathless=childRoutes.filter(function(childRoute){return!childRoute.path});Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.a)(pathless.length,function(index,next,done){getIndexRoute(pathless[index],location,paramNames,paramValues,function(error,indexRoute){if(error||indexRoute){var routes=[pathless[index]].concat(Array.isArray(indexRoute)?indexRoute:[indexRoute]);done(error,routes)}else next()})},function(err,routes){callback(null,routes)})},result=getChildRoutes(route,location,paramNames,paramValues,onChildRoutes);result&&onChildRoutes.apply(void 0,result)}else callback()}function assignParams(params,paramNames,paramValues){return paramNames.reduce(function(params,paramName,index){var paramValue=paramValues&¶mValues[index];return Array.isArray(params[paramName])?params[paramName].push(paramValue):params[paramName]=paramName in params?[params[paramName],paramValue]:paramValue,params},params)}function createParams(paramNames,paramValues){return assignParams({},paramNames,paramValues)}function matchRouteDeep(route,location,remainingPathname,paramNames,paramValues,callback){var pattern=route.path||"";if("/"===pattern.charAt(0)&&(remainingPathname=location.pathname,paramNames=[],paramValues=[]),null!==remainingPathname&&pattern){try{var matched=Object(__WEBPACK_IMPORTED_MODULE_2__PatternUtils__.c)(pattern,remainingPathname);matched?(remainingPathname=matched.remainingPathname,paramNames=[].concat(paramNames,matched.paramNames),paramValues=[].concat(paramValues,matched.paramValues)):remainingPathname=null}catch(error){callback(error)}if(""===remainingPathname){var match={routes:[route],params:createParams(paramNames,paramValues)};return void getIndexRoute(route,location,paramNames,paramValues,function(error,indexRoute){if(error)callback(error);else{if(Array.isArray(indexRoute)){var _match$routes;(_match$routes=match.routes).push.apply(_match$routes,indexRoute)}else indexRoute&&match.routes.push(indexRoute);callback(null,match)}})}}if(null!=remainingPathname||route.childRoutes){var onChildRoutes=function(error,childRoutes){error?callback(error):childRoutes?matchRoutes(childRoutes,location,function(error,match){error?callback(error):match?(match.routes.unshift(route),callback(null,match)):callback()},remainingPathname,paramNames,paramValues):callback()},result=getChildRoutes(route,location,paramNames,paramValues,onChildRoutes);result&&onChildRoutes.apply(void 0,result)}else callback()}function matchRoutes(routes,location,callback,remainingPathname){var paramNames=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],paramValues=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];void 0===remainingPathname&&("/"!==location.pathname.charAt(0)&&(location=_extends({},location,{pathname:"/"+location.pathname})),remainingPathname=location.pathname),Object(__WEBPACK_IMPORTED_MODULE_0__AsyncUtils__.a)(routes.length,function(index,next,done){matchRouteDeep(routes[index],location,remainingPathname,paramNames,paramValues,function(error,match){error||match?done(error,match):next()})},callback)}__webpack_exports__.a=matchRoutes;var __WEBPACK_IMPORTED_MODULE_0__AsyncUtils__=__webpack_require__(52),__WEBPACK_IMPORTED_MODULE_1__PromiseUtils__=__webpack_require__(82),__WEBPACK_IMPORTED_MODULE_2__PatternUtils__=__webpack_require__(35),__WEBPACK_IMPORTED_MODULE_4__RouteUtils__=(__webpack_require__(34),__webpack_require__(29)),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";function getRouteParams(route,params){var routeParams={};return route.path?(Object(__WEBPACK_IMPORTED_MODULE_0__PatternUtils__.b)(route.path).forEach(function(p){Object.prototype.hasOwnProperty.call(params,p)&&(routeParams[p]=params[p])}),routeParams):routeParams}var __WEBPACK_IMPORTED_MODULE_0__PatternUtils__=__webpack_require__(35);__webpack_exports__.a=getRouteParams},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__WEBPACK_IMPORTED_MODULE_1_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_1_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_create_react_class__),__WEBPACK_IMPORTED_MODULE_2__Link__=__webpack_require__(84),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},IndexLink=__WEBPACK_IMPORTED_MODULE_1_create_react_class___default()({displayName:"IndexLink",render:function(){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__Link__.a,_extends({},this.props,{onlyActiveOnIndex:!0}))}});__webpack_exports__.a=IndexLink},function(module,__webpack_exports__,__webpack_require__){"use strict";function getDisplayName(WrappedComponent){return WrappedComponent.displayName||WrappedComponent.name||"Component"}function withRouter(WrappedComponent,options){var withRef=options&&options.withRef,WithRouter=__WEBPACK_IMPORTED_MODULE_2_create_react_class___default()({displayName:"WithRouter",mixins:[Object(__WEBPACK_IMPORTED_MODULE_4__ContextUtils__.b)("router")],contextTypes:{router:__WEBPACK_IMPORTED_MODULE_5__PropTypes__.b},propTypes:{router:__WEBPACK_IMPORTED_MODULE_5__PropTypes__.b},getWrappedInstance:function(){return withRef||__WEBPACK_IMPORTED_MODULE_0_invariant___default()(!1),this.wrappedInstance},render:function(){var _this=this,router=this.props.router||this.context.router;if(!router)return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(WrappedComponent,this.props);var params=router.params,location=router.location,routes=router.routes,props=_extends({},this.props,{router:router,params:params,location:location,routes:routes});return withRef&&(props.ref=function(c){_this.wrappedInstance=c}),__WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(WrappedComponent,props)}});return WithRouter.displayName="withRouter("+getDisplayName(WrappedComponent)+")",WithRouter.WrappedComponent=WrappedComponent,__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics___default()(WithRouter,WrappedComponent)}__webpack_exports__.a=withRouter;var __WEBPACK_IMPORTED_MODULE_0_invariant__=__webpack_require__(18),__WEBPACK_IMPORTED_MODULE_0_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_invariant__),__WEBPACK_IMPORTED_MODULE_1_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_1_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__),__WEBPACK_IMPORTED_MODULE_2_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_2_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_create_react_class__),__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics__=__webpack_require__(71),__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_hoist_non_react_statics__),__WEBPACK_IMPORTED_MODULE_4__ContextUtils__=__webpack_require__(54),__WEBPACK_IMPORTED_MODULE_5__PropTypes__=__webpack_require__(55),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_3_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(34),__webpack_require__(18)),__WEBPACK_IMPORTED_MODULE_3_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__),__WEBPACK_IMPORTED_MODULE_4__Redirect__=__webpack_require__(85),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(40),IndexRedirect=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"IndexRedirect",statics:{createRouteFromReactElement:function(element,parentRoute){parentRoute&&(parentRoute.indexRoute=__WEBPACK_IMPORTED_MODULE_4__Redirect__.a.createRouteFromReactElement(element))}},propTypes:{to:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string.isRequired,query:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,state:__WEBPACK_IMPORTED_MODULE_1_prop_types__.object,onEnter:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c,children:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c},render:function(){__WEBPACK_IMPORTED_MODULE_3_invariant___default()(!1)}});__webpack_exports__.a=IndexRedirect},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_3_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(34),__webpack_require__(18)),__WEBPACK_IMPORTED_MODULE_3_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_invariant__),__WEBPACK_IMPORTED_MODULE_4__RouteUtils__=__webpack_require__(29),__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__=__webpack_require__(40),IndexRoute=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"IndexRoute",statics:{createRouteFromReactElement:function(element,parentRoute){parentRoute&&(parentRoute.indexRoute=Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.a)(element))}},propTypes:{path:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.c,component:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.a,components:__WEBPACK_IMPORTED_MODULE_5__InternalPropTypes__.b,getComponent:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func,getComponents:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func},render:function(){__WEBPACK_IMPORTED_MODULE_3_invariant___default()(!1)}});__webpack_exports__.a=IndexRoute},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_create_react_class__=__webpack_require__(27),__WEBPACK_IMPORTED_MODULE_0_create_react_class___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_create_react_class__),__WEBPACK_IMPORTED_MODULE_1_prop_types__=__webpack_require__(17),__WEBPACK_IMPORTED_MODULE_2_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__),__webpack_require__(18)),__WEBPACK_IMPORTED_MODULE_2_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__),__WEBPACK_IMPORTED_MODULE_3__RouteUtils__=__webpack_require__(29),__WEBPACK_IMPORTED_MODULE_4__InternalPropTypes__=__webpack_require__(40),Route=__WEBPACK_IMPORTED_MODULE_0_create_react_class___default()({displayName:"Route",statics:{createRouteFromReactElement:__WEBPACK_IMPORTED_MODULE_3__RouteUtils__.a},propTypes:{path:__WEBPACK_IMPORTED_MODULE_1_prop_types__.string,component:__WEBPACK_IMPORTED_MODULE_4__InternalPropTypes__.a,components:__WEBPACK_IMPORTED_MODULE_4__InternalPropTypes__.b,getComponent:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func,getComponents:__WEBPACK_IMPORTED_MODULE_1_prop_types__.func},render:function(){__WEBPACK_IMPORTED_MODULE_2_invariant___default()(!1)}});__webpack_exports__.a=Route},function(module,__webpack_exports__,__webpack_require__){"use strict";function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function match(_ref,callback){var history=_ref.history,routes=_ref.routes,location=_ref.location,options=_objectWithoutProperties(_ref,["history","routes","location"]);history||location||__WEBPACK_IMPORTED_MODULE_1_invariant___default()(!1),history=history||Object(__WEBPACK_IMPORTED_MODULE_2__createMemoryHistory__.a)(options);var transitionManager=Object(__WEBPACK_IMPORTED_MODULE_3__createTransitionManager__.a)(history,Object(__WEBPACK_IMPORTED_MODULE_4__RouteUtils__.b)(routes));location=location?history.createLocation(location):history.getCurrentLocation(),transitionManager.match(location,function(error,redirectLocation,nextState){var renderProps=void 0;if(nextState){var router=Object(__WEBPACK_IMPORTED_MODULE_5__RouterUtils__.b)(history,transitionManager,nextState);renderProps=_extends({},nextState,{router:router,matchContext:{transitionManager:transitionManager,router:router}})}callback(error,redirectLocation&&history.createLocation(redirectLocation,__WEBPACK_IMPORTED_MODULE_0_history_lib_Actions__.REPLACE),renderProps)})}var __WEBPACK_IMPORTED_MODULE_0_history_lib_Actions__=__webpack_require__(47),__WEBPACK_IMPORTED_MODULE_1_invariant__=(__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_Actions__),__webpack_require__(18)),__WEBPACK_IMPORTED_MODULE_1_invariant___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__),__WEBPACK_IMPORTED_MODULE_2__createMemoryHistory__=__webpack_require__(86),__WEBPACK_IMPORTED_MODULE_3__createTransitionManager__=__webpack_require__(81),__WEBPACK_IMPORTED_MODULE_4__RouteUtils__=__webpack_require__(29),__WEBPACK_IMPORTED_MODULE_5__RouterUtils__=__webpack_require__(83),_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};__webpack_exports__.a=match},function(module,exports,__webpack_require__){"use strict";function encoderForArrayFormat(opts){switch(opts.arrayFormat){case"index":return function(key,value,index){return null===value?[encode(key,opts),"[",index,"]"].join(""):[encode(key,opts),"[",encode(index,opts),"]=",encode(value,opts)].join("")};case"bracket":return function(key,value){return null===value?encode(key,opts):[encode(key,opts),"[]=",encode(value,opts)].join("")};default:return function(key,value){return null===value?encode(key,opts):[encode(key,opts),"=",encode(value,opts)].join("")}}}function parserForArrayFormat(opts){var result;switch(opts.arrayFormat){case"index":return function(key,value,accumulator){if(result=/\[(\d*)\]$/.exec(key),key=key.replace(/\[\d*\]$/,""),!result)return void(accumulator[key]=value);void 0===accumulator[key]&&(accumulator[key]={}),accumulator[key][result[1]]=value};case"bracket":return function(key,value,accumulator){return result=/(\[\])$/.exec(key),key=key.replace(/\[\]$/,""),result?void 0===accumulator[key]?void(accumulator[key]=[value]):void(accumulator[key]=[].concat(accumulator[key],value)):void(accumulator[key]=value)};default:return function(key,value,accumulator){if(void 0===accumulator[key])return void(accumulator[key]=value);accumulator[key]=[].concat(accumulator[key],value)}}}function encode(value,opts){return opts.encode?opts.strict?strictUriEncode(value):encodeURIComponent(value):value}function keysSorter(input){return Array.isArray(input)?input.sort():"object"==typeof input?keysSorter(Object.keys(input)).sort(function(a,b){return Number(a)-Number(b)}).map(function(key){return input[key]}):input}var strictUriEncode=__webpack_require__(174),objectAssign=__webpack_require__(45);exports.extract=function(str){return str.split("?")[1]||""},exports.parse=function(str,opts){opts=objectAssign({arrayFormat:"none"},opts);var formatter=parserForArrayFormat(opts),ret=Object.create(null);return"string"!=typeof str?ret:(str=str.trim().replace(/^(\?|#|&)/,""))?(str.split("&").forEach(function(param){var parts=param.replace(/\+/g," ").split("="),key=parts.shift(),val=parts.length>0?parts.join("="):void 0;val=void 0===val?null:decodeURIComponent(val),formatter(decodeURIComponent(key),val,ret)}),Object.keys(ret).sort().reduce(function(result,key){var val=ret[key];return Boolean(val)&&"object"==typeof val&&!Array.isArray(val)?result[key]=keysSorter(val):result[key]=val,result},Object.create(null))):ret},exports.stringify=function(obj,opts){opts=objectAssign({encode:!0,strict:!0,arrayFormat:"none"},opts);var formatter=encoderForArrayFormat(opts);return obj?Object.keys(obj).sort().map(function(key){var val=obj[key];if(void 0===val)return"";if(null===val)return encode(key,opts);if(Array.isArray(val)){var result=[];return val.slice().forEach(function(val2){void 0!==val2&&result.push(formatter(key,val2,result.length))}),result.join("&")}return encode(key,opts)+"="+encode(val,opts)}).filter(function(x){return x.length>0}).join("&"):""}},function(module,exports,__webpack_require__){"use strict";module.exports=function(str){return encodeURIComponent(str).replace(/[!'()*]/g,function(c){return"%"+c.charCodeAt(0).toString(16).toUpperCase()})}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_warning=__webpack_require__(28),_invariant=(_interopRequireDefault(_warning),__webpack_require__(18)),_invariant2=_interopRequireDefault(_invariant),_LocationUtils=__webpack_require__(36),_PathUtils=__webpack_require__(30),_createHistory=__webpack_require__(57),_createHistory2=_interopRequireDefault(_createHistory),_Actions=__webpack_require__(47),createStateStorage=function(entries){return entries.filter(function(entry){return entry.state}).reduce(function(memo,entry){return memo[entry.key]=entry.state,memo},{})},createMemoryHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Array.isArray(options)?options={entries:options}:"string"==typeof options&&(options={entries:[options]});var getCurrentLocation=function(){var entry=entries[current],path=(0,_PathUtils.createPath)(entry),key=void 0,state=void 0;entry.key&&(key=entry.key,state=readState(key));var init=(0,_PathUtils.parsePath)(path);return(0,_LocationUtils.createLocation)(_extends({},init,{state:state}),void 0,key)},canGo=function(n){var index=current+n;return index>=0&&index<entries.length},go=function(n){if(n&&canGo(n)){current+=n;var currentLocation=getCurrentLocation();history.transitionTo(_extends({},currentLocation,{action:_Actions.POP}))}},pushLocation=function(location){current+=1,current<entries.length&&entries.splice(current),entries.push(location),saveState(location.key,location.state)},replaceLocation=function(location){entries[current]=location,saveState(location.key,location.state)},history=(0,_createHistory2.default)(_extends({},options,{getCurrentLocation:getCurrentLocation,pushLocation:pushLocation,replaceLocation:replaceLocation,go:go})),_options=options,entries=_options.entries,current=_options.current;"string"==typeof entries?entries=[entries]:Array.isArray(entries)||(entries=["/"]),entries=entries.map(function(entry){return(0,_LocationUtils.createLocation)(entry)}),null==current?current=entries.length-1:current>=0&¤t<entries.length||(0,_invariant2.default)(!1);var storage=createStateStorage(entries),saveState=function(key,state){return storage[key]=state},readState=function(key){return storage[key]};return _extends({},history,{canGo:canGo})};exports.default=createMemoryHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;exports.loopAsync=function(turns,work,callback){var currentTurn=0,isDone=!1,isSync=!1,hasNext=!1,doneArgs=void 0,done=function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];if(isDone=!0,isSync)return void(doneArgs=args);callback.apply(void 0,args)};!function next(){if(!isDone&&(hasNext=!0,!isSync)){for(isSync=!0;!isDone&¤tTurn<turns&&hasNext;)hasNext=!1,work(currentTurn++,next,done);if(isSync=!1,isDone)return void callback.apply(void 0,doneArgs);currentTurn>=turns&&hasNext&&(isDone=!0,callback())}}()}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_react__=__webpack_require__(0),__WEBPACK_IMPORTED_MODULE_0_react___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__),__WEBPACK_IMPORTED_MODULE_1__RouterContext__=__webpack_require__(53),_extends=(__webpack_require__(34),Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target});__webpack_exports__.a=function(){for(var _len=arguments.length,middlewares=Array(_len),_key=0;_key<_len;_key++)middlewares[_key]=arguments[_key];var withContext=middlewares.map(function(middleware){return middleware.renderRouterContext}).filter(Boolean),withComponent=middlewares.map(function(middleware){return middleware.renderRouteComponent}).filter(Boolean),makeCreateElement=function(){var baseCreateElement=arguments.length>0&&void 0!==arguments[0]?arguments[0]:__WEBPACK_IMPORTED_MODULE_0_react__.createElement;return function(Component,props){return withComponent.reduceRight(function(previous,renderRouteComponent){return renderRouteComponent(previous,props)},baseCreateElement(Component,props))}};return function(renderProps){return withContext.reduceRight(function(previous,renderRouterContext){return renderRouterContext(previous,renderProps)},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__RouterContext__.a,_extends({},renderProps,{createElement:makeCreateElement(renderProps.createElement)})))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory__=__webpack_require__(179),__WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory__),__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__=__webpack_require__(91);__webpack_exports__.a=Object(__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__.a)(__WEBPACK_IMPORTED_MODULE_0_history_lib_createBrowserHistory___default.a)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_invariant=__webpack_require__(18),_invariant2=_interopRequireDefault(_invariant),_ExecutionEnvironment=__webpack_require__(58),_BrowserProtocol=__webpack_require__(59),BrowserProtocol=_interopRequireWildcard(_BrowserProtocol),_RefreshProtocol=__webpack_require__(180),RefreshProtocol=_interopRequireWildcard(_RefreshProtocol),_DOMUtils=__webpack_require__(48),_createHistory=__webpack_require__(57),_createHistory2=_interopRequireDefault(_createHistory),createBrowserHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_ExecutionEnvironment.canUseDOM||(0,_invariant2.default)(!1);var useRefresh=options.forceRefresh||!(0,_DOMUtils.supportsHistory)(),Protocol=useRefresh?RefreshProtocol:BrowserProtocol,getUserConfirmation=Protocol.getUserConfirmation,getCurrentLocation=Protocol.getCurrentLocation,pushLocation=Protocol.pushLocation,replaceLocation=Protocol.replaceLocation,go=Protocol.go,history=(0,_createHistory2.default)(_extends({getUserConfirmation:getUserConfirmation},options,{getCurrentLocation:getCurrentLocation,pushLocation:pushLocation,replaceLocation:replaceLocation,go:go})),listenerCount=0,stopListener=void 0,startListener=function(listener,before){1==++listenerCount&&(stopListener=BrowserProtocol.startListener(history.transitionTo));var unlisten=before?history.listenBefore(listener):history.listen(listener);return function(){unlisten(),0==--listenerCount&&stopListener()}};return _extends({},history,{listenBefore:function(listener){return startListener(listener,!0)},listen:function(listener){return startListener(listener,!1)}})};exports.default=createBrowserHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.replaceLocation=exports.pushLocation=exports.getCurrentLocation=exports.go=exports.getUserConfirmation=void 0;var _BrowserProtocol=__webpack_require__(59);Object.defineProperty(exports,"getUserConfirmation",{enumerable:!0,get:function(){return _BrowserProtocol.getUserConfirmation}}),Object.defineProperty(exports,"go",{enumerable:!0,get:function(){return _BrowserProtocol.go}});var _LocationUtils=__webpack_require__(36),_PathUtils=__webpack_require__(30);exports.getCurrentLocation=function(){return(0,_LocationUtils.createLocation)(window.location)},exports.pushLocation=function(location){return window.location.href=(0,_PathUtils.createPath)(location),!1},exports.replaceLocation=function(location){return window.location.replace((0,_PathUtils.createPath)(location)),!1}},function(module,__webpack_exports__,__webpack_require__){"use strict";var __WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory__=__webpack_require__(182),__WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory__),__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__=__webpack_require__(91);__webpack_exports__.a=Object(__WEBPACK_IMPORTED_MODULE_1__createRouterHistory__.a)(__WEBPACK_IMPORTED_MODULE_0_history_lib_createHashHistory___default.a)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_warning=__webpack_require__(28),_invariant=(_interopRequireDefault(_warning),__webpack_require__(18)),_invariant2=_interopRequireDefault(_invariant),_ExecutionEnvironment=__webpack_require__(58),_DOMUtils=__webpack_require__(48),_HashProtocol=__webpack_require__(183),HashProtocol=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_HashProtocol),_createHistory=__webpack_require__(57),_createHistory2=_interopRequireDefault(_createHistory),addLeadingSlash=function(path){return"/"===path.charAt(0)?path:"/"+path},HashPathCoders={hashbang:{encodePath:function(path){return"!"===path.charAt(0)?path:"!"+path},decodePath:function(path){return"!"===path.charAt(0)?path.substring(1):path}},noslash:{encodePath:function(path){return"/"===path.charAt(0)?path.substring(1):path},decodePath:addLeadingSlash},slash:{encodePath:addLeadingSlash,decodePath:addLeadingSlash}},createHashHistory=function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_ExecutionEnvironment.canUseDOM||(0,_invariant2.default)(!1);var queryKey=options.queryKey,hashType=options.hashType;"string"!=typeof queryKey&&(queryKey="_k"),null==hashType&&(hashType="slash"),hashType in HashPathCoders||(hashType="slash");var pathCoder=HashPathCoders[hashType],getUserConfirmation=HashProtocol.getUserConfirmation,getCurrentLocation=function(){return HashProtocol.getCurrentLocation(pathCoder,queryKey)},pushLocation=function(location){return HashProtocol.pushLocation(location,pathCoder,queryKey)},replaceLocation=function(location){return HashProtocol.replaceLocation(location,pathCoder,queryKey)},history=(0,_createHistory2.default)(_extends({getUserConfirmation:getUserConfirmation},options,{getCurrentLocation:getCurrentLocation,pushLocation:pushLocation,replaceLocation:replaceLocation,go:HashProtocol.go})),listenerCount=0,stopListener=void 0,startListener=function(listener,before){1==++listenerCount&&(stopListener=HashProtocol.startListener(history.transitionTo,pathCoder,queryKey));var unlisten=before?history.listenBefore(listener):history.listen(listener);return function(){unlisten(),0==--listenerCount&&stopListener()}},listenBefore=function(listener){return startListener(listener,!0)},listen=function(listener){return startListener(listener,!1)};(0,_DOMUtils.supportsGoWithoutReloadUsingHash)();return _extends({},history,{listenBefore:listenBefore,listen:listen,go:function(n){history.go(n)},createHref:function(path){return"#"+pathCoder.encodePath(history.createHref(path))}})};exports.default=createHashHistory},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0,exports.replaceLocation=exports.pushLocation=exports.startListener=exports.getCurrentLocation=exports.go=exports.getUserConfirmation=void 0;var _BrowserProtocol=__webpack_require__(59);Object.defineProperty(exports,"getUserConfirmation",{enumerable:!0,get:function(){return _BrowserProtocol.getUserConfirmation}}),Object.defineProperty(exports,"go",{enumerable:!0,get:function(){return _BrowserProtocol.go}});var _warning=__webpack_require__(28),_LocationUtils=(function(obj){obj&&obj.__esModule}(_warning),__webpack_require__(36)),_DOMUtils=__webpack_require__(48),_DOMStateStorage=__webpack_require__(90),_PathUtils=__webpack_require__(30),getHashPath=function(){var href=window.location.href,hashIndex=href.indexOf("#");return-1===hashIndex?"":href.substring(hashIndex+1)},pushHashPath=function(path){return window.location.hash=path},replaceHashPath=function(path){var hashIndex=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,hashIndex>=0?hashIndex:0)+"#"+path)},getCurrentLocation=exports.getCurrentLocation=function(pathCoder,queryKey){var path=pathCoder.decodePath(getHashPath()),key=(0,_PathUtils.getQueryStringValueFromPath)(path,queryKey),state=void 0;key&&(path=(0,_PathUtils.stripQueryStringValueFromPath)(path,queryKey),state=(0,_DOMStateStorage.readState)(key));var init=(0,_PathUtils.parsePath)(path);return init.state=state,(0,_LocationUtils.createLocation)(init,void 0,key)},prevLocation=void 0,updateLocation=(exports.startListener=function(listener,pathCoder,queryKey){var handleHashChange=function(){var path=getHashPath(),encodedPath=pathCoder.encodePath(path);if(path!==encodedPath)replaceHashPath(encodedPath);else{var currentLocation=getCurrentLocation(pathCoder,queryKey);if(prevLocation&¤tLocation.key&&prevLocation.key===currentLocation.key)return;prevLocation=currentLocation,listener(currentLocation)}},path=getHashPath(),encodedPath=pathCoder.encodePath(path);return path!==encodedPath&&replaceHashPath(encodedPath),(0,_DOMUtils.addEventListener)(window,"hashchange",handleHashChange),function(){return(0,_DOMUtils.removeEventListener)(window,"hashchange",handleHashChange)}},function(location,pathCoder,queryKey,updateHash){var state=location.state,key=location.key,path=pathCoder.encodePath((0,_PathUtils.createPath)(location));void 0!==state&&(path=(0,_PathUtils.addQueryStringValueToPath)(path,queryKey,key),(0,_DOMStateStorage.saveState)(key,state)),prevLocation=location,updateHash(path)});exports.pushLocation=function(location,pathCoder,queryKey){return updateLocation(location,pathCoder,queryKey,function(path){getHashPath()!==path&&pushHashPath(path)})},exports.replaceLocation=function(location,pathCoder,queryKey){return updateLocation(location,pathCoder,queryKey,function(path){getHashPath()!==path&&replaceHashPath(path)})}},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _redux=__webpack_require__(2),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),_reducer=__webpack_require__(185),_reducer2=_interopRequireDefault(_reducer),_reducer3=__webpack_require__(186),_reducer4=_interopRequireDefault(_reducer3),_reducer5=__webpack_require__(187),_reducer6=_interopRequireDefault(_reducer5),_reducer7=__webpack_require__(188),_reducer8=_interopRequireDefault(_reducer7),_reducer9=__webpack_require__(189),_reducer10=_interopRequireDefault(_reducer9),_reducer11=__webpack_require__(190),_reducer12=_interopRequireDefault(_reducer11),_reducer13=__webpack_require__(191),_reducer14=_interopRequireDefault(_reducer13),_reducer15=__webpack_require__(192),_reducer16=_interopRequireDefault(_reducer15),_reducer17=__webpack_require__(193),_reducer18=_interopRequireDefault(_reducer17),_reduxThunk=__webpack_require__(194),_reduxThunk2=_interopRequireDefault(_reduxThunk),_middleware=__webpack_require__(195),_middleware2=_interopRequireDefault(_middleware),_middleware3=__webpack_require__(201),_middleware4=_interopRequireDefault(_middleware3),_middleware5=__webpack_require__(202),_middleware6=_interopRequireDefault(_middleware5),_middleware7=__webpack_require__(203),_middleware8=_interopRequireDefault(_middleware7),_middleware9=__webpack_require__(225),_middleware10=_interopRequireDefault(_middleware9),_middleware11=__webpack_require__(226),_middleware12=_interopRequireDefault(_middleware11),_middleware13=__webpack_require__(227),_middleware14=_interopRequireDefault(_middleware13),_middleware15=__webpack_require__(228),_middleware16=_interopRequireDefault(_middleware15),_middleware17=__webpack_require__(229),_middleware18=_interopRequireDefault(_middleware17),_middleware19=__webpack_require__(230),_middleware20=_interopRequireDefault(_middleware19),initialState={core:{outputs:[],queue:[],queue_metadata:{},current_track:null,albums:{},artists:{},playlists:{},users:{},tracks:{},http_streaming_enabled:!1,http_streaming_cachebuster:null,http_streaming_url:"http://"+window.location.hostname+":8000/mopidy"},ui:{theme:"dark",shortkeys_enabled:!0,disable_parallax:!1,allow_reporting:!0,slim_mode:!1,selected_tracks:[],notifications:{},processes:{}},mopidy:{connected:!1,host:window.location.hostname,port:window.location.port?window.location.port:"https:"===window.location.protocol?"443":"80",ssl:"https:"===window.location.protocol,mute:!1,volume:0,progress:0,play_state:null,uri_schemes:[],library_albums_uri:"local:directory?type=album",library_artists_uri:"local:directory?type=artist"},pusher:{connected:!1,username:null,connections:{},version:{current:"0.0.0"},config:{}},lastfm:{me:null,authorization_url:"https://jamesbarnsley.co.nz/iris/auth_lastfm.php"},genius:{me:null,authorization_url:"https://jamesbarnsley.co.nz/iris/auth_genius.php"},spotify:{me:null,autocomplete_results:{},authorization_url:"https://jamesbarnsley.co.nz/iris/auth_spotify.php"},google:{enabled:!1},snapcast:{streams:{},groups:{},clients:{},server:null,commands:{}}};initialState.core=Object.assign({},initialState.core,helpers.getStorage("core")),initialState.ui=Object.assign({},initialState.ui,helpers.getStorage("ui")),initialState.mopidy=Object.assign({},initialState.mopidy,helpers.getStorage("mopidy")),initialState.pusher=Object.assign({},initialState.pusher,helpers.getStorage("pusher")),initialState.spotify=Object.assign({},initialState.spotify,helpers.getStorage("spotify")),initialState.lastfm=Object.assign({},initialState.lastfm,helpers.getStorage("lastfm")),initialState.genius=Object.assign({},initialState.genius,helpers.getStorage("genius")),initialState.google=Object.assign({},initialState.google,helpers.getStorage("google")),initialState.snapcast=Object.assign({},initialState.snapcast,helpers.getStorage("snapcast"));var reducers=(0,_redux.combineReducers)({core:_reducer2.default,ui:_reducer4.default,pusher:_reducer6.default,mopidy:_reducer8.default,lastfm:_reducer10.default,genius:_reducer18.default,spotify:_reducer12.default,google:_reducer16.default,snapcast:_reducer14.default});exports.default=(0,_redux.createStore)(reducers,initialState,(0,_redux.applyMiddleware)(_reduxThunk2.default,_middleware20.default,_middleware2.default,_middleware4.default,_middleware8.default,_middleware6.default,_middleware14.default,_middleware10.default,_middleware12.default,_middleware16.default,_middleware18.default))},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var core=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"CORE_SET":return Object.assign({},core,action.data);case"CACHEBUST_HTTP_STREAM":return Object.assign({},core,{http_streaming_cachebuster:(new Date).getTime()});case"CURRENT_TRACK_LOADED":return Object.assign({},core,{current_track:action.track,current_track_uri:action.uri});case"CLEAR_CURRENT_TRACK":return Object.assign({},core,{current_track:null,current_track_uri:null});case"NEXT_TRACK_LOADED":return Object.assign({},core,{next_track_uri:action.uri});case"QUEUE_LOADED":return Object.assign({},core,{queue:action.tracks});case"PUSHER_QUEUE_METADATA":case"PUSHER_QUEUE_METADATA_CHANGED":for(var tracklist=Object.assign([],core.current_tracklist),i=0;i<tracklist.length;i++)void 0!==action.queue_metadata["tlid_"+tracklist[i].tlid]&&(tracklist[i]=Object.assign({},tracklist[i],action.queue_metadata["tlid_"+tracklist[i].tlid]));return Object.assign({},core,{current_tracklist:tracklist,queue_metadata:action.queue_metadata});case"PUSHER_RADIO_LOADED":case"PUSHER_RADIO_STARTED":case"PUSHER_RADIO_CHANGED":case"PUSHER_RADIO_STOPPED":return Object.assign({},core,{seeds_resolved:!1},{radio:action.radio});case"RADIO_SEEDS_RESOLVED":var radio=Object.assign({},core.radio,{resolved_seeds:action.resolved_seeds});return Object.assign({},core,{radio:radio});case"TRACKS_LOADED":var tracks=Object.assign({},core.tracks),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=action.tracks[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var track=_step.value;tracks[track.uri]=track}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}return Object.assign({},core,{tracks:tracks});case"ALBUMS_LOADED":var albums=Object.assign({},core.albums),_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=action.albums[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var album=_step2.value;albums[album.uri]=album}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}return Object.assign({},core,{albums:albums});case"ARTISTS_LOADED":var artists=Object.assign({},core.artists),_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=action.artists[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var artist=_step3.value;artists[artist.uri]=artist}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}return Object.assign({},core,{artists:artists});case"PLAYLISTS_LOADED":var playlists=Object.assign({},core.playlists),_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=action.playlists[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var playlist=_step4.value;playlists[playlist.uri]=playlist}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}return Object.assign({},core,{playlists:playlists});case"USERS_LOADED":var users=Object.assign({},core.users),_iteratorNormalCompletion5=!0,_didIteratorError5=!1,_iteratorError5=void 0;try{for(var _step5,_iterator5=action.users[Symbol.iterator]();!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=!0){var user=_step5.value;users[user.uri]=user}}catch(err){_didIteratorError5=!0,_iteratorError5=err}finally{try{!_iteratorNormalCompletion5&&_iterator5.return&&_iterator5.return()}finally{if(_didIteratorError5)throw _iteratorError5}}return Object.assign({},core,{users:users});case"ARTIST_ALBUMS_LOADED":var artists=Object.assign({},core.artists),albums_uris=[];artists[action.artist_uri].albums_uris&&(albums_uris=artists[action.artist_uri].albums_uris);var artist=Object.assign({},artists[action.artist_uri],{albums_uris:[].concat(_toConsumableArray(albums_uris),_toConsumableArray(action.albums_uris)),albums_more:action.more,albums_total:action.total});return artists[action.artist_uri]=artist,Object.assign({},core,{artists:artists});case"USER_PLAYLISTS_LOADED":var users=Object.assign({},core.users),existing_playlists_uris=[];users[action.uri]&&users[action.uri].playlists_uris&&(existing_playlists_uris=users[action.uri].playlists_uris);var playlists_uris=[].concat(_toConsumableArray(existing_playlists_uris),_toConsumableArray(helpers.arrayOf("uri",action.playlists))),user=Object.assign({},users[action.uri],{playlists_uris:playlists_uris,playlists_more:action.more,playlists_total:action.total});return users[action.uri]=user,Object.assign({},core,{users:users});case"PLAYLIST_TRACKS":var playlists=Object.assign({},core.playlists),playlist=Object.assign({},playlists[action.key],{tracks_uris:action.tracks_uris});return playlists[action.key]=playlist,Object.assign({},core,{playlists:playlists});case"LIBRARY_PLAYLISTS_LOADED":if(core.library_playlists)var library_playlists=[].concat(_toConsumableArray(core.library_playlists),_toConsumableArray(action.uris));else var library_playlists=action.uris;return library_playlists=helpers.removeDuplicates(library_playlists),Object.assign({},core,{library_playlists:library_playlists,library_playlists_started:!0});case"SPOTIFY_GENRES_LOADED":return Object.assign({},core,{genres:action.genres});case"SEARCH_STARTED":return Object.assign({},core,{search_results:{artists_uris:[],albums_uris:[],playlists_uris:[],tracks:[]}});case"SEARCH_RESULTS_LOADED":if(core.search_results&&core.search_results.artists_uris)var artists_uris=core.search_results.artists_uris;else var artists_uris=[];if(action.artists_uris&&(artists_uris=[].concat(_toConsumableArray(artists_uris),_toConsumableArray(action.artists_uris))),void 0!==action.artists_more)var artists_more=action.artists_more;else if(core.search_results&&core.search_results.artists_more)var artists_more=core.search_results.artists_more;else var artists_more=null;if(core.search_results&&core.search_results.albums_uris)var albums_uris=core.search_results.albums_uris;else var albums_uris=[];if(action.albums_uris&&(albums_uris=[].concat(_toConsumableArray(albums_uris),_toConsumableArray(action.albums_uris))),void 0!==action.albums_more)var albums_more=action.albums_more;else if(core.search_results&&core.search_results.albums_more)var albums_more=core.search_results.albums_more;else var albums_more=null;if(core.search_results&&core.search_results.playlists_uris)var playlists_uris=core.search_results.playlists_uris;else var playlists_uris=[];if(action.playlists_uris&&(playlists_uris=[].concat(_toConsumableArray(playlists_uris),_toConsumableArray(action.playlists_uris))),void 0!==action.playlists_more)var playlists_more=action.playlists_more;else if(core.search_results&&core.search_results.playlists_more)var playlists_more=core.search_results.playlists_more;else var playlists_more=null;if(core.search_results&&core.search_results.tracks)var tracks=core.search_results.tracks;else var tracks=[];if(action.tracks&&(tracks=[].concat(_toConsumableArray(tracks),_toConsumableArray(helpers.formatTracks(action.tracks)))),void 0!==action.tracks_more)var tracks_more=action.tracks_more;else if(core.search_results&&core.search_results.tracks_more)var tracks_more=core.search_results.tracks_more;else var tracks_more=null;return Object.assign({},core,{search_results:{artists_more:artists_more,artists_uris:helpers.removeDuplicates(artists_uris),albums_more:albums_more,albums_uris:helpers.removeDuplicates(albums_uris),playlists_more:playlists_more,playlists_uris:helpers.removeDuplicates(playlists_uris),tracks:tracks,tracks_more:tracks_more}});default:return core}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var ui=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"LAZY_LOADING":return Object.assign({},ui,{lazy_loading:action.start});case"SET_SLIM_MODE":return Object.assign({},ui,{slim_mode:action.slim_mode});case"DEBUG":return Object.assign({},ui,{debug_response:action.response});case"UI_SET":return Object.assign({},ui,action.data);case"SET_WINDOW_TITLE":return action.title?Object.assign({},ui,{window_title:action.title}):ui;case"TOGGLE_SIDEBAR":var new_state=!ui.sidebar_open;return void 0!==action.new_state&&(new_state=action.new_state),Object.assign({},ui,{sidebar_open:new_state});case"SET_SELECTED_TRACKS":return Object.assign({},ui,{selected_tracks:Object.assign([],action.keys)});case"ICON_LOADED":var icons=Object.assign({},ui.icons);return icons[action.key]=action.icon,Object.assign({},ui,{icons:icons});case"INSTALL_PROMPT":return Object.assign({},ui,{install_prompt:action.event});case"SHOW_CONTEXT_MENU":return Object.assign({},ui,{context_menu:action.data});case"HIDE_CONTEXT_MENU":return Object.assign({},ui,{context_menu:null});case"SHOW_TOUCH_CONTEXT_MENU":return Object.assign({},ui,{touch_context_menu:action.data});case"HIDE_TOUCH_CONTEXT_MENU":return Object.assign({},ui,{touch_context_menu:null});case"DRAG_START":return Object.assign({},ui,{dragger:{dragging:!0,active:!1,context:action.context,from_uri:action.from_uri,victims:action.victims,victims_indexes:action.victims_indexes,start_x:action.start_x,start_y:action.start_y}});case"DRAG_ACTIVE":var dragger=Object.assign({},ui.dragger,{active:!0});return Object.assign({},ui,{dragger:dragger});case"DRAG_END":return Object.assign({},ui,{dragger:!1});case"OPEN_MODAL":return Object.assign({},ui,{modal:action.modal});case"CLOSE_MODAL":return Object.assign({},ui,{modal:!1});case"CREATE_NOTIFICATION":var notifications=Object.assign({},ui.notifications);return notifications[action.notification.key]=action.notification,Object.assign({},ui,{notifications:notifications});case"CLOSE_NOTIFICATION":var notifications=Object.assign({},ui.notifications);return notifications[action.key]&&(notifications[action.key].closing=!0),Object.assign({},ui,{notifications:notifications});case"REMOVE_NOTIFICATION":var notifications=Object.assign({},ui.notifications);return delete notifications[action.key],Object.assign({},ui,{notifications:notifications});case"START_LOADING":var load_queue=Object.assign({},ui.load_queue?ui.load_queue:{});return load_queue[action.key]=action.source,Object.assign({},ui,{load_queue:load_queue});case"STOP_LOADING":var load_queue=Object.assign({},ui.load_queue?ui.load_queue:{});return load_queue[action.key]&&delete load_queue[action.key],Object.assign({},ui,{load_queue:load_queue});case"START_PROCESS":case"UPDATE_PROCESS":var processes=Object.assign({},ui.processes?ui.processes:[]);if(processes[action.key])var data=Object.assign({},processes[action.key].data,action.data);else var data=action.data;return processes[action.key]={key:action.key,message:action.message,status:"running",data:data},Object.assign({},ui,{processes:processes});case"RESUME_PROCESS":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"running"})),Object.assign({},ui,{processes:processes});case"CANCEL_PROCESS":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"cancelling"})),Object.assign({},ui,{processes:processes});case"PROCESS_CANCELLED":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"cancelled"})),Object.assign({},ui,{processes:processes});case"PROCESS_FINISHING":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{closing:!0})),Object.assign({},ui,{processes:processes});case"PROCESS_FINISHED":var processes=Object.assign({},ui.processes?ui.processes:{});return processes[action.key]&&(processes[action.key]=Object.assign({},processes[action.key],{status:"finished",closing:!1})),Object.assign({},ui,{processes:processes});default:return ui}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1);!function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);newObj.default=obj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var pusher=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"PUSHER_CONNECT":case"PUSHER_CONNECTING":return Object.assign({},pusher,{connected:!1,connecting:!0});case"PUSHER_CONNECTED":return Object.assign({},pusher,{connected:!0,connecting:!1,connection_id:action.connection_id,client_id:action.client_id,username:action.username});case"PUSHER_DISCONNECTED":return Object.assign({},pusher,{connected:!1,connecting:!1});case"PUSHER_SET_PORT":return Object.assign({},pusher,{port:action.port});case"PUSHER_USERNAME_CHANGED":return Object.assign({},pusher,{username:action.username});case"PUSHER_CONNECTIONS":for(var connections={},i=0;i<action.connections.length;i++)connections[action.connections[i].connection_id]=action.connections[i];return Object.assign({},pusher,{connections:connections});case"PUSHER_CONNECTION_ADDED":case"PUSHER_CONNECTION_CHANGED":var connections=Object.assign({},pusher.connections);return connections[action.connection.connection_id]=action.connection,Object.assign({},pusher,{connections:connections});case"PUSHER_CONNECTION_REMOVED":var connections=Object.assign({},pusher.connections);return delete connections[action.connection.connection_id],Object.assign({},pusher,{connections:connections});case"PUSHER_VERSION":return Object.assign({},pusher,{version:action.version,upgrading:!1});case"PUSHER_START_UPGRADE":return Object.assign({},pusher,{upgrading:!0});case"PUSHER_CONFIG":return Object.assign({},pusher,{config:action.config});case"PUSHER_COMMANDS_UPDATED":return Object.assign({},pusher,{commands:action.commands});default:return pusher}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var mopidy=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"MOPIDY_SET":return Object.assign({},mopidy,action.data);case"MOPIDY_CONNECT":case"MOPIDY_CONNECTING":return Object.assign({},mopidy,{connected:!1,connecting:!0});case"MOPIDY_CONNECTED":return Object.assign({},mopidy,{connected:!0,connecting:!1,restart_running:!1,upgrade_running:!1});case"MOPIDY_DISCONNECTED":return Object.assign({},mopidy,{connected:!1,connecting:!1});case"MOPIDY_CHANGE_TRACK":return Object.assign({},mopidy,{tlid:action.tlid});case"MOPIDY_URI_SCHEMES":return Object.assign({},mopidy,{uri_schemes:action.uri_schemes});case"MOPIDY_RESTART_STARTED":return Object.assign({},mopidy,{restart_running:!0});case"MOPIDY_RESTART_FINISHED":return Object.assign({},mopidy,{restart_running:!1});case"MOPIDY_UPGRADE_STARTED":return Object.assign({},mopidy,{upgrade_running:!0});case"MOPIDY_UPGRADE_FINISHED":return Object.assign({},mopidy,{upgrade_running:!1});case"MOPIDY_LOCAL_SCAN_STARTED":return Object.assign({},mopidy,{local_scan_running:!0});case"MOPIDY_LOCAL_SCAN_FINISHED":return Object.assign({},mopidy,{local_scan_running:!1});case"MOPIDY_PLAY_STATE":return Object.assign({},mopidy,{play_state:action.play_state});case"MOPIDY_CONSUME":return Object.assign({},mopidy,{consume:action.consume});case"MOPIDY_RANDOM":return Object.assign({},mopidy,{random:action.random});case"MOPIDY_REPEAT":return Object.assign({},mopidy,{repeat:action.repeat});case"MOPIDY_VOLUME":return Object.assign({},mopidy,{volume:action.volume});case"MOPIDY_MUTE":return Object.assign({},mopidy,{mute:action.mute});case"MOPIDY_TIME_POSITION":return Object.assign({},mopidy,{time_position:action.time_position});case"MOPIDY_QUEUE_HISTORY":for(var history=[],i=0;i<action.tracks.length;i++)history.push(Object.assign({},action.tracks[i][1],{played_at:action.tracks[i][0],type:"history"}));return Object.assign({},mopidy,{queue_history:history});case"MOPIDY_DIRECTORY_FLUSH":return Object.assign({},mopidy,{directory:null});case"MOPIDY_DIRECTORY_LOADED":return Object.assign({},mopidy,{directory:action.directory});case"MOPIDY_LIBRARY_PLAYLISTS_LOADED":if(mopidy.library_playlists)var uris=[].concat(_toConsumableArray(mopidy.library_playlists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},mopidy,{library_playlists:helpers.removeDuplicates(uris)});case"MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL":return Object.assign({},mopidy,{library_playlists_loaded_all:!0});case"MOPIDY_LIBRARY_PLAYLIST_CREATED":var library_playlists=[];return mopidy.library_playlists&&(library_playlists=Object.assign([],mopidy.library_playlists),library_playlists.push(action.key)),Object.assign({},mopidy,{library_playlists:library_playlists});case"MOPIDY_LIBRARY_PLAYLIST_DELETED":var library_playlists=[];return mopidy.library_playlists&&(library_playlists=Object.assign([],mopidy.library_playlists),library_playlists.splice(library_playlists.indexOf(action.uri),1)),Object.assign({},mopidy,{library_playlists:library_playlists});case"MOPIDY_LIBRARY_ARTISTS_LOADED":if(mopidy.library_artists)var uris=[].concat(_toConsumableArray(mopidy.library_artists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},mopidy,{library_artists:helpers.removeDuplicates(uris)});case"MOPIDY_CLEAR_LIBRARY_ARTISTS":return Object.assign({},mopidy,{library_artists:null});case"MOPIDY_LIBRARY_ALBUMS_LOADED":if(mopidy.library_albums)var uris=[].concat(_toConsumableArray(mopidy.library_albums),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},mopidy,{library_albums:helpers.removeDuplicates(uris)});case"MOPIDY_CLEAR_LIBRARY_ALBUMS":return Object.assign({},mopidy,{library_albums:null});case"MOPIDY_CLEAR_SEARCH_RESULTS":return Object.assign({},mopidy,{search_results:{}});case"MOPIDY_SEARCH_RESULTS_LOADED":if(mopidy.search_results)var search_results=Object.assign({},mopidy.search_results);else var search_results={};return search_results[action.context]?search_results[action.context]=[].concat(_toConsumableArray(search_results[action.context]),_toConsumableArray(action.results)):search_results[action.context]=action.results,Object.assign({},mopidy,{search_results:search_results});default:return mopidy}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var lastfm=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"LASTFM_CONNECT":case"LASTFM_CONNECTING":return Object.assign({},lastfm,{connected:!1,connecting:!0});case"LASTFM_CONNECTED":return Object.assign({},lastfm,{connected:!0,connecting:!1});case"LASTFM_SET":return Object.assign({},lastfm,action.data);case"LASTFM_ME_LOADED":return Object.assign({},lastfm,{me:action.me});case"LASTFM_AUTHORIZATION_GRANTED":return Object.assign({},lastfm,{authorizing:!1,authorization:action.data.session});case"LASTFM_AUTHORIZATION_REVOKED":return Object.assign({},lastfm,{authorizing:!1,authorization:!1,me:null});case"LASTFM_IMPORT_AUTHORIZATION":return Object.assign({},lastfm,{authorizing:!1,authorization:action.authorization,me:null});default:return lastfm}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var spotify=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"SPOTIFY_SET":return Object.assign({},spotify,action.data);case"PUSHER_SPOTIFY_TOKEN":return spotify.authorization?spotify:Object.assign({},spotify,{authorizing:!1,authorization:!1,access_token:action.data.access_token,token_expiry:action.data.token_expiry});case"SPOTIFY_AUTHORIZATION_GRANTED":return Object.assign({},spotify,{enabled:!0,authorizing:!1,authorization:action.data,access_token:action.data.access_token,refresh_token:action.data.refresh_token,token_expiry:action.data.token_expiry});case"SPOTIFY_AUTHORIZATION_REVOKED":return Object.assign({},spotify,{authorizing:!1,authorization:!1,access_token:!1,refresh_token:!1,token_expiry:0,me:!1});case"SPOTIFY_IMPORT_AUTHORIZATION":return Object.assign({},spotify,{authorizing:!1,authorization:action.authorization,access_token:action.authorization.access_token,refresh_token:action.authorization.refresh_token,token_expiry:action.authorization.token_expiry,me:action.me});case"SPOTIFY_TOKEN_REFRESHING":return Object.assign({},spotify,{refreshing_token:!0});case"SPOTIFY_TOKEN_REFRESHED":return Object.assign({},spotify,{refreshing_token:!1,access_token:action.data.access_token,token_expiry:action.data.token_expiry});case"SPOTIFY_TOKEN_CHANGED":return Object.assign({},spotify,{access_token:action.spotify_token.access_token,token_expiry:action.spotify_token.token_expiry});case"SPOTIFY_ME_LOADED":return Object.assign({},spotify,{me:action.me});case"SPOTIFY_FEATURED_PLAYLISTS_LOADED":return Object.assign({},spotify,{featured_playlists:action.data});case"SPOTIFY_NEW_RELEASES_LOADED":var new_releases=[];return spotify.new_releases&&(new_releases=Object.assign([],spotify.new_releases)),Object.assign({},spotify,{new_releases:helpers.removeDuplicates([].concat(_toConsumableArray(new_releases),_toConsumableArray(action.uris))),new_releases_more:action.more,new_releases_total:action.total});case"SPOTIFY_DISCOVER_LOADED":return action.data?Object.assign({},spotify,{discover:[].concat(_toConsumableArray(spotify.discover),[action.data])}):Object.assign({},spotify,{discover:[]});case"CLEAR_SPOTIFY_RECOMMENDATIONS":return Object.assign({},spotify,{recommendations:{artists_uris:[],albums_uris:[],tracks_uris:[]}});case"SPOTIFY_RECOMMENDATIONS_LOADED":return Object.assign({},spotify,{recommendations:{artists_uris:action.artists_uris,albums_uris:action.albums_uris,tracks_uris:action.tracks_uris}});case"SPOTIFY_FAVORITES_LOADED":return Object.assign({},spotify,{favorite_artists:action.artists_uris,favorite_tracks:action.tracks_uris});case"SPOTIFY_AUTOCOMPLETE_LOADING":var autocomplete_results=spotify.autocomplete_results;return autocomplete_results[action.field_id]={loading:!0},Object.assign({},spotify,{autocomplete_results:autocomplete_results});case"SPOTIFY_AUTOCOMPLETE_LOADED":var autocomplete_results=spotify.autocomplete_results;return autocomplete_results[action.field_id]=action.results,autocomplete_results[action.field_id].loading=!1,Object.assign({},spotify,{autocomplete_results:autocomplete_results});case"SPOTIFY_AUTOCOMPLETE_CLEAR":var autocomplete_results=spotify.autocomplete_results;return void 0!==autocomplete_results[action.field_id]&&delete autocomplete_results[action.field_id],Object.assign({},spotify,{autocomplete_results:autocomplete_results});case"SPOTIFY_GENRES_LOADED":return Object.assign({},spotify,{genres:action.genres});case"SPOTIFY_CATEGORIES_LOADED":var categories=Object.assign({},spotify.categories),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=action.categories[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var category=_step.value;categories[category.uri]=category}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}return Object.assign({},spotify,{categories:categories});case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED":var categories=Object.assign({},spotify.categories),playlists_uris=[];categories[action.uri].playlists_uris&&(playlists_uris=categories[action.uri].playlists_uris);var category=Object.assign({},categories[action.uri],{playlists_uris:[].concat(_toConsumableArray(playlists_uris),_toConsumableArray(action.uris)),playlists_more:action.more,playlists_total:action.total});return categories[action.uri]=category,Object.assign({},spotify,{categories:categories});case"SPOTIFY_FLUSH_LIBRARY":return Object.assign({},spotify,{library_playlists:null,library_playlists_loaded_all:null,library_playlists_status:null,library_albums:null,library_albums_status:null,library_albums_loaded_all:null,library_artists:null,library_artists_status:null,library_artists_loaded_all:null,library_tracks:null,library_tracks_status:null,library_tracks_loaded_all:null});case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED":if(spotify.library_playlists)var uris=[].concat(_toConsumableArray(spotify.library_playlists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},spotify,{library_playlists:helpers.removeDuplicates(uris)});case"SPOTIFY_LIBRARY_ARTISTS_LOADED":if(spotify.library_artists)var uris=[].concat(_toConsumableArray(spotify.library_artists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},spotify,{library_artists:helpers.removeDuplicates(uris)});case"SPOTIFY_LIBRARY_ALBUMS_LOADED":if(spotify.library_albums)var uris=[].concat(_toConsumableArray(spotify.library_albums),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},spotify,{library_albums:helpers.removeDuplicates(uris)});case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":var tracks=action.data.items,uris=[];return tracks&&(tracks=helpers.formatTracks(tracks),uris=helpers.arrayOf("uri",tracks),spotify.library_tracks&&(uris=[].concat(_toConsumableArray(spotify.library_tracks),_toConsumableArray(uris)))),Object.assign({},spotify,{library_tracks:helpers.removeDuplicates(uris),library_tracks_more:action.data.next});case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED_ALL":return Object.assign({},spotify,{library_playlists_loaded_all:!0});case"SPOTIFY_LIBRARY_PLAYLISTS_CLEAR":return Object.assign({},spotify,{library_playlists:[]});case"SPOTIFY_LIBRARY_ARTISTS_CLEAR":return Object.assign({},spotify,{library_artists:[]});case"SPOTIFY_LIBRARY_ALBUMS_CLEAR":return Object.assign({},spotify,{library_albums:[]});case"SPOTIFY_LIBRARY_ALBUM_CHECK":var items=Object.assign([],spotify.library_albums),index=items.indexOf(action.key);return index>-1&&!action.in_library?items.splice(index,1):index<0&&action.in_library&&items.push(action.key),Object.assign({},spotify,{library_albums:items});case"SPOTIFY_LIBRARY_ARTIST_CHECK":var items=Object.assign([],spotify.library_artists),index=items.indexOf(action.key);return index>-1&&!action.in_library?items.splice(index,1):index<0&&action.in_library&&items.push(action.key),Object.assign({},spotify,{library_artists:items});case"SPOTIFY_LIBRARY_PLAYLIST_CHECK":var items=Object.assign([],spotify.library_playlists),index=items.indexOf(action.key);return index>-1&&!action.in_library?items.splice(index,1):index<0&&action.in_library&&items.push(action.key),Object.assign({},spotify,{library_playlists:items});case"SPOTIFY_CLEAR_SEARCH_RESULTS":return Object.assign({},spotify,{search_results:{}});case"SPOTIFY_SEARCH_RESULTS_LOADED":if(spotify.search_results)var search_results=Object.assign({},spotify.search_results);else var search_results={};return search_results.results?search_results[action.context]=[].concat(_toConsumableArray(search_results[action.context]),_toConsumableArray(action.results)):search_results[action.context]=action.results,action.more?search_results[action.context+"_more"]=action.more:search_results[action.context+"_more"]=null,Object.assign({},spotify,{search_results:search_results});default:return spotify}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var snapcast=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"SNAPCAST_SERVER_LOADED":var server=Object.assign({},action.server);return Object.assign({},snapcast,{server:server});case"SNAPCAST_CLIENTS_LOADED":if(action.flush)var clients={};else var clients=Object.assign({},snapcast.clients);var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=action.clients[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var client=_step.value;clients[client.id]=client}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}return Object.assign({},snapcast,{clients:clients});case"SNAPCAST_GROUPS_LOADED":if(action.flush)var groups={};else var groups=Object.assign({},snapcast.groups);var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=action.groups[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var group=_step2.value;groups[group.id]=group}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}return Object.assign({},snapcast,{groups:groups});case"SNAPCAST_STREAMS_LOADED":if(action.flush)var streams={};else var streams=Object.assign({},snapcast.streams);var _iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=action.streams[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var stream=_step3.value;streams[stream.id]=stream}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}return Object.assign({},snapcast,{streams:streams});default:return snapcast}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function reducer(){var google=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"GOOGLE_SET":return Object.assign({},google,action.data);case"GOOGLE_LIBRARY_ARTISTS_LOADED":if(google.library_artists)var uris=[].concat(_toConsumableArray(google.library_artists),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},google,{library_artists:helpers.removeDuplicates(uris)});case"GOOGLE_CLEAR_LIBRARY_ARTISTS":return Object.assign({},google,{library_artists:null});case"GOOGLE_LIBRARY_ALBUMS_LOADED":if(google.library_albums)var uris=[].concat(_toConsumableArray(google.library_albums),_toConsumableArray(action.uris));else var uris=action.uris;return Object.assign({},google,{library_albums:helpers.removeDuplicates(uris)});case"GOOGLE_CLEAR_LIBRARY_ALBUMS":return Object.assign({},google,{library_albums:null});default:return google}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer;var _helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers)},function(module,exports,__webpack_require__){"use strict";function reducer(){var genius=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action=arguments[1];switch(action.type){case"GENIUS_SET":return Object.assign({},genius,action.data);case"GENIUS_ME_LOADED":return Object.assign({},genius,{me:action.me});case"GENIUS_AUTHORIZATION_GRANTED":return Object.assign({},genius,{authorizing:!1,authorization:action.data,authorization_code:action.data.authorization_code,access_token:action.data.access_token});case"GENIUS_AUTHORIZATION_REVOKED":return Object.assign({},genius,{authorizing:!1,authorization:null,authorization_code:null,access_token:null,me:null});case"GENIUS_IMPORT_AUTHORIZATION":return Object.assign({},genius,{authorizing:!1,authorization:action.authorization,authorization_code:action.authorization.authorization_code,access_token:action.authorization.access_token,me:null});default:return genius}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer},function(module,exports,__webpack_require__){"use strict";function createThunkMiddleware(extraArgument){return function(_ref){var dispatch=_ref.dispatch,getState=_ref.getState;return function(next){return function(action){return"function"==typeof action?action(dispatch,getState,extraArgument):next(action)}}}}exports.__esModule=!0;var thunk=createThunkMiddleware();thunk.withExtraArgument=createThunkMiddleware,exports.default=thunk},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(14),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),coreActions=__webpack_require__(10),uiActions=__webpack_require__(3),mopidyActions=(__webpack_require__(13),__webpack_require__(6)),spotifyActions=__webpack_require__(7),helpers=(__webpack_require__(20),__webpack_require__(1)),CoreMiddleware=function(){return function(store){return function(next){return function(action){var core=store.getState().core;switch(action.type){case"HANDLE_EXCEPTION":var message=action.message;if(action.description)var description=action.description;else if(action.data.xhr&&action.data.xhr.responseText){var xhr_response=JSON.parse(action.data.xhr.responseText);if(xhr_response.error&&xhr_response.error.message)var description=xhr_response.error.message}else if(action.data.xhr)var description=action.data.xhr.status+" "+action.data.xhr.statusText;else var description=null;var state=store.getState(),exported_state={core:Object.assign({},state.core),ui:Object.assign({},state.ui),spotify:Object.assign({},state.spotify),mopidy:Object.assign({},state.mopidy),pusher:Object.assign({},state.pusher)};delete exported_state.core.albums,delete exported_state.core.artists,delete exported_state.core.playlists,delete exported_state.core.users,delete exported_state.core.queue_metadata,delete exported_state.core.current_tracklist,delete exported_state.spotify.library_albums,delete exported_state.spotify.library_artists,delete exported_state.spotify.library_playlists,delete exported_state.spotify.autocomplete_results,delete exported_state.mopidy.library_albums,delete exported_state.mopidy.library_artists,delete exported_state.mopidy.library_playlists;var data=Object.assign({},action.data,{message:message,description:description,state:exported_state});store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Error",action:message,label:description,nonInteraction:!0}),action.show_notification&&store.dispatch(uiActions.createNotification({content:message,type:"bad",description:description})),console.error(message,description,data);break;case"PLAY_PLAYLIST":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Play",label:action.uri}),next(action);break;case"SAVE_PLAYLIST":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Save",label:action.key}),next(action);break;case"CREATE_PLAYLIST":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Create",label:+action.name}),next(action);break;case"REORDER_PLAYLIST_TRACKS":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Reorder tracks",label:action.key}),next(action);break;case"ADD_PLAYLIST_TRACKS":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Add tracks",label:action.playlist_uri}),next(action);break;case"REMOVE_PLAYLIST_TRACKS":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Remove tracks",label:action.playlist_uri}),next(action);break;case"DELETE_PLAYLIST":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Delete",label:action.uri}),next(action);break;case"SEARCH_STARTED":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Search",action:"Started",label:action.type+": "+action.query}),next(action);var state=store.getState();if(state.ui.search_uri_schemes)var uri_schemes=state.ui.search_uri_schemes;else var uri_schemes=state.mopidy.uri_schemes;for(var available_full_uri_schemes=["local:","file:","gmusic:"],full_uri_schemes=[],i=0;i<available_full_uri_schemes.length;i++){uri_schemes.indexOf(available_full_uri_schemes[i])>-1&&full_uri_schemes.push(available_full_uri_schemes[i])}action.only_mopidy||state.ui.search_settings&&!state.ui.search_settings.spotify||store.dispatch(spotifyActions.getSearchResults(action.query)),state.mopidy.connected&&store.dispatch(mopidyActions.getSearchResults(action.search_type,action.query,100,full_uri_schemes));break;case"PLAYLIST_TRACKS_ADDED":switch(store.dispatch(uiActions.createNotification({type:"info",content:"Added "+action.tracks_uris.length+" tracks to playlist"})),helpers.uriSource(action.key)){case"spotify":store.dispatch(spotifyActions.getPlaylist(action.key));break;case"m3u":store.getState().mopidy.connected&&store.dispatch(mopidyActions.getPlaylist(action.key))}next(action);break;case"GET_LIBRARY_PLAYLISTS":store.getState().spotify.connected&&store.dispatch(spotifyActions.getLibraryPlaylists()),store.getState().mopidy.connected&&store.dispatch(mopidyActions.getLibraryPlaylists()),next(action);break;case"GET_LIBRARY_ALBUMS":store.getState().spotify.connected&&store.dispatch(spotifyActions.getLibraryAlbums()),store.getState().mopidy.connected&&store.dispatch(mopidyActions.getLibraryAlbums()),next(action);break;case"GET_LIBRARY_ARTISTS":store.getState().spotify.connected&&store.dispatch(spotifyActions.getLibraryArtists()),store.getState().mopidy.connected&&store.dispatch(mopidyActions.getLibraryArtists()),next(action);break;case"RESTART":location.reload();break;case"PLAYLIST_KEY_UPDATED":var playlists=Object.assign({},core.playlists);void 0===playlists[action.key]&&dispatch(coreActions.handleException("Cannot change key of playlist not in index"));var playlist=Object.assign({},playlists[action.key]);delete playlists[action.key],playlists[action.new_key]=playlist,store.dispatch({type:"UPDATE_PLAYLISTS_INDEX",playlists:playlists});break;case"PLAYLIST_TRACKS":var tracks=helpers.formatTracks(action.tracks);action.tracks_uris=helpers.arrayOf("uri",tracks),store.dispatch({type:"TRACKS_LOADED",tracks:tracks}),next(action);break;case"PLAYLIST_TRACKS_REORDERED":var playlists=Object.assign({},core.playlists),playlist=Object.assign({},playlists[action.key]),tracks_uris=Object.assign([],playlist.tracks_uris),insert_before=action.insert_before;insert_before>action.range_start&&(insert_before-=action.range_length);var tracks_to_move=tracks_uris.splice(action.range_start,action.range_length);for(tracks_to_move.reverse(),i=0;i<tracks_to_move.length;i++)tracks_uris.splice(insert_before,0,tracks_to_move[i]);var snapshot_id=null;action.snapshot_id&&(snapshot_id=action.snapshot_id),playlist.tracks_uris=tracks_uris,playlist.snapshot_id=snapshot_id,store.dispatch({type:"PLAYLISTS_LOADED",playlists:[playlist]});break;case"PLAYLIST_TRACKS_REMOVED":for(var playlists=Object.assign({},core.playlists),playlist=Object.assign({},playlists[action.key]),tracks_uris=Object.assign([],playlist.tracks_uris),indexes=action.tracks_indexes.reverse(),i=0;i<indexes.length;i++)tracks_uris.splice(indexes[i],1);var snapshot_id=null;action.snapshot_id&&(snapshot_id=action.snapshot_id),playlist.tracks_uris=tracks_uris,playlist.snapshot_id=snapshot_id,store.dispatch({type:"PLAYLISTS_LOADED",playlists:[playlist]});break;case"LOAD_TRACK":if(!action.force_reload&&store.getState().core.tracks[action.uri])break;switch(helpers.uriSource(action.uri)){case"spotify":store.dispatch(spotifyActions.getTrack(action.uri)),store.getState().spotify.me&&store.dispatch(spotifyActions.following(action.uri));break;default:store.getState().mopidy.connected&&store.dispatch(mopidyActions.getTrack(action.uri))}next(action);break;case"LOAD_ALBUM":if(!action.force_reload&&store.getState().core.albums[action.uri]&&store.getState().core.albums[action.uri].tracks_uris)break;switch(helpers.uriSource(action.uri)){case"spotify":store.dispatch(spotifyActions.getAlbum(action.uri)),store.getState().spotify.me&&store.dispatch(spotifyActions.following(action.uri));break;default:store.getState().mopidy.connected&&store.dispatch(mopidyActions.getAlbum(action.uri))}next(action);break;case"LOAD_ARTIST":if(!action.force_reload&&store.getState().core.artists[action.uri]&&store.getState().core.artists[action.uri].albums_uris&&store.getState().core.artists[action.uri].tracks_uris)break;switch(helpers.uriSource(action.uri)){case"spotify":store.dispatch(spotifyActions.getArtist(action.uri,!0)),store.getState().spotify.me&&store.dispatch(spotifyActions.following(action.uri));break;default:store.getState().mopidy.connected&&store.dispatch(mopidyActions.getArtist(action.uri))}next(action);break;case"LOAD_PLAYLIST":if(!action.force_reload&&store.getState().core.playlists[action.uri]&&store.getState().core.playlists[action.uri].tracks_uris)break;switch(helpers.uriSource(action.uri)){case"spotify":store.dispatch(spotifyActions.getPlaylist(action.uri)),store.getState().spotify.me&&store.dispatch(spotifyActions.following(action.uri));break;default:store.getState().mopidy.connected&&store.dispatch(mopidyActions.getPlaylist(action.uri))}next(action);break;case"LOAD_USER":if(!action.force_reload&&store.getState().core.users[action.uri]&&store.getState().core.users[action.uri].playlists_uris)break;switch(helpers.uriSource(action.uri)){case"spotify":store.dispatch(spotifyActions.getUser(action.uri)),store.getState().spotify.me&&store.dispatch(spotifyActions.following(action.uri))}next(action);break;case"LOAD_USER_PLAYLISTS":if(!action.force_reload&&store.getState().core.users[action.uri]&&store.getState().core.users[action.uri].playlists_uris)break;switch(helpers.uriSource(action.uri)){case"spotify":store.dispatch(spotifyActions.getUserPlaylists(action.uri))}next(action);break;case"CURRENT_TRACK_LOADED":store.dispatch(coreActions.trackLoaded(action.track)),action.track=helpers.formatTrack(action.track),next(action);break;case"QUEUE_LOADED":store.dispatch(coreActions.tracksLoaded(action.tracks)),action.tracks=helpers.formatTracks(action.tracks),next(action);break;case"TRACKS_LOADED":var tracks_index=Object.assign({},core.tracks),artists_index=core.artists,albums_index=core.albums,tracks_loaded=[],artists_loaded=[],albums_loaded=[],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=action.tracks[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var raw_track=_step.value,track=helpers.formatTrack(raw_track);if(void 0!==tracks_index[track.uri]&&(track=Object.assign({},tracks_index[track.uri],track)),raw_track.album&&(track.album=helpers.formatSimpleObject(raw_track.album),albums_index[raw_track.album.uri]||albums_loaded.push(raw_track.album)),raw_track.artists&&raw_track.artists.length>0){track.artists=[];var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=raw_track.artists[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var artist=_step2.value;track.artists.push(helpers.formatSimpleObject(artist)),artists_index[artist.uri]||artists_loaded.push(artist)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}}tracks_loaded.push(track)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}action.tracks=tracks_loaded,artists_loaded.length>0&&store.dispatch(coreActions.artistsLoaded(artists_loaded)),albums_loaded.length>0&&store.dispatch(coreActions.albumsLoaded(albums_loaded)),next(action);break;case"ALBUMS_LOADED":var albums_index=Object.assign({},core.albums),albums_loaded=[],artists_loaded=[],tracks_loaded=[],_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=action.albums[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var raw_album=_step3.value,album=helpers.formatAlbum(raw_album);if(albums_index[album.uri]&&(album=Object.assign({},albums_index[album.uri],album)),raw_album.tracks){album.tracks_uris=[];var _iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=raw_album.tracks[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var track=_step4.value;track.album||(track.album=helpers.formatSimpleObject(album)),album.tracks_uris.push(track.uri),tracks_loaded.push(track)}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}}raw_album.artists&&(album.artists_uris=helpers.arrayOf("uri",raw_album.artists),artists_loaded=[].concat(_toConsumableArray(artists_loaded),_toConsumableArray(raw_album.artists))),albums_loaded.push(album)}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}action.albums=albums_loaded,artists_loaded.length>0&&store.dispatch(coreActions.artistsLoaded(artists_loaded)),tracks_loaded.length>0&&store.dispatch(coreActions.tracksLoaded(tracks_loaded)),next(action);break;case"ARTISTS_LOADED":var artists_index=Object.assign({},core.artists),artists_loaded=[],tracks_loaded=[],_iteratorNormalCompletion5=!0,_didIteratorError5=!1,_iteratorError5=void 0;try{for(var _step5,_iterator5=action.artists[Symbol.iterator]();!(_iteratorNormalCompletion5=(_step5=_iterator5.next()).done);_iteratorNormalCompletion5=!0){var raw_artist=_step5.value,artist=helpers.formatArtist(raw_artist);if(artists_index[artist.uri]){if(artists_index[artist.uri].images&&artist.images){var existing_images=artists_index[artist.uri].images,are_new_images=!0,_iteratorNormalCompletion6=!0,_didIteratorError6=!1,_iteratorError6=void 0;try{for(var _step6,_iterator6=existing_images[Symbol.iterator]();!(_iteratorNormalCompletion6=(_step6=_iterator6.next()).done);_iteratorNormalCompletion6=!0){_step6.value.huge==artist.images[0].huge&&(are_new_images=!1)}}catch(err){_didIteratorError6=!0,_iteratorError6=err}finally{try{!_iteratorNormalCompletion6&&_iterator6.return&&_iterator6.return()}finally{if(_didIteratorError6)throw _iteratorError6}}are_new_images&&(artist.images=Object.assign([],[].concat(_toConsumableArray(existing_images),_toConsumableArray(artist.images))))}artist=Object.assign({},artists_index[artist.uri],artist)}if(raw_artist.tracks){var tracks=helpers.formatTracks(raw_artist.tracks),tracks_uris=helpers.arrayOf("uri",tracks);artist.tracks_uris=tracks_uris,tracks_loaded=[].concat(_toConsumableArray(tracks_loaded),_toConsumableArray(tracks))}artists_loaded.push(artist)}}catch(err){_didIteratorError5=!0,_iteratorError5=err}finally{try{!_iteratorNormalCompletion5&&_iterator5.return&&_iterator5.return()}finally{if(_didIteratorError5)throw _iteratorError5}}action.artists=artists_loaded,tracks_loaded.length>0&&store.dispatch(coreActions.tracksLoaded(tracks_loaded)),next(action);break;case"PLAYLISTS_LOADED":var playlists_index=Object.assign({},core.playlists),playlists_loaded=[],tracks_loaded=[],_iteratorNormalCompletion7=!0,_didIteratorError7=!1,_iteratorError7=void 0;try{for(var _step7,_iterator7=action.playlists[Symbol.iterator]();!(_iteratorNormalCompletion7=(_step7=_iterator7.next()).done);_iteratorNormalCompletion7=!0){var playlist=_step7.value;switch(playlist=helpers.formatPlaylist(playlist),helpers.uriSource(playlist.uri)){case"m3u":playlist.can_edit=!0;break;case"spotify":store.getState().spotify.authorization&&store.getState().spotify.me&&(playlist.can_edit=playlist.owner.id==store.getState().spotify.me.id)}if(playlists_index[playlist.uri]&&(playlist=Object.assign({},playlists_index[playlist.uri],playlist)),playlist.tracks){var tracks=helpers.formatTracks(playlist.tracks),tracks_uris=helpers.arrayOf("uri",tracks);playlist.tracks_uris=tracks_uris,delete playlist.tracks,tracks_loaded=[].concat(_toConsumableArray(tracks_loaded),_toConsumableArray(tracks))}playlists_loaded.push(playlist)}}catch(err){_didIteratorError7=!0,_iteratorError7=err}finally{try{!_iteratorNormalCompletion7&&_iterator7.return&&_iterator7.return()}finally{if(_didIteratorError7)throw _iteratorError7}}action.playlists=playlists_loaded,tracks_loaded.length>0&&store.dispatch(coreActions.tracksLoaded(tracks_loaded)),next(action);break;case"USERS_LOADED":var users_index=Object.assign({},core.users),users_loaded=[],_iteratorNormalCompletion8=!0,_didIteratorError8=!1,_iteratorError8=void 0;try{for(var _step8,_iterator8=action.users[Symbol.iterator]();!(_iteratorNormalCompletion8=(_step8=_iterator8.next()).done);_iteratorNormalCompletion8=!0){var user=_step8.value;user=helpers.formatUser(user),users_index[user.uri]&&(user=Object.assign({},users_index[user.uri],user)),users_loaded.push(user)}}catch(err){_didIteratorError8=!0,_iteratorError8=err}finally{try{!_iteratorNormalCompletion8&&_iterator8.return&&_iterator8.return()}finally{if(_didIteratorError8)throw _iteratorError8}}action.users=users_loaded,next(action);break;case"USER_PLAYLISTS_LOADED":store.dispatch(coreActions.playlistsLoaded(action.playlists)),next(action);break;case"LOADED_MORE":var parent_type_plural=action.parent_type+"s",parent_index=Object.assign({},core[action.parent_type+"s"]),parent=Object.assign({},parent_index[action.parent_key]);if(void 0!==action.records_data.items)var records=action.records_data.items;else if(void 0!==action.records_data.tracks)var records=action.records_data.tracks;else if(void 0!==action.records_data.artists)var records=action.records_data.artists;else if(void 0!==action.records_data.albums)var records=action.records_data.albums;else if(void 0!==action.records_data.playlists)var records=action.records_data.playlists;else var records=action.records_data;"track"==action.records_type&&(records=helpers.formatTracks(records));var records_type_plural=action.records_type+"s",records_uris=helpers.arrayOf("uri",records);"playlist"==action.records_type&&(records_uris=helpers.upgradeSpotifyPlaylistUris(records_uris));var uris=records_uris;void 0!==parent[records_type_plural+"_uris"]&&(uris=[].concat(_toConsumableArray(parent[records_type_plural+"_uris"]),_toConsumableArray(uris))),parent[records_type_plural+"_uris"]=uris,void 0!==action.records_data.next&&(parent[records_type_plural+"_more"]=action.records_data.next);var parent_action={type:parent_type_plural.toUpperCase()+"_LOADED"};parent_action[parent_type_plural]=[parent],store.dispatch(parent_action);var records_action={type:records_type_plural.toUpperCase()+"_LOADED"};records_action[records_type_plural]=records,store.dispatch(records_action),next(action);break;default:return next(action)}}}}}();exports.default=CoreMiddleware},function(module,exports,__webpack_require__){module.exports=__webpack_require__(197)()},function(module,exports,__webpack_require__){"use strict";var emptyFunction=__webpack_require__(198),invariant=__webpack_require__(199),ReactPropTypesSecret=__webpack_require__(200);module.exports=function(){function shim(props,propName,componentName,location,propFullName,secret){secret!==ReactPropTypesSecret&&invariant(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function getShim(){return shim}shim.isRequired=shim;var ReactPropTypes={array:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim};return ReactPropTypes.checkPropTypes=emptyFunction,ReactPropTypes.PropTypes=ReactPropTypes,ReactPropTypes}},function(module,exports,__webpack_require__){"use strict";function makeEmptyFunction(arg){return function(){return arg}}var emptyFunction=function(){};emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction},function(module,exports,__webpack_require__){"use strict";function invariant(condition,format,a,b,c,d,e,f){if(validateFormat(format),!condition){var error;if(void 0===format)error=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var args=[a,b,c,d,e,f],argIndex=0;error=new Error(format.replace(/%s/g,function(){return args[argIndex++]})),error.name="Invariant Violation"}throw error.framesToPop=1,error}}var validateFormat=function(format){};module.exports=invariant},function(module,exports,__webpack_require__){"use strict";module.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(module,exports,__webpack_require__){"use strict";(function($){Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_reactGa=__webpack_require__(14),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),uiActions=__webpack_require__(3),UIMiddleware=(__webpack_require__(6),__webpack_require__(1),function(){return function(store){return function(next){return function(action){switch(action.type){case"MOPIDY_STATE":var tracks=store.getState().core.tracks,current_track_uri=store.getState().core.current_track;void 0!==tracks[current_track_uri]&&tracks[current_track_uri],next(action);break;case"SET_WINDOW_TITLE":var window_title="";if(action.play_state)var play_state=action.play_state;else var play_state=store.getState().mopidy.play_state;if(window_title="playing"==play_state?"▶":"■",action.title)var title=action.title;else var title=store.getState().ui.window_title;document.title=window_title+" "+title,next(action);break;case"OPEN_MODAL":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Modal",action:"Opened",label:action.modal.name}),$("body").addClass("modal-open"),store.dispatch(uiActions.hideContextMenu()),store.dispatch(uiActions.hideTouchContextMenu()),next(action);break;case"CLOSE_MODAL":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Modal",action:"Closed",label:null}),$("body").removeClass("modal-open"),next(action);break;case"BROWSER_NOTIFICATION":var notification=window.Notification||window.mozNotification||window.webkitNotification;if(void 0===notification)return!1;void 0!==notification&¬ification.requestPermission(function(permission){});var data={};_typeof(action.data)&&(data=action.data),_typeof(data.data)&&(data=Object.assign({},data,data.data));var title="",options={body:"",dir:"auto",lang:"EN",tag:"iris"};data.title&&(title=data.title),data.body&&(options.body=data.body),data.icon&&(options.icon=data.icon);var notification=new notification(title,options);break;case"CREATE_NOTIFICATION":if(!action.notification.sticky){setTimeout(function(){store.dispatch(uiActions.closeNotification(action.notification.key))},1e3*action.notification.duration)}next(action);break;case"CLOSE_NOTIFICATION":var notifications=Object.assign({},store.getState().ui.notifications);setTimeout(function(){store.dispatch(uiActions.removeNotification(action.key))},200);next(action);break;case"REMOVE_NOTIFICATION":if(action.manual){var notifications=Object.assign({},store.getState().ui.notifications);notifications[action.key]&&"broadcast"==notifications[action.key].type&&store.dispatch({type:"SUPPRESS_BROADCAST",key:action.key})}next(action);break;case"BROADCASTS_LOADED":var suppressed_broadcasts=[];void 0!==store.getState().ui.suppressed_broadcasts&&(suppressed_broadcasts=store.getState().ui.suppressed_broadcasts);for(var i=0;i<action.broadcasts.length;i++){var broadcast=action.broadcasts[i];if(!suppressed_broadcasts.includes(broadcast.key)&&broadcast.message){var data={key:broadcast.key?broadcast.key:null,title:broadcast.title?broadcast.title:null,content:broadcast.message,type:"broadcast",sticky:!0};store.dispatch(uiActions.createNotification(data))}}next(action);break;case"START_PROCESS":store.dispatch({type:action.key,data:action.data}),store.dispatch({type:action.key+"_STARTED"}),next(action);break;case"RESUME_PROCESS":store.dispatch({type:action.key,data:store.getState().ui.processes[action.key].data}),next(action);break;case"PROCESS_CANCELLED":store.dispatch({type:action.key+"_CANCELLED"}),next(action);break;case"PROCESS_FINISHING":setTimeout(function(){store.dispatch(uiActions.processFinished(action.key))},200);next(action);break;case"PROCESS_FINISHED":store.dispatch({type:action.key+"_FINISHED"}),next(action);break;default:return next(action)}}}}}());exports.default=UIMiddleware}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function($){Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(14),_reactGa2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_reactGa),helpers=__webpack_require__(1),coreActions=__webpack_require__(10),uiActions=__webpack_require__(3),pusherActions=(__webpack_require__(6),__webpack_require__(13)),lastfmActions=__webpack_require__(20),geniusActions=__webpack_require__(37),spotifyActions=__webpack_require__(7),snapcastActions=__webpack_require__(38),PusherMiddleware=function(){var _this=this,socket=null,deferredRequests=[],handleMessage=function(ws,store,message){store.getState().ui.log_pusher&&console.log("Pusher log (incoming)",message);var id=null;if(message.id?id=message.id:message.error&&message.error.id&&(id=message.error.id),id)void 0!==deferredRequests[id]?(store.dispatch(uiActions.stopLoading(id)),void 0!==message.error?deferredRequests[id].reject(message.error):deferredRequests[id].resolve(message.result)):store.dispatch(coreActions.handleException("Pusher: Response received with no matching request",message));else if(void 0!==message.error)store.dispatch(coreActions.handleException("Pusher: "+message.error.message,message,void 0!==message.error.data&&void 0!==message.error.data.description?message.error.data.description:null));else{switch(message.method){case"connection_added":store.dispatch(pusherActions.connectionAdded(message.params.connection));break;case"connection_changed":store.dispatch(pusherActions.connectionChanged(message.params.connection));break;case"connection_removed":store.dispatch(pusherActions.connectionRemoved(message.params.connection));break;case"queue_metadata_changed":store.dispatch(pusherActions.queueMetadataChanged(message.params.queue_metadata));break;case"spotify_token_changed":store.dispatch(spotifyActions.tokenChanged(message.params.spotify_token));break;case"share_configuration_received":store.dispatch(uiActions.createNotification({type:"share-configuration-received",configuration:message.params,sticky:!0}));break;case"notification":store.dispatch(uiActions.createNotification(message.params.notification));break;case"radio_started":store.dispatch(pusherActions.radioStarted(message.params.radio));break;case"radio_changed":store.dispatch(pusherActions.radioChanged(message.params.radio));break;case"radio_stopped":store.dispatch(pusherActions.radioStopped());break;case"commands_changed":store.dispatch(pusherActions.commandsUpdated(message.params.commands));break;case"reload":window.location.reload(!0);break;case"local_scan_started":store.dispatch(uiActions.updateProcess("local_scan","Scanning local library"));break;case"local_scan_finished":store.dispatch(uiActions.processFinished("local_scan")),store.dispatch(uiActions.createNotification({key:"local_scan",type:"info",content:"Local scan finished",description:message.params.output}));break;case"local_scan_error":store.dispatch(uiActions.processFinished("local_scan")),store.dispatch(uiActions.createNotification({key:"local_scan",type:"bad",content:"Local scan failed"}));break;case"upgrade_started":store.dispatch(uiActions.updateProcess("upgrade","Upgrading"));break;case"upgrade_finished":store.dispatch(uiActions.updateProcess("upgrade","Restarting to complete upgrade"));break;case"upgrade_error":store.dispatch(uiActions.processFinished("upgrade")),store.dispatch(uiActions.createNotification({type:"bad",content:"Upgrade failed"}));break;case"restart_started":store.dispatch(uiActions.processFinished("upgrade")),store.dispatch(uiActions.createNotification({type:"info",content:"Restarting server..."}));break;case"test_started":store.dispatch(uiActions.updateProcess("test","Running test"));break;case"test_finished":store.dispatch(uiActions.processFinished("test")),store.dispatch(uiActions.createNotification({type:"info",content:"Test finished",description:message.params.output}));break;case"test_error":store.dispatch(uiActions.processFinished("test")),store.dispatch(uiActions.createNotification({type:"bad",content:"Test failed"}))}message.method.startsWith("snapcast_")&&store.dispatch(snapcastActions.eventReceived(message))}},request=function(store,method){var params=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new Promise(function(resolve,reject){var id=helpers.generateGuid(),message={jsonrpc:"2.0",id:id,method:method};params&&(message.params=params),store.getState().ui.log_pusher&&console.log("Pusher log (outgoing)",message),socket.send(JSON.stringify(message)),store.dispatch(uiActions.startLoading(id,"pusher_"+method));setTimeout(function(){store.dispatch(uiActions.stopLoading(id)),reject({id:id,code:32300,message:"Request timed out"})},3e4);deferredRequests[id]={resolve:resolve,reject:reject}})};return function(store){return function(next){return function(action){var pusher=store.getState().pusher;switch(action.type){case"PUSHER_CONNECT":null!=socket&&socket.close(),store.dispatch({type:"PUSHER_CONNECTING"});var state=store.getState(),connection={client_id:helpers.generateGuid(),connection_id:helpers.generateGuid(),username:"Anonymous"};state.pusher.username&&(connection.username=state.pusher.username),connection.username=connection.username.replace(/\W/g,""),socket=new WebSocket("ws"+("https:"===window.location.protocol?"s":"")+"://"+state.mopidy.host+":"+state.mopidy.port+"/iris/ws/",[connection.client_id,connection.connection_id,connection.username]),socket.onopen=function(){store.dispatch({type:"PUSHER_CONNECTED",connection_id:connection.connection_id,client_id:connection.client_id,username:connection.username})},socket.onclose=function(){store.dispatch({type:"PUSHER_DISCONNECTED"}),setTimeout(function(){store.dispatch(pusherActions.connect())},5e3)},socket.onmessage=function(message){var message=JSON.parse(message.data);handleMessage(0,store,message)};break;case"PUSHER_CONNECTED":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Connected",label:action.username}),store.dispatch(pusherActions.getConfig()),store.dispatch(pusherActions.getRadio()),store.dispatch(pusherActions.getCommands()),store.dispatch(pusherActions.getQueueMetadata()),setTimeout(function(){store.dispatch(pusherActions.getVersion())},500),next(action);break;case"PUSHER_REQUEST":request(store,action.method,action.params).then(function(response){action.response_callback&&store.dispatch(action.response_callback.call(_this,response))},function(error){action.error_callback?store.dispatch(action.error_callback.call(_this,error)):store.dispatch(coreActions.handleException("Pusher request failed",error,action.method,action))});break;case"PUSHER_DELIVER_MESSAGE":request(store,"send_message",action.data).then(function(response){store.dispatch(uiActions.createNotification({type:"info",content:"Message delivered"}))},function(error){store.dispatch(coreActions.handleException("Could not deliver message",error))});break;case"PUSHER_DELIVER_BROADCAST":request(store,"broadcast",action.data);break;case"PUSHER_GET_QUEUE_METADATA":request(store,"get_queue_metadata").then(function(response){response.type="PUSHER_QUEUE_METADATA",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not load queue metadata",error))});break;case"PUSHER_ADD_QUEUE_METADATA":request(store,"add_queue_metadata",{tlids:action.tlids,added_from:action.from_uri,added_by:pusher.username});break;case"PUSHER_SET_USERNAME":return request(store,"set_username",{username:action.username}).then(function(response){response.type="PUSHER_USERNAME_CHANGED",store.dispatch(response)},function(error){store.dispatch(coreActions.handleException("Could not set username",error)),action.force&&(response.type="PUSHER_USERNAME_CHANGED",store.dispatch(response))}),next(action);case"PUSHER_GET_VERSION":request(store,"get_version").then(function(response){store.dispatch({type:"PUSHER_VERSION",version:response.version})},function(error){store.dispatch(coreActions.handleException("Could not load version",error))});break;case"PUSHER_GET_CONFIG":request(store,"get_config").then(function(response){store.dispatch({type:"PUSHER_CONFIG",config:response.config})},function(error){store.dispatch(coreActions.handleException("Could not load config",error))});break;case"PUSHER_GET_CONNECTIONS":return request(store,"get_connections").then(function(response){store.dispatch({type:"PUSHER_CONNECTIONS",connections:response.connections})},function(error){store.dispatch(coreActions.handleException("Could not load connections",error))}),next(action);case"PUSHER_GET_COMMANDS":request(store,"get_commands").then(function(response){store.dispatch(pusherActions.commandsUpdated(response.commands))},function(error){}),next(action);break;case"PUSHER_SET_COMMAND":var commands_index=Object.assign({},pusher.commands);if(commands_index[action.command.id])var command=Object.assign({},commands_index[action.command.id],action.command);else var command=action.command;commands_index[action.command.id]=command,request(store,"set_commands",{commands:commands_index}).then(function(response){},function(error){store.dispatch(coreActions.handleException("Could not set commands",error))}),next(action);break;case"PUSHER_REMOVE_COMMAND":var commands_index=Object.assign({},pusher.commands);delete commands_index[action.id],request(store,"set_commands",{commands:commands_index}).then(function(response){},function(error){store.dispatch(coreActions.handleException("Could not remove command",error))}),next(action);break;case"PUSHER_SEND_COMMAND":var command=Object.assign({},pusher.commands[action.id]),notification_key="command_"+action.id;action.notify&&store.dispatch(uiActions.startProcess(notification_key,"Sending command"));try{var ajax_settings=JSON.parse(command.command)}catch(error){store.dispatch(uiActions.createNotification({key:notification_key,type:"bad",content:"Command failed",description:error}));break}ajax_settings.success=function(response){action.notify&&(store.dispatch(uiActions.processFinished(notification_key)),store.dispatch(uiActions.createNotification({key:notification_key,type:"info",content:"Command sent"})))},ajax_settings.error=function(xhr,status,error){console.error("Command failed, response was:",xhr,error),store.dispatch(uiActions.processFinished(notification_key)),store.dispatch(uiActions.createNotification({key:notification_key,type:"bad",content:"Command failed",description:xhr.status+": "+error}))},$.ajax(ajax_settings);break;case"PUSHER_GET_RADIO":request(store,"get_radio").then(function(response){store.dispatch({type:"PUSHER_RADIO_LOADED",radio:response.radio})},function(error){store.dispatch(coreActions.handleException("Could not load radio",error))});break;case"PUSHER_START_RADIO":case"PUSHER_UPDATE_RADIO":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Start radio",label:action.uris.join()}),"PUSHER_UPDATE_RADIO"==action.type?store.dispatch(uiActions.startProcess("PUSHER_RADIO_PROCESS","Updating radio")):store.dispatch(uiActions.startProcess("PUSHER_RADIO_PROCESS","Starting radio"));for(var data={reset:"PUSHER_START_RADIO"==action.type,seed_artists:[],seed_genres:[],seed_tracks:[]},i=0;i<action.uris.length;i++)switch(helpers.uriType(action.uris[i])){case"artist":data.seed_artists.push(action.uris[i]);break;case"track":data.seed_tracks.push(action.uris[i]);break;case"genre":data.seed_genres.push(action.uris[i])}"PUSHER_START_RADIO"==action.type&&store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{type:"info",content:pusher.username+" is starting radio mode"}})),request(store,"change_radio",data).then(function(response){store.dispatch(uiActions.processFinishing("PUSHER_RADIO_PROCESS")),0==response.status&&store.dispatch(uiActions.createNotification({content:response.message,type:"bad"})),store.dispatch(pusherActions.radioChanged(response.radio))},function(error){store.dispatch(uiActions.processFinishing("PUSHER_RADIO_PROCESS")),store.dispatch(coreActions.handleException("Could not change radio",error))});break;case"PUSHER_STOP_RADIO":store.dispatch(uiActions.createNotification({content:"Stopping radio"})),store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Stop radio"}),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{type:"info",content:pusher.username+" stopped radio mode"}}));var data={seed_artists:[],seed_genres:[],seed_tracks:[]};request(store,"stop_radio",data).then(function(response){store.dispatch(pusherActions.radioStopped())},function(error){store.dispatch(coreActions.handleException("Could not stop radio",error))});break;case"PUSHER_BROWSER_NOTIFICATION":store.dispatch(uiActions.createBrowserNotification(action));break;case"PUSHER_NOTIFICATION":var data=Object.assign({},action,{type:action.notification_type});store.dispatch(uiActions.createNotification(data));break;case"PUSHER_RELOAD":window.location.reload(!0);break;case"PUSHER_RESTART":request(store,"restart"),next(action);break;case"PUSHER_UPGRADE":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Upgrade",label:""}),request(store,"upgrade");break;case"PUSHER_LOCAL_SCAN":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Local scan",label:""}),request(store,"local_scan");break;case"PUSHER_TEST":request(store,"test");break;case"PUSHER_VERSION":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Version",label:action.version.current}),next(action);break;case"PUSHER_CONFIG":var spotify=store.getState().spotify,spotify_updated=!1,spotify_updates={};!spotify.country&&action.config.country&&(spotify_updates.country=action.config.country,spotify_updated=!0),!spotify.locale&&action.config.locale&&(spotify_updates.locale=action.config.locale,spotify_updated=!0),action.config.spotify_authorization_url&&(spotify_updates.authorization_url=action.config.spotify_authorization_url,spotify_updated=!0),spotify_updated&&store.dispatch(spotifyActions.set(spotify_updates)),store.dispatch(lastfmActions.set({authorization_url:action.config.lastfm_authorization_url?action.config.lastfm_authorization_url:null})),store.dispatch(geniusActions.set({authorization_url:action.config.genius_authorization_url?action.config.genius_authorization_url:null})),next(action);break;case"PUSHER_DEBUG":request(store,action.message.method,action.message.data).then(function(response){store.dispatch({type:"DEBUG",response:response})},function(error){store.dispatch(coreActions.handleException("Could not debug",error,error.message))});break;case"PUSHER_ERROR":store.dispatch(uiActions.createNotification(action.message,"bad")),store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Pusher",action:"Error",label:action.message});break;default:return next(action)}}}}}();exports.default=PusherMiddleware}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(14),_reactGa2=_interopRequireDefault(_reactGa),_mopidy=__webpack_require__(204),_mopidy2=_interopRequireDefault(_mopidy),_md=__webpack_require__(96),_md2=_interopRequireDefault(_md),_reactRouter=__webpack_require__(12),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),mopidyActions=__webpack_require__(6),coreActions=__webpack_require__(10),uiActions=__webpack_require__(3),spotifyActions=__webpack_require__(7),pusherActions=__webpack_require__(13),googleActions=__webpack_require__(61),lastfmActions=__webpack_require__(20),MopidyMiddleware=function(){var _this=this,socket=null,progress_interval=null,progress_interval_counter=0,handleMessage=function(ws,store,type,data){switch(store.getState().ui.log_mopidy,type){case"state:online":store.dispatch({type:"MOPIDY_CONNECTED"}),store.dispatch(mopidyActions.getPlayState()),store.dispatch(mopidyActions.getVolume()),store.dispatch(mopidyActions.getMute()),store.dispatch(mopidyActions.getConsume()),store.dispatch(mopidyActions.getRandom()),store.dispatch(mopidyActions.getRepeat()),store.dispatch(mopidyActions.getQueue()),store.dispatch(mopidyActions.getCurrentTrack()),store.dispatch(mopidyActions.getTimePosition()),store.dispatch(mopidyActions.getUriSchemes()),progress_interval=setInterval(function(){"playing"==store.getState().mopidy.play_state&&(progress_interval_counter%5==0?store.dispatch(mopidyActions.getTimePosition()):store.dispatch(mopidyActions.timePosition(store.getState().mopidy.time_position+1e3)),progress_interval_counter++)},1e3);break;case"state:offline":store.dispatch({type:"MOPIDY_DISCONNECTED"}),store.dispatch(mopidyActions.clearCurrentTrack()),clearInterval(progress_interval),progress_interval_counter=0;break;case"event:tracklistChanged":store.dispatch(mopidyActions.getQueue()),store.dispatch(mopidyActions.getNextTrack());break;case"event:playbackStateChanged":store.dispatch({type:"MOPIDY_PLAY_STATE",play_state:data.new_state}),store.dispatch(mopidyActions.getTimePosition());break;case"event:seeked":store.dispatch({type:"MOPIDY_TIME_POSITION",time_position:data.time_position});break;case"event:trackPlaybackEnded":store.dispatch(mopidyActions.clearCurrentTrack()),store.dispatch(mopidyActions.getTimePosition());break;case"event:trackPlaybackStarted":store.dispatch(mopidyActions.currentTrackLoaded(data.tl_track)),store.dispatch(mopidyActions.getNextTrack());break;case"event:volumeChanged":store.dispatch({type:"MOPIDY_VOLUME",volume:data.volume});break;case"event:muteChanged":store.dispatch({type:"MOPIDY_MUTE",mute:data.mute});break;case"event:optionsChanged":store.dispatch(mopidyActions.getConsume()),store.dispatch(mopidyActions.getRandom()),store.dispatch(mopidyActions.getRepeat())}},request=function(ws,store,call){var value=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!store.getState().mopidy.connected)return!1;var callParts=call.split("."),model=callParts[0],method=callParts[1];return new Promise(function(resolve,reject){if(method in ws[model])var mopidyObject=ws[model][method],property=method;else var mopidyObject=ws[model],property=model;if(!mopidyObject||"function"!=typeof mopidyObject){var error={message:"Call to an invalid object. Check you are calling a valid Mopidy object.",call:call,value:value};store.dispatch(coreActions.handleException("Mopidy: "+error.message,error)),reject(error)}var loader_key=helpers.generateGuid();store.dispatch(uiActions.startLoading(loader_key,"mopidy_"+property));var timeout=setTimeout(function(){store.dispatch(uiActions.stopLoading(loader_key)),reject({message:"Request timed out",call:call,value:value})},3e4);mopidyObject(value).then(function(response){clearTimeout(timeout),store.dispatch(uiActions.stopLoading(loader_key)),resolve(response)},function(error){clearTimeout(timeout),store.dispatch(uiActions.stopLoading(loader_key)),reject(error)})})};return function(store){return function(next){return function(action){switch(action.type){case"MOPIDY_CONNECT":null!=socket&&socket.close(),store.dispatch({type:"MOPIDY_CONNECTING"});var state=store.getState();socket=new _mopidy2.default({webSocketUrl:"ws"+("https:"===window.location.protocol?"s":"")+"://"+state.mopidy.host+":"+state.mopidy.port+"/mopidy/ws/",callingConvention:"by-position-or-by-name"}),socket.on(function(type,data){return handleMessage(0,store,type,data)});break;case"MOPIDY_CONNECTED":if(store.getState().ui.allow_reporting){var hashed_hostname=(0,_md2.default)(window.location.hostname);_reactGa2.default.event({category:"Mopidy",action:"Connected",label:hashed_hostname})}store.dispatch(uiActions.createNotification({content:"Mopidy connected"})),next(action);break;case"MOPIDY_DISCONNECT":null!=socket&&socket.close(),socket=null,store.dispatch({type:"MOPIDY_DISCONNECTED"});break;case"MOPIDY_DISCONNECTED":store.dispatch(uiActions.createNotification({type:"bad",content:"Mopidy disconnected"}));break;case"MOPIDY_DEBUG":request(socket,store,action.call,action.value).then(function(response){store.dispatch({type:"DEBUG",response:response})});break;case"MOPIDY_REQUEST":request(socket,store,action.method,action.params).then(function(response){action.response_callback&&store.dispatch(action.response_callback.call(_this,response))},function(error){action.error_callback?store.dispatch(action.error_callback.call(_this,error)):store.dispatch(coreActions.handleException("Mopidy request failed",error,action.method,action))});break;case"MOPIDY_PLAY_STATE":store.dispatch(uiActions.setWindowTitle(null,action.play_state)),next(action);break;case"MOPIDY_GET_PLAY_STATE":request(socket,store,"playback.getState").then(function(response){store.dispatch({type:"MOPIDY_PLAY_STATE",play_state:response})});break;case"MOPIDY_PLAY":request(socket,store,"playback.play").then(function(response){store.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"playing"})}),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+("paused"==store.getState().mopidy.play_state?" resumed":" started")+" playback",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)}}));break;case"MOPIDY_PAUSE":request(socket,store,"playback.pause").then(function(response){store.dispatch({type:"MOPIDY_PLAY_STATE",play_state:"paused"})}),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" paused playback",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)}}));break;case"MOPIDY_PREVIOUS":request(socket,store,"playback.previous");break;case"MOPIDY_NEXT":request(socket,store,"playback.next"),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" skipped <em>"+store.getState().core.current_track.name+"</em>",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)}}));break;case"MOPIDY_STOP":request(socket,store,"playback.stop").then(function(response){store.dispatch(mopidyActions.clearCurrentTrack())}),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" stopped playback",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)}}));break;case"MOPIDY_CHANGE_TRACK":request(socket,store,"playback.play",{tlid:action.tlid}),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" changed track"}}));break;case"MOPIDY_REMOVE_TRACKS":request(socket,store,"tracklist.remove",{tlid:action.tlids}),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" removed "+action.tlids.length+" tracks"}}));break;case"MOPIDY_GET_REPEAT":request(socket,store,"tracklist.getRepeat").then(function(response){store.dispatch({type:"MOPIDY_REPEAT",repeat:response})});break;case"MOPIDY_SET_REPEAT":request(socket,store,"tracklist.setRepeat",[action.repeat]);break;case"MOPIDY_GET_RANDOM":request(socket,store,"tracklist.getRandom").then(function(response){store.dispatch({type:"MOPIDY_RANDOM",random:response})});break;case"MOPIDY_SET_RANDOM":request(socket,store,"tracklist.setRandom",[action.random]);break;case"MOPIDY_GET_CONSUME":request(socket,store,"tracklist.getConsume").then(function(response){store.dispatch({type:"MOPIDY_CONSUME",consume:response})});break;case"MOPIDY_SET_CONSUME":request(socket,store,"tracklist.setConsume",[action.consume]);break;case"MOPIDY_GET_MUTE":request(socket,store,"mixer.getMute").then(function(response){store.dispatch({type:"MOPIDY_MUTE",mute:response})});break;case"MOPIDY_SET_MUTE":request(socket,store,"mixer.setMute",[action.mute]),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+(action.mute?" muted":" unmuted")+" playback"}}));break;case"MOPIDY_GET_VOLUME":request(socket,store,"playback.getVolume").then(function(response){store.dispatch({type:"MOPIDY_VOLUME",volume:response})});break;case"MOPIDY_SET_VOLUME":request(socket,store,"playback.setVolume",{volume:action.volume}).then(function(response){store.dispatch({type:"MOPIDY_VOLUME",volume:action.volume})});break;case"MOPIDY_SET_TIME_POSITION":request(socket,store,"playback.seek",{time_position:action.time_position}).then(function(response){store.dispatch({type:"MOPIDY_TIME_POSITION",time_position:action.time_position})});break;case"MOPIDY_GET_TIME_POSITION":request(socket,store,"playback.getTimePosition").then(function(response){store.dispatch({type:"MOPIDY_TIME_POSITION",time_position:response})});break;case"MOPIDY_GET_URI_SCHEMES":request(socket,store,"getUriSchemes").then(function(response){for(var uri_schemes=response,remove=["http","https","mms","rtmp","rtmps","rtsp","sc","yt"],i=0;i<remove.length;i++){var index=uri_schemes.indexOf(remove[i]);index>-1&&uri_schemes.splice(index,1)}for(var i=0;i<uri_schemes.length;i++)uri_schemes[i]=uri_schemes[i]+":";store.dispatch(spotifyActions.set({enabled:uri_schemes.includes("spotify:")})),store.dispatch(googleActions.set({enabled:uri_schemes.includes("gmusic:")})),void 0===store.getState().ui.uri_schemes_search_enabled&&store.dispatch(uiActions.set({uri_schemes_search_enabled:uri_schemes})),store.dispatch({type:"MOPIDY_URI_SCHEMES",uri_schemes:uri_schemes})});break;case"MOPIDY_PLAY_PLAYLIST":if(store.getState().ui.clear_tracklist_on_play&&store.dispatch(mopidyActions.clearTracklist()),store.getState().core.playlists.hasOwnProperty(action.uri)){if("spotify"==store.getState().core.playlists[action.uri].provider){store.dispatch(spotifyActions.getPlaylistTracksAndPlay(action.uri,action.shuffle));break}}else if("spotify"==helpers.uriSource(action.uri)&&store.getState().spotify.enabled){store.dispatch(spotifyActions.getPlaylistTracksAndPlay(action.uri,action.shuffle));break}request(socket,store,"playlists.lookup",{uri:action.uri}).then(function(response){if(void 0===response.tracks)store.dispatch(uiActions.createNotification({content:"Failed to load playlist tracks",type:"bad"}));else{var tracks_uris=helpers.arrayOf("uri",response.tracks);action.shuffle&&(tracks_uris=helpers.shuffle(tracks_uris)),store.dispatch(mopidyActions.playURIs(tracks_uris,action.uri))}},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Lookup failed"),error))});break;case"MOPIDY_ENQUEUE_URIS":if(!action.uris||action.uris.length<=0){_this.props.uiActions.createNotification({content:"No URIs to enqueue",type:"warning"});break}store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" is adding "+action.uris.length+" URIs to queue",icon:!!store.getState().core.current_track&&helpers.getTrackIcon(store.getState().core.current_track,store.getState().core)}}));for(var uris=Object.assign([],action.uris),batches=[];uris.length>0;)batches.push({uris:uris.splice(0,5),at_position:action.at_position,next:action.next,offset:action.offset+5*batches.length,from_uri:action.from_uri});action.batches=batches,next(action),store.dispatch(uiActions.startProcess("MOPIDY_ENQUEUE_URIS_PROCESSOR","Adding "+action.uris.length+" URI(s)",{batches:batches,remaining:action.uris.length,total:action.uris.length}));break;case"MOPIDY_ENQUEUE_URIS_PROCESSOR":var last_run=store.getState().ui.processes.MOPIDY_ENQUEUE_URIS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_ENQUEUE_URIS_PROCESSOR"));if(!(action.data.batches&&action.data.batches.length>0)){store.dispatch(uiActions.processFinishing("MOPIDY_ENQUEUE_URIS_PROCESSOR"));break}for(var batches=Object.assign([],action.data.batches),batch=batches[0],total_uris=0,i=0;i<batches.length;i++)total_uris+=batches[i].uris.length;batches.shift(),store.dispatch(uiActions.updateProcess("MOPIDY_ENQUEUE_URIS_PROCESSOR","Adding "+total_uris+" URI(s)",{remaining:total_uris}));var current_track=store.getState().core.current_track,queue=store.getState().core.queue,current_track_index=-1;if(current_track)for(var i=0;i<queue.length;i++)if(queue[i].tlid==current_track.tlid){current_track_index=i;break}var params={uris:batch.uris};batch.next?params.at_position=current_track_index>-1?current_track_index+batch.offset+1:0+batch.offset:batch.at_position&&(params.at_position=batch.at_position+batch.offset),request(socket,store,"tracklist.add",params).then(function(response){for(var tlids=[],i=0;i<response.length;i++)tlids.push(response[i].tlid);store.dispatch(pusherActions.addQueueMetadata(tlids,batch.from_uri)),setTimeout(function(){store.dispatch(uiActions.runProcess(action.type,{batches:batches}))},100)},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Adding tracks failed"),error))});break;case"MOPIDY_PLAY_URIS":if(!action.uris||action.uris.length<=0){_this.props.uiActions.createNotification({content:"No URIs to play",type:"warning"});break}if(store.getState().core.radio&&store.getState().core.radio.enabled&&store.dispatch(pusherActions.stopRadio()),store.getState().ui.clear_tracklist_on_play&&store.dispatch(mopidyActions.clearTracklist()),store.getState().mopidy.random)var first_uri_index=Math.floor(Math.random()*action.uris.length);else var first_uri_index=0;var first_uri=action.uris[first_uri_index];request(socket,store,"tracklist.add",{uri:first_uri,at_position:0}).then(function(response){if(response.length>0){store.dispatch(mopidyActions.changeTrack(response[0].tlid));for(var tlids=[],i=0;i<response.length;i++)tlids.push(response[i].tlid);store.dispatch(pusherActions.addQueueMetadata(tlids,action.from_uri))}else store.dispatch(coreActions.handleException("Mopidy: Failed to add some tracks",response));action.uris.splice(first_uri_index,1),action.uris.length>0&&setTimeout(function(){store.dispatch(mopidyActions.enqueueURIs(action.uris,action.from_uri,null,1))},100)},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Adding tracks failed"),error))});break;case"MOPIDY_REORDER_TRACKLIST":request(socket,store,"tracklist.move",{start:action.range_start,end:action.range_start+action.range_length,to_position:action.insert_before}).then(function(response){},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Reorder failed"),error))});break;case"MOPIDY_CLEAR_TRACKLIST":request(socket,store,"tracklist.clear").then(function(response){store.dispatch(coreActions.clearCurrentTrack()),store.dispatch(pusherActions.deliverBroadcast("notification",{notification:{content:store.getState().pusher.username+" cleared queue"}}))});break;case"MOPIDY_GET_SEARCH_RESULTS":store.dispatch({type:"MOPIDY_CLEAR_SEARCH_RESULTS"});for(var uri_schemes_to_ignore=["spotify:"],uri_schemes=Object.assign([],store.getState().ui.uri_schemes_search_enabled),i=0;i<uri_schemes.length;i++)uri_schemes_to_ignore.includes(uri_schemes[i])&&uri_schemes.splice(i,1);var uri_schemes_total=uri_schemes.length,uri_scheme=uri_schemes.shift();uri_schemes_total<=0?store.dispatch(uiActions.createNotification({content:"No sources selected",type:"warning"})):store.dispatch(uiActions.startProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+uri_schemes_total+" Mopidy providers",{context:action.context,query:action.query,limit:action.limit,total:uri_schemes_total,remaining:uri_schemes.length,uri_scheme:uri_scheme,uri_schemes:uri_schemes}));break;case"MOPIDY_GET_SEARCH_RESULTS_PROCESSOR":var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));if(!action.data.uri_scheme)return void store.dispatch(uiActions.processFinishing("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));var next_uri_schemes=Object.assign([],action.data.uri_schemes),next_uri_scheme=next_uri_schemes.shift();switch(store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":",""),{remaining:action.data.uri_schemes.length})),action.data.context){case"albums":var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")));var continue_process=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes}))};request(socket,store,"library.search",{query:{album:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var albums=[];if(response[0].albums&&(albums=[].concat(_toConsumableArray(response[0].albums),_toConsumableArray(albums))),response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)void 0!==response[0].tracks[i].album&&void 0!==response[0].tracks[i].album.uri&&albums.push(response[0].tracks[i].album);var albums_uris=helpers.arrayOf("uri",albums);albums_uris=helpers.removeDuplicates(albums_uris),store.dispatch(coreActions.albumsLoaded(albums)),store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:albums_uris})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"artists":var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")));var continue_process=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes}))};request(socket,store,"library.search",{query:{artist:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var artists_uris=[];if(response[0].artists)for(var i=0;i<response[0].artists.length;i++)artists_uris.push(response[0].artists.uri);if(response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)if(response[0].tracks[i].artists)for(var j=0;j<response[0].tracks[i].artists.length;j++){var artist=response[0].tracks[i].artists[j];artist.uri&&artists_uris.push(artist.uri)}artists_uris=helpers.removeDuplicates(artists_uris);for(var i=0;i<artists_uris.length;i++)store.dispatch(mopidyActions.getArtist(artists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:artists_uris})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"playlists":var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching playlists"));var continue_process=function(){store.dispatch(uiActions.processFinishing("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"))};request(socket,store,"playlists.asList").then(function(response){if(response.length>0){for(var playlists_uris=[],i=0;i<response.length;i++){var playlist=response[i];playlist.name.includes(action.data.query)&&action.data.uri_schemes.includes(helpers.uriSource(playlist.uri)+":")&&playlists_uris.push(playlist.uri)}for(var i=0;i<playlists_uris.length;i++)store.dispatch(mopidyActions.getPlaylist(playlists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:playlists_uris})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"tracks":var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")));var continue_process=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes}))};request(socket,store,"library.search",{query:{any:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0&&void 0!==response[0].tracks){var tracks=response[0].tracks;store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:action.data.context,results:helpers.formatTracks(tracks)})}continue_process()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),continue_process()});break;case"all":default:var process_albums=function(){var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" albums",{remaining:action.data.uri_schemes.length+.75})),request(socket,store,"library.search",{query:{album:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var albums=[];if(response[0].albums&&(albums=[].concat(_toConsumableArray(response[0].albums),_toConsumableArray(albums))),response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)void 0!==response[0].tracks[i].album&&void 0!==response[0].tracks[i].album.uri&&albums.push(response[0].tracks[i].album);var albums_uris=helpers.arrayOf("uri",albums);albums_uris=helpers.removeDuplicates(albums_uris),store.dispatch(coreActions.albumsLoaded(albums)),store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"albums",results:albums_uris})}process_artists()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),process_artists()})},process_artists=function(){var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" artists",{remaining:action.data.uri_schemes.length+.5})),request(socket,store,"library.search",{query:{artist:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0){var artists_uris=[];if(response[0].artists)for(var i=0;i<response[0].artists.length;i++)artists_uris.push(response[0].artists.uri);if(response[0].tracks)for(var i=0;i<response[0].tracks.length;i++)if(response[0].tracks[i].artists)for(var j=0;j<response[0].tracks[i].artists.length;j++){var artist=response[0].tracks[i].artists[j];artist.uri&&artists_uris.push(artist.uri)}artists_uris=helpers.removeDuplicates(artists_uris);for(var i=0;i<artists_uris.length;i++)store.dispatch(mopidyActions.getArtist(artists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"artists",results:artists_uris})}process_playlists()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),process_playlists()})},process_playlists=function(){var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));"m3u:"==action.data.uri_scheme?(store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" playlists",{remaining:action.data.uri_schemes.length+.25})),request(socket,store,"playlists.asList").then(function(response){if(response.length>0){for(var playlists_uris=[],i=0;i<response.length;i++){var playlist=response[i];playlist.name.includes(action.data.query)&&action.data.uri_schemes.includes(helpers.uriSource(playlist.uri)+":")&&playlists_uris.push(playlist.uri)}playlists_uris=playlists_uris;for(var i=0;i<playlists_uris.length;i++)store.dispatch(mopidyActions.getPlaylist(playlists_uris[i]));store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"playlists",results:playlists_uris})}finished()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),finished()})):finished()},finished=function(){store.dispatch(uiActions.runProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR",{context:action.data.context,query:action.data.query,limit:action.data.limit,uri_scheme:next_uri_scheme,uri_schemes:next_uri_schemes,remaining:action.data.uri_schemes.length}))};!function(){var last_run=store.getState().ui.processes.MOPIDY_GET_SEARCH_RESULTS_PROCESSOR;if(last_run&&"cancelling"==last_run.status)return void store.dispatch(uiActions.processCancelled("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR"));store.dispatch(uiActions.updateProcess("MOPIDY_GET_SEARCH_RESULTS_PROCESSOR","Searching "+action.data.uri_scheme.replace(":","")+" tracks",{remaining:action.data.uri_schemes.length+1})),request(socket,store,"library.search",{query:{any:[action.data.query]},uris:[action.data.uri_scheme]}).then(function(response){if(response.length>0&&void 0!==response[0].tracks){var tracks=response[0].tracks;store.dispatch({type:"MOPIDY_SEARCH_RESULTS_LOADED",context:"tracks",results:helpers.formatTracks(tracks)})}process_albums()},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Search failed"),error)),process_albums()})}()}break;case"MOPIDY_GET_LIBRARY_PLAYLISTS":request(socket,store,"playlists.asList").then(function(response){for(var playlist_uris=helpers.arrayOf("uri",response),playlist_uris_filtered=[],i=0;i<playlist_uris.length;i++)"spotify"!=helpers.uriSource(playlist_uris[i])&&playlist_uris_filtered.push(playlist_uris[i]);store.dispatch({type:"MOPIDY_LIBRARY_PLAYLISTS_LOADED",uris:playlist_uris_filtered}),store.dispatch({type:"MOPIDY_LIBRARY_PLAYLISTS_LOADED_ALL"});for(var i=0;i<playlist_uris_filtered.length;i++)request(socket,store,"playlists.lookup",{uri:playlist_uris_filtered[i]}).then(function(response){var source=helpers.uriSource(response.uri),playlist=Object.assign({},{type:"playlist",name:response.name,uri:response.uri,source:source,is_mopidy:!0,last_modified:response.last_modified,tracks_total:response.tracks?response.tracks.length:0});store.dispatch(coreActions.playlistLoaded(playlist))})});break;case"MOPIDY_GET_PLAYLIST":request(socket,store,"playlists.lookup",action.data).then(function(response){var playlist=Object.assign({},response,{uri:response.uri,type:"playlist",is_completely_loaded:!0,provider:"mopidy",tracks:response.tracks?response.tracks:[],tracks_total:response.tracks?response.tracks.length:[]});playlist.tracks.length>0&&store.dispatch({type:"MOPIDY_RESOLVE_PLAYLIST_TRACKS",tracks:playlist.tracks,key:playlist.uri}),store.dispatch(coreActions.playlistLoaded(playlist))});break;case"MOPIDY_RESOLVE_PLAYLIST_TRACKS":var tracks=Object.assign([],action.tracks),uris=helpers.arrayOf("uri",tracks);request(socket,store,"library.lookup",{uris:uris}).then(function(response){for(var uri in response)if(response.hasOwnProperty(uri)){var track=response[uri][0];if(track)for(var getByURI=function(trackReference){return track.uri==trackReference.uri},trackReferences=tracks.filter(getByURI),j=0;j<trackReferences.length;j++){var key=tracks.indexOf(trackReferences[j]);tracks[key]=track}}store.dispatch({type:"PLAYLIST_TRACKS",tracks:tracks,key:action.key})});break;case"MOPIDY_ADD_PLAYLIST_TRACKS":request(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){for(var tracks=[],i=0;i<action.tracks_uris.length;i++)tracks.push({__model__:"Track",uri:action.tracks_uris[i]});var playlist=Object.assign({},response);playlist.tracks?playlist.tracks=[].concat(_toConsumableArray(playlist.tracks),tracks):playlist.tracks=tracks,request(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"PLAYLIST_TRACKS_ADDED",key:action.key,tracks_uris:action.tracks_uris})})});break;case"MOPIDY_REMOVE_PLAYLIST_TRACKS":var descending=function(a,b){return b-a},indexes=Object.assign([],action.tracks_indexes);indexes.sort(descending),request(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){for(var playlist=Object.assign({},response),i=0;i<indexes.length;i++)playlist.tracks.splice(indexes[i],1);request(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"PLAYLIST_TRACKS_REMOVED",key:action.key,tracks_indexes:action.tracks_indexes})})});break;case"MOPIDY_SAVE_PLAYLIST":action.key;request(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){var playlist=Object.assign({},response,{name:action.name});request(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch(coreActions.playlistLoaded(playlist)),action.key!=response.key&&(store.dispatch({type:"PLAYLIST_KEY_UPDATED",key:action.key,new_key:response.uri}),_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(response.uri))),store.dispatch(uiActions.createNotification({type:"info",content:"Playlist saved"}))})});break;case"MOPIDY_REORDER_PLAYLIST_TRACKS":request(socket,store,"playlists.lookup",{uri:action.key}).then(function(response){var playlist=Object.assign({},response),tracks=Object.assign([],playlist.tracks),tracks_to_move=[],range_start=action.range_start,range_length=action.range_length,insert_before=action.insert_before;insert_before>range_start&&(insert_before-=range_length);for(var i=0;i<range_length;i++)tracks_to_move.unshift(tracks[range_start+i]);tracks.splice(range_start,range_length);for(var i=0;i<tracks_to_move.length;i++)tracks.splice(insert_before,0,tracks_to_move[i]);playlist=Object.assign({},playlist,{tracks:tracks}),request(socket,store,"playlists.save",{playlist:playlist}).then(function(response){store.dispatch({type:"MOPIDY_RESOLVE_PLAYLIST_TRACKS",tracks:playlist.tracks,key:playlist.uri})})});break;case"MOPIDY_CREATE_PLAYLIST":request(socket,store,"playlists.create",{name:action.name,uri_scheme:action.scheme}).then(function(response){store.dispatch(uiActions.createNotification({type:"info",content:"Created playlist"})),store.dispatch(coreActions.playlistLoaded(response)),store.dispatch({type:"MOPIDY_LIBRARY_PLAYLIST_CREATED",key:action.uri,playlist:response})});break;case"MOPIDY_DELETE_PLAYLIST":request(socket,store,"playlists.delete",{uri:action.uri}).then(function(response){store.dispatch(uiActions.createNotification({content:"Deleted playlist"})),store.dispatch({type:"MOPIDY_LIBRARY_PLAYLIST_DELETED",key:action.uri})});break;case"MOPIDY_GET_LIBRARY_ALBUMS":var last_run=store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR;last_run?"cancelled"==last_run.status?store.dispatch(uiActions.resumeProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR")):last_run.status:request(socket,store,"library.browse",{uri:store.getState().mopidy.library_albums_uri}).then(function(response){if(!(response.length<=0)){var uris=helpers.arrayOf("uri",response);store.dispatch({type:"MOPIDY_LIBRARY_ALBUMS_LOADED",uris:uris}),store.dispatch(uiActions.startProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR","Loading "+uris.length+" local albums",{uris:uris,total:uris.length,remaining:uris.length}))}});break;case"MOPIDY_LIBRARY_ALBUMS_PROCESSOR":if(void 0!==store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR){if("cancelling"==store.getState().ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR.status)return store.dispatch(uiActions.processCancelled("MOPIDY_LIBRARY_ALBUMS_PROCESSOR")),!1}var uris=Object.assign([],action.data.uris),uris_to_load=uris.splice(0,50);uris_to_load.length>0?(store.dispatch(uiActions.updateProcess("MOPIDY_LIBRARY_ALBUMS_PROCESSOR","Loading "+uris.length+" local albums",{uris:uris,remaining:uris.length})),store.dispatch(mopidyActions.getAlbums(uris_to_load,{name:"MOPIDY_LIBRARY_ALBUMS_PROCESSOR",data:{uris:uris}}))):store.dispatch(uiActions.processFinishing("MOPIDY_LIBRARY_ALBUMS_PROCESSOR"));break;case"MOPIDY_GET_ALBUMS":request(socket,store,"library.lookup",{uris:action.uris}).then(function(response){if(!(response.length<=0)){var albums_loaded=[],artists_loaded=[],tracks_loaded=[];for(var uri in response)if(response.hasOwnProperty(uri)&&response[uri].length>0&&response[uri][0].album){var tracks=response[uri],artists_uris=[];if(tracks[0].artists){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=response[uri][0].artists[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var artist=_step.value;artists_uris.push(artist.uri),artists_loaded.push(artist)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}var tracks_uris=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=tracks[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var track=_step2.value;tracks_uris.push(track.uri),tracks_loaded.push(track)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}var album=Object.assign({},{source:"local",artists_uris:artists_uris,tracks_uris:tracks_uris,tracks_total:tracks_uris.length},tracks[0].album);albums_loaded.push(album)}store.dispatch(coreActions.albumsLoaded(albums_loaded)),store.dispatch(coreActions.artistsLoaded(artists_loaded)),store.dispatch(coreActions.tracksLoaded(tracks_loaded)),action.processor&&setTimeout(function(){store.dispatch(uiActions.runProcess(action.processor.name,action.processor.data))},10)}});break;case"MOPIDY_GET_ALBUM":request(socket,store,"library.lookup",action.data).then(function(response){if(response&&!(response.length<=0)){var artists=[];if(response[0].artists){var _iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=response[0].artists[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var artist=_step3.value;artists.push(artist)}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}}var album=Object.assign({},{images:[]},response[0].album,{source:"local",artists_uris:helpers.arrayOf("uri",artists),tracks_uris:helpers.arrayOf("uri",response),tracks_total:response.length});if(store.dispatch(coreActions.albumLoaded(album)),store.dispatch(coreActions.artistsLoaded(artists)),album.images.length<=0){var mbid=helpers.getFromUri("mbid",album.uri);mbid?store.dispatch(lastfmActions.getAlbum(!1,!1,mbid)):store.dispatch(lastfmActions.getAlbum(album.artists[0].name,album.name))}request(socket,store,"library.lookup",{uris:album.tracks_uris}).then(function(response){var tracks_loaded=[];for(var uri in response)response.hasOwnProperty(uri)&&tracks_loaded.push(response[uri][0]);store.dispatch(coreActions.tracksLoaded(tracks_loaded))})}});break;case"MOPIDY_GET_LIBRARY_ARTISTS":request(socket,store,"library.browse",{uri:store.getState().mopidy.library_artists_uri}).then(function(response){if(!(response.length<=0)){for(var uris=[],i=0;i<response.length;i++)response[i].uri=response[i].uri.replace("local:directory?albumartist=",""),uris.push(response[i].uri);store.dispatch(coreActions.artistsLoaded(response)),store.dispatch({type:"MOPIDY_LIBRARY_ARTISTS_LOADED",uris:uris})}});break;case"MOPIDY_GET_ARTIST":request(socket,store,"library.lookup",action.data).then(function(response){if(!(response.length<=0)){for(var albums=[],i=0;i<response.length;i++)if(response[i].album){var album=Object.assign({},response[i].album,{uri:response[i].album.uri});if(album){var getByURI=function(albumToCheck){return album.uri==albumToCheck.uri},existingAlbum=albums.find(getByURI);existingAlbum||albums.push(album)}}albums&&store.dispatch(coreActions.albumsLoaded(albums));var artist=Object.assign({},response?response[0].artists[0]:{},{is_mopidy:!0,albums_uris:helpers.arrayOf("uri",albums),tracks:response.slice(0,10)});store.dispatch(coreActions.artistLoaded(artist));var existing_artist=store.getState().core.artists[artist.uri];existing_artist&&!existing_artist.images&&(artist.musicbrainz_id?store.dispatch(lastfmActions.getArtist(artist.uri,!1,artist.musicbrainz_id)):store.dispatch(lastfmActions.getArtist(artist.uri,artist.name)))}});break;case"MOPIDY_GET_ARTISTS":request(socket,store,"library.lookup",{uris:action.uris}).then(function(response){if(!(response.length<=0)){var artists=[];for(var uri in response)if(response.hasOwnProperty(uri)&&response[uri].length>0&&response[uri][0].artists){var artist=Object.assign({},response?response[uri][0].artists[0]:{},{is_mopidy:!0});artists.push(artist)}store.dispatch(coreActions.artistsLoaded(artists)),action.processor&&setTimeout(function(){store.dispatch(uiActions.runProcess(action.processor.name,action.processor.data))},100)}});break;case"MOPIDY_GET_QUEUE":request(socket,store,"tracklist.getTlTracks").then(function(response){store.dispatch({type:"QUEUE_LOADED",tracks:response})});break;case"MOPIDY_GET_QUEUE_HISTORY":request(socket,store,"history.getHistory").then(function(response){store.dispatch({type:"MOPIDY_QUEUE_HISTORY",tracks:response})});break;case"MOPIDY_GET_CURRENT_TRACK":request(socket,store,"playback.getCurrentTlTrack").then(function(response){response&&response.track&&store.dispatch(mopidyActions.currentTrackLoaded(response))});break;case"MOPIDY_CURRENT_TRACK_LOADED":var track=helpers.formatTrack(action.tl_track);track.uri&&(void 0!==store.getState().core.tracks[track.uri]&&void 0!==store.getState().core.tracks[track.uri].images||(store.getState().spotify.enabled&&"spotify"==helpers.uriSource(track.uri)?store.dispatch(spotifyActions.getTrack(track.uri)):store.dispatch(mopidyActions.getImages("tracks",[track.uri]))),store.dispatch({type:"CURRENT_TRACK_LOADED",track:track,uri:track.uri}));break;case"MOPIDY_GET_NEXT_TRACK":request(socket,store,"tracklist.getNextTlid").then(function(response){if(response&&response>=0){var track=helpers.applyFilter("tlid",response,store.getState().core.queue,!0);track&&track.uri&&(store.dispatch({type:"NEXT_TRACK_LOADED",uri:track.uri}),void 0!==store.getState().core.tracks[track.uri]&&void 0!==store.getState().core.tracks[track.uri].images||(store.getState().spotify.enabled&&"spotify"==helpers.uriSource(track.uri)?store.dispatch(spotifyActions.getTrack(track.uri)):store.dispatch(mopidyActions.getImages("tracks",[track.uri]))))}});break;case"MOPIDY_GET_TRACK":request(socket,store,"library.lookup",action.data).then(function(response){if(response.length>0){var track=Object.assign({},response[0]);store.dispatch(coreActions.trackLoaded(track))}},function(error){store.dispatch(coreActions.handleException("Mopidy: "+(error.message?error.message:"Could not get track"),error))});break;case"MOPIDY_GET_IMAGES":action.uris&&request(socket,store,"library.getImages",{uris:action.uris}).then(function(response){var records=[];for(var uri in response)if(response.hasOwnProperty(uri)){var images=response[uri];images=helpers.digestMopidyImages(store.getState().mopidy,images),images&&images.length>0?records.push({uri:uri,images:images}):store.dispatch(lastfmActions.getImages(action.context,uri))}var action_data={type:(action.context+"_LOADED").toUpperCase()};action_data[action.context]=records,store.dispatch(action_data)}),next(action);break;case"MOPIDY_GET_DIRECTORY":store.dispatch({type:"MOPIDY_DIRECTORY_FLUSH"}),request(socket,store,"library.browse",action.data).then(function(response){var tracks_uris=[],subdirectories=[],_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=response[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var item=_step4.value;"track"===item.type?(tracks_uris.push(item.uri),tracks_uris=helpers.sortItems(tracks_uris,"name")):(subdirectories.push(item),subdirectories=helpers.sortItems(subdirectories,"name"))}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}tracks_uris.length>0?request(socket,store,"library.lookup",{uris:tracks_uris}).then(function(response){if(!(response.length<=0)){var tracks=[];for(var uri in response)response.hasOwnProperty(uri)&&response[uri].length>0&&tracks.push(helpers.formatTrack(response[uri][0]));store.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{tracks:tracks,subdirectories:subdirectories}})}}):store.dispatch({type:"MOPIDY_DIRECTORY_LOADED",directory:{tracks:tracks,subdirectories:subdirectories}})});break;case"MOPIDY_DIRECTORY":store.getState().ui.allow_reporting&&action.data&&_reactGa2.default.event({category:"Directory",action:"Load",label:action.data.uri}),next(action);break;default:return next(action)}}}}}();exports.default=MopidyMiddleware}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){function Mopidy(settings){if(!(this instanceof Mopidy))return new Mopidy(settings);this._console=this._getConsole(settings||{}),this._settings=this._configure(settings||{}),this._backoffDelay=this._settings.backoffDelayMin,this._pendingRequests={},this._webSocket=null,bane.createEventEmitter(this),this._delegateEvents(),this._settings.autoConnect&&this.connect()}var bane=__webpack_require__(205),websocket=__webpack_require__(207),when=__webpack_require__(208);Mopidy.ConnectionError=function(message){this.name="ConnectionError",this.message=message},Mopidy.ConnectionError.prototype=Object.create(Error.prototype),Mopidy.ConnectionError.prototype.constructor=Mopidy.ConnectionError,Mopidy.ServerError=function(message){this.name="ServerError",this.message=message},Mopidy.ServerError.prototype=Object.create(Error.prototype),Mopidy.ServerError.prototype.constructor=Mopidy.ServerError,Mopidy.WebSocket=websocket.Client,Mopidy.when=when,Mopidy.prototype._getConsole=function(settings){if(void 0!==settings.console)return settings.console;var con="undefined"!=typeof console&&console||{};return con.log=con.log||function(){},con.warn=con.warn||function(){},con.error=con.error||function(){},con},Mopidy.prototype._configure=function(settings){var protocol="undefined"!=typeof document&&"https:"===document.location.protocol?"wss://":"ws://",currentHost="undefined"!=typeof document&&document.location.host||"localhost";return settings.webSocketUrl=settings.webSocketUrl||protocol+currentHost+"/mopidy/ws",!1!==settings.autoConnect&&(settings.autoConnect=!0),settings.backoffDelayMin=settings.backoffDelayMin||1e3,settings.backoffDelayMax=settings.backoffDelayMax||64e3,void 0===settings.callingConvention&&this._console.warn("Mopidy.js is using the default calling convention. The default will change in the future. You should explicitly specify which calling convention you use."),settings.callingConvention=settings.callingConvention||"by-position-only",settings},Mopidy.prototype._delegateEvents=function(){this.off("websocket:close"),this.off("websocket:error"),this.off("websocket:incomingMessage"),this.off("websocket:open"),this.off("state:offline"),this.on("websocket:close",this._cleanup),this.on("websocket:error",this._handleWebSocketError),this.on("websocket:incomingMessage",this._handleMessage),this.on("websocket:open",this._resetBackoffDelay),this.on("websocket:open",this._getApiSpec),this.on("state:offline",this._reconnect)},Mopidy.prototype.connect=function(){if(this._webSocket){if(this._webSocket.readyState===Mopidy.WebSocket.OPEN)return;this._webSocket.close()}this._webSocket=this._settings.webSocket||new Mopidy.WebSocket(this._settings.webSocketUrl),this._webSocket.onclose=function(close){this.emit("websocket:close",close)}.bind(this),this._webSocket.onerror=function(error){this.emit("websocket:error",error)}.bind(this),this._webSocket.onopen=function(){this.emit("websocket:open")}.bind(this),this._webSocket.onmessage=function(message){this.emit("websocket:incomingMessage",message)}.bind(this)},Mopidy.prototype._cleanup=function(closeEvent){Object.keys(this._pendingRequests).forEach(function(requestId){var resolver=this._pendingRequests[requestId];delete this._pendingRequests[requestId];var error=new Mopidy.ConnectionError("WebSocket closed");error.closeEvent=closeEvent,resolver.reject(error)}.bind(this)),this.emit("state:offline")},Mopidy.prototype._reconnect=function(){this.emit("reconnectionPending",{timeToAttempt:this._backoffDelay}),setTimeout(function(){this.emit("reconnecting"),this.connect()}.bind(this),this._backoffDelay),this._backoffDelay=2*this._backoffDelay,this._backoffDelay>this._settings.backoffDelayMax&&(this._backoffDelay=this._settings.backoffDelayMax)},Mopidy.prototype._resetBackoffDelay=function(){this._backoffDelay=this._settings.backoffDelayMin},Mopidy.prototype.close=function(){this.off("state:offline",this._reconnect),this._webSocket.close()},Mopidy.prototype._handleWebSocketError=function(error){this._console.warn("WebSocket error:",error.stack||error)},Mopidy.prototype._send=function(message){switch(this._webSocket.readyState){case Mopidy.WebSocket.CONNECTING:return when.reject(new Mopidy.ConnectionError("WebSocket is still connecting"));case Mopidy.WebSocket.CLOSING:return when.reject(new Mopidy.ConnectionError("WebSocket is closing"));case Mopidy.WebSocket.CLOSED:return when.reject(new Mopidy.ConnectionError("WebSocket is closed"));default:var deferred=when.defer();return message.jsonrpc="2.0",message.id=this._nextRequestId(),this._pendingRequests[message.id]=deferred.resolver,this._webSocket.send(JSON.stringify(message)),this.emit("websocket:outgoingMessage",message),deferred.promise}},Mopidy.prototype._nextRequestId=function(){var lastUsed=-1;return function(){return lastUsed+=1}}(),Mopidy.prototype._handleMessage=function(message){try{var data=JSON.parse(message.data);data.hasOwnProperty("id")?this._handleResponse(data):data.hasOwnProperty("event")?this._handleEvent(data):this._console.warn("Unknown message type received. Message was: "+message.data)}catch(error){if(!(error instanceof SyntaxError))throw error;this._console.warn("WebSocket message parsing failed. Message was: "+message.data)}},Mopidy.prototype._handleResponse=function(responseMessage){if(!this._pendingRequests.hasOwnProperty(responseMessage.id))return void this._console.warn("Unexpected response received. Message was:",responseMessage);var error,resolver=this._pendingRequests[responseMessage.id];delete this._pendingRequests[responseMessage.id],responseMessage.hasOwnProperty("result")?resolver.resolve(responseMessage.result):responseMessage.hasOwnProperty("error")?(error=new Mopidy.ServerError(responseMessage.error.message),error.code=responseMessage.error.code,error.data=responseMessage.error.data,resolver.reject(error),this._console.warn("Server returned error:",responseMessage.error)):(error=new Error("Response without 'result' or 'error' received"),error.data={response:responseMessage},resolver.reject(error),this._console.warn("Response without 'result' or 'error' received. Message was:",responseMessage))},Mopidy.prototype._handleEvent=function(eventMessage){var type=eventMessage.event,data=eventMessage;delete data.event,this.emit("event:"+this._snakeToCamel(type),data)},Mopidy.prototype._getApiSpec=function(){return this._send({method:"core.describe"}).then(this._createApi.bind(this)).catch(this._handleWebSocketError)},Mopidy.prototype._createApi=function(methods){var byPositionOrByName="by-position-or-by-name"===this._settings.callingConvention,caller=function(method){return function(){var message={method:method};return 0===arguments.length?this._send(message):byPositionOrByName?arguments.length>1?when.reject(new Error("Expected zero arguments, a single array, or a single object.")):Array.isArray(arguments[0])||arguments[0]===Object(arguments[0])?(message.params=arguments[0],this._send(message)):when.reject(new TypeError("Expected an array or an object.")):(message.params=Array.prototype.slice.call(arguments),this._send(message))}.bind(this)}.bind(this),getPath=function(fullName){var path=fullName.split(".");return path.length>=1&&"core"===path[0]&&(path=path.slice(1)),path},createObjects=function(objPath){var parentObj=this;return objPath.forEach(function(objName){objName=this._snakeToCamel(objName),parentObj[objName]=parentObj[objName]||{},parentObj=parentObj[objName]}.bind(this)),parentObj}.bind(this),createMethod=function(fullMethodName){var methodPath=getPath(fullMethodName),methodName=this._snakeToCamel(methodPath.slice(-1)[0]),object=createObjects(methodPath.slice(0,-1));object[methodName]=caller(fullMethodName),object[methodName].description=methods[fullMethodName].description,object[methodName].params=methods[fullMethodName].params}.bind(this);Object.keys(methods).forEach(createMethod),this.emit("state:online")},Mopidy.prototype._snakeToCamel=function(name){return name.replace(/(_[a-z])/g,function(match){return match.toUpperCase().replace("_","")})},module.exports=Mopidy},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__;(__webpack_require__(206)&&function(m){__WEBPACK_AMD_DEFINE_FACTORY__=m,void 0!==(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}||"object"==typeof module&&function(m){module.exports=m()}||function(m){this.bane=m()})(function(){"use strict";function handleError(event,error,errbacks){var i,l=errbacks.length;if(l>0)for(i=0;i<l;++i)errbacks[i](event,error);else setTimeout(function(){throw error.message=event+" listener threw error: "+error.message,error},0)}function assertFunction(fn){if("function"!=typeof fn)throw new TypeError("Listener is not function");return fn}function supervisors(object){return object.supervisors||(object.supervisors=[]),object.supervisors}function listeners(object,event){return object.listeners||(object.listeners={}),event&&!object.listeners[event]&&(object.listeners[event]=[]),event?object.listeners[event]:object.listeners}function errbacks(object){return object.errbacks||(object.errbacks=[]),object.errbacks}function createEventEmitter(object){function notifyListener(event,listener,args){try{listener.listener.apply(listener.thisp||object,args)}catch(e){handleError(event,e,errbacks(object))}}return object=object||{},object.on=function(event,listener,thisp){if("function"==typeof event)return supervisors(this).push({listener:event,thisp:listener});listeners(this,event).push({listener:assertFunction(listener),thisp:thisp})},object.off=function(event,listener){var fns,events,i,l;if(!event){fns=supervisors(this),fns.splice(0,fns.length),events=listeners(this);for(i in events)events.hasOwnProperty(i)&&(fns=listeners(this,i),fns.splice(0,fns.length));return fns=errbacks(this),void fns.splice(0,fns.length)}if("function"==typeof event?(fns=supervisors(this),listener=event):fns=listeners(this,event),!listener)return void fns.splice(0,fns.length);for(i=0,l=fns.length;i<l;++i)if(fns[i].listener===listener)return void fns.splice(i,1)},object.once=function(event,listener,thisp){var wrapper=function(){object.off(event,wrapper),listener.apply(this,arguments)};object.on(event,wrapper,thisp)},object.bind=function(object,events){var prop,i,l;if(events)for(i=0,l=events.length;i<l;++i){if("function"!=typeof object[events[i]])throw new Error("No such method "+events[i]);this.on(events[i],object[events[i]],object)}else for(prop in object)"function"==typeof object[prop]&&this.on(prop,object[prop],object);return object},object.emit=function(event){var i,l,toNotify=supervisors(this),args=slice.call(arguments);for(i=0,l=toNotify.length;i<l;++i)notifyListener(event,toNotify[i],args);for(toNotify=listeners(this,event).slice(),args=slice.call(arguments,1),i=0,l=toNotify.length;i<l;++i)notifyListener(event,toNotify[i],args)},object.errback=function(listener){this.errbacks||(this.errbacks=[]),this.errbacks.push(assertFunction(listener))},object}var slice=Array.prototype.slice;return{createEventEmitter:createEventEmitter,aggregate:function(emitters){var aggregate=createEventEmitter();return emitters.forEach(function(emitter){emitter.on(function(event,data){aggregate.emit(event,data)})}),aggregate}}})},function(module,exports){(function(__webpack_amd_options__){module.exports=__webpack_amd_options__}).call(exports,{})},function(module,exports){module.exports={Client:window.WebSocket}},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){function when(x,onFulfilled,onRejected,onProgress){var p=Promise.resolve(x);return arguments.length<2?p:p.then(onFulfilled,onRejected,onProgress)}function promise(resolver){return new Promise(resolver)}function lift(f){return function(){for(var i=0,l=arguments.length,a=new Array(l);i<l;++i)a[i]=arguments[i];return apply(f,this,a)}}function attempt(f){for(var i=0,l=arguments.length-1,a=new Array(l);i<l;++i)a[i]=arguments[i+1];return apply(f,this,a)}function defer(){return new Deferred}function Deferred(){function resolve(x){p._handler.resolve(x)}function reject(x){p._handler.reject(x)}function notify(x){p._handler.notify(x)}var p=Promise._defer();this.promise=p,this.resolve=resolve,this.reject=reject,this.notify=notify,this.resolver={resolve:resolve,reject:reject,notify:notify}}function isPromiseLike(x){return x&&"function"==typeof x.then}function join(){return Promise.all(arguments)}function all(promises){return when(promises,Promise.all)}function settle(promises){return when(promises,Promise.settle)}function map(promises,mapFunc){return when(promises,function(promises){return Promise.map(promises,mapFunc)})}function filter(promises,predicate){return when(promises,function(promises){return Promise.filter(promises,predicate)})}var timed=__webpack_require__(209),array=__webpack_require__(211),flow=__webpack_require__(212),fold=__webpack_require__(213),inspect=__webpack_require__(214),generate=__webpack_require__(215),progress=__webpack_require__(216),withThis=__webpack_require__(217),unhandledRejection=__webpack_require__(218),TimeoutError=__webpack_require__(93),Promise=[array,flow,fold,generate,progress,inspect,withThis,timed,unhandledRejection].reduce(function(Promise,feature){return feature(Promise)},__webpack_require__(220)),apply=__webpack_require__(95)(Promise);return when.promise=promise,when.resolve=Promise.resolve,when.reject=Promise.reject,when.lift=lift,when.try=attempt,when.attempt=attempt,when.iterate=Promise.iterate,when.unfold=Promise.unfold,when.join=join,when.all=all,when.settle=settle,when.any=lift(Promise.any),when.some=lift(Promise.some),when.race=lift(Promise.race),when.map=map,when.filter=filter,when.reduce=lift(Promise.reduce),when.reduceRight=lift(Promise.reduceRight),when.isPromiseLike=isPromiseLike,when.Promise=Promise,when.defer=defer,when.TimeoutError=TimeoutError,when}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){function setTimeout(f,ms,x,y){return env.setTimer(function(){f(x,y,ms)},ms)}var env=__webpack_require__(60),TimeoutError=__webpack_require__(93);return function(Promise){function handleDelay(ms,x,h){setTimeout(resolveDelay,ms,x,h)}function resolveDelay(x,h){h.resolve(x)}function onTimeout(reason,h,ms){var e=void 0===reason?new TimeoutError("timed out after "+ms+"ms"):reason;h.reject(e)}return Promise.prototype.delay=function(ms){var p=this._beget();return this._handler.fold(handleDelay,ms,void 0,p._handler),p},Promise.prototype.timeout=function(ms,reason){var p=this._beget(),h=p._handler,t=setTimeout(onTimeout,ms,reason,p._handler);return this._handler.visit(h,function(x){env.clearTimer(t),this.resolve(x)},function(x){env.clearTimer(t),this.reject(x)},h.notify),p},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports){},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){var state=__webpack_require__(94),applier=__webpack_require__(95);return function(Promise){function any(promises){function handleFulfill(x){errors=null,this.resolve(x)}function handleReject(e){this.resolved||(errors.push(e),0==--pending&&this.reject(errors))}for(var h,x,p=Promise._defer(),resolver=p._handler,l=promises.length>>>0,pending=l,errors=[],i=0;i<l;++i)if(void 0!==(x=promises[i])||i in promises){if(h=Promise._handler(x),h.state()>0){resolver.become(h),Promise._visitRemaining(promises,i,h);break}h.visit(resolver,handleFulfill,handleReject)}else--pending;return 0===pending&&resolver.reject(new RangeError("any(): array must not be empty")),p}function some(promises,n){function fulfill(x){this.resolved||(results.push(x),0==--nFulfill&&(errors=null,this.resolve(results)))}function reject(e){this.resolved||(errors.push(e),0==--nReject&&(results=null,this.reject(errors)))}var nReject,x,i,p=Promise._defer(),resolver=p._handler,results=[],errors=[],l=promises.length>>>0,nFulfill=0;for(i=0;i<l;++i)(void 0!==(x=promises[i])||i in promises)&&++nFulfill;for(n=Math.max(n,0),nReject=nFulfill-n+1,nFulfill=Math.min(n,nFulfill),n>nFulfill?resolver.reject(new RangeError("some(): array must contain at least "+n+" item(s), but had "+nFulfill)):0===nFulfill&&resolver.resolve(results),i=0;i<l;++i)(void 0!==(x=promises[i])||i in promises)&&Promise._handler(x).visit(resolver,fulfill,reject,resolver.notify);return p}function map(promises,f){return Promise._traverse(f,promises)}function filter(promises,predicate){var a=slice.call(promises);return Promise._traverse(predicate,a).then(function(keep){return filterSync(a,keep)})}function filterSync(promises,keep){for(var l=keep.length,filtered=new Array(l),i=0,j=0;i<l;++i)keep[i]&&(filtered[j++]=Promise._handler(promises[i]).value);return filtered.length=j,filtered}function settle(promises){return all(promises.map(settleOne))}function settleOne(p){var handler;return p instanceof Promise&&(handler=p._handler.join()),handler&&0===handler.state()||!handler?toPromise(p).then(state.fulfilled,state.rejected):(handler._unreport(),state.inspect(handler))}function reduce(promises,f){return arguments.length>2?ar.call(promises,liftCombine(f),arguments[2]):ar.call(promises,liftCombine(f))}function reduceRight(promises,f){return arguments.length>2?arr.call(promises,liftCombine(f),arguments[2]):arr.call(promises,liftCombine(f))}function liftCombine(f){return function(z,x,i){return applyFold(f,void 0,[z,x,i])}}var applyFold=applier(Promise),toPromise=Promise.resolve,all=Promise.all,ar=Array.prototype.reduce,arr=Array.prototype.reduceRight,slice=Array.prototype.slice;return Promise.any=any,Promise.some=some,Promise.settle=settle,Promise.map=map,Promise.filter=filter,Promise.reduce=reduce,Promise.reduceRight=reduceRight,Promise.prototype.spread=function(onFulfilled){return this.then(all).then(function(array){return onFulfilled.apply(this,array)})},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function rejectInvalidPredicate(){throw new TypeError("catch predicate must be a function")}function evaluatePredicate(e,predicate){return isError(predicate)?e instanceof predicate:predicate(e)}function isError(predicate){return predicate===Error||null!=predicate&&predicate.prototype instanceof Error}function maybeThenable(x){return("object"==typeof x||"function"==typeof x)&&null!==x}function identity(x){return x}return function(Promise){function createCatchFilter(handler,predicate){return function(e){return evaluatePredicate(e,predicate)?handler.call(this,e):reject(e)}}function runSideEffect(handler,thisArg,propagate,value){var result=handler.call(thisArg);return maybeThenable(result)?propagateValue(result,propagate,value):propagate(value)}function propagateValue(result,propagate,x){return resolve(result).then(function(){return propagate(x)})}var resolve=Promise.resolve,reject=Promise.reject,origCatch=Promise.prototype.catch;return Promise.prototype.done=function(onResult,onError){this._handler.visit(this._handler.receiver,onResult,onError)},Promise.prototype.catch=Promise.prototype.otherwise=function(onRejected){return arguments.length<2?origCatch.call(this,onRejected):"function"!=typeof onRejected?this.ensure(rejectInvalidPredicate):origCatch.call(this,createCatchFilter(arguments[1],onRejected))},Promise.prototype.finally=Promise.prototype.ensure=function(handler){return"function"!=typeof handler?this:this.then(function(x){return runSideEffect(handler,this,identity,x)},function(e){return runSideEffect(handler,this,reject,e)})},Promise.prototype.else=Promise.prototype.orElse=function(defaultValue){return this.then(void 0,function(){return defaultValue})},Promise.prototype.yield=function(value){return this.then(function(){return value})},Promise.prototype.tap=function(onFulfilledSideEffect){return this.then(onFulfilledSideEffect).yield(this)},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){return Promise.prototype.fold=function(f,z){var promise=this._beget();return this._handler.fold(function(z,x,to){Promise._handler(z).fold(function(x,z,to){to.resolve(f.call(this,z,x))},x,this,to)},z,promise._handler.receiver,promise._handler),promise},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){var inspect=__webpack_require__(94).inspect;return function(Promise){return Promise.prototype.inspect=function(){return inspect(Promise._handler(this))},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){function iterate(f,condition,handler,x){return unfold(function(x){return[x,f(x)]},condition,handler,x)}function unfold(unspool,condition,handler,x){function next(item,newSeed){return resolve(handler(item)).then(function(){return unfold(unspool,condition,handler,newSeed)})}return resolve(x).then(function(seed){return resolve(condition(seed)).then(function(done){return done?seed:resolve(unspool(seed)).spread(next)})})}var resolve=Promise.resolve;return Promise.iterate=iterate,Promise.unfold=unfold,Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){return Promise.prototype.progress=function(onProgress){return this.then(void 0,void 0,onProgress)},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(Promise){return Promise.prototype.with=Promise.prototype.withThis=function(receiver){var p=this._beget(),child=p._handler;return child.receiver=receiver,this._handler.chain(child,receiver),p},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){function throwit(e){throw e}function noop(){}var setTimer=__webpack_require__(60).setTimer,format=__webpack_require__(219);return function(Promise){function report(r){r.handled||(reported.push(r),logError("Potentially unhandled rejection ["+r.id+"] "+format.formatError(r.value)))}function unreport(r){var i=reported.indexOf(r);i>=0&&(reported.splice(i,1),logInfo("Handled previous rejection ["+r.id+"] "+format.formatObject(r.value)))}function enqueue(f,x){tasks.push(f,x),null===running&&(running=setTimer(flush,0))}function flush(){for(running=null;tasks.length>0;)tasks.shift()(tasks.shift())}var localConsole,logError=noop,logInfo=noop;"undefined"!=typeof console&&(localConsole=console,logError=void 0!==localConsole.error?function(e){localConsole.error(e)}:function(e){localConsole.log(e)},logInfo=void 0!==localConsole.info?function(e){localConsole.info(e)}:function(e){localConsole.log(e)}),Promise.onPotentiallyUnhandledRejection=function(rejection){enqueue(report,rejection)},Promise.onPotentiallyUnhandledRejectionHandled=function(rejection){enqueue(unreport,rejection)},Promise.onFatalRejection=function(rejection){enqueue(throwit,rejection.value)};var tasks=[],reported=[],running=null;return Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function formatError(e){var s="object"==typeof e&&null!==e&&(e.stack||e.message)?e.stack||e.message:formatObject(e);return e instanceof Error?s:s+" (WARNING: non-Error used)"}function formatObject(o){var s=String(o);return"[object Object]"===s&&"undefined"!=typeof JSON&&(s=tryStringify(o,s)),s}function tryStringify(x,defaultValue){try{return JSON.stringify(x)}catch(e){return defaultValue}}return{formatError:formatError,formatObject:formatObject,tryStringify:tryStringify}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(require){return __webpack_require__(221)({scheduler:new(__webpack_require__(222))(__webpack_require__(60).asap)})}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports,__webpack_require__){(function(process){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(environment){function Promise(resolver,handler){this._handler=resolver===Handler?handler:init(resolver)}function init(resolver){function promiseResolve(x){handler.resolve(x)}function promiseReject(reason){handler.reject(reason)}function promiseNotify(x){handler.notify(x)}var handler=new Pending;try{resolver(promiseResolve,promiseReject,promiseNotify)}catch(e){promiseReject(e)}return handler}function resolve(x){return isPromise(x)?x:new Promise(Handler,new Async(getHandler(x)))}function reject(x){return new Promise(Handler,new Async(new Rejected(x)))}function never(){return foreverPendingPromise}function defer(){return new Promise(Handler,new Pending)}function begetFrom(parent,Promise){return new Promise(Handler,new Pending(parent.receiver,parent.join().context))}function all(promises){return traverseWith(snd,null,promises)}function traverse(f,promises){return traverseWith(tryCatch2,f,promises)}function traverseWith(tryMap,f,promises){function mapAt(i,x,resolver){resolver.resolved||traverseAt(promises,settleAt,i,tryMap(f,x,i),resolver)}function settleAt(i,x,resolver){results[i]=x,0==--pending&&resolver.become(new Fulfilled(results))}for(var x,handler="function"==typeof f?mapAt:settleAt,resolver=new Pending,pending=promises.length>>>0,results=new Array(pending),i=0;i<promises.length&&!resolver.resolved;++i)x=promises[i],void 0!==x||i in promises?traverseAt(promises,handler,i,x,resolver):--pending;return 0===pending&&resolver.become(new Fulfilled(results)),new Promise(Handler,resolver)}function traverseAt(promises,handler,i,x,resolver){if(maybeThenable(x)){var h=getHandlerMaybeThenable(x),s=h.state();0===s?h.fold(handler,i,void 0,resolver):s>0?handler(i,h.value,resolver):(resolver.become(h),visitRemaining(promises,i+1,h))}else handler(i,x,resolver)}function visitRemaining(promises,start,handler){for(var i=start;i<promises.length;++i)markAsHandled(getHandler(promises[i]),handler)}function markAsHandled(h,handler){if(h!==handler){var s=h.state();0===s?h.visit(h,void 0,h._unreport):s<0&&h._unreport()}}function race(promises){return"object"!=typeof promises||null===promises?reject(new TypeError("non-iterable passed to race()")):0===promises.length?never():1===promises.length?resolve(promises[0]):runRace(promises)}function runRace(promises){var i,x,h,resolver=new Pending;for(i=0;i<promises.length;++i)if(void 0!==(x=promises[i])||i in promises){if(h=getHandler(x),0!==h.state()){resolver.become(h),visitRemaining(promises,i+1,h);break}h.visit(resolver,resolver.resolve,resolver.reject)}return new Promise(Handler,resolver)}function getHandler(x){return isPromise(x)?x._handler.join():maybeThenable(x)?getHandlerUntrusted(x):new Fulfilled(x)}function getHandlerMaybeThenable(x){return isPromise(x)?x._handler.join():getHandlerUntrusted(x)}function getHandlerUntrusted(x){try{var untrustedThen=x.then;return"function"==typeof untrustedThen?new Thenable(untrustedThen,x):new Fulfilled(x)}catch(e){return new Rejected(e)}}function Handler(){}function FailIfRejected(){}function Pending(receiver,inheritedContext){Promise.createContext(this,inheritedContext),this.consumers=void 0,this.receiver=receiver,this.handler=void 0,this.resolved=!1}function Async(handler){this.handler=handler}function Thenable(then,thenable){Pending.call(this),tasks.enqueue(new AssimilateTask(then,thenable,this))}function Fulfilled(x){Promise.createContext(this),this.value=x}function Rejected(x){Promise.createContext(this),this.id=++errorId,this.value=x,this.handled=!1,this.reported=!1,this._report()}function ReportTask(rejection,context){this.rejection=rejection,this.context=context}function UnreportTask(rejection){this.rejection=rejection}function cycle(){return new Rejected(new TypeError("Promise cycle"))}function ContinuationTask(continuation,handler){this.continuation=continuation,this.handler=handler}function ProgressTask(value,handler){this.handler=handler,this.value=value}function AssimilateTask(then,thenable,resolver){this._then=then,this.thenable=thenable,this.resolver=resolver}function tryAssimilate(then,thenable,resolve,reject,notify){try{then.call(thenable,resolve,reject,notify)}catch(e){reject(e)}}function Fold(f,z,c,to){this.f=f,this.z=z,this.c=c,this.to=to,this.resolver=failIfRejected,this.receiver=this}function isPromise(x){return x instanceof Promise}function maybeThenable(x){return("object"==typeof x||"function"==typeof x)&&null!==x}function runContinuation1(f,h,receiver,next){if("function"!=typeof f)return next.become(h);Promise.enterContext(h),tryCatchReject(f,h.value,receiver,next),Promise.exitContext()}function runContinuation3(f,x,h,receiver,next){if("function"!=typeof f)return next.become(h);Promise.enterContext(h),tryCatchReject3(f,x,h.value,receiver,next),Promise.exitContext()}function runNotify(f,x,h,receiver,next){if("function"!=typeof f)return next.notify(x);Promise.enterContext(h),tryCatchReturn(f,x,receiver,next),Promise.exitContext()}function tryCatch2(f,a,b){try{return f(a,b)}catch(e){return reject(e)}}function tryCatchReject(f,x,thisArg,next){try{next.become(getHandler(f.call(thisArg,x)))}catch(e){next.become(new Rejected(e))}}function tryCatchReject3(f,x,y,thisArg,next){try{f.call(thisArg,x,y,next)}catch(e){next.become(new Rejected(e))}}function tryCatchReturn(f,x,thisArg,next){try{next.notify(f.call(thisArg,x))}catch(e){next.notify(e)}}function inherit(Parent,Child){Child.prototype=objectCreate(Parent.prototype),Child.prototype.constructor=Child}function snd(x,y){return y}function noop(){}function hasCustomEvent(){if("function"==typeof CustomEvent)try{return new CustomEvent("unhandledRejection")instanceof CustomEvent}catch(ignoredException){}return!1}function hasInternetExplorerCustomEvent(){if("undefined"!=typeof document&&"function"==typeof document.createEvent)try{return document.createEvent("CustomEvent").initCustomEvent("eventType",!1,!0,{}),!0}catch(ignoredException){}return!1}var tasks=environment.scheduler,emitRejection=function(){return void 0!==process&&null!==process&&"function"==typeof process.emit?function(type,rejection){return"unhandledRejection"===type?process.emit(type,rejection.value,rejection):process.emit(type,rejection)}:"undefined"!=typeof self&&hasCustomEvent()?function(self,CustomEvent){return function(type,rejection){var ev=new CustomEvent(type,{detail:{reason:rejection.value,key:rejection},bubbles:!1,cancelable:!0});return!self.dispatchEvent(ev)}}(self,CustomEvent):"undefined"!=typeof self&&hasInternetExplorerCustomEvent()?function(self,document){return function(type,rejection){var ev=document.createEvent("CustomEvent");return ev.initCustomEvent(type,!1,!0,{reason:rejection.value,key:rejection}),!self.dispatchEvent(ev)}}(self,document):noop}(),objectCreate=Object.create||function(proto){function Child(){}return Child.prototype=proto,new Child};Promise.resolve=resolve,Promise.reject=reject,Promise.never=never,Promise._defer=defer,Promise._handler=getHandler,Promise.prototype.then=function(onFulfilled,onRejected,onProgress){var parent=this._handler,state=parent.join().state();if("function"!=typeof onFulfilled&&state>0||"function"!=typeof onRejected&&state<0)return new this.constructor(Handler,parent);var p=this._beget(),child=p._handler;return parent.chain(child,parent.receiver,onFulfilled,onRejected,onProgress),p},Promise.prototype.catch=function(onRejected){return this.then(void 0,onRejected)},Promise.prototype._beget=function(){return begetFrom(this._handler,this.constructor)},Promise.all=all,Promise.race=race,Promise._traverse=traverse,Promise._visitRemaining=visitRemaining,Handler.prototype.when=Handler.prototype.become=Handler.prototype.notify=Handler.prototype.fail=Handler.prototype._unreport=Handler.prototype._report=noop,Handler.prototype._state=0,Handler.prototype.state=function(){return this._state},Handler.prototype.join=function(){for(var h=this;void 0!==h.handler;)h=h.handler;return h},Handler.prototype.chain=function(to,receiver,fulfilled,rejected,progress){this.when({resolver:to,receiver:receiver,fulfilled:fulfilled,rejected:rejected,progress:progress})},Handler.prototype.visit=function(receiver,fulfilled,rejected,progress){this.chain(failIfRejected,receiver,fulfilled,rejected,progress)},Handler.prototype.fold=function(f,z,c,to){this.when(new Fold(f,z,c,to))},inherit(Handler,FailIfRejected),FailIfRejected.prototype.become=function(h){h.fail()};var failIfRejected=new FailIfRejected;inherit(Handler,Pending),Pending.prototype._state=0,Pending.prototype.resolve=function(x){this.become(getHandler(x))},Pending.prototype.reject=function(x){this.resolved||this.become(new Rejected(x))},Pending.prototype.join=function(){if(!this.resolved)return this;for(var h=this;void 0!==h.handler;)if((h=h.handler)===this)return this.handler=cycle();return h},Pending.prototype.run=function(){var q=this.consumers,handler=this.handler;this.handler=this.handler.join(),this.consumers=void 0;for(var i=0;i<q.length;++i)handler.when(q[i])},Pending.prototype.become=function(handler){this.resolved||(this.resolved=!0,this.handler=handler,void 0!==this.consumers&&tasks.enqueue(this),void 0!==this.context&&handler._report(this.context))},Pending.prototype.when=function(continuation){this.resolved?tasks.enqueue(new ContinuationTask(continuation,this.handler)):void 0===this.consumers?this.consumers=[continuation]:this.consumers.push(continuation)},Pending.prototype.notify=function(x){this.resolved||tasks.enqueue(new ProgressTask(x,this))},Pending.prototype.fail=function(context){var c=void 0===context?this.context:context;this.resolved&&this.handler.join().fail(c)},Pending.prototype._report=function(context){this.resolved&&this.handler.join()._report(context)},Pending.prototype._unreport=function(){this.resolved&&this.handler.join()._unreport()},inherit(Handler,Async),Async.prototype.when=function(continuation){tasks.enqueue(new ContinuationTask(continuation,this))},Async.prototype._report=function(context){this.join()._report(context)},Async.prototype._unreport=function(){this.join()._unreport()},inherit(Pending,Thenable),inherit(Handler,Fulfilled),Fulfilled.prototype._state=1,Fulfilled.prototype.fold=function(f,z,c,to){runContinuation3(f,z,this,c,to)},Fulfilled.prototype.when=function(cont){runContinuation1(cont.fulfilled,this,cont.receiver,cont.resolver)};var errorId=0;inherit(Handler,Rejected),Rejected.prototype._state=-1,Rejected.prototype.fold=function(f,z,c,to){to.become(this)},Rejected.prototype.when=function(cont){"function"==typeof cont.rejected&&this._unreport(),runContinuation1(cont.rejected,this,cont.receiver,cont.resolver)},Rejected.prototype._report=function(context){tasks.afterQueue(new ReportTask(this,context))},Rejected.prototype._unreport=function(){this.handled||(this.handled=!0,tasks.afterQueue(new UnreportTask(this)))},Rejected.prototype.fail=function(context){this.reported=!0,emitRejection("unhandledRejection",this),Promise.onFatalRejection(this,void 0===context?this.context:context)},ReportTask.prototype.run=function(){this.rejection.handled||this.rejection.reported||(this.rejection.reported=!0,emitRejection("unhandledRejection",this.rejection)||Promise.onPotentiallyUnhandledRejection(this.rejection,this.context))},UnreportTask.prototype.run=function(){this.rejection.reported&&(emitRejection("rejectionHandled",this.rejection)||Promise.onPotentiallyUnhandledRejectionHandled(this.rejection))},Promise.createContext=Promise.enterContext=Promise.exitContext=Promise.onPotentiallyUnhandledRejection=Promise.onPotentiallyUnhandledRejectionHandled=Promise.onFatalRejection=noop;var foreverPendingHandler=new Handler,foreverPendingPromise=new Promise(Handler,foreverPendingHandler);return ContinuationTask.prototype.run=function(){this.handler.join().when(this.continuation)},ProgressTask.prototype.run=function(){var q=this.handler.consumers;if(void 0!==q)for(var c,i=0;i<q.length;++i)c=q[i],runNotify(c.progress,this.value,this.handler,c.receiver,c.resolver)},AssimilateTask.prototype.run=function(){function _resolve(x){h.resolve(x)}function _reject(x){h.reject(x)}function _notify(x){h.notify(x)}var h=this.resolver;tryAssimilate(this._then,this.thenable,_resolve,_reject,_notify)},Fold.prototype.fulfilled=function(x){this.f.call(this.c,this.z,x,this.to)},Fold.prototype.rejected=function(x){this.to.reject(x)},Fold.prototype.progress=function(x){this.to.notify(x)},Promise}}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))}).call(exports,__webpack_require__(92))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */
|
||
!function(define){"use strict";void 0!==(__WEBPACK_AMD_DEFINE_RESULT__=function(){function Scheduler(async){this._async=async,this._running=!1,this._queue=this,this._queueLen=0,this._afterQueue={},this._afterQueueLen=0;var self=this;this.drain=function(){self._drain()}}return Scheduler.prototype.enqueue=function(task){this._queue[this._queueLen++]=task,this.run()},Scheduler.prototype.afterQueue=function(task){this._afterQueue[this._afterQueueLen++]=task,this.run()},Scheduler.prototype.run=function(){this._running||(this._running=!0,this._async(this.drain))},Scheduler.prototype._drain=function(){for(var i=0;i<this._queueLen;++i)this._queue[i].run(),this._queue[i]=void 0;for(this._queueLen=0,this._running=!1,i=0;i<this._afterQueueLen;++i)this._afterQueue[i].run(),this._afterQueue[i]=void 0;this._afterQueueLen=0},Scheduler}.call(exports,__webpack_require__,exports,module))&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(__webpack_require__(16))},function(module,exports){!function(){var base64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",crypt={rotl:function(n,b){return n<<b|n>>>32-b},rotr:function(n,b){return n<<32-b|n>>>b},endian:function(n){if(n.constructor==Number)return 16711935&crypt.rotl(n,8)|4278255360&crypt.rotl(n,24);for(var i=0;i<n.length;i++)n[i]=crypt.endian(n[i]);return n},randomBytes:function(n){for(var bytes=[];n>0;n--)bytes.push(Math.floor(256*Math.random()));return bytes},bytesToWords:function(bytes){for(var words=[],i=0,b=0;i<bytes.length;i++,b+=8)words[b>>>5]|=bytes[i]<<24-b%32;return words},wordsToBytes:function(words){for(var bytes=[],b=0;b<32*words.length;b+=8)bytes.push(words[b>>>5]>>>24-b%32&255);return bytes},bytesToHex:function(bytes){for(var hex=[],i=0;i<bytes.length;i++)hex.push((bytes[i]>>>4).toString(16)),hex.push((15&bytes[i]).toString(16));return hex.join("")},hexToBytes:function(hex){for(var bytes=[],c=0;c<hex.length;c+=2)bytes.push(parseInt(hex.substr(c,2),16));return bytes},bytesToBase64:function(bytes){for(var base64=[],i=0;i<bytes.length;i+=3)for(var triplet=bytes[i]<<16|bytes[i+1]<<8|bytes[i+2],j=0;j<4;j++)8*i+6*j<=8*bytes.length?base64.push(base64map.charAt(triplet>>>6*(3-j)&63)):base64.push("=");return base64.join("")},base64ToBytes:function(base64){base64=base64.replace(/[^A-Z0-9+\/]/gi,"");for(var bytes=[],i=0,imod4=0;i<base64.length;imod4=++i%4)0!=imod4&&bytes.push((base64map.indexOf(base64.charAt(i-1))&Math.pow(2,-2*imod4+8)-1)<<2*imod4|base64map.indexOf(base64.charAt(i))>>>6-2*imod4);return bytes}};module.exports=crypt}()},function(module,exports){function isBuffer(obj){return!!obj.constructor&&"function"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return"function"==typeof obj.readFloatLE&&"function"==typeof obj.slice&&isBuffer(obj.slice(0,0))}/*!
|
||
* Determine if an object is a Buffer
|
||
*
|
||
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
||
* @license MIT
|
||
*/
|
||
module.exports=function(obj){return null!=obj&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var helpers=__webpack_require__(1),coreActions=__webpack_require__(10),lastfmActions=__webpack_require__(20),LastfmMiddleware=function(){return function(store){return function(next){return function(action){switch(action.type){case"LASTFM_ME_LOADED":var me=helpers.formatUser(action.me);Object.assign(me,{uri:"lastfm:user:"+me.name}),store.dispatch(coreActions.userLoaded(me)),action.me=me,next(action);break;case"LASTFM_IMPORT_AUTHORIZATION":setTimeout(function(){store.dispatch(lastfmActions.getMe())},100),next(action);break;default:return next(action)}}}}}();exports.default=LastfmMiddleware},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var helpers=__webpack_require__(1),coreActions=__webpack_require__(10),geniusActions=__webpack_require__(37),GeniusMiddleware=function(){return function(store){return function(next){return function(action){store.getState();switch(action.type){case"GENIUS_ME_LOADED":var me=helpers.formatUser(action.me);Object.assign(me,{uri:"genius:user:"+me.id}),store.dispatch({type:"GENIUS_USER_LOADED",user:action.me}),action.me=me,next(action);break;case"GENIUS_USER_LOADED":var user=helpers.formatUser(action.user);Object.assign(user,{uri:"genius:user:"+user.id}),store.dispatch(coreActions.userLoaded(user)),action.user=user,next(action);break;case"GENIUS_IMPORT_AUTHORIZATION":setTimeout(function(){store.dispatch(geniusActions.getMe())},100),next(action);break;default:return next(action)}}}}}();exports.default=GeniusMiddleware},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(14),_reactGa2=_interopRequireDefault(_reactGa),_md=__webpack_require__(96),_md2=_interopRequireDefault(_md),helpers=__webpack_require__(1),coreActions=__webpack_require__(10),spotifyActions=__webpack_require__(7),pusherActions=(__webpack_require__(3),__webpack_require__(13)),SpotifyMiddleware=function(){return function(store){return function(next){return function(action){var spotify=store.getState().spotify;switch(action.type){case"SPOTIFY_AUTHORIZATION_GRANTED":store.getState().ui.allow_reporting&&_reactGa2.default.event({category:"Spotify",action:"Authorization granted"}),store.dispatch(spotifyActions.flushLibrary()),next(action);break;case"SPOTIFY_AUTHORIZATION_REVOKED":if(store.getState().ui.allow_reporting){var hashed_username=null;store.getState().spotify.me&&(hashed_username=(0,_md2.default)(store.getState().spotify.me),_reactGa2.default.set({userId:hashed_username})),_reactGa2.default.event({category:"Spotify",action:"Authorization revoked",label:hashed_username})}next(action),store.dispatch(spotifyActions.getMe()),store.dispatch(spotifyActions.flushLibrary());break;case"SPOTIFY_IMPORT_AUTHORIZATION":store.dispatch(spotifyActions.flushLibrary()),setTimeout(function(){store.dispatch(spotifyActions.getMe())},100),next(action);break;case"SPOTIFY_RECOMMENDATIONS_LOADED":store.getState().ui.allow_reporting&&action.seeds_uris&&_reactGa2.default.event({category:"Spotify",action:"Recommendations",label:action.seeds_uris.join(",")}),next(action);break;case"SPOTIFY_USER_LOADED":store.getState().ui.allow_reporting&&action.data&&_reactGa2.default.event({category:"User",action:"Load",label:action.data.uri}),next(action);break;case"SPOTIFY_CREATE_PLAYLIST":store.dispatch(spotifyActions.createPlaylist(action.name,action.description,action.is_private,action.is_collaborative));break;case"SPOTIFY_REMOVE_PLAYLIST_TRACKS":var playlist=Object.assign({},store.getState().core.playlists[action.key]);store.dispatch(spotifyActions.deleteTracksFromPlaylist(playlist.uri,playlist.snapshot_id,action.tracks_indexes));break;case"SPOTIFY_ADD_PLAYLIST_TRACKS":store.dispatch(spotifyActions.addTracksToPlaylist(action.key,action.tracks_uris));break;case"SPOTIFY_REORDER_PLAYLIST_TRACKS":store.dispatch(spotifyActions.reorderPlaylistTracks(action.key,action.range_start,action.range_length,action.insert_before,action.snapshot_id));break;case"SPOTIFY_SAVE_PLAYLIST":store.dispatch(spotifyActions.savePlaylist(action.key,action.name,action.description,action.is_public,action.is_collaborative,action.image));break;case"SPOTIFY_NEW_RELEASES_LOADED":store.dispatch({type:"ALBUMS_LOADED",albums:action.data.albums.items}),action.uris=helpers.arrayOf("uri",action.data.albums.items),action.more=action.data.albums.next,action.total=action.data.albums.total,next(action);break;case"SPOTIFY_ARTIST_ALBUMS_LOADED":store.dispatch(coreActions.albumsLoaded(action.data.items)),store.dispatch({type:"ARTIST_ALBUMS_LOADED",artist_uri:action.artist_uri,albums_uris:helpers.arrayOf("uri",action.data.items),more:action.data.next,total:action.data.total});break;case"SPOTIFY_USER_PLAYLISTS_LOADED":for(var playlists=[],i=0;i<action.data.items.length;i++){var playlist=Object.assign({},action.data.items[i],{tracks_total:action.data.items[i].tracks.total});delete playlist.tracks,playlists.push(playlist)}store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),store.dispatch({type:"USER_PLAYLISTS_LOADED",key:action.key,uris:helpers.arrayOf("uri",playlists),more:action.data.next,total:action.data.total});break;case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED":store.dispatch(coreActions.playlistsLoaded(action.playlists.items)),action.uris=helpers.arrayOf("uri",action.playlists.items),action.more=action.playlists.next,action.total=action.playlists.total,delete action.playlists,action.uris=helpers.upgradeSpotifyPlaylistUris(action.uris),next(action);break;case"SPOTIFY_CATEGORY_PLAYLISTS_LOADED_MORE":store.dispatch({type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED",uri:action.uri,playlists:action.data.playlists});break;case"SPOTIFY_CATEGORY_LOADED":store.dispatch({type:"SPOTIFY_CATEGORIES_LOADED",categories:[action.category]});break;case"SPOTIFY_CATEGORIES_LOADED":var categories_index=Object.assign({},spotify.categories),categories_loaded=[],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=action.categories[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var raw_category=_step.value,category=Object.assign({},raw_category);category.uri||(category.uri="category:"+category.id),void 0!==categories_index[category.uri]&&(category=Object.assign({},categories_index[category.uri],category)),category.icons&&(category.icons=helpers.formatImages(category.icons)),categories_loaded.push(category)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}action.categories=categories_loaded,next(action);break;case"SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR":store.dispatch(spotifyActions.getLibraryPlaylistsProcessor(action.data));break;case"SPOTIFY_LIBRARY_PLAYLISTS_LOADED":var playlists=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=action.playlists[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var playlist=_step2.value;Object.assign(playlist,{uri:playlist.uri.replace(/spotify:user:([^:]*?):/i,"spotify:"),source:"spotify",in_library:!0,tracks_total:playlist.tracks.total}),delete playlist.tracks,playlists.push(playlist)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),action.uris=helpers.arrayOf("uri",playlists),next(action);break;case"SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR":store.dispatch(spotifyActions.getLibraryArtistsProcessor(action.data));break;case"SPOTIFY_LIBRARY_ARTISTS_LOADED":for(var artists=[],i=0;i<action.artists.length;i++)artists.push(Object.assign({},action.artists[i],{source:"spotify",in_library:!0}));store.dispatch({type:"ARTISTS_LOADED",artists:artists}),action.uris=helpers.arrayOf("uri",artists),next(action);break;case"SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR":store.dispatch(spotifyActions.getLibraryAlbumsProcessor(action.data));break;case"SPOTIFY_GET_PLAYLIST_TRACKS_AND_PLAY_PROCESSOR":store.dispatch(spotifyActions.getPlaylistTracksAndPlayProcessor(action.data));break;case"SPOTIFY_GET_LIBRARY_TRACKS_AND_PLAY_PROCESSOR":store.dispatch(spotifyActions.getLibraryTracksAndPlayProcessor(action.data));break;case"SPOTIFY_LIBRARY_ALBUMS_LOADED":for(var albums=[],i=0;i<action.albums.length;i++)albums.push(Object.assign({},action.albums[i].album,{in_library:!0,source:"spotify",added_at:action.albums[i].added_at,tracks:action.albums[i].album.tracks.items,tracks_more:action.albums[i].album.tracks.next,tracks_total:action.albums[i].album.tracks.total}));store.dispatch({type:"ALBUMS_LOADED",albums:albums}),action.uris=helpers.arrayOf("uri",albums),next(action);break;case"SPOTIFY_FAVORITES_LOADED":action.artists.length>0&&(store.dispatch({type:"ARTISTS_LOADED",artists:action.artists}),action.artists_uris=helpers.arrayOf("uri",action.artists)),action.tracks.length>0&&(store.dispatch({type:"TRACKS_LOADED",tracks:action.tracks}),action.tracks_uris=helpers.arrayOf("uri",action.tracks)),next(action);break;case"SPOTIFY_LIBRARY_TRACKS_LOADED":case"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE":action.data&&store.dispatch({type:"TRACKS_LOADED",tracks:action.data.items}),next(action);break;case"SPOTIFY_TRACK_LOADED":store.dispatch({type:"TRACKS_LOADED",tracks:[action.data]}),next(action);break;case"SEARCH_STARTED":store.dispatch({type:"SPOTIFY_CLEAR_SEARCH_RESULTS"}),next(action);break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_TRACKS":store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"tracks",results:helpers.formatTracks(action.data.tracks.items),more:action.data.tracks.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ARTISTS":store.dispatch({type:"ARTISTS_LOADED",artists:action.data.artists.items}),store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"artists",results:helpers.arrayOf("uri",action.data.playlists.items),more:action.data.playlists.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_ALBUMS":store.dispatch({type:"ALBUMS_LOADED",albums:action.data.albums.items}),store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:helpers.arrayOf("uri",action.data.albums.items),more:action.data.albums.next});break;case"SPOTIFY_SEARCH_RESULTS_LOADED_MORE_PLAYLISTS":for(var playlists=[],i=0;i<action.data.playlists.items.length;i++)playlists.push(Object.assign({},action.data.playlists.items[i],{tracks_total:action.data.playlists.items[i].tracks.total}));store.dispatch({type:"PLAYLISTS_LOADED",playlists:playlists}),store.dispatch({type:"SPOTIFY_SEARCH_RESULTS_LOADED",context:"playlists",results:helpers.arrayOf("uri",action.data.playlists.items),more:action.data.playlists.next});break;case"SPOTIFY_ME_LOADED":var me=Object.assign({},helpers.formatUser(action.me));if("Anonymous"==store.getState().pusher.username&&store.dispatch(pusherActions.setUsername(me.name)),store.getState().ui.allow_reporting){var hashed_username=(0,_md2.default)(me.id);_reactGa2.default.set({userId:hashed_username}),_reactGa2.default.event({category:"Spotify",action:"Authorization verified",label:hashed_username})}store.dispatch(coreActions.userLoaded(me)),action.me=me,next(action);break;default:return next(action)}}}}}();exports.default=SpotifyMiddleware},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(14),helpers=(function(obj){obj&&obj.__esModule}(_reactGa),__webpack_require__(1)),coreActions=__webpack_require__(10),mopidyActions=__webpack_require__(6),uiActions=__webpack_require__(3),GoogleMiddleware=function(){var request=function(store,method){var params=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,response_callback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,error_callback=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;store.dispatch(mopidyActions.request(method,params,response_callback,error_callback))};return function(store){return function(next){return function(action){store.getState().google;switch(action.type){case"GOOGLE_GET_LIBRARY_ALBUMS":var last_run=store.getState().ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR;last_run?"cancelled"==last_run.status?store.dispatch(uiActions.resumeProcess("GOOGLE_LIBRARY_ALBUMS_PROCESSOR")):last_run.status:request(store,"library.browse",{uri:"gmusic:album"},function(response){if(!(response.length<=0)){var uris=helpers.arrayOf("uri",response);store.dispatch({type:"GOOGLE_LIBRARY_ALBUMS_LOADED",uris:uris}),store.dispatch(uiActions.startProcess("GOOGLE_LIBRARY_ALBUMS_PROCESSOR","Loading "+uris.length+" Google albums",{uris:uris,total:uris.length,remaining:uris.length}))}});break;case"GOOGLE_LIBRARY_ALBUMS_PROCESSOR":if(void 0!==store.getState().ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR){if("cancelling"==store.getState().ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR.status)return store.dispatch(uiActions.processCancelled("GOOGLE_LIBRARY_ALBUMS_PROCESSOR")),!1}var uris=Object.assign([],action.data.uris),uris_to_load=uris.splice(0,50);uris_to_load.length>0?(store.dispatch(uiActions.updateProcess("GOOGLE_LIBRARY_ALBUMS_PROCESSOR","Loading "+uris.length+" Google albums",{uris:uris,remaining:uris.length})),store.dispatch(mopidyActions.getAlbums(uris_to_load,{name:"GOOGLE_LIBRARY_ALBUMS_PROCESSOR",data:{uris:uris}}))):store.dispatch(uiActions.processFinishing("GOOGLE_LIBRARY_ALBUMS_PROCESSOR"));break;case"GOOGLE_GET_LIBRARY_ARTISTS":request(store,"library.browse",{uri:"gmusic:artist"},function(response){if(!(response.length<=0)){for(var uris=[],i=0;i<response.length;i++)response[i].uri=response[i].uri.replace("local:directory?albumartist=",""),uris.push(response[i].uri);store.dispatch(coreActions.artistsLoaded(response)),store.dispatch({type:"GOOGLE_LIBRARY_ARTISTS_LOADED",uris:uris})}},function(error){store.dispatch(coreActions.handleException("Could not load Google artists",error))});break;default:return next(action)}}}}}();exports.default=GoogleMiddleware},function(module,exports,__webpack_require__){"use strict";function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}Object.defineProperty(exports,"__esModule",{value:!0});var _reactGa=__webpack_require__(14),helpers=(function(obj){obj&&obj.__esModule}(_reactGa),__webpack_require__(1)),coreActions=__webpack_require__(10),pusherActions=(__webpack_require__(3),__webpack_require__(13)),snapcastActions=__webpack_require__(38),SnapcastMiddleware=function(){var request=function(store){var params=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,response_callback=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,error_callback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;store.dispatch(pusherActions.request("snapcast",params,response_callback,error_callback))};return function(store){return function(next){return function(action){var snapcast=store.getState().snapcast;switch(action.type){case"SNAPCAST_GET_SERVER":request(store,{method:"Server.GetStatus"},function(response){store.dispatch(snapcastActions.serverLoaded(response.server))},function(error){store.dispatch(coreActions.handleException("Could not get server",error))});break;case"SNAPCAST_SERVER_LOADED":store.dispatch(snapcastActions.groupsLoaded(action.server.groups,!0)),store.dispatch(snapcastActions.streamsLoaded(action.server.streams,!0)),action.server=action.server.server,next(action);break;case"SNAPCAST_GROUPS_LOADED":var groups_index=Object.assign({},snapcast.groups),groups_loaded=[],clients_loaded=[],_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=action.groups[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var raw_group=_step.value,group=helpers.formatGroup(raw_group);groups_index[group.id]&&(group=Object.assign({},groups_index[group.id],group)),raw_group.clients&&(group.clients_ids=helpers.arrayOf("id",raw_group.clients),clients_loaded=[].concat(_toConsumableArray(clients_loaded),_toConsumableArray(raw_group.clients))),groups_loaded.push(group)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}action.groups=groups_loaded,clients_loaded.length>0&&store.dispatch(snapcastActions.clientsLoaded(clients_loaded,action.flush)),next(action);break;case"SNAPCAST_CLIENTS_LOADED":var clients_index=Object.assign({},snapcast.clients),clients_loaded=[],_iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=action.clients[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var raw_client=_step2.value,client=helpers.formatClient(raw_client);clients_index[client.id]&&(client=Object.assign({},clients_index[client.id],client)),clients_loaded.push(client)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}action.clients=clients_loaded,next(action);break;case"SNAPCAST_SET_CLIENT_NAME":var client=snapcast.clients[action.id],data={method:"Client.SetName",params:{id:action.id,name:action.name}};request(store,data,function(response){store.dispatch(snapcastActions.clientLoaded({id:action.id,name:response.name}))});break;case"SNAPCAST_SET_CLIENT_MUTE":var client=store.getState().snapcast.clients[action.id],data={method:"Client.SetVolume",params:{id:action.id,volume:{muted:action.mute,percent:client.volume}}};request(store,data,function(response){store.dispatch(snapcastActions.clientLoaded({id:action.id,volume:response.volume.percent,mute:response.volume.muted}))},function(error){store.dispatch(coreActions.handleException("Error",error,error.message))});break;case"SNAPCAST_SET_CLIENT_VOLUME":var client=snapcast.clients[action.id],data={method:"Client.SetVolume",params:{id:action.id,volume:{muted:client.mute,percent:action.volume}}};request(store,data,function(response){store.dispatch(snapcastActions.clientLoaded({id:action.id,volume:response.volume.percent}))},function(error){store.dispatch(coreActions.handleException("Error",error,error.message))});break;case"SNAPCAST_SET_CLIENT_LATENCY":var client=store.getState().snapcast.clients[action.id],data={method:"Client.SetLatency",params:{id:action.id,latency:action.latency}};request(store,data,function(response){store.dispatch(snapcastActions.clientLoaded({id:action.id,latency:response.latency}))},function(error){store.dispatch(coreActions.handleException("Error",error,error.message))});break;case"SNAPCAST_SET_CLIENT_GROUP":var group=snapcast.groups[action.group_id],clients_ids=group.clients_ids,clients_ids_index=clients_ids.indexOf(action.id);clients_ids_index<=-1?clients_ids.push(action.id):clients_ids.splice(clients_ids_index,1);var data={method:"Group.SetClients",params:{id:action.group_id,clients:clients_ids}};request(store,data,function(response){store.dispatch(snapcastActions.serverLoaded(response.server))},function(error){store.dispatch(coreActions.handleException("Error",error,error.message))});break;case"SNAPCAST_DELETE_CLIENT":var data={method:"Server.DeleteClient",params:{id:action.id}};request(store,data,function(response){store.dispatch({type:"SNAPCAST_CLIENT_REMOVED",key:action.data.params.id})},function(error){store.dispatch(coreActions.handleException("Error",error,error.message))});break;case"SNAPCAST_SET_GROUP_STREAM":var group=store.getState().snapcast.groups[action.id],data={method:"Group.SetStream",params:{id:action.id,stream_id:action.stream_id}};request(store,data,function(response){store.dispatch(snapcastActions.groupLoaded({id:action.id,stream_id:action.stream_id}))},function(error){store.dispatch(coreActions.handleException("Could not change stream",error,error.message))});break;case"SNAPCAST_SET_GROUP_MUTE":var group=store.getState().snapcast.groups[action.id],data={method:"Group.SetMute",params:{id:action.id,mute:action.mute}};request(store,data,function(response){store.dispatch(snapcastActions.groupLoaded({id:action.id,muted:response.mute}))},function(error){store.dispatch(coreActions.handleException("Could not toggle mute",error,error.message))});break;case"SNAPCAST_SET_GROUP_VOLUME":var clients_to_update=[],group=snapcast.groups[action.id],change=action.percent-action.old_percent,_iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=group.clients_ids[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var client_id=_step3.value,client=snapcast.clients[client_id],current_volume=client.volume,new_volume=current_volume+change;(change>0&¤t_volume<100||change<0&¤t_volume>0)&&clients_to_update.push({id:client.id,volume:new_volume})}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}var _iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=clients_to_update[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var client_to_update=_step4.value,volume=client_to_update.volume+(group.clients_ids.length-clients_to_update.length)*change;volume<0?volume=0:volume>100&&(volume=100),store.dispatch(snapcastActions.setClientVolume(client_to_update.id,volume))}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4.return&&_iterator4.return()}finally{if(_didIteratorError4)throw _iteratorError4}}break;case"SNAPCAST_EVENT_RECEIVED":switch(action.method=action.method.replace("snapcast_",""),action.method){case"Client.OnConnect":store.dispatch(snapcastActions.clientLoaded({id:action.params.client.id,name:action.params.client.name,volume:action.params.client.volume.percent,mute:action.params.client.volume.muted,connected:action.params.client.connected}));break;case"Client.OnDisconnect":store.dispatch(snapcastActions.clientLoaded({id:action.params.client.id,connected:action.params.client.connected}));break;case"Client.OnVolumeChanged":store.dispatch(snapcastActions.clientLoaded({id:action.params.id,mute:action.params.volume.muted,volume:action.params.volume.percent}));break;case"Client.OnLatencyChanged":store.dispatch(snapcastActions.clientLoaded({id:action.params.id,latency:action.params.latency}));break;case"Client.OnNameChanged":store.dispatch(snapcastActions.clientLoaded({id:action.params.id,name:action.params.name}));break;case"Group.OnMute":store.dispatch(snapcastActions.groupLoaded({id:action.params.id,mute:action.params.mute}));break;case"Server.OnUpdate":store.dispatch(snapcastActions.serverLoaded(action.params))}break;default:return next(action)}}}}}();exports.default=SnapcastMiddleware},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var helpers=__webpack_require__(1),localstorageMiddleware=function(){return function(store){return function(next){return function(action){if(next(action),window._store=store,store.getState().ui.log_actions){["START_LOADING","STOP_LOADING"].includes(action.type)||console.log(action)}switch(action.type){case"PUSHER_CONNECTED":helpers.setStorage("pusher",{connection_id:action.connection_id});break;case"PUSHER_SET_PORT":helpers.setStorage("pusher",{port:action.port});break;case"PUSHER_USERNAME_CHANGED":helpers.setStorage("pusher",{username:action.username});break;case"MOPIDY_URISCHEMES_FILTERED":helpers.setStorage("mopidy",{uri_schemes:action.data});break;case"SPOTIFY_AUTHORIZATION_GRANTED":if(void 0!==action.authorization)var authorization=action.authorization;else if(action.data)var authorization=action.data;helpers.setStorage("spotify",{authorization:authorization,access_token:authorization.access_token,refresh_token:authorization.refresh_token,token_expiry:authorization.token_expiry});break;case"SPOTIFY_IMPORT_AUTHORIZATION":helpers.setStorage("spotify",{authorization:action.authorization,access_token:action.authorization.access_token,refresh_token:action.authorization.refresh_token,token_expiry:action.authorization.token_expiry,me:null});break;case"SPOTIFY_AUTHORIZATION_REVOKED":helpers.setStorage("spotify",{authorization:null,access_token:null,refresh_token:null,token_expiry:null,me:null});break;case"SPOTIFY_TOKEN_REFRESHED":helpers.setStorage("spotify",{access_token:action.data.access_token,token_expiry:action.data.token_expiry,provider:action.provider});break;case"SPOTIFY_ME_LOADED":helpers.setStorage("spotify",{me:action.me});break;case"LASTFM_ME_LOADED":helpers.setStorage("lastfm",{me:action.me});break;case"LASTFM_AUTHORIZATION_GRANTED":helpers.setStorage("lastfm",{authorization:action.data.session});break;case"LASTFM_AUTHORIZATION_REVOKED":helpers.setStorage("lastfm",{authorization:null,me:null});break;case"LASTFM_IMPORT_AUTHORIZATION":helpers.setStorage("lastfm",{authorization:action.authorization,me:null});break;case"GENIUS_ME_LOADED":helpers.setStorage("genius",{me:action.me});break;case"GENIUS_AUTHORIZATION_GRANTED":helpers.setStorage("genius",{authorization:action.data,authorization_code:action.data.authorization_code,access_token:action.data.access_token});break;case"GENIUS_AUTHORIZATION_REVOKED":helpers.setStorage("genius",{me:null,authorization:null,authorization_code:null,access_token:null});break;case"GENIUS_IMPORT_AUTHORIZATION":helpers.setStorage("genius",{authorization:action.authorization,authorization_code:action.authorization.authorization_code,access_token:action.authorization.access_token,me:null});break;case"CORE_SET":helpers.setStorage("core",action.data);break;case"UI_SET":helpers.setStorage("ui",action.data);break;case"MOPIDY_SET":helpers.setStorage("mopidy",action.data);break;case"SPOTIFY_SET":helpers.setStorage("spotify",action.data);break;case"SNAPCAST_COMMANDS_UPDATED":helpers.setStorage("snapcast",{commands:action.commands});break;case"SUPPRESS_BROADCAST":var ui=helpers.getStorage("ui");if(void 0!==ui.suppressed_broadcasts)var suppressed_broadcasts=ui.suppressed_broadcasts;else var suppressed_broadcasts=[];suppressed_broadcasts.push(action.key),helpers.setStorage("ui",{suppressed_broadcasts:suppressed_broadcasts})}}}}}();exports.default=localstorageMiddleware},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(46),_redux=(_interopRequireDefault(_reactDom),__webpack_require__(2)),_reactRouter=__webpack_require__(12),_reactRedux=__webpack_require__(4),_reactGa=__webpack_require__(14),_reactGa2=_interopRequireDefault(_reactGa),_Sidebar=__webpack_require__(232),_Sidebar2=_interopRequireDefault(_Sidebar),_PlaybackControls=__webpack_require__(277),_PlaybackControls2=_interopRequireDefault(_PlaybackControls),_ContextMenu=__webpack_require__(280),_ContextMenu2=_interopRequireDefault(_ContextMenu),_Dragger=__webpack_require__(281),_Dragger2=_interopRequireDefault(_Dragger),_Notifications=__webpack_require__(282),_Notifications2=_interopRequireDefault(_Notifications),_DebugInfo=__webpack_require__(283),_DebugInfo2=_interopRequireDefault(_DebugInfo),_ErrorBoundary=__webpack_require__(65),_ErrorBoundary2=_interopRequireDefault(_ErrorBoundary),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions6),_actions7=__webpack_require__(37),geniusActions=_interopRequireWildcard(_actions7),_actions8=__webpack_require__(38),snapcastActions=_interopRequireWildcard(_actions8),App=function(_React$Component){function App(props){_classCallCheck(this,App);var _this=_possibleConstructorReturn(this,(App.__proto__||Object.getPrototypeOf(App)).call(this,props));return _this.handleKeyUp=_this.handleKeyUp.bind(_this),_this.handleKeyDown=_this.handleKeyDown.bind(_this),_this.handleWindowResize=_this.handleWindowResize.bind(_this),_this.handleInstallPrompt=_this.handleInstallPrompt.bind(_this),_this}return _inherits(App,_React$Component),_createClass(App,[{key:"componentWillMount",value:function(){window.addEventListener("keyup",this.handleKeyUp,!1),window.addEventListener("keydown",this.handleKeyDown,!1),window.addEventListener("resize",this.handleWindowResize,!1),window.addEventListener("beforeinstallprompt",this.handleInstallPrompt,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("keyup",this.handleKeyUp,!1),window.removeEventListener("keydown",this.handleKeyDown,!1),window.removeEventListener("resize",this.handleWindowResize,!1),window.removeEventListener("beforeinstallprompt",this.handleInstallPrompt,!1)}},{key:"componentDidMount",value:function(){var _this2=this;this.props.allow_reporting&&_reactGa2.default.initialize("UA-64701652-3"),this.props.mopidyActions.connect(),this.props.pusherActions.connect(),this.props.coreActions.getBroadcasts(),_reactRouter.hashHistory.listen(function(location){_this2.props.allow_reporting&&(_reactGa2.default.set({page:window.location.hash}),_reactGa2.default.pageview(window.location.hash)),_this2.props.uiActions.toggleSidebar(!1),_this2.props.uiActions.setSelectedTracks([]),_this2.props.context_menu&&_this2.props.uiActions.hideContextMenu()}),this.handleWindowResize(null);var url_vars=this.props.location.query;if(url_vars){var has_values=!1,values={};void 0!==url_vars.host&&(has_values=!0,values.host=url_vars.host),void 0!==url_vars.port&&(has_values=!0,values.port=url_vars.port),has_values&&(this.props.mopidyActions.set(values),setTimeout(function(){_reactRouter.hashHistory.push(global.baseURL)},100))}this.props.initial_setup_complete||_reactRouter.hashHistory.push(global.baseURL+"initial-setup")}},{key:"shouldTriggerShortcut",value:function(e){if(!this.props.shortkeys_enabled)return!1;if(["INPUT","TEXTAREA"].indexOf(e.target.nodeName)>-1)return!1;if([27,32,191].indexOf(e.keyCode)>-1)return e.preventDefault(),!0;var keyCodesWithCtrl=[37,38,39,40];if((e.ctrlKey||e.metaKey)&&keyCodesWithCtrl.indexOf(e.keyCode)>-1)return e.preventDefault(),!0;var keyCodesWithCtrlShift=[70];return(e.ctrlKey||e.metaKey)&&e.shiftKey&&keyCodesWithCtrlShift.indexOf(e.keyCode)>-1?(e.preventDefault(),!0):void 0}},{key:"handleInstallPrompt",value:function(e){e.preventDefault(),this.props.uiActions.installPrompt(e)}},{key:"handleWindowResize",value:function(e){var width=Math.max(document.documentElement.clientWidth,window.innerWidth||0);Math.max(document.documentElement.clientHeight,window.innerHeight||0);width<=800?this.props.slim_mode||this.props.uiActions.setSlimMode(!0):this.props.slim_mode&&this.props.uiActions.setSlimMode(!1)}},{key:"handleKeyDown",value:function(e){this.shouldTriggerShortcut(e)}},{key:"handleKeyUp",value:function(e){if(this.shouldTriggerShortcut(e))switch(e.keyCode){case 32:e.ctrlKey||e.metaKey?(this.props.mopidyActions.stop(),this.props.uiActions.createNotification({content:"stop",type:"shortcut",key:"shortcut",duration:1})):"playing"==this.props.play_state?(this.props.mopidyActions.pause(),this.props.uiActions.createNotification({content:"pause",type:"shortcut",key:"shortcut",duration:1})):(this.props.mopidyActions.play(),this.props.uiActions.createNotification({content:"play",type:"shortcut",key:"shortcut",duration:1}));break;case 27:this.props.dragger&&this.props.dragger.dragging&&this.props.uiActions.dragEnd();break;case 40:if((e.ctrlKey||e.metaKey)&&e.shiftKey)this.props.mopidyActions.setMute(!0),this.props.uiActions.createNotification({content:"volume-off",type:"shortcut",key:"shortcut",duration:1});else if(e.ctrlKey){var volume=this.props.volume;"false"!==volume&&(volume-=5,volume<0&&(volume=0),this.props.mopidyActions.setVolume(volume),this.props.mute&&this.props.mopidyActions.setMute(!1),this.props.uiActions.createNotification({content:"volume-down",type:"shortcut",key:"shortcut",duration:1}))}break;case 38:if((e.ctrlKey||e.metaKey)&&e.shiftKey)this.props.mopidyActions.setVolume(100),this.props.mute&&this.props.mopidyActions.setMute(!1),this.props.uiActions.createNotification({content:"volume-up",type:"shortcut",key:"shortcut",duration:1});else if(e.ctrlKey||e.metaKey){var volume=this.props.volume;"false"!==volume&&(volume+=5,volume>100&&(volume=100),this.props.mopidyActions.setVolume(volume),this.props.mute&&this.props.mopidyActions.setMute(!1),this.props.uiActions.createNotification({content:"volume-up",type:"shortcut",key:"shortcut",duration:1}))}break;case 37:if((e.ctrlKey||e.metaKey)&&e.shiftKey){var new_position=this.props.play_time_position-3e4;new_position<0&&(new_position=0),this.props.mopidyActions.seek(new_position),this.props.uiActions.createNotification({content:"fast-backward",type:"shortcut",key:"shortcut",duration:1})}else(e.ctrlKey||e.metaKey)&&(this.props.mopidyActions.previous(),this.props.uiActions.createNotification({content:"step-backward",type:"shortcut",key:"shortcut",duration:1}));break;case 39:(e.ctrlKey||e.metaKey)&&e.shiftKey?(this.props.mopidyActions.seek(this.props.play_time_position+3e4),this.props.uiActions.createNotification({content:"fast-forward",type:"shortcut",key:"shortcut",duration:1})):(e.ctrlKey||e.metaKey)&&(this.props.mopidyActions.next(),this.props.uiActions.createNotification({content:"step-forward",type:"shortcut",key:"shortcut",duration:1}));break;case 70:(e.ctrlKey||e.metaKey)&&e.shiftKey&&_reactRouter.hashHistory.push(global.baseURL+"modal/kiosk-mode")}}},{key:"render",value:function(){var className=this.props.theme+"-theme";return this.props.dragger&&this.props.dragger.active&&(className+=" dragging"),this.props.sidebar_open&&(className+=" sidebar-open"),this.props.touch_dragging&&(className+=" touch-dragging"),this.props.context_menu&&(className+=" context-menu-open"),this.props.slim_mode&&(className+=" slim-mode"),helpers.isTouchDevice()?className+=" touch":className+=" notouch",_react2.default.createElement("div",{className:className},_react2.default.createElement("div",{className:"body"},_react2.default.createElement(_Sidebar2.default,null),_react2.default.createElement(_PlaybackControls2.default,null),_react2.default.createElement("main",{id:"main",className:"smooth-scroll"},_react2.default.createElement(_ErrorBoundary2.default,null,this.props.children))),_react2.default.createElement(_ContextMenu2.default,null),_react2.default.createElement(_Dragger2.default,null),_react2.default.createElement(_Notifications2.default,{uiActions:this.props.uiActions,spotifyActions:this.props.spotifyActions,geniusActions:this.props.geniusActions,lastfmActions:this.props.lastfmActions,snapcastActions:this.props.snapcastActions,notifications:this.props.notifications,processes:this.props.processes,broadcasts:this.props.broadcasts}),this.props.debug_info?_react2.default.createElement(_DebugInfo2.default,null):null)}}]),App}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{theme:state.ui.theme,shortkeys_enabled:state.ui.shortkeys_enabled,allow_reporting:state.ui.allow_reporting,touch_dragging:state.ui.touch_dragging,initial_setup_complete:state.ui.initial_setup_complete,slim_mode:state.ui.slim_mode,broadcasts:state.ui.broadcasts?state.ui.broadcasts:[],volume:!!state.mopidy.volume&&state.mopidy.volume,notifications:state.ui.notifications?state.ui.notifications:[],processes:state.ui.processes?state.ui.processes:{},load_queue:state.ui.load_queue?state.ui.load_queue:{},mopidy_connected:state.mopidy.connected,spotify_authorized:state.spotify.authorization,play_state:state.mopidy.play_state,play_time_position:parseInt(state.mopidy.time_position),mute:state.mopidy.mute,sidebar_open:state.ui.sidebar_open,dragger:state.ui.dragger,context_menu:state.ui.context_menu,debug_info:state.ui.debug_info}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),geniusActions:(0,_redux.bindActionCreators)(geniusActions,dispatch),snapcastActions:(0,_redux.bindActionCreators)(snapcastActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(App)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Dropzones=__webpack_require__(274),_Dropzones2=_interopRequireDefault(_Dropzones),_Thumbnail=__webpack_require__(11),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),Sidebar=function(_React$Component){function Sidebar(props){return _classCallCheck(this,Sidebar),_possibleConstructorReturn(this,(Sidebar.__proto__||Object.getPrototypeOf(Sidebar)).call(this,props))}return _inherits(Sidebar,_React$Component),_createClass(Sidebar,[{key:"linkClassName",value:function(link){return this.props.location.pathname.startsWith("/"+link)?"active":null}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("aside",null,_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("nav",null,_react2.default.createElement("section",null,_react2.default.createElement(_Link2.default,{className:this.linkClassName("queue"),to:global.baseURL+"queue"},_react2.default.createElement(_Icon2.default,{name:"play_arrow",type:"material"}),"Now playing"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("search"),to:global.baseURL+"search"},_react2.default.createElement(_Icon2.default,{name:"search",type:"material"}),"Search")),this.props.spotify_enabled?_react2.default.createElement("section",null,_react2.default.createElement("title",null,"Discover"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("discover/recommendations"),to:global.baseURL+"discover/recommendations"},_react2.default.createElement(_Icon2.default,{name:"explore",type:"material"}),"Discover"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("discover/categories"),to:global.baseURL+"discover/categories"},_react2.default.createElement(_Icon2.default,{name:"mood",type:"material"}),"Genre / Mood"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("discover/featured"),to:global.baseURL+"discover/featured"},_react2.default.createElement(_Icon2.default,{name:"star",type:"material"}),"Featured playlists"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("discover/new-releases"),to:global.baseURL+"discover/new-releases"},_react2.default.createElement(_Icon2.default,{name:"new_releases",type:"material"}),"New releases")):null,_react2.default.createElement("section",null,_react2.default.createElement("title",null,"My Music"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("library/playlists"),to:global.baseURL+"library/playlists"},_react2.default.createElement(_Icon2.default,{name:"queue_music",type:"material"}),"Playlists"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("library/artists"),to:global.baseURL+"library/artists"},_react2.default.createElement(_Icon2.default,{name:"recent_actors",type:"material"}),"Artists"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("library/albums"),to:global.baseURL+"library/albums"},_react2.default.createElement(_Icon2.default,{name:"album",type:"material"}),"Albums"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("library/tracks"),to:global.baseURL+"library/tracks"},_react2.default.createElement(_Icon2.default,{name:"music_note",type:"material"}),"Tracks"),_react2.default.createElement(_Link2.default,{className:this.linkClassName("library/browse"),to:global.baseURL+"library/browse"},_react2.default.createElement(_Icon2.default,{name:"folder",type:"material"}),"Browse")),_react2.default.createElement("section",null,_react2.default.createElement(_Link2.default,{className:this.linkClassName("settings"),to:global.baseURL+"settings"},_react2.default.createElement(_Icon2.default,{name:"settings",type:"material"}),"Settings",this.props.update_available?_react2.default.createElement("span",{className:"status tooltip tooltip--right"},_react2.default.createElement(_Icon2.default,{name:"cloud_download",className:"green-text"}),_react2.default.createElement("span",{className:"tooltip__content"},"Update available")):null,this.props.mopidy_connected&&this.props.pusher_connected?null:_react2.default.createElement("span",{className:"status tooltip tooltip--right"},_react2.default.createElement(_Icon2.default,{name:"warning",className:"red-text"}),_react2.default.createElement("span",{className:"tooltip__content"},this.props.mopidy_connected?null:_react2.default.createElement("span",null,"Mopidy not connected",_react2.default.createElement("br",null)),this.props.pusher_connected?null:_react2.default.createElement("span",null,"Pusher not connected",_react2.default.createElement("br",null)))))))),_react2.default.createElement(_Dropzones2.default,null),_react2.default.createElement("div",{className:"close",onClick:function(e){return _this2.props.uiActions.toggleSidebar(!1)}},_react2.default.createElement(_Icon2.default,{name:"close"})))}}]),Sidebar}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,pusher_connected:state.pusher.connected,spotify_enabled:state.spotify.enabled,spotify_authorized:state.spotify.authorization,update_available:!(!state.pusher.version||!state.pusher.version.update_available)&&state.pusher.version.update_available,test_mode:!!state.ui.test_mode&&state.ui.test_mode,dragger:state.ui.dragger}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)((0,_reactRouter.withRouter)(Sidebar))}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(17),_propTypes2=_interopRequireDefault(_propTypes),_screenReaderStyles=__webpack_require__(234),_screenReaderStyles2=_interopRequireDefault(_screenReaderStyles),FontAwesome=function(_React$Component){function FontAwesome(){_classCallCheck(this,FontAwesome);var _this=_possibleConstructorReturn(this,(FontAwesome.__proto__||Object.getPrototypeOf(FontAwesome)).call(this));return _this.displayName="FontAwesome",_this}return _inherits(FontAwesome,_React$Component),_createClass(FontAwesome,[{key:"render",value:function(){var _props=this.props,border=_props.border,cssModule=_props.cssModule,className=_props.className,fixedWidth=_props.fixedWidth,flip=_props.flip,inverse=_props.inverse,name=_props.name,pulse=_props.pulse,rotate=_props.rotate,size=_props.size,spin=_props.spin,stack=_props.stack,_props$tag=_props.tag,tag=void 0===_props$tag?"span":_props$tag,ariaLabel=_props.ariaLabel,props=_objectWithoutProperties(_props,["border","cssModule","className","fixedWidth","flip","inverse","name","pulse","rotate","size","spin","stack","tag","ariaLabel"]),classNames=[];return cssModule?(classNames.push(cssModule.fa),classNames.push(cssModule["fa-"+name]),size&&classNames.push(cssModule["fa-"+size]),spin&&classNames.push(cssModule["fa-spin"]),pulse&&classNames.push(cssModule["fa-pulse"]),border&&classNames.push(cssModule["fa-border"]),fixedWidth&&classNames.push(cssModule["fa-fw"]),inverse&&classNames.push(cssModule["fa-inverse"]),flip&&classNames.push(cssModule["fa-flip-"+flip]),rotate&&classNames.push(cssModule["fa-rotate-"+rotate]),stack&&classNames.push(cssModule["fa-stack-"+stack])):(classNames.push("fa"),classNames.push("fa-"+name),size&&classNames.push("fa-"+size),spin&&classNames.push("fa-spin"),pulse&&classNames.push("fa-pulse"),border&&classNames.push("fa-border"),fixedWidth&&classNames.push("fa-fw"),inverse&&classNames.push("fa-inverse"),flip&&classNames.push("fa-flip-"+flip),rotate&&classNames.push("fa-rotate-"+rotate),stack&&classNames.push("fa-stack-"+stack)),className&&classNames.push(className),_react2.default.createElement(tag,_extends({},props,{"aria-hidden":!0,className:classNames.join(" ")}),ariaLabel?_react2.default.createElement("span",{style:_screenReaderStyles2.default},ariaLabel):null)}}]),FontAwesome}(_react2.default.Component);FontAwesome.propTypes={ariaLabel:_propTypes2.default.string,border:_propTypes2.default.bool,className:_propTypes2.default.string,cssModule:_propTypes2.default.object,fixedWidth:_propTypes2.default.bool,flip:_propTypes2.default.oneOf(["horizontal","vertical"]),inverse:_propTypes2.default.bool,name:_propTypes2.default.string.isRequired,pulse:_propTypes2.default.bool,rotate:_propTypes2.default.oneOf([90,180,270]),size:_propTypes2.default.oneOf(["lg","2x","3x","4x","5x"]),spin:_propTypes2.default.bool,stack:_propTypes2.default.oneOf(["1x","2x"]),tag:_propTypes2.default.string},exports.default=FontAwesome,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={position:"absolute",width:"1px",height:"1px",padding:"0px",margin:"-1px",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",border:"0px"},module.exports=exports.default},function(module,exports,__webpack_require__){function webpackContext(req){return __webpack_require__(webpackContextResolve(req))}function webpackContextResolve(req){var id=map[req];if(!(id+1))throw new Error("Cannot find module '"+req+"'.");return id}var map={"./back.svg":236,"./broadcast.svg":237,"./cd.svg":238,"./chevron-left.svg":239,"./chevron-right.svg":240,"./close.svg":241,"./cog.svg":242,"./compass.svg":243,"./connection.svg":244,"./consume.svg":245,"./filter.svg":246,"./folder-open.svg":247,"./folder.svg":248,"./genius.svg":249,"./grid.svg":250,"./leaf.svg":251,"./list.svg":252,"./local.svg":253,"./mic.svg":254,"./music.svg":255,"./pause.svg":256,"./play-alt.svg":257,"./play.svg":258,"./playlist.svg":259,"./repeat.svg":260,"./search.svg":261,"./sections.svg":262,"./server.svg":263,"./shuffle.svg":264,"./skip.svg":265,"./soundcloud.svg":266,"./speaker-group.svg":267,"./speaker.svg":268,"./spotify.svg":269,"./star.svg":270,"./stop.svg":271};webpackContext.keys=function(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=235},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8Zz4KCQk8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxMiIvPgoJCTxwYXRoIGQ9Ik05LjUsMTJsOC41LDZWNkw5LjUsMTJ6IE0xNiwxNC4xNEwxMi45NywxMkwxNiw5Ljg2VjE0LjE0eiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik04LDkuM0M3LjMsOS4zLDYuNyw4LjcsNi43LDhTNy4zLDYuNyw4LDYuN1M5LjMsNy4zLDkuMyw4UzguNyw5LjMsOCw5LjN6Ii8+DQo8Zz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS42LDExLjNjLTAuMiwwLTAuNS0wLjEtMC42LTAuM2MtMC4yLTAuMy0wLjEtMC44LDAuMi0xYzAuNy0wLjQsMS4xLTEuMiwxLjEtMmMwLTAuOC0wLjQtMS42LTEuMS0yDQoJCUM4LjksNS44LDguOCw1LjQsOSw1YzAuMi0wLjMsMC42LTAuNCwxLTAuMmMxLjEsMC43LDEuOCwxLjksMS44LDMuMmMwLDEuMy0wLjcsMi41LTEuOCwzLjJDOS45LDExLjIsOS43LDExLjMsOS42LDExLjN6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNi40LDExLjNjLTAuMSwwLTAuMywwLTAuNC0wLjFDNC45LDEwLjUsNC4zLDkuMyw0LjMsOGMwLTEuMywwLjctMi41LDEuOC0zLjJDNi40LDQuNiw2LjgsNC43LDcsNQ0KCQljMC4yLDAuMywwLjEsMC44LTAuMiwxQzYuMSw2LjQsNS43LDcuMiw1LjcsOGMwLDAuOCwwLjQsMS42LDEuMSwyYzAuMywwLjIsMC40LDAuNiwwLjIsMUM2LjksMTEuMSw2LjYsMTEuMyw2LjQsMTEuM3oiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMS41LDEyLjljLTAuMiwwLTAuNC0wLjEtMC41LTAuM2MtMC4yLTAuMy0wLjItMC43LDAuMS0xYzEuMS0wLjksMS44LTIuMywxLjgtMy43YzAtMS40LTAuNi0yLjgtMS44LTMuNw0KCQljLTAuMy0wLjItMC4zLTAuNy0wLjEtMWMwLjItMC4zLDAuNy0wLjMsMS0wLjFjMS40LDEuMiwyLjMsMi45LDIuMyw0LjhjMCwxLjktMC44LDMuNi0yLjMsNC44QzExLjgsMTIuOSwxMS43LDEyLjksMTEuNSwxMi45eiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQuNSwxM2MtMC4yLDAtMC4zLTAuMS0wLjQtMC4yQzIuNiwxMS42LDEuOCw5LjksMS44LDhjMC0xLjksMC44LTMuNiwyLjMtNC44QzQuMywyLjksNC44LDMsNSwzLjMNCgkJYzAuMiwwLjMsMC4yLDAuNy0wLjEsMUMzLjgsNS4yLDMuMiw2LjUsMy4yLDhjMCwxLjUsMC43LDIuOCwxLjgsMy43YzAuMywwLjIsMC4zLDAuNywwLjEsMUM0LjksMTIuOSw0LjcsMTMsNC41LDEzeiIvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik04LDAuN0M0LDAuNywwLjcsNCwwLjcsOGMwLDQsMy4zLDcuMyw3LjMsNy4zUzE1LjMsMTIsMTUuMyw4QzE1LjMsNCwxMiwwLjcsOCwwLjd6IE04LDYuNmMwLjgsMCwxLjQsMC42LDEuNCwxLjQNCglTOC44LDkuNCw4LDkuNFM2LjYsOC44LDYuNiw4UzcuMiw2LjYsOCw2LjZ6IE0xMy41LDUuOEwxMC42LDdjLTAuMy0wLjctMC44LTEuMy0xLjUtMS42bDEuMy0yLjhDMTEuOCwzLjIsMTIuOSw0LjQsMTMuNSw1Ljh6DQoJIE0yLjUsMTAuMUw1LjQsOWMwLjMsMC43LDAuOCwxLjMsMS41LDEuNmwtMS4zLDIuOEM0LjIsMTIuNywzLjEsMTEuNiwyLjUsMTAuMXoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik02LjIsNi45bDUuNy01LjdjMC40LTAuNCwwLjQtMC45LDAtMS4zYy0wLjQtMC40LTEtMC40LTEuMywwTDQuMiw2LjNDNCw2LjUsMy45LDYuNywzLjksNi45DQoJYzAsMC4yLDAuMSwwLjUsMC4zLDAuN2w2LjQsNi40YzAuMiwwLjIsMC40LDAuMywwLjcsMC4zczAuNS0wLjEsMC43LTAuM2MwLjQtMC40LDAuNC0wLjksMC0xLjNMNi4yLDYuOXoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xMS45LDcuM0w1LjUsMC45Yy0wLjQtMC40LTAuOS0wLjQtMS4zLDBjLTAuNCwwLjQtMC40LDAuOSwwLDEuM2w1LjcsNS43bC01LjcsNS43Yy0wLjQsMC40LTAuNCwwLjksMCwxLjMNCgljMC4yLDAuMiwwLjQsMC4zLDAuNywwLjNzMC41LTAuMSwwLjctMC4zbDYuNC02LjRjMC4yLTAuMiwwLjMtMC40LDAuMy0wLjdTMTIsNy41LDExLjksNy4zeiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MCA1MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTAgNTA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwb2x5Z29uIHBvaW50cz0iNDUsNyA0Myw1IDI1LDIzIDcsNSA1LDcgMjMsMjUgNSw0MyA3LDQ1IDI1LDI3IDQzLDQ1IDQ1LDQzIDI3LDI1ICIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlcl9jb3B5XzMiIGRpc3BsYXk9Im5vbmUiPgoJPC9nPgoJPHBhdGggZmlsbD0ibm9uZSIgZD0iTTAsMGgyNHYyNEgwVjB6Ii8+CjwvZz4KPGcgaWQ9IlJvdW5kZWQiIGRpc3BsYXk9Im5vbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV81Ij4KCTwvZz4KCTxwYXRoIGRpc3BsYXk9ImlubGluZSIgZD0iTTE5LjQzLDEyLjk4YzAuMDQtMC4zMiwwLjA3LTAuNjQsMC4wNy0wLjk4cy0wLjAzLTAuNjYtMC4wNy0wLjk4bDIuMTEtMS42NQoJCWMwLjE5LTAuMTUsMC4yNC0wLjQyLDAuMTItMC42NGwtMi0zLjQ2Yy0wLjEyLTAuMjItMC4zOS0wLjMtMC42MS0wLjIybC0yLjQ5LDFjLTAuNTItMC40LTEuMDgtMC43My0xLjY5LTAuOThsLTAuMzgtMi42NQoJCUMxNC40NiwyLjE4LDE0LjI1LDIsMTQsMmgtNEM5Ljc1LDIsOS41NCwyLjE4LDkuNTEsMi40Mkw5LjEzLDUuMDdDOC41Miw1LjMyLDcuOTYsNS42Niw3LjQ0LDYuMDVsLTIuNDktMQoJCWMtMC4yMy0wLjA5LTAuNDksMC0wLjYxLDAuMjJsLTIsMy40NkMyLjIxLDguOTUsMi4yNyw5LjIyLDIuNDYsOS4zN2wyLjExLDEuNjVDNC41MywxMS4zNCw0LjUsMTEuNjcsNC41LDEyczAuMDMsMC42NiwwLjA3LDAuOTgKCQlsLTIuMTEsMS42NWMtMC4xOSwwLjE1LTAuMjQsMC40Mi0wLjEyLDAuNjRsMiwzLjQ2YzAuMTIsMC4yMiwwLjM5LDAuMywwLjYxLDAuMjJsMi40OS0xYzAuNTIsMC40LDEuMDgsMC43MywxLjY5LDAuOThsMC4zOCwyLjY1CgkJQzkuNTQsMjEuODIsOS43NSwyMiwxMCwyMmg0YzAuMjUsMCwwLjQ2LTAuMTgsMC40OS0wLjQybDAuMzgtMi42NWMwLjYxLTAuMjUsMS4xNy0wLjU5LDEuNjktMC45OGwyLjQ5LDEKCQljMC4yMywwLjA5LDAuNDksMCwwLjYxLTAuMjJsMi0zLjQ2YzAuMTItMC4yMiwwLjA3LTAuNDktMC4xMi0wLjY0TDE5LjQzLDEyLjk4eiBNMTIsMTUuNWMtMS45MywwLTMuNS0xLjU3LTMuNS0zLjUKCQlzMS41Ny0zLjUsMy41LTMuNXMzLjUsMS41NywzLjUsMy41UzEzLjkzLDE1LjUsMTIsMTUuNXoiLz4KPC9nPgo8ZyBpZD0iU2hhcnAiIGRpc3BsYXk9Im5vbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV80Ij4KCTwvZz4KCTxwYXRoIGRpc3BsYXk9ImlubGluZSIgZD0iTTE5LjQ0LDEyLjk5bC0wLjAxLDAuMDJjMC4wNC0wLjMzLDAuMDgtMC42NywwLjA4LTEuMDFjMC0wLjM0LTAuMDMtMC42Ni0wLjA3LTAuOTlsMC4wMSwwLjAybDIuNDQtMS45MgoJCWwtMi40My00LjIybC0yLjg3LDEuMTZsMC4wMSwwLjAxYy0wLjUyLTAuNC0xLjA5LTAuNzQtMS43MS0xaDAuMDFMMTQuNDQsMkg5LjU3TDkuMTMsNS4wN2gwLjAxYy0wLjYyLDAuMjYtMS4xOSwwLjYtMS43MSwxCgkJbDAuMDEtMC4wMUw0LjU2LDQuODlMMi4xMiw5LjExbDIuNDQsMS45MmwwLjAxLTAuMDJDNC41MywxMS4zNCw0LjUsMTEuNjYsNC41LDEyYzAsMC4zNCwwLjAzLDAuNjgsMC4wOCwxLjAxbC0wLjAxLTAuMDJsLTIuMSwxLjY1CgkJYy0wLjE5LDAuMTUtMC4zMywwLjI2LTAuMzMsMC4yNmwyLjQzLDQuMmwyLjg4LTEuMTVsLTAuMDItMC4wNGMwLjUzLDAuNDEsMS4xLDAuNzUsMS43MywxLjAxSDkuMTNMOS41OCwyMmg0Ljg1CgkJYzAsMCwwLjAzLTAuMTgsMC4wNi0wLjQybDAuMzgtMi42NWgtMC4wMWMwLjYyLTAuMjYsMS4yLTAuNiwxLjczLTEuMDFsLTAuMDIsMC4wNGwyLjg4LDEuMTVsMi40My00LjJjMCwwLTAuMTQtMC4xMi0wLjMzLTAuMjYKCQlMMTkuNDQsMTIuOTl6IE0xMiwxNS41Yy0xLjkzLDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSwzLjUtMy41czMuNSwxLjU3LDMuNSwzLjVTMTMuOTMsMTUuNSwxMiwxNS41eiIvPgo8L2c+CjxnIGlkPSJPdXRsaW5lIj4KCTxnIGlkPSJ1aV94NUZfc3BlY194NUZfaGVhZGVyIiBkaXNwbGF5PSJub25lIj4KCTwvZz4KCTxnPgoJCTxwYXRoIGQ9Ik0xOS40MywxMi45OGMwLjA0LTAuMzIsMC4wNy0wLjY0LDAuMDctMC45OGMwLTAuMzQtMC4wMy0wLjY2LTAuMDctMC45OGwyLjExLTEuNjVjMC4xOS0wLjE1LDAuMjQtMC40MiwwLjEyLTAuNjRsLTItMy40NgoJCQljLTAuMDktMC4xNi0wLjI2LTAuMjUtMC40NC0wLjI1Yy0wLjA2LDAtMC4xMiwwLjAxLTAuMTcsMC4wM2wtMi40OSwxYy0wLjUyLTAuNC0xLjA4LTAuNzMtMS42OS0wLjk4bC0wLjM4LTIuNjUKCQkJQzE0LjQ2LDIuMTgsMTQuMjUsMiwxNCwyaC00QzkuNzUsMiw5LjU0LDIuMTgsOS41MSwyLjQyTDkuMTMsNS4wN0M4LjUyLDUuMzIsNy45Niw1LjY2LDcuNDQsNi4wNWwtMi40OS0xCgkJCUM0Ljg5LDUuMDMsNC44Myw1LjAyLDQuNzcsNS4wMmMtMC4xNywwLTAuMzQsMC4wOS0wLjQzLDAuMjVsLTIsMy40NkMyLjIxLDguOTUsMi4yNyw5LjIyLDIuNDYsOS4zN2wyLjExLDEuNjUKCQkJQzQuNTMsMTEuMzQsNC41LDExLjY3LDQuNSwxMmMwLDAuMzMsMC4wMywwLjY2LDAuMDcsMC45OGwtMi4xMSwxLjY1Yy0wLjE5LDAuMTUtMC4yNCwwLjQyLTAuMTIsMC42NGwyLDMuNDYKCQkJYzAuMDksMC4xNiwwLjI2LDAuMjUsMC40NCwwLjI1YzAuMDYsMCwwLjEyLTAuMDEsMC4xNy0wLjAzbDIuNDktMWMwLjUyLDAuNCwxLjA4LDAuNzMsMS42OSwwLjk4bDAuMzgsMi42NQoJCQlDOS41NCwyMS44Miw5Ljc1LDIyLDEwLDIyaDRjMC4yNSwwLDAuNDYtMC4xOCwwLjQ5LTAuNDJsMC4zOC0yLjY1YzAuNjEtMC4yNSwxLjE3LTAuNTksMS42OS0wLjk4bDIuNDksMQoJCQljMC4wNiwwLjAyLDAuMTIsMC4wMywwLjE4LDAuMDNjMC4xNywwLDAuMzQtMC4wOSwwLjQzLTAuMjVsMi0zLjQ2YzAuMTItMC4yMiwwLjA3LTAuNDktMC4xMi0wLjY0TDE5LjQzLDEyLjk4eiBNMTcuNDUsMTEuMjcKCQkJYzAuMDQsMC4zMSwwLjA1LDAuNTIsMC4wNSwwLjczYzAsMC4yMS0wLjAyLDAuNDMtMC4wNSwwLjczbC0wLjE0LDEuMTNsMC44OSwwLjdsMS4wOCwwLjg0bC0wLjcsMS4yMWwtMS4yNy0wLjUxbC0xLjA0LTAuNDIKCQkJbC0wLjksMC42OGMtMC40MywwLjMyLTAuODQsMC41Ni0xLjI1LDAuNzNsLTEuMDYsMC40M2wtMC4xNiwxLjEzTDEyLjcsMjBIMTEuM2wtMC4xOS0xLjM1bC0wLjE2LTEuMTNsLTEuMDYtMC40MwoJCQljLTAuNDMtMC4xOC0wLjgzLTAuNDEtMS4yMy0wLjcxbC0wLjkxLTAuN2wtMS4wNiwwLjQzbC0xLjI3LDAuNTFsLTAuNy0xLjIxbDEuMDgtMC44NGwwLjg5LTAuN2wtMC4xNC0xLjEzCgkJCUM2LjUyLDEyLjQzLDYuNSwxMi4yLDYuNSwxMnMwLjAyLTAuNDMsMC4wNS0wLjczbDAuMTQtMS4xM0w1LjgsOS40NEw0LjcyLDguNmwwLjctMS4yMWwxLjI3LDAuNTFsMS4wNCwwLjQybDAuOS0wLjY4CgkJCWMwLjQzLTAuMzIsMC44NC0wLjU2LDEuMjUtMC43M2wxLjA2LTAuNDNsMC4xNi0xLjEzTDExLjMsNGgxLjM5bDAuMTksMS4zNWwwLjE2LDEuMTNsMS4wNiwwLjQzYzAuNDMsMC4xOCwwLjgzLDAuNDEsMS4yMywwLjcxCgkJCWwwLjkxLDAuN2wxLjA2LTAuNDNsMS4yNy0wLjUxbDAuNywxLjIxTDE4LjIsOS40NGwtMC44OSwwLjdMMTcuNDUsMTEuMjd6Ii8+CgkJPHBhdGggZD0iTTEyLDhjLTIuMjEsMC00LDEuNzktNCw0czEuNzksNCw0LDRzNC0xLjc5LDQtNFMxNC4yMSw4LDEyLDh6IE0xMiwxNGMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMnMyLDAuOSwyLDIKCQkJUzEzLjEsMTQsMTIsMTR6Ii8+Cgk8L2c+CjwvZz4KPGcgaWQ9IkR1b3RvbmUiIGRpc3BsYXk9Im5vbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV8yIj4KCTwvZz4KCTxnIGRpc3BsYXk9ImlubGluZSI+CgkJPHBhdGggb3BhY2l0eT0iMC4zIiBkPSJNMTkuMjgsOC42bC0wLjctMS4yMWwtMS4yNywwLjUxbC0xLjA2LDAuNDNsLTAuOTEtMC43Yy0wLjM5LTAuMy0wLjgtMC41NC0xLjIzLTAuNzFsLTEuMDYtMC40M2wtMC4xNi0xLjEzCgkJCUwxMi43LDRIMTEuM2wtMC4xOSwxLjM1bC0wLjE2LDEuMTNMOS44OSw2LjkyQzkuNDgsNy4wOSw5LjA3LDcuMzMsOC42NCw3LjY1bC0wLjksMC42OEw2LjY5LDcuOTFMNS40Miw3LjM5TDQuNzIsOC42TDUuOCw5LjQ0CgkJCWwwLjg5LDAuN2wtMC4xNCwxLjEzQzYuNTIsMTEuNTcsNi41LDExLjgsNi41LDEyczAuMDIsMC40MywwLjA1LDAuNzNsMC4xNCwxLjEzbC0wLjg5LDAuN0w0LjcyLDE1LjRsMC43LDEuMjFsMS4yNy0wLjUxCgkJCWwxLjA2LTAuNDNsMC45MSwwLjdjMC4zOSwwLjMsMC44LDAuNTQsMS4yMywwLjcxbDEuMDYsMC40M2wwLjE2LDEuMTNMMTEuMywyMGgxLjM5bDAuMTktMS4zNWwwLjE2LTEuMTNsMS4wNi0wLjQzCgkJCWMwLjQxLTAuMTcsMC44Mi0wLjQxLDEuMjUtMC43M2wwLjktMC42OGwxLjA0LDAuNDJsMS4yNywwLjUxbDAuNy0xLjIxbC0xLjA4LTAuODRsLTAuODktMC43bDAuMTQtMS4xMwoJCQljMC4wNC0wLjMxLDAuMDUtMC41MiwwLjA1LTAuNzNjMC0wLjIxLTAuMDItMC40My0wLjA1LTAuNzNsLTAuMTQtMS4xM2wwLjg5LTAuN0wxOS4yOCw4LjZ6IE0xMiwxNmMtMi4yMSwwLTQtMS43OS00LTRzMS43OS00LDQtNAoJCQlzNCwxLjc5LDQsNFMxNC4yMSwxNiwxMiwxNnoiLz4KCQk8cGF0aCBkPSJNMTkuNDMsMTIuOThjMC4wNC0wLjMyLDAuMDctMC42NCwwLjA3LTAuOThjMC0wLjM0LTAuMDMtMC42Ni0wLjA3LTAuOThsMi4xMS0xLjY1YzAuMTktMC4xNSwwLjI0LTAuNDIsMC4xMi0wLjY0bC0yLTMuNDYKCQkJYy0wLjA5LTAuMTYtMC4yNi0wLjI1LTAuNDQtMC4yNWMtMC4wNiwwLTAuMTIsMC4wMS0wLjE3LDAuMDNsLTIuNDksMWMtMC41Mi0wLjQtMS4wOC0wLjczLTEuNjktMC45OGwtMC4zOC0yLjY1CgkJCUMxNC40NiwyLjE4LDE0LjI1LDIsMTQsMmgtNEM5Ljc1LDIsOS41NCwyLjE4LDkuNTEsMi40Mkw5LjEzLDUuMDdDOC41Miw1LjMyLDcuOTYsNS42Niw3LjQ0LDYuMDVsLTIuNDktMQoJCQlDNC44OSw1LjAzLDQuODMsNS4wMiw0Ljc3LDUuMDJjLTAuMTcsMC0wLjM0LDAuMDktMC40MywwLjI1bC0yLDMuNDZDMi4yMSw4Ljk1LDIuMjcsOS4yMiwyLjQ2LDkuMzdsMi4xMSwxLjY1CgkJCUM0LjUzLDExLjM0LDQuNSwxMS42Nyw0LjUsMTJzMC4wMywwLjY2LDAuMDcsMC45OGwtMi4xMSwxLjY1Yy0wLjE5LDAuMTUtMC4yNCwwLjQyLTAuMTIsMC42NGwyLDMuNDYKCQkJYzAuMDksMC4xNiwwLjI2LDAuMjUsMC40NCwwLjI1YzAuMDYsMCwwLjEyLTAuMDEsMC4xNy0wLjAzbDIuNDktMWMwLjUyLDAuNCwxLjA4LDAuNzMsMS42OSwwLjk4bDAuMzgsMi42NQoJCQlDOS41NCwyMS44Miw5Ljc1LDIyLDEwLDIyaDRjMC4yNSwwLDAuNDYtMC4xOCwwLjQ5LTAuNDJsMC4zOC0yLjY1YzAuNjEtMC4yNSwxLjE3LTAuNTksMS42OS0wLjk4bDIuNDksMQoJCQljMC4wNiwwLjAyLDAuMTIsMC4wMywwLjE4LDAuMDNjMC4xNywwLDAuMzQtMC4wOSwwLjQzLTAuMjVsMi0zLjQ2YzAuMTItMC4yMiwwLjA3LTAuNDktMC4xMi0wLjY0TDE5LjQzLDEyLjk4eiBNMTcuNDUsMTEuMjcKCQkJYzAuMDQsMC4zMSwwLjA1LDAuNTIsMC4wNSwwLjczYzAsMC4yMS0wLjAyLDAuNDMtMC4wNSwwLjczbC0wLjE0LDEuMTNsMC44OSwwLjdsMS4wOCwwLjg0bC0wLjcsMS4yMWwtMS4yNy0wLjUxbC0xLjA0LTAuNDIKCQkJbC0wLjksMC42OGMtMC40MywwLjMyLTAuODQsMC41Ni0xLjI1LDAuNzNsLTEuMDYsMC40M2wtMC4xNiwxLjEzTDEyLjcsMjBIMTEuM2wtMC4xOS0xLjM1bC0wLjE2LTEuMTNsLTEuMDYtMC40MwoJCQljLTAuNDMtMC4xOC0wLjgzLTAuNDEtMS4yMy0wLjcxbC0wLjkxLTAuN2wtMS4wNiwwLjQzbC0xLjI3LDAuNTFsLTAuNy0xLjIxbDEuMDgtMC44NGwwLjg5LTAuN2wtMC4xNC0xLjEzCgkJCUM2LjUyLDEyLjQzLDYuNSwxMi4yLDYuNSwxMnMwLjAyLTAuNDMsMC4wNS0wLjczbDAuMTQtMS4xM0w1LjgsOS40NEw0LjcyLDguNmwwLjctMS4yMWwxLjI3LDAuNTFsMS4wNCwwLjQybDAuOS0wLjY4CgkJCWMwLjQzLTAuMzIsMC44NC0wLjU2LDEuMjUtMC43M2wxLjA2LTAuNDNsMC4xNi0xLjEzTDExLjMsNGgxLjM5bDAuMTksMS4zNWwwLjE2LDEuMTNsMS4wNiwwLjQzYzAuNDMsMC4xOCwwLjgzLDAuNDEsMS4yMywwLjcxCgkJCWwwLjkxLDAuN2wxLjA2LTAuNDNsMS4yNy0wLjUxbDAuNywxLjIxTDE4LjIsOS40NGwtMC44OSwwLjdMMTcuNDUsMTEuMjd6Ii8+CgkJPHBhdGggZD0iTTEyLDhjLTIuMjEsMC00LDEuNzktNCw0czEuNzksNCw0LDRzNC0xLjc5LDQtNFMxNC4yMSw4LDEyLDh6IE0xMiwxNGMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMnMyLDAuOSwyLDIKCQkJUzEzLjEsMTQsMTIsMTR6Ii8+Cgk8L2c+CjwvZz4KPGcgaWQ9Ik1hdGVyaWFsIiBkaXNwbGF5PSJub25lIj4KCTxnIGlkPSJ1aV94NUZfc3BlY194NUZfaGVhZGVyX2NvcHkiPgoJPC9nPgoJPHBhdGggZGlzcGxheT0iaW5saW5lIiBkPSJNMTkuNDMsMTIuOThjMC4wNC0wLjMyLDAuMDctMC42NCwwLjA3LTAuOThzLTAuMDMtMC42Ni0wLjA3LTAuOThsMi4xMS0xLjY1CgkJYzAuMTktMC4xNSwwLjI0LTAuNDIsMC4xMi0wLjY0bC0yLTMuNDZjLTAuMTItMC4yMi0wLjM5LTAuMy0wLjYxLTAuMjJsLTIuNDksMWMtMC41Mi0wLjQtMS4wOC0wLjczLTEuNjktMC45OGwtMC4zOC0yLjY1CgkJQzE0LjQ2LDIuMTgsMTQuMjUsMiwxNCwyaC00QzkuNzUsMiw5LjU0LDIuMTgsOS41MSwyLjQyTDkuMTMsNS4wN0M4LjUyLDUuMzIsNy45Niw1LjY2LDcuNDQsNi4wNWwtMi40OS0xCgkJYy0wLjIzLTAuMDktMC40OSwwLTAuNjEsMC4yMmwtMiwzLjQ2QzIuMjEsOC45NSwyLjI3LDkuMjIsMi40Niw5LjM3bDIuMTEsMS42NUM0LjUzLDExLjM0LDQuNSwxMS42Nyw0LjUsMTJzMC4wMywwLjY2LDAuMDcsMC45OAoJCWwtMi4xMSwxLjY1Yy0wLjE5LDAuMTUtMC4yNCwwLjQyLTAuMTIsMC42NGwyLDMuNDZjMC4xMiwwLjIyLDAuMzksMC4zLDAuNjEsMC4yMmwyLjQ5LTFjMC41MiwwLjQsMS4wOCwwLjczLDEuNjksMC45OGwwLjM4LDIuNjUKCQlDOS41NCwyMS44Miw5Ljc1LDIyLDEwLDIyaDRjMC4yNSwwLDAuNDYtMC4xOCwwLjQ5LTAuNDJsMC4zOC0yLjY1YzAuNjEtMC4yNSwxLjE3LTAuNTksMS42OS0wLjk4bDIuNDksMQoJCWMwLjIzLDAuMDksMC40OSwwLDAuNjEtMC4yMmwyLTMuNDZjMC4xMi0wLjIyLDAuMDctMC40OS0wLjEyLTAuNjRMMTkuNDMsMTIuOTh6IE0xMiwxNS41Yy0xLjkzLDAtMy41LTEuNTctMy41LTMuNQoJCXMxLjU3LTMuNSwzLjUtMy41czMuNSwxLjU3LDMuNSwzLjVTMTMuOTMsMTUuNSwxMiwxNS41eiIvPgo8L2c+Cjwvc3ZnPgo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik04LDAuN0M0LDAuNywwLjcsMy45LDAuNyw4YzAsNCwzLjIsNy4zLDcuMyw3LjNjNCwwLDcuMi0zLjIsNy4yLTcuM0MxNS4zLDMuOSwxMiwwLjcsOCwwLjd6IE0xMC4xLDEwbC02LjksMi43TDYsNS45DQoJCWw2LjgtMi44TDEwLjEsMTB6Ii8+DQoJPGNpcmNsZSBjeD0iOCIgY3k9IjcuOSIgcj0iMS4yIi8+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwb2x5Z29uIHBvaW50cz0iNS4zLDMuMSAyLjcsNi4zIDQuOCw2LjMgNC44LDEzLjIgNS44LDEzLjIgNS44LDYuMyA3LjgsNi4zIAkiLz4NCgk8cG9seWdvbiBwb2ludHM9IjExLjMsMTAgMTEuMywzLjEgMTAuMywzLjEgMTAuMywxMCA4LjIsMTAgMTAuOCwxMy4yIDEzLjMsMTAgCSIvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBkPSJNMTYsNnY4aDN2OGgyVjJDMTguMjQsMiwxNiw0LjI0LDE2LDZ6Ii8+CgkJPHBhdGggZD0iTTExLDlIOVYySDd2N0g1VjJIM3Y3YzAsMi4yMSwxLjc5LDQsNCw0djloMnYtOWMyLjIxLDAsNC0xLjc5LDQtNFYyaC0yVjl6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlcl9jb3B5XzMiIGRpc3BsYXk9Im5vbmUiPgoJPC9nPgoJPHBhdGggZmlsbD0ibm9uZSIgZD0iTTAsMGgyNHYyNEgwVjB6Ii8+CjwvZz4KPGcgaWQ9Ik91dGxpbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXIiIGRpc3BsYXk9Im5vbmUiPgoJPC9nPgoJPHBhdGggZD0iTTEwLDE4aDR2LTJoLTRWMTh6IE0zLDZ2MmgxOFY2SDN6IE02LDEzaDEydi0ySDZWMTN6Ii8+CjwvZz4KPC9zdmc+Cg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8cGF0aCBkPSJNMjAsNmgtOGwtMi0ySDRDMi45LDQsMi4wMSw0LjksMi4wMSw2TDIsMThjMCwxLjEsMC45LDIsMiwyaDE2YzEuMSwwLDItMC45LDItMlY4QzIyLDYuOSwyMS4xLDYsMjAsNnogTTIwLDE4SDRWOGgxNlYxOHoiCgkJLz4KPC9nPgo8L3N2Zz4K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZD0iTTEzLjQsNC4ySDguM1YyLjhjMC0wLjctMC41LTEuMi0xLjItMS4ySDMuMkMyLjUsMS42LDIsMi4xLDIsMi44djEuNmMtMC40LDAuMi0wLjYsMC42LTAuNiwxdjcuN2MwLDAuNywwLjUsMS4yLDEuMiwxLjINCgloMTAuOGMwLjcsMCwxLjItMC41LDEuMi0xLjJWNS40QzE0LjYsNC43LDE0LjEsNC4yLDEzLjQsNC4yeiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxOTIgMTkyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOTIgMTkyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTTU0LjgsMzguNWMtMTAsMzMuNi01LjEsNjQuMywyMCw4OS40czU1LjksMjkuNyw4OS41LDIwLjJjLTE3LjcsMTcuNi0zOS4yLDI0LjMtNjMuNCwyMS42DQoJYy0zNS00LjEtNTkuNi0zMC4zLTY2LjYtNTkuNUMyNy4yLDgwLjgsMzkuNiw1MC45LDU0LjgsMzguNXoiLz4NCjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNOTEsNDMuOWMyLjMtNC4xLDUuNS03LjYsOS4xLTEwLjdjMTcuMy0xNC43LDQzLjYtMTQuNyw2MS0wLjFjMi45LDIuNCw0LjUsNSw0LjEsOWMtMC40LDQuNi0wLjEsOS4zLTAuMSwxNC41DQoJYy02LjMsMC0xMi4zLDAuMS0xOC4yLTAuMWMtMC44LDAtMS42LTAuOC0yLjMtMS4zYy0xNC45LTEyLjctMzEuNy0xNi41LTUwLjUtMTAuOWMtMC44LDAuMi0xLjcsMC4zLTIuNSwwLjUNCglDOTEuNSw0NC42LDkxLjIsNDQuMiw5MSw0My45eiIvPg0KPHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xNDMsMTE4LjJjLTAuMS0yLjQtMC4yLTQuNi0wLjMtNy4zYy0xLjMtMC4xLTIuNi0wLjItMy44LTAuM2MtMy45LTAuMS03LjgsMC4yLTExLjctMC4xDQoJYy05LjMtMC41LTE2LjktOC4yLTE3LTE3LjFjLTAuMi05LjYsNi45LTE3LjEsMTctMTcuOWMwLjIsMC44LDAuNCwxLjYsMC41LDIuNWMyLDkuMyw5LDE1LDE4LjYsMTUuMWM0LjgsMC4xLDkuNiwwLDE0LjQsMA0KCWMxLjIsMCwyLjYsMC4xLDQuNCwwLjJjMCw0LjcsMC4xLDkuMi0wLjEsMTMuN2MwLDAuOC0wLjcsMS42LTEuMiwyLjNDMTU5LjcsMTEzLjMsMTQ5LjgsMTE3LjYsMTQzLDExOC4yeiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHJlY3QgeD0iMiIgeT0iMS45IiB3aWR0aD0iNSIgaGVpZ2h0PSI1Ii8+DQoJPHJlY3QgeD0iOS4xIiB5PSI5IiB3aWR0aD0iNSIgaGVpZ2h0PSI1Ii8+DQoJPHJlY3QgeD0iMiIgeT0iOSIgd2lkdGg9IjUiIGhlaWdodD0iNSIvPg0KCTxyZWN0IHg9IjkuMSIgeT0iMS45IiB3aWR0aD0iNSIgaGVpZ2h0PSI1Ii8+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xLjUsNC4xYzAsMCw0LjMtMy45LDguNC0xLjRjNC4xLDIuNCw1LjQsNS42LDMuNiw3LjlDMTEuNCw3LjQsMTAuMyw1LjgsNiw0LjVjMCwwLDYuOCw0LjMsOCw5LjNjLTAuMiwxLjEtMS4yLDAuMy0xLjIsMC4zDQoJbC0xLjEtMS44YzAsMC0yLjEsMS42LTQuNi0wLjVDMi45LDguMSw2LjIsNCwxLjUsNC4xeiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxyZWN0IHg9IjEuNyIgeT0iMi40IiBjbGFzcz0ic3QwIiB3aWR0aD0iMTIuNiIgaGVpZ2h0PSIxLjkiLz4NCgk8cmVjdCB4PSIxLjciIHk9IjciIGNsYXNzPSJzdDAiIHdpZHRoPSIxMi42IiBoZWlnaHQ9IjEuOSIvPg0KCTxyZWN0IHg9IjEuNyIgeT0iMTEuNiIgY2xhc3M9InN0MCIgd2lkdGg9IjEyLjYiIGhlaWdodD0iMS45Ii8+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgl2aWV3Qm94PSIwIDAgMTYgMTYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xNC4yNjgsNC4yOTNIOS42NUw4LjExLDIuNzU0SDMuNDk0djEuNTM5SDEuOTU1djkuMjM0aDEwLjc3M3YtMS41MzhoMS41MzlWNC4yOTNMMTQuMjY4LDQuMjkzeiBNMTMuNDk5LDExLjIxOQ0KCWgtMC43NzFWNS44MzJIOC4xMWwtMS41MzgtMS41NEg0LjI2NFYzLjUyM2gzLjUyOWwxLjUzOSwxLjUzOWg0LjE2N1YxMS4yMTl6Ii8+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik03LjQsNi4yQzcuMiw2LDYuOCw2LDYuNiw2LjJsLTUuMyw2LjJjLTAuMSwwLjEtMC4yLDAuMi0wLjIsMC40YzAsMC4yLDAuMSwwLjMsMC4yLDAuNGwxLjUsMS41YzAuMSwwLjEsMC4yLDAuMiwwLjQsMC4yDQoJCWMwLjEsMCwwLjMtMC4xLDAuNC0wLjFsNi4yLTUuM0M5LjksOS4zLDEwLDkuMiwxMCw5YzAtMC4yLTAuMS0wLjMtMC4yLTAuNEw3LjQsNi4yeiIvPg0KCTxwYXRoIGQ9Ik0xMy44LDIuMUMxMy4xLDEuNCwxMi4yLDEsMTEuMiwxYy0xLDAtMS45LDAuNC0yLjcsMS4xQzcuNywyLjksNy40LDQuMyw3LjQsNC40YzAsMC4yLDAsMC41LDAuMywwLjdsMy4xLDMuMQ0KCQljMC4xLDAuMSwwLjQsMC4zLDAuNywwLjNjMCwwLDAsMCwwLDBjMC4xLDAsMS42LTAuMywyLjItMS4xQzE1LjIsNiwxNS4yLDMuNiwxMy44LDIuMXoiLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xNS4xLDAuNWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjFMNiwyLjRDNS43LDIuNSw1LjUsMi44LDUuNSwzLjF2Ni42QzUsOS40LDQuNCw5LjIsMy44LDkuMmMtMS43LDAtMy4xLDEuNC0zLjEsMy4xDQoJczEuNCwzLjEsMy4xLDMuMWMxLjcsMCwzLjEtMS40LDMuMS0zLjFWMy43TDE0LDJ2NS43Yy0wLjUtMC4zLTEuMS0wLjUtMS43LTAuNWMtMS43LDAtMy4xLDEuNC0zLjEsMy4xczEuNCwzLjEsMy4xLDMuMQ0KCXMzLjEtMS40LDMuMS0zLjFWMS4xQzE1LjQsMC45LDE1LjMsMC43LDE1LjEsMC41eiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8cGF0aCBkPSJNNiwxOWg0VjVINlYxOXogTTE0LDV2MTRoNFY1SDE0eiIvPgo8L2c+Cjwvc3ZnPgo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDMwNSAzMDUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwNSAzMDU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnIGlkPSJYTUxJRF80NjJfIj4NCgk8cGF0aCBpZD0iWE1MSURfNDYzXyIgZD0iTTEwOS41ODgsMjMwYzEuMDU5LDAsMi4xMzUtMC4wNjYsMy4yMDEtMC4xOThjMTQuMDQ5LTEuNzU0LDI0LjYwNy0xNC41NTgsMjMuNTcxLTI4LjU2MQ0KCQljLTAuMDAxLTAuMDI0LTAuMDAyLTAuMDQ3LTAuMDAzLTAuMDcxYzAuMDI1LTAuMTQ0LDAuMDM5LTAuMjkyLDAuMDM5LTAuNDQzdi03Ni4xOTRsNTQuOTkzLTEwLjIzN3Y1Ni4yMTkNCgkJYy0yLjk0Mi0wLjcyMi02LjA2Ny0wLjg5Ny05LjE2Ny0wLjUwOGMtMTQuMDg0LDEuNzQxLTI0LjY2NiwxNC41ODUtMjMuNTksMjguNjI4YzAuOTc2LDEyLjk0NywxMS41LDIyLjcxLDI0LjQ4MSwyMi43MQ0KCQljMS4wNjcsMCwyLjE1Mi0wLjA2OCwzLjIyNC0wLjIwMmMxNC4wNjItMS43NTMsMjQuNjQzLTE0LjU5NiwyMy41ODctMjguNjIzYy0wLjAwMi0wLjAyNC0wLjAwNC0wLjA0OC0wLjAwNi0wLjA3Mg0KCQljMC4wMi0wLjEyNCwwLjAyOS0wLjI1MSwwLjAyOS0wLjM4MVY3Ny45OTRsMC4wMjMtMC4yODhjMC4wNzUtMC45MDUtMC4zNjMtMS43NzEtMS4xMTktMi4yNzYNCgkJYy0wLjU3MS0wLjM4Mi0xLjI3NC0wLjUwMS0xLjkzNC0wLjM1N2MtMC4wMTIsMC4wMDItMC4wMjQsMC4wMDUtMC4wMzYsMC4wMDdsLTg2Ljk4MywxNC44NDljLTEuMjAxLDAuMjA1LTIuMDc5LDEuMjQ2LTIuMDc5LDIuNDY0DQoJCXY4Ni43OTNjLTIuOTUtMC43MjktNi4wNzQtMC45MDgtOS4xNjQtMC41MjFjLTE0LjA5LDEuNzM4LTI0LjY2NSwxNC41ODMtMjMuNTc0LDI4LjYzMUM4Ni4wNzIsMjIwLjI0LDk2LjYwNywyMzAuMDAxLDEwOS41ODgsMjMweg0KCQkiLz4NCgk8cGF0aCBpZD0iWE1MSURfNDY0XyIgZD0iTTE1Mi41LDMwNWM4NC4wODksMCwxNTIuNS02OC40MTEsMTUyLjUtMTUyLjVTMjM2LjU4OSwwLDE1Mi41LDBTMCw2OC40MTEsMCwxNTIuNVM2OC40MTEsMzA1LDE1Mi41LDMwNXoNCgkJIE0xNTIuNSwzNC45OTdjNjQuNzkxLDAsMTE3LjUwMyw1Mi43MTEsMTE3LjUwMywxMTcuNTAzYzAsNjQuNzkyLTUyLjcxMiwxMTcuNTA0LTExNy41MDMsMTE3LjUwNFMzNC45OTcsMjE3LjI5MiwzNC45OTcsMTUyLjUNCgkJQzM0Ljk5Nyw4Ny43MDksODcuNzA5LDM0Ljk5NywxNTIuNSwzNC45OTd6Ii8+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8cGF0aCBkPSJNMTAsOC42NEwxNS4yNywxMkwxMCwxNS4zNlY4LjY0IE04LDV2MTRsMTEtN0w4LDVMOCw1eiIvPgo8L2c+Cjwvc3ZnPgo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDE2IDE2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0xMSwxLjFjLTAuMi0wLjItMC41LTAuMy0wLjgtMC4yQzEwLDEuMSw5LjgsMS4zLDkuOCwxLjZ2Ny42QzkuMyw4LjksOC43LDguNyw4LjEsOC43QzYuNCw4LjcsNSwxMC4xLDUsMTEuOA0KCQlzMS40LDMuMSwzLjEsMy4xYzEuNywwLDMuMS0xLjQsMy4xLTMuMVYzLjNMMTQsNi4ybDEtMUwxMSwxLjF6Ii8+DQoJPHJlY3QgeD0iMS42IiB5PSIxLjIiIHdpZHRoPSI2LjEiIGhlaWdodD0iMS40Ii8+DQoJPHJlY3QgeD0iMS42IiB5PSIzLjYiIHdpZHRoPSI2LjEiIGhlaWdodD0iMS40Ii8+DQoJPHJlY3QgeD0iMS42IiB5PSI2IiB3aWR0aD0iNi4xIiBoZWlnaHQ9IjEuNCIvPg0KPC9nPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8cGF0aCBkPSJNNyw3aDEwdjNsNC00bC00LTR2M0g1djZoMlY3eiBNMTcsMTdIN3YtM2wtNCw0bDQsNHYtM2gxMnYtNmgtMlYxN3oiLz4KPC9nPgo8L3N2Zz4K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlcl9jb3B5XzMiIGRpc3BsYXk9Im5vbmUiPgoJPC9nPgoJPHBhdGggZmlsbD0ibm9uZSIgZD0iTTAsMGgyNHYyNEgwVjB6Ii8+CjwvZz4KPGcgaWQ9IlJvdW5kZWQiIGRpc3BsYXk9Im5vbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV81Ij4KCTwvZz4KCTxwYXRoIGRpc3BsYXk9ImlubGluZSIgZD0iTTE1LjUsMTRoLTAuNzlsLTAuMjgtMC4yN2MxLjItMS40LDEuODItMy4zMSwxLjQ4LTUuMzRjLTAuNDctMi43OC0yLjc5LTUtNS41OS01LjM0CgkJYy00LjIzLTAuNTItNy43OSwzLjA0LTcuMjcsNy4yN2MwLjM0LDIuOCwyLjU2LDUuMTIsNS4zNCw1LjU5YzIuMDMsMC4zNCwzLjk0LTAuMjgsNS4zNC0xLjQ4TDE0LDE0LjcxdjAuNzlsNC4yNSw0LjI1CgkJYzAuNDEsMC40MSwxLjA4LDAuNDEsMS40OSwwbDAsMGMwLjQxLTAuNDEsMC40MS0xLjA4LDAtMS40OUwxNS41LDE0eiBNOS41LDE0QzcuMDEsMTQsNSwxMS45OSw1LDkuNVM3LjAxLDUsOS41LDVTMTQsNy4wMSwxNCw5LjUKCQlTMTEuOTksMTQsOS41LDE0eiIvPgo8L2c+CjxnIGlkPSJTaGFycCIgZGlzcGxheT0ibm9uZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlcl9jb3B5XzQiPgoJPC9nPgoJPHBhdGggZGlzcGxheT0iaW5saW5lIiBkPSJNMTUuNSwxNGgtMC43OWwtMC4yOC0wLjI3QzE1LjQxLDEyLjU5LDE2LDExLjExLDE2LDkuNUMxNiw1LjkxLDEzLjA5LDMsOS41LDNTMyw1LjkxLDMsOS41CgkJUzUuOTEsMTYsOS41LDE2YzEuNjEsMCwzLjA5LTAuNTksNC4yMy0xLjU3TDE0LDE0LjcxdjAuNzlsNSw0Ljk5TDIwLjQ5LDE5TDE1LjUsMTR6IE05LjUsMTRDNy4wMSwxNCw1LDExLjk5LDUsOS41UzcuMDEsNSw5LjUsNQoJCVMxNCw3LjAxLDE0LDkuNVMxMS45OSwxNCw5LjUsMTR6Ii8+CjwvZz4KPGcgaWQ9Ik91dGxpbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXIiIGRpc3BsYXk9Im5vbmUiPgoJPC9nPgoJPHBhdGggZD0iTTE1LjUsMTRoLTAuNzlsLTAuMjgtMC4yN0MxNS40MSwxMi41OSwxNiwxMS4xMSwxNiw5LjVDMTYsNS45MSwxMy4wOSwzLDkuNSwzUzMsNS45MSwzLDkuNVM1LjkxLDE2LDkuNSwxNgoJCWMxLjYxLDAsMy4wOS0wLjU5LDQuMjMtMS41N0wxNCwxNC43MXYwLjc5bDUsNC45OUwyMC40OSwxOUwxNS41LDE0eiBNOS41LDE0QzcuMDEsMTQsNSwxMS45OSw1LDkuNVM3LjAxLDUsOS41LDVTMTQsNy4wMSwxNCw5LjUKCQlTMTEuOTksMTQsOS41LDE0eiIvPgo8L2c+CjxnIGlkPSJEdW90b25lIiBkaXNwbGF5PSJub25lIj4KCTxnIGlkPSJ1aV94NUZfc3BlY194NUZfaGVhZGVyX2NvcHlfMiI+Cgk8L2c+Cgk8ZyBkaXNwbGF5PSJpbmxpbmUiPgoJCTxwYXRoIGQ9Ik0xNS41LDE0aC0wLjc5bC0wLjI4LTAuMjdDMTUuNDEsMTIuNTksMTYsMTEuMTEsMTYsOS41QzE2LDUuOTEsMTMuMDksMyw5LjUsM1MzLDUuOTEsMyw5LjVDMywxMy4wOSw1LjkxLDE2LDkuNSwxNgoJCQljMS42MSwwLDMuMDktMC41OSw0LjIzLTEuNTdMMTQsMTQuNzF2MC43OWw1LDQuOTlMMjAuNDksMTlMMTUuNSwxNHogTTkuNSwxNEM3LjAxLDE0LDUsMTEuOTksNSw5LjVTNy4wMSw1LDkuNSw1UzE0LDcuMDEsMTQsOS41CgkJCVMxMS45OSwxNCw5LjUsMTR6Ii8+Cgk8L2c+CjwvZz4KPGcgaWQ9Ik1hdGVyaWFsIiBkaXNwbGF5PSJub25lIj4KCTxnIGlkPSJ1aV94NUZfc3BlY194NUZfaGVhZGVyX2NvcHkiPgoJPC9nPgoJPHBhdGggZGlzcGxheT0iaW5saW5lIiBkPSJNMTUuNSwxNGgtMC43OWwtMC4yOC0wLjI3QzE1LjQxLDEyLjU5LDE2LDExLjExLDE2LDkuNUMxNiw1LjkxLDEzLjA5LDMsOS41LDNTMyw1LjkxLDMsOS41CgkJUzUuOTEsMTYsOS41LDE2YzEuNjEsMCwzLjA5LTAuNTksNC4yMy0xLjU3TDE0LDE0LjcxdjAuNzlsNSw0Ljk5TDIwLjQ5LDE5TDE1LjUsMTR6IE05LjUsMTRDNy4wMSwxNCw1LDExLjk5LDUsOS41UzcuMDEsNSw5LjUsNQoJCVMxNCw3LjAxLDE0LDkuNVMxMS45OSwxNCw5LjUsMTR6Ii8+CjwvZz4KPC9zdmc+Cg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHJlY3QgeD0iMi4wMTgiIHk9IjIuMTI4IiBmaWxsPSIjMDEwMTAxIiB3aWR0aD0iNC4yODkiIGhlaWdodD0iNC4yODkiLz4NCjxnPg0KCTxyZWN0IHg9IjcuMzA1IiB5PSIyLjEyOCIgZmlsbD0iIzAxMDEwMSIgd2lkdGg9IjYuNjc4IiBoZWlnaHQ9IjAuODUxIi8+DQo8L2c+DQo8Zz4NCgk8cmVjdCB4PSI3LjMwNSIgeT0iNC4xMjgiIGZpbGw9IiMwMTAxMDEiIHdpZHRoPSI2LjY3OCIgaGVpZ2h0PSIwLjg1MSIvPg0KPC9nPg0KPGc+DQoJPHJlY3QgeD0iNy4zMDUiIHk9IjYuMTI4IiBmaWxsPSIjMDEwMTAxIiB3aWR0aD0iNi42NzgiIGhlaWdodD0iMC44NTEiLz4NCjwvZz4NCjxyZWN0IHg9IjIuMDE4IiB5PSI5LjIxMSIgZmlsbD0iIzAxMDEwMSIgd2lkdGg9IjQuMjg5IiBoZWlnaHQ9IjQuMjg5Ii8+DQo8Zz4NCgk8cmVjdCB4PSI3LjMwNSIgeT0iOS4yMTEiIGZpbGw9IiMwMTAxMDEiIHdpZHRoPSI2LjY3OCIgaGVpZ2h0PSIwLjg1MSIvPg0KPC9nPg0KPGc+DQoJPHJlY3QgeD0iNy4zMDUiIHk9IjExLjIxMSIgZmlsbD0iIzAxMDEwMSIgd2lkdGg9IjYuNjc4IiBoZWlnaHQ9IjAuODUxIi8+DQo8L2c+DQo8Zz4NCgk8cmVjdCB4PSI3LjMwNSIgeT0iMTMuMjExIiBmaWxsPSIjMDEwMTAxIiB3aWR0aD0iNi42NzgiIGhlaWdodD0iMC44NTEiLz4NCjwvZz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik0xMi45LDQuM2MwLTEuNC0zLjEtMS44LTQuOS0xLjhTMy4xLDIuOSwzLjEsNC4zYzAsMCwwLDAsMCwwdjUuMmgwYzAsMCwwLDAsMCwwdjIuNmMwLDEuNCwzLjEsMS44LDQuOSwxLjhzNC45LTAuNCw0LjktMS44DQoJTDEyLjksNC4zTDEyLjksNC4zeiBNMTEuOSw5LjVjLTAuMSwwLjItMS40LDAuOC0zLjksMC44Yy0yLjUsMC0zLjgtMC42LTMuOS0wLjhWOC4xQzUuMSw4LjUsNi44LDguNyw4LDguN2MxLjIsMCwyLjktMC4yLDMuOS0wLjYNCglMMTEuOSw5LjV6IE04LDMuNWMyLjUsMCwzLjgsMC42LDMuOSwwLjhDMTEuOCw0LjUsMTAuNSw1LjEsOCw1LjFjLTIuNSwwLTMuOC0wLjYtMy45LTAuN3YwQzQuMiw0LjEsNS41LDMuNSw4LDMuNXogTTQuMSw1LjUNCglDNS4xLDUuOSw2LjgsNi4xLDgsNi4xYzEuMiwwLDIuOS0wLjIsMy45LTAuNmwwLDEuNEMxMS44LDcuMSwxMC41LDcuNyw4LDcuN2MtMi41LDAtMy44LTAuNi0zLjktMC44VjUuNXogTTgsMTIuOQ0KCWMtMi41LDAtMy44LTAuNi0zLjktMC44di0xLjVjMS4xLDAuNSwyLjgsMC42LDMuOSwwLjZjMS4yLDAsMi45LTAuMiwzLjktMC42bDAsMS40QzExLjgsMTIuMywxMC41LDEyLjksOCwxMi45eiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8cGF0aCBkPSJNMTAuNTksOS4xN0w1LjQxLDRMNCw1LjQxbDUuMTcsNS4xN0wxMC41OSw5LjE3eiBNMTQuNSw0bDIuMDQsMi4wNEw0LDE4LjU5TDUuNDEsMjBMMTcuOTYsNy40NkwyMCw5LjVWNEgxNC41egoJCSBNMTQuODMsMTMuNDFsLTEuNDEsMS40MWwzLjEzLDMuMTNMMTQuNSwyMEgyMHYtNS41bC0yLjA0LDIuMDRMMTQuODMsMTMuNDF6Ii8+CjwvZz4KPC9zdmc+Cg=="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8Zz4KCQk8cGF0aCBkPSJNNiwxOGw4LjUtNkw2LDZWMTh6IE04LDkuODZMMTEuMDMsMTJMOCwxNC4xNFY5Ljg2eiIvPgoJCTxyZWN0IHg9IjE2IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxMiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggaWQ9InNvdW5kY2xvdWQiIGQ9Ik0wLjAyNywxMC45NDVjMCwwLjE5NywwLjA3MiwwLjM0NywwLjIxNSwwLjQ0N2MwLjE0NSwwLjEwNCwwLjI5OCwwLjEzOSwwLjQ2MiwwLjEwOA0KCWMwLjE1My0wLjAyOCwwLjI2MS0wLjA4NCwwLjMyMy0wLjE2NGMwLjA2My0wLjA3OSwwLjA5My0wLjIxMSwwLjA5My0wLjM5NFY4Ljc4OWMwLTAuMTU0LTAuMDUzLTAuMjgzLTAuMTU5LTAuMzkxDQoJYy0wLjEwNy0wLjEwNy0wLjIzNy0wLjE2LTAuMzkxLTAuMTZjLTAuMTQ3LDAtMC4yNzUsMC4wNTMtMC4zODIsMC4xNkMwLjA4MSw4LjUwNiwwLjAyNyw4LjYzNSwwLjAyNyw4Ljc4OVYxMC45NDVMMC4wMjcsMTAuOTQ1eg0KCSBNMS43MzYsMTEuODY1YzAsMC4xNDUsMC4wNTMsMC4yNTIsMC4xNTQsMC4zMjJjMC4xMDEsMC4wNzEsMC4yMywwLjEwOCwwLjM4OSwwLjEwOGMwLjE2NSwwLDAuMjk3LTAuMDM3LDAuMzk3LTAuMTA4DQoJYzAuMTAzLTAuMDcsMC4xNTMtMC4xNzksMC4xNTMtMC4zMjJWNi44NDJjMC0wLjE0OC0wLjA1NS0wLjI3Ni0wLjE1OS0wLjM4M0MyLjU2Myw2LjM1MiwyLjQzNCw2LjI5OCwyLjI3OSw2LjI5OA0KCWMtMC4xNDgsMC0wLjI3NSwwLjA1NC0wLjM4MywwLjE2MWMtMC4xMDUsMC4xMDYtMC4xNiwwLjIzNC0wLjE2LDAuMzgzVjExLjg2NXogTTMuNDM4LDEyLjEwNGMwLDAuMTQ1LDAuMDU0LDAuMjUyLDAuMTU2LDAuMzI0DQoJYzAuMTA1LDAuMDcxLDAuMjM4LDAuMTA3LDAuNDAyLDAuMTA3YzAuMTU3LDAsMC4yODgtMC4wMzYsMC4zOTEtMC4xMDdjMC4xMDEtMC4wNzIsMC4xNTEtMC4xODEsMC4xNTEtMC4zMjRWNy41MTgNCgljMC0wLjE1My0wLjA1NC0wLjI4NS0wLjE2LTAuMzk0QzQuMjcxLDcuMDE2LDQuMTQ1LDYuOTYsMy45OTcsNi45NmMtMC4xNTQsMC0wLjI4NSwwLjA1Ni0wLjM5NSwwLjE2NA0KCWMtMC4xMDgsMC4xMDgtMC4xNjQsMC4yNC0wLjE2NCwwLjM5NFYxMi4xMDR6IE01LjE0OCwxMi4xMjVjMCwwLjI3MywwLjE4NSwwLjQxLDAuNTUxLDAuNDFjMC4zNjcsMCwwLjU1LTAuMTM3LDAuNTUtMC40MVY0LjY5NA0KCWMwLTAuNDE4LTAuMTI4LTAuNjUzLTAuMzgtMC43MDdDNS43MDcsMy45NDgsNS41NDUsMy45OTQsNS4zODcsNC4xMjlDNS4yMjgsNC4yNjIsNS4xNDgsNC40NSw1LjE0OCw0LjY5NFYxMi4xMjV6IE02Ljg4OCwxMi4zNDINCglWNC4yNTZjMC0wLjI1OSwwLjA3Ny0wLjQxMiwwLjIzLTAuNDYxYzAuMzMzLTAuMDgsMC42NjMtMC4xMiwwLjk4OS0wLjEyYzAuNzU4LDAsMS40NjMsMC4xNzksMi4xMTgsMC41MzUNCgljMC42NTQsMC4zNTcsMS4xODUsMC44NDUsMS41ODgsMS40NjJjMC40MDEsMC42MTUsMC42MzgsMS4yOTUsMC43MDEsMi4wMzljMC4zMDMtMC4xMjksMC42MjUtMC4xOTMsMC45NjktMC4xOTMNCgljMC42OSwwLDEuMjg1LDAuMjQ2LDEuNzc3LDAuNzM1QzE1Ljc1NCw4Ljc0NCwxNiw5LjMzNCwxNiwxMC4wMjFjMCwwLjY5My0wLjI0NiwxLjI4Ny0wLjczOSwxLjc3Ng0KCWMtMC40OTMsMC40OS0xLjA4NSwwLjczNi0xLjc3MSwwLjczNmwtNi40NjgtMC4wMDljLTAuMDQzLTAuMDE2LTAuMDc3LTAuMDQxLTAuMTAyLTAuMDgyQzYuODk4LDEyLjQwNiw2Ljg4OCwxMi4zNzEsNi44ODgsMTIuMzQyDQoJTDYuODg4LDEyLjM0MnoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlcl9jb3B5XzMiPgoJPC9nPgoJPHBhdGggZmlsbD0ibm9uZSIgZD0iTTAsMGgyNHYyNEgwVjB6Ii8+CjwvZz4KPGcgaWQ9Ik91dGxpbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXIiPgoJPC9nPgoJPGc+CgkJPHBhdGggZD0iTTE4LjIsMUg5LjhDOC44MSwxLDgsMS44MSw4LDIuOHYxNC40YzAsMC45OSwwLjgxLDEuNzksMS44LDEuNzlMMTguMiwxOWMwLjk5LDAsMS44LTAuODEsMS44LTEuOFYyLjgKCQkJQzIwLDEuODEsMTkuMTksMSwxOC4yLDF6IE0xOCwxN2wtOC0wLjAxVjNoOFYxN3oiLz4KCQk8cGF0aCBkPSJNMTQsOGMxLjEsMCwyLTAuODksMi0ycy0wLjktMi0yLTJzLTIsMC44OS0yLDJTMTIuOSw4LDE0LDh6Ii8+CgkJPHBhdGggZD0iTTE0LDE2YzEuOTMsMCwzLjUtMS41NywzLjUtMy41YzAtMS45My0xLjU3LTMuNS0zLjUtMy41Yy0xLjkzLDAtMy41LDEuNTctMy41LDMuNUMxMC41LDE0LjQzLDEyLjA3LDE2LDE0LDE2eiBNMTQsMTEKCQkJYzAuODMsMCwxLjUsMC42NywxLjUsMS41UzE0LjgzLDE0LDE0LDE0cy0xLjUtMC42Ny0xLjUtMS41UzEzLjE3LDExLDE0LDExeiIvPgoJCTxwYXRoIGQ9Ik02LDVINHYxNmMwLDEuMSwwLjg5LDIsMiwyaDEwdi0ySDZWNXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlcl9jb3B5XzMiPgoJPC9nPgoJPHBhdGggZmlsbD0ibm9uZSIgZD0iTTAsMGgyNHYyNEgwVjB6Ii8+CjwvZz4KPGcgaWQ9Ik91dGxpbmUiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXIiPgoJPC9nPgoJPGc+CgkJPHBhdGggZD0iTTE3LDJIN0M1LjksMiw1LDIuOSw1LDR2MTZjMCwxLjEsMC45LDEuOTksMiwxLjk5TDE3LDIyYzEuMSwwLDItMC45LDItMlY0QzE5LDIuOSwxOC4xLDIsMTcsMnogTTcsMjBWNGgxMGwwLDE2SDd6Ii8+CgkJPHBhdGggZD0iTTEyLDljMS4xLDAsMi0wLjksMi0yYzAtMS4xLTAuOS0yLTItMmMtMS4xMSwwLTIsMC45LTIsMkMxMCw4LjEsMTAuODksOSwxMiw5eiIvPgoJCTxwYXRoIGQ9Ik0xMiwxMWMtMi4yMSwwLTQsMS43OS00LDRzMS43OSw0LDQsNHM0LTEuNzksNC00UzE0LjIxLDExLDEyLDExeiBNMTIsMTdjLTEuMSwwLTItMC45LTItMnMwLjktMiwyLTJzMiwwLjksMiwyCgkJCVMxMy4xLDE3LDEyLDE3eiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggaWQ9InNwb3RpZnkiIGQ9Ik03Ljk0LDEuODg3Yy0zLjM4OSwwLTYuMTYsMi43NzItNi4xNiw2LjE2MmMwLDMuMzkxLDIuNzcxLDYuMTYxLDYuMTYsNi4xNjFjMy4zODgsMCw2LjE2LTIuNzcxLDYuMTYtNi4xNjENCglDMTQuMSw0LjY1OSwxMS4zNTcsMS44ODcsNy45NCwxLjg4N3ogTTEwLjc3MywxMC43ODljLTAuMTIzLDAuMTg2LTAuMzQsMC4yNDYtMC41MjIsMC4xMjNjLTEuNDQ5LTAuODkzLTMuMjY3LTEuMDc4LTUuNDIyLTAuNTg0DQoJYy0wLjIxNSwwLjA2MS0wLjM5OS0wLjA5NC0wLjQ2MS0wLjI3OUM0LjMwNiw5LjgzNCw0LjQ1OCw5LjY1LDQuNjQ1LDkuNTg4YzIuMzQtMC41MjMsNC4zNzUtMC4zMDksNS45NzUsMC42NzgNCglDMTAuODM2LDEwLjM1OSwxMC44NjYsMTAuNjA1LDEwLjc3MywxMC43ODl6IE0xMS41MTQsOS4wOTRjLTAuMTU0LDAuMjE5LTAuNDMzLDAuMzA5LTAuNjQ2LDAuMTU2DQoJYy0xLjY2NC0xLjAxOC00LjE5LTEuMzI3LTYuMTMtMC43MDlDNC40OSw4LjYwNCw0LjIxMyw4LjQ4LDQuMTUxLDguMjMyQzQuMDg5LDcuOTg2LDQuMjEzLDcuNzA4LDQuNDU4LDcuNjQ4DQoJYzIuMjUtMC42NzgsNS4wMjEtMC4zNCw2LjkzMywwLjgzMkMxMS41NzQsOC41NzIsMTEuNjY3LDguODc4LDExLjUxNCw5LjA5NHogTTExLjU3NCw3LjM3MUM5LjYwNCw2LjE5OCw2LjMwOCw2LjA3NSw0LjQzLDYuNjYxDQoJQzQuMTIxLDYuNzU0LDMuODEyLDYuNTY5LDMuNzIsNi4yOTJDMy42MjgsNS45ODMsMy44MTIsNS42NzYsNC4wODksNS41ODNDNi4yNzYsNC45MzcsOS44OCw1LjA2LDEyLjE2LDYuNDE1DQoJYzAuMjc3LDAuMTU0LDAuMzY5LDAuNTIzLDAuMjE1LDAuODAxQzEyLjIyMyw3LjQzMSwxMS44NTIsNy41MjMsMTEuNTc0LDcuMzcxeiIvPg0KPC9zdmc+DQo="},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMS4wLjIsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik04LDAuOGMtMC4yLDAtMC4zLDAuMS0wLjQsMC40bC0yLDRMMS4yLDUuOEMwLjgsNS45LDAuNyw2LDAuNyw2LjJjMCwwLjEsMC4xLDAuMywwLjIsMC40bDMuMiwzLjFsLTAuOCw0LjQNCgljMCwwLjEsMCwwLjEsMCwwLjJjMCwwLjEsMCwwLjIsMC4xLDAuM3MwLjIsMC4xLDAuMywwLjFzMC4yLDAsMC40LTAuMWw0LTIuMWw0LDIuMWMwLjEsMC4xLDAuMiwwLjEsMC40LDAuMWMwLjEsMCwwLjIsMCwwLjMtMC4xDQoJczAuMS0wLjIsMC4xLTAuM3MwLTAuMSwwLTAuMmwtMC44LTQuNGwzLjItMy4xYzAuMi0wLjIsMC4yLTAuMywwLjItMC40YzAtMC4yLTAuMi0wLjQtMC41LTAuNGwtNC40LTAuNmwtMi00QzguMywwLjksOC4yLDAuOCw4LDAuOA0KCUw4LDAuOHoiLz4NCjwvc3ZnPg0K"},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3hlcyI+Cgk8cGF0aCBmaWxsPSJub25lIiBkPSJNMCwwaDI0djI0SDBWMHoiLz4KPC9nPgo8ZyBpZD0iT3V0bGluZSI+Cgk8ZyBpZD0idWlfeDVGX3NwZWNfeDVGX2hlYWRlciI+Cgk8L2c+Cgk8cGF0aCBkPSJNMTYsOHY4SDhWOEgxNiBNMTgsNkg2djEyaDEyVjZMMTgsNnoiLz4KPC9nPgo8L3N2Zz4K"},function(module,exports,__webpack_require__){function webpackContext(req){return __webpack_require__(webpackContextResolve(req))}function webpackContextResolve(req){var id=map[req];if(!(id+1))throw new Error("Cannot find module '"+req+"'.");return id}var map={"./playing.gif":273};webpackContext.keys=function(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=272},function(module,exports){module.exports="data:image/gif;base64,R0lGODlhIANYAqIFAP///7+/vz8/P39/fwAAAP///wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUyNEIxRUVGQzU4MzExRTQ5QkU3RTg5MjcxRDBEOTNDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUyNEIxRUYwQzU4MzExRTQ5QkU3RTg5MjcxRDBEOTNDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTI0QjFFRURDNTgzMTFFNDlCRTdFODkyNzFEMEQ5M0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTI0QjFFRUVDNTgzMTFFNDlCRTdFODkyNzFEMEQ5M0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQFAwAFACwAAAAAIANYAgAD/0i63P4wykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lh8Tq/b7/i8fs/v+/+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/wADChxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsf+jx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw4sfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+/////AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWaeSRSCap5JJMNunkk1BGKeWUVFZp5ZVYZqnlllx26eWXYIYp5phklmnmmWimqeaabLbp5ptwxinnnHTWaeedeOap55589unnn4AGKuighBZq6KGIJqrooow26uijkEYq6aSUVppcAJhmqummAViqCACghirqqAB4mgipqIZqKiKpprrqIa2i+qohsZI6ayG1jnorIbmKuusgvar6ayDBgjosscUeC0ix/6Uq6wezzj6bbLR8QHuCtdQqgW0J22Z7RLcjgOstEeKGUO64QZz7gbro+sBuB++2u0O8G9ArLw72ZpDvvTXse4G//MoAcAUDB/xCwRMgbDALCkfQ8MIpPPyAxBCbQHEDF1cc7rQWc6zxvB6TkPHHIIysgMkkwxvyxsGmDHLL167sMg0oozyzvjKbm/PNMNS8M88u+Awz0DT/7IHNRFMgdK9JFz00t0Y3DQGnVGcKwdK5Sq1BuVjXqjXOTzPQdaxfY8B11BwgbfDZYbPMdNkWsP12x23DfXXOY7dqN8F4o12v33DLnXXMde+Ncd+Flwx42YJ7Tfjcht9deN6uRu4w4v+Qi7z4142T/fjglk+MOehQJ25553p/7njoDqBeOd2Zs37y6KuXHrvsrsuquueyi00777aT3jsBudu6e+rDzz755v8yL3Xxuh7/evLQ+yq97skT/zvywdc+fPXCwi587+Abe73x2ZffrPjek7/99JqbHrn6KKgdMP0PCKD//vz3L4Dkt2Md/lr3PuxRr4DoO9zy5Ge4ASowgPbjlwN9t8AAhm6CC8Ag7hAYPQJWcHwb/GD7lAdB5zVNg9oTIfCyx8IWuvCFMIyhDGdIwxra8IY4zKEOd8jDHvrwh0AMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMohb/t8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEymMpfJzGY685nQjKY0p0nNalrzmtjMpja3yc1uevOb4AynOMdJznKa85zoTKc618nOdrrznfCMpzznSc962vOe+MynPvfJz376858ADahAB0rQghr0oAhNqEIXytCGOvShEI2oRCdKEtGKWvSiGM2oRjfK0Y561FkJAAAh+QQFAwAFACx8AQsBQABHAAADWzi63FMwykmrvTjrzbv/YCiOZGmeaKqubOu+cCzPdG3f+BnsfO8HuaBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8Lg8DKjb73iAKQEAIfkEBQMABQAsfAELAUAARgAAA14outxSMMpJq7046827/2AojmRpnmiqrmzrvnAsz3Rt3/jp7Evu/8CgcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvter/gsHhMLpvP6LR6zW67b4G4fE4PCAH4vH4PMCUAACH5BAUDAAUALGQBCwFYAEUAAAOAWLrcviTKScm7OOvN1fhgKA5daZ5oqq5s675wLM90bd94ru987//AoHBILBqPwIpSgmQJntCoVNCsWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/wuHw8rUPn+Lx+z+/7/4CBgoOEhYaHiImKi4yNgiOQIGkAlJWWlwCTmJuUmpyYLgkAIfkEBQMABQAsZAEMAVgAQQAAA31Yuty+JMpJybs4682V+GAoCl1pnmiqrmzrvnAsz3Rt33iu73zv/8CgcEgsGo/AilKCZC2Xzah0Sq1ar9isdsvter/gsHhMLpvP6LR6zW5jn0q3fE6v2+/4vH7P7/v/gIGCg4RjA4eIiYoDZQCOj5CRAI2SlY6UlpKYmZAuCQAh+QQFAwAFACxkAQ0BWAA8AAADfFi63L4kyknJuzjrzVX9UieOZGmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaYSDQ8TRoOp/QwXJKrVqv2Kx2y+16v+CweEwum8/otHrNbp+jcKd7Tq/b7/i8fs/v+/+AMwGDhIWGAWUAiouMjQCJjpGKkJKOlJWMl5iTKgkAIfkEBQMABQAsAAAAAAEAAQAAAwJYCQAh+QQFAwAFACxkAQ8BWAA1AAADfVi63L4kyknJuzjrzZX4YCgKXWmeaKqubOu+cCzPdG3feK7vfO//wKBwSCwaj8CKUoJkLZfN1WgKilqv2Kx2y+16v+CweEwum8/otHrNbrvfjacyHajb7/gAfM/v+/+Aa1RUaQCGh4iJAIWKjYaMjoqQkYiTlI9ol4mWly4JACH5BAUDAAUALGQBEAFYAC0AAAN1WLrcviTKScm7OOvNVf1SJ45kJpxoqgpl675wLM90bd94ru987//AoHBILBqPyKRyyWxCQB+nCxqVlqgVq3bL7Xq/4LB4TC6bz+i0es1uu9/wOAxL0QXu+Lw+sAb4/4CBAH2ChX6EhoKIiYCLjIdqj4GOjzIJACH5BAUDAAUALGQBEgFYAEkAAAOeWLrcviTKScm7OOvNVf1SJ45kBoJlqopB675wsM50bd94ru987//AoHBILBqPyKRyyWw6n9Do5fSRpqgVa0nA7Xq/Aq14TC6bz+i0es0Au7tsB2BOr9sB8cZ9T88z+Hx+C4B7ggqEd4YFiHaKjHWOj3ORkjVvb4qZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6Z5duTQkAIfkEBQMABQAsZAEVAVgARgAAA55Yuty+JMpJybs4681V/VInjmQ2nGiqDmXrvnAsz3Rt33iu73zv/8CgcEgsGo/IpHIIaDqfUMAyFq06LyCQ0mrFZitbbtT7nYTFT3I5ckY3pzB3Gu6SX+kt+xtf0kv5gIGCg4SFhoeIiYqLPWtmjAwCkpOUlQKQmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4uboZjiFJCQAh+QQFAwAFACxkARcBWAAiAAADfVi63L4kyknJuzjrzVX90gWMZGkCXapC4Cee8LjOXGDfeB688Un/wE0PFiwaF0PfcflLmpjQlbMUrXKmJKsWg5Vtv4wuCkwWk8/otHrNbrvf8Di65ZIX6RX7HT/RBweAgYKDA36Gh4iJiouMjY6PkJGSk5RafH2VDJchmQsJACH5BAUDAAUALGQBGAFYACEAAAN2WLrc/jAuQqu9ROrN+8Zg5Y1k6YShqa4firFwPLmXbK90fe+j4P/AoIBHLBqPyKRyyWw6n9CodEqtWonC7O8KA3i/4DCAyxKbv+TV+ZxWrc3tuHxOr9utWu198xbvNX1hfxKBYIMRhWiHD4lei4yNjw6NY5IMCQAh+QQFAwAFACxkAR4BWAAUAAADYVi63P4wLkKrvUTqzfvGYOWNZOmEoamuH4qxcDy5l2yvdH3v4+D/wOAAIigaj0gBb8kBOJ/QKIBJjUivz6q2gcVuv+CweCwWmn9kZveaXq6lbd47Gt/NofXbPZuX7Z19MgkAIfkEBQMABQAsZAEiAVgACgAAA0ZYutz+MMrpgL04A8q7/4omXmDJEWiqrgQ0jmYcsXQqL694S3W9FznND9Kj/YKZ4aPIOiJJyoZgSq1aBc7nJsr9aC3dMCcBACH5BAUDAAUALGQBHwFYAA8AAANMWLrc/jDK6Ya9OA/Ku/8KII5kCQRoqq4B6L6hKc80AN94VJt57+8ln/AGJA2PyKRyyWw6n9AlYUqtWgnR5nVLzTK5XK8UfBUryeVcAgAh+QQFAwAFACxkAR0BWAAVAAADVDi63FMwykmrvbiIzbsXQCiOJJCdaEqVbOuGaixbb13PeK7ao+7/wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y7UQvuCwmNDFjc/g8gyNVssc8AUwAQAh+QQFAwAFACxkARoBWAAbAAADWTi63FMwykmrvThTwLv/gCaOZAmBaGeuLBS8cCwHadreZI3ifO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CwOEwom89owhiTbpvXF7cbbnHYF70EACH5BAUDAAUALGQBGAFYAB8AAANXGLrcUTDKSau9OFPAu/+AJo5kCYFoZ65s676w5MxLbMNpeu987//AoHBILBqPyKRyyWw6n9CodEqtWq/YrHbL7Xq/4LB4TJ4Szui0mlCOrN/oNoRGiyUAACH5BAUDAAUALGQBFwFYACEAAANSCLrcUDDKSau9OFPHl/5gKI5kaZ5oig5s676DKqddN994ru987//AoHBILBqPyKRyyWw6n9CodEqtWq/YrHbL7Xq/4LB4TO4Rzui0mkCGuVuqBAAh+QQFAwAFACxkARYBWAAiAAADSyi63FIwykmrvTjrzbv/YCiOZGmeaKpCQeu+cLDOdG3feK7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+AsYUwumwmmBAAh+QQFAwAFACxkARYBWAAiAAADT0i63FQwykmrvTjrzbv/YCiOZGme6CWsbOsK6TTMdG0Pca7vfO//wKBwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y+16v+CweEwum8/El5plSgAAIfkEBQMABQAsZAEXAVgAIQAAA1RIutxUMMpJq70408C7/4EmjmRpnmiqok67rJjrwoXc0haod/S+48CgcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvter/gsHhMLpvP6LR6zW67vT4dLQEAIfkEBQMABQAsZAEYAVgAIAAAA19IutxUMMpJq704U8eX/mAoQkFpnmgwrmzrvrDUdfHMxVaqm7Xd4ECXYEgsGgXBpHLJbDqf0Kh0Sq1ar9isdsvter/gsHhMLpvP6LR6zW673/C4vAyo2+94wByS79tjCQAh+QQFAwAFACxkARoBWAAcAAADXki63FQwykmrvThTx5f+YChCXTeeKFk6Qeu+cJDOoWDfeC7Q6srwwKCvESzOhj+jUoT0LJ/QqHRKrVqv2Kx2y+16v+CweEwum8/otHrNbrvf8PhER7/JK4C8fs8HABMAIfkEBQMABQAsZAEdAVgAPgAAA5BIutxUMMpJq724uM27ymAoUl5ZjmhqDWzrvoPJqHQ9Bniu74Ht/0CS7BMs1oZEo3KEfCyfoCZ0euFZc9Ssdsvter/gsHhMLpvP6LR6zW6714K4fE4XvFGAvH7PB9xHfYF6f4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqubda5ykQkAIfkEBQMABQAsZAEfAVgAFAAAA1tYutz+MMrpiL04E8q7/4omjqQFnmhYrmXqvhGLwXQtX3XuCnzv/wKdcEi5mYhIiXGTbFaMzuhiKZVSq86BdsvtDrDgsHhMLpvPaJh3vU3TAPC4fA5ww+j4OC0BACH5BAUDAAUALGQBIgFYADkAAAOQWLrc/jDK6Yi9OBPKu/+KJl5gaZZDqq7sMI5nLEevON94reF8rGe9IOiHERo5gqRyyRQcn1AiCUplSC3VbOG60VK5EIB4TC4DvBLww8weo2nXcJv9hjTvyrp+z+/7/4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK1DcZcJACH5BAUDAAUALGQBJAFYABUAAANeWLrc/jDK6Yi9OBPKu/+KJl5gaZbjeK5sJLxwLAttbd943qai7nM8za8AKBqPSEAtmBkmn8Ylk/SDQqXTzXBbyWq54IL3Gy6fxmYuOj1cs33udy4uv9Hr2Cl+7t0vEgAh+QQFAwAFACxkAScBWAA0AAADo1i63P4wrkGrvQOSzbsnUiiOCmCeaApoX7uRcLyo9Mm6n6yPdX3jnZ1wKMIYK8SkcslsOp/QqHRKrVobwNyVmvVsuV3OdxoWj6Pl1xmaBq2f7fczQK/b7wG5/hHfL/t+SYCBQ4OEO4aHMomKMIyNI4+QIXiVdZOYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLVDAri5ursCELy/uVLAwAkAIfkEBQMABQAsZAEjAVgAOAAAA51Yutz+MC5Bq71C6s37BmAojoBnnqhDrmHqvh+7wnS9yLOt73zv/8CgcNgjGI/IJIFIVDqPzOHzGRVOndXgYMvtegfZsHhMLpvP6LR6zW63r0o3Cp6Un+hIuwkP1Xf4Rn5/gIIcgEuFGoeJjImLjRCPkA6SkwyVlgqYmZuWnZOfkKGNX6Vcmaipqqusra6vsLGys7S1tre4ehi7FTUJACH5BAUDAAUALGQBIwFYADgAAAOoWLrc/jAuQqu9ROrN+8Zg5Y1k6YShqa4firFwPLmXbK90fe9jbvFAjk8ULEKGFKOyMWg6n9DBcioLWK/YbIC6BHi/4DCAqxSbv+S0es1uu9/wuHxOr9vv+Lx+z+/jo4BOfhpnZxBaiFdxhWYQjGKDEo9hkRGTYJWOl16ZD5ucnQ2fY6EMo6Wmn6gLp6sFrauwqLKutba3uLm6u7y9vr/AwcLDxG5IGXAJACH5BAUDAAUALGQBKwFYADAAAAOeWLrc/jDK6YC9OAPKeyRgKI4EpJ2Xp65kG5rouc6c69J4Ttmt7v8LHglIzAlHxSTr+FLOBtCodDqAMJtOVUz2CHi/4HAgu9pqyOiHOZNuL9YYtxuekqfpFvsdr4+I/18wdH2CcIVrhGp8ioOJSngbjpKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3DVcgZLolPgkAIfkEBQMABQAsZAEoAVgAMwAAA5JYutz+MMrphr04D8q7/wogjmQJgI+pjmi3rm3zqnFtR7N573xe8sCajxQsgoYso5KCFC2fuCZ0KpNSr83TdWsjeL/gMIE7FZu/ZOj5nH6uze3lW7wL2O/4fMA9B++yfH1ef1ZxhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vpIJfCQAh+QQFAwAFACxkASIBWAAfAAADdli63L4gyknBuzjrzVX9UieOZAaCZaqK57e+sNNW8RXceK4H8UzVD9+kJ4wAZUULLKk8Op/QqHRKrVqv2Kx2y+16v+CweEwum8/odEHAbrvfAvWIKWcl6/h8lMDv+/8EehqAhH2CGYWFhxiJhIsXjYCPD5F/MQkAIfkEBQMABQAsZAEbAVgAKwAAA3dYuty+IMpJwbs4681V/VInjmQGgmWqiue3vrDTVnENz5Stp/i0/8CgcEgsGi+BpHLJDByLvdBzGI1Mr9isdsvter/gsHhMLpvP6LR6zW67uc248n2pWuj4vH7P7/v/gIGCdASFhoeIBH6JjIaLjYyPkIiSk44wCQAh+QQFAwAFACxkARUBWAA2AAADgFi63L4hyknDuzjrzRX4YCgCXWme2aiCaOuW6/rOtBOrdU7fo+7/wKBwSCwaj8ikcslsOp9QHU8UlU5Z1doVm+16v+CweEwum8/otHrNbrvf8Li8W6lL5oXtB8/v+/+AgYKDhIWGh4iJiouDBI6PkJEEeJKVj5SWlZiZkXh2djUJACH5BAUDAAUALGQBEQFYAD0AAAOJWLrcviDKScG7OOvNVf1SJ45kBoJlqornt76w01Zxbd94ru987//AoHBILBqPyKRyydwIntCoVNCEzSjV13WS7Xq/4LB4TC6bz+i0es1uu9/wuHxOxwTu+Lw+EN+G6oCBgoOEhYaHiImKi4yNjo+QkZKTcgSWl5iZBHGanZecnp1xA6SlpqcDMQkAIfkEBQMABQAsZAENAVgAQwAAA4ZYuty+IspJxbs4680V+GAoAl1pntmogmjrluv6znRt33iu73zv/8CgcEgsGo/IpHLJbDqf0OhlQK1arwNpK6bSorgjr3hMLpvP6LR6zW673/C4fE6v2+94e2UvkYNFeYGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXZgSam5ydBHKeoZtyfHw1CQAh+QQFAwAFACxkAQsBWABHAAADhVi63L4iyknFuzjrzRX4YCgCXWme2aiCaOu+cCzPdG3feK7vfO//wKBwSCwaj8ikcslsOoOBqHRKDTxbq9UVlVVtv+CweEwum8/otHrNbrvf8Lh8Tq/b7/hNdS/N+/+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlkEEmZqbnARvnaCab3x8MgkAOw=="},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_reactRouter=__webpack_require__(12),_redux=__webpack_require__(2),_Dropzone=__webpack_require__(275),_Dropzone2=_interopRequireDefault(_Dropzone),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),Dropzones=function(_React$Component){function Dropzones(props){_classCallCheck(this,Dropzones);var _this=_possibleConstructorReturn(this,(Dropzones.__proto__||Object.getPrototypeOf(Dropzones)).call(this,props));return _this._zones=[{title:"Add to queue",icon:"play_arrow",action:"enqueue"},{title:"Play next",icon:"play_arrow",action:"enqueue_next"},{title:"Add to playlist",icon:"playlist_add",action:"add_to_playlist",accepts:["tltrack","track","album","playlist","artist"]}],_this}return _inherits(Dropzones,_React$Component),_createClass(Dropzones,[{key:"handleMouseMove",value:function(e){if(!this.props.dragger||!this.props.dragger.active)return null;this.props.uiActions.dragMove(e)}},{key:"handleMouseUp",value:function(e,index){for(var target=this._zones[index],victims=this.props.dragger.victims,uris=[],i=0;i<victims.length;i++)uris.push(victims[i].uri);switch(target.action){case"enqueue":this.props.mopidyActions.enqueueURIs(uris,this.props.dragger.from_uri);break;case"enqueue_next":this.props.mopidyActions.enqueueURIs(uris,this.props.dragger.from_uri,!0);break;case"add_to_playlist":_reactRouter.hashHistory.push(global.baseURL+"add-to-playlist/"+encodeURIComponent(uris.join(",")))}}},{key:"render",value:function(){var _this2=this;return this.props.dragger&&this.props.dragger.active?_react2.default.createElement("div",{className:"dropzones"},this._zones.map(function(zone,index){return _react2.default.createElement(_Dropzone2.default,{key:index,data:zone,handleMouseUp:function(e){return _this2.handleMouseUp(e,index)}})})):null}}]),Dropzones}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{dragger:state.ui.dragger}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Dropzones)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=(__webpack_require__(4),__webpack_require__(2),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),Dropzone=function(_React$Component){function Dropzone(props){_classCallCheck(this,Dropzone);var _this=_possibleConstructorReturn(this,(Dropzone.__proto__||Object.getPrototypeOf(Dropzone)).call(this,props));return _this.state={hover:!1},_this.handleMouseOver=_this.handleMouseOver.bind(_this),_this.handleMouseOut=_this.handleMouseOut.bind(_this),_this}return _inherits(Dropzone,_React$Component),_createClass(Dropzone,[{key:"componentWillMount",value:function(){window.addEventListener("mouseover",this.handleMouseOver,!1),window.addEventListener("mouseout",this.handleMouseOut,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mouseover",this.handleMouseOver,!1),window.removeEventListener("mouseout",this.handleMouseOut,!1)}},{key:"handleMouseOver",value:function(e){this.setState({hover:!0})}},{key:"handleMouseOut",value:function(e){this.setState({hover:!1})}},{key:"render",value:function(){var _this2=this;return this.props.data?_react2.default.createElement("div",{className:this.state.hover?"dropzone hover":"dropzone",onMouseUp:function(e){return _this2.props.handleMouseUp(e)}},_react2.default.createElement(_Icon2.default,{name:this.props.data.icon}),_react2.default.createElement("span",{className:"title"},this.props.data.title)):null}}]),Dropzone}(_react2.default.Component);exports.default=Dropzone},function(module,exports){module.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzc3Nzc3NyIgc3Ryb2tlLXdpZHRoPSIwLjE0MTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjQuMTY3IiB5MT0iNC4xNjciIHgyPSIyNy44MzMiIHkyPSIyNy44MzMiIG9wYWNpdHk9IjAuMyIgLz4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzc3Nzc3NyIgc3Ryb2tlLXdpZHRoPSIwLjE0MTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjQuMTY3IiB5MT0iMjcuODMzIiB4Mj0iMjcuODMzIiB5Mj0iNC4xNjciIG9wYWNpdHk9IjAuMyIgLz4NCjwvc3ZnPg0K"},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_redux=__webpack_require__(2),_ProgressSlider=__webpack_require__(98),_ProgressSlider2=_interopRequireDefault(_ProgressSlider),_VolumeControl=__webpack_require__(62),_VolumeControl2=_interopRequireDefault(_VolumeControl),_MuteControl=__webpack_require__(63),_MuteControl2=_interopRequireDefault(_MuteControl),_OutputControl=__webpack_require__(278),_OutputControl2=_interopRequireDefault(_OutputControl),_Dater=__webpack_require__(31),_Dater2=_interopRequireDefault(_Dater),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),PlaybackControls=function(_React$Component){function PlaybackControls(props){_classCallCheck(this,PlaybackControls);var _this=_possibleConstructorReturn(this,(PlaybackControls.__proto__||Object.getPrototypeOf(PlaybackControls)).call(this,props));return _this.stream=null,_this.state={expanded:!1},_this}return _inherits(PlaybackControls,_React$Component),_createClass(PlaybackControls,[{key:"componentDidMount",value:function(){this.props.http_streaming_enabled&&this.props.coreActions.cachebustHttpStream()}},{key:"playStream",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;if(this.stream?this.stream.src=null:this.stream=new Audio,!props.http_streaming_enabled||!props.http_streaming_url)return!1;this.stream.src=props.http_streaming_url+"?cb="+props.http_streaming_cachebuster,this.stream.muted=props.http_streaming_mute,this.stream.volume=props.http_streaming_volume/100,this.stream.play()}},{key:"componentWillReceiveProps",value:function(nextProps){this.props.http_streaming_cachebuster!==nextProps.http_streaming_cachebuster&&this.playStream(nextProps),!this.props.http_streaming_enabled&&nextProps.http_streaming_enabled&&this.playStream(nextProps),this.stream&&(this.props.http_streaming_mute!==nextProps.http_streaming_mute&&(this.stream.muted=nextProps.http_streaming_mute),this.props.http_streaming_volume!==nextProps.http_streaming_volume&&(this.stream.volume=nextProps.http_streaming_volume/100),nextProps.http_streaming_enabled||(this.stream=null))}},{key:"renderPlayButton",value:function(){var _this2=this,button=_react2.default.createElement("a",{className:"control play",onClick:function(){return _this2.props.mopidyActions.play()}},_react2.default.createElement(_Icon2.default,{name:"play_circle_filled",type:"material"}));return"playing"==this.props.play_state&&(button=_react2.default.createElement("a",{className:"control play",onClick:function(){return _this2.props.mopidyActions.pause()}},_react2.default.createElement(_Icon2.default,{name:"pause_circle_filled",type:"material"}))),button}},{key:"renderConsumeButton",value:function(){var _this3=this,button=_react2.default.createElement("a",{className:"control tooltip",onClick:function(){return _this3.props.mopidyActions.setConsume(!0)}},_react2.default.createElement(_Icon2.default,{name:"restaurant",type:"material"}),_react2.default.createElement("span",{className:"tooltip__content"},"Consume"));return this.props.consume&&(button=_react2.default.createElement("a",{className:"control active tooltip",onClick:function(){return _this3.props.mopidyActions.setConsume(!1)}},_react2.default.createElement(_Icon2.default,{name:"restaurant",type:"material"}),_react2.default.createElement("span",{className:"tooltip__content"},"Consume"))),button}},{key:"renderRandomButton",value:function(){var _this4=this,button=_react2.default.createElement("a",{className:"control tooltip",onClick:function(){return _this4.props.mopidyActions.setRandom(!0)}},_react2.default.createElement(_Icon2.default,{name:"shuffle",type:"material"}),_react2.default.createElement("span",{className:"tooltip__content"},"Shuffle"));return this.props.random&&(button=_react2.default.createElement("a",{className:"control active tooltip",onClick:function(){return _this4.props.mopidyActions.setRandom(!1)}},_react2.default.createElement(_Icon2.default,{name:"shuffle",type:"material"}),_react2.default.createElement("span",{className:"tooltip__content"},"Shuffle"))),button}},{key:"renderRepeatButton",value:function(){var _this5=this,button=_react2.default.createElement("a",{className:"control tooltip",onClick:function(){return _this5.props.mopidyActions.setRepeat(!0)}},_react2.default.createElement(_Icon2.default,{name:"repeat"}),_react2.default.createElement("span",{className:"tooltip__content"},"Repeat"));return this.props.repeat&&(button=_react2.default.createElement("a",{className:"control active tooltip",onClick:function(){return _this5.props.mopidyActions.setRepeat(!1)}},_react2.default.createElement(_Icon2.default,{name:"repeat"}),_react2.default.createElement("span",{className:"tooltip__content"},"Repeat"))),button}},{key:"render",value:function(){var _this6=this,images=!1;return this.props.current_track&&this.props.current_track.images&&(images=this.props.current_track.images),_react2.default.createElement("div",{className:this.state.expanded?"expanded playback-controls":"playback-controls"},this.props.next_track&&this.props.next_track.images?_react2.default.createElement(_Thumbnail2.default,{className:"hide",size:"large",images:this.props.next_track.images}):null,_react2.default.createElement("div",{className:"current-track"},_react2.default.createElement(_Link2.default,{className:"thumbnail-wrapper",to:global.baseURL+"kiosk-mode"},_react2.default.createElement(_Thumbnail2.default,{size:"small",images:images})),_react2.default.createElement("div",{className:"title"},this.props.current_track?this.props.current_track.name:_react2.default.createElement("span",null,"-")),_react2.default.createElement("div",{className:"artist"},this.props.current_track?_react2.default.createElement(_ArtistSentence2.default,{artists:this.props.current_track.artists}):_react2.default.createElement(_ArtistSentence2.default,null))),_react2.default.createElement("section",{className:"playback"},_react2.default.createElement("a",{className:"control previous",onClick:function(){return _this6.props.mopidyActions.previous()}},_react2.default.createElement(_Icon2.default,{name:"skip_previous",type:"material"})),this.renderPlayButton(),_react2.default.createElement("a",{className:"control stop",onClick:function(){return _this6.props.mopidyActions.stop()}},_react2.default.createElement(_Icon2.default,{name:"stop",type:"material"})),_react2.default.createElement("a",{className:"control next",onClick:function(){return _this6.props.mopidyActions.next()}},_react2.default.createElement(_Icon2.default,{name:"skip_next",type:"material"}))),_react2.default.createElement("section",{className:"settings"},this.renderConsumeButton(),this.renderRandomButton(),this.renderRepeatButton(),_react2.default.createElement(_OutputControl2.default,{force_expanded:this.state.expanded})),_react2.default.createElement("section",{className:"progress"},_react2.default.createElement(_ProgressSlider2.default,null),_react2.default.createElement("span",{className:"current"},this.props.time_position?_react2.default.createElement(_Dater2.default,{type:"length",data:this.props.time_position}):"-"),_react2.default.createElement("span",{className:"total"},this.props.current_track?_react2.default.createElement(_Dater2.default,{type:"length",data:this.props.current_track.duration}):"-")),_react2.default.createElement("section",{className:"volume"},_react2.default.createElement(_MuteControl2.default,{mute:this.props.mute,onMuteChange:function(mute){return _this6.props.mopidyActions.setMute(mute)}}),_react2.default.createElement(_VolumeControl2.default,{scrollWheel:!0,volume:this.props.volume,mute:this.props.mute,onVolumeChange:function(percent){return _this6.props.mopidyActions.setVolume(percent)}})),_react2.default.createElement("section",{className:"triggers"},_react2.default.createElement("a",{className:"control expanded-controls",onClick:function(){return _this6.setState({expanded:!_this6.state.expanded})}},this.state.expanded?_react2.default.createElement(_Icon2.default,{name:"expand_more",type:"material"}):_react2.default.createElement(_Icon2.default,{name:"expand_less",type:"material"})),_react2.default.createElement("a",{className:"control sidebar-toggle"+(this.props.sidebar_open?" open":""),onClick:function(){return _this6.props.uiActions.toggleSidebar()}},_react2.default.createElement(_Icon2.default,{className:"open",name:"menu",type:"material"}))))}}]),PlaybackControls}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{snapcast_enabled:state.pusher.config.snapcast_enabled,http_streaming_enabled:state.core.http_streaming_enabled,http_streaming_volume:state.core.http_streaming_volume?state.core.http_streaming_volume:50,http_streaming_mute:!!state.core.http_streaming_mute&&state.core.http_streaming_mute,http_streaming_url:state.core.http_streaming_url?state.core.http_streaming_url:null,http_streaming_cachebuster:state.core.http_streaming_cachebuster,current_track:state.core.current_track&&void 0!==state.core.tracks[state.core.current_track.uri]?state.core.tracks[state.core.current_track.uri]:null,next_track:state.core.next_track_uri&&void 0!==state.core.tracks[state.core.next_track_uri]?state.core.tracks[state.core.next_track_uri]:null,radio_enabled:!(!state.ui.radio||!state.ui.radio.enabled),play_state:state.mopidy.play_state,time_position:state.mopidy.time_position,consume:state.mopidy.consume,repeat:state.mopidy.repeat,random:state.mopidy.random,volume:state.mopidy.volume,mute:state.mopidy.mute,sidebar_open:state.ui.sidebar_open}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(PlaybackControls)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_VolumeControl=__webpack_require__(62),_VolumeControl2=_interopRequireDefault(_VolumeControl),_MuteControl=__webpack_require__(63),_MuteControl2=_interopRequireDefault(_MuteControl),_SnapcastPowerButton=__webpack_require__(279),_Icon=(_interopRequireDefault(_SnapcastPowerButton),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(10)),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(38),snapcastActions=_interopRequireWildcard(_actions3),OutputControl=function(_React$Component){function OutputControl(props){_classCallCheck(this,OutputControl);var _this=_possibleConstructorReturn(this,(OutputControl.__proto__||Object.getPrototypeOf(OutputControl)).call(this,props));return _this.state={expanded:!1},_this.handleClick=_this.handleClick.bind(_this),_this}return _inherits(OutputControl,_React$Component),_createClass(OutputControl,[{key:"handleClick",value:function(e){!this.props.force_expanded&&$(e.target).closest(".output-control").length<=0&&this.setExpanded(!1)}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.force_expanded&&nextProps.force_expanded&&this.setExpanded(!0,nextProps)}},{key:"setExpanded",value:function(){var expanded=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.state.expanded,props=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;expanded?(this.setState({expanded:expanded}),window.addEventListener("click",this.handleClick,!1),props.pusher_connected&&props.snapcast_enabled&&this.props.snapcastActions.getServer()):(this.setState({expanded:expanded}),window.removeEventListener("click",this.handleClick,!1))}},{key:"renderOutputs",value:function(){var _this2=this,has_outputs=!1,clients=[];for(var key in this.props.snapcast_clients)if(this.props.snapcast_clients.hasOwnProperty(key)){var client=this.props.snapcast_clients[key];client.connected&&clients.push(client)}var snapcast_clients=null;clients.length>0&&(has_outputs=!0,snapcast_clients=_react2.default.createElement("div",null,clients.map(function(client){return _react2.default.createElement("div",{className:"output-control__item outputs__item--snapcast",key:client.id},_react2.default.createElement("div",{className:"output-control__item__name"},client.name),_react2.default.createElement("div",{className:"output-control__item__controls"},_react2.default.createElement(_MuteControl2.default,{className:"output-control__item__mute",noTooltip:!0,mute:client.mute,onMuteChange:function(mute){return _this2.props.snapcastActions.setClientMute(client.id,mute)}}),_react2.default.createElement(_VolumeControl2.default,{className:"output-control__item__volume",volume:client.volume,mute:client.mute,onVolumeChange:function(percent){return _this2.props.snapcastActions.setClientVolume(client.id,percent)}})))})));var local_streaming=null;this.props.http_streaming_enabled&&(has_outputs=!0,local_streaming=_react2.default.createElement("div",{className:"output-control__item outputs__item--icecast"},_react2.default.createElement("div",{className:"output-control__item__actions"},_react2.default.createElement("span",{className:"output-control__item__action",onClick:function(e){return _this2.props.coreActions.cachebustHttpStream()}},_react2.default.createElement(_Icon2.default,{name:"refresh"}))),_react2.default.createElement("div",{className:"output-control__item__name"},"Local browser"),_react2.default.createElement("div",{className:"output-control__item__details"},_react2.default.createElement(_VolumeControl2.default,{className:"output-control__item__volume",volume:this.props.http_streaming_volume,mute:this.props.http_streaming_mute,onVolumeChange:function(percent){return _this2.props.coreActions.set({http_streaming_volume:percent})},onMuteChange:function(mute){return _this2.props.coreActions.set({http_streaming_mute:mute})}}))));var commands=null;if(this.props.pusher_commands){var commands_items=[];for(var key in this.props.pusher_commands)this.props.pusher_commands.hasOwnProperty(key)&&commands_items.push(this.props.pusher_commands[key]);commands_items.length>0&&(has_outputs=!0,commands=_react2.default.createElement("div",{className:"output-control__item output-control__item--commands commands"},commands_items.map(function(command){return _react2.default.createElement("div",{key:command.id,className:"commands__item commands__item--interactive",onClick:function(e){return _this2.props.pusherActions.sendCommand(command.id)}},_react2.default.createElement(_Icon2.default,{className:"commands__item__icon",name:command.icon}),_react2.default.createElement("span",{className:command.colour+"-background commands__item__background"}))})))}return has_outputs?_react2.default.createElement("div",{className:"output-control__items"},commands,local_streaming,snapcast_clients):_react2.default.createElement("div",{className:"output-control__items output-control__items--no-results"},_react2.default.createElement("p",{className:"no-results"},"No outputs"))}},{key:"render",value:function(){var _this3=this;return this.state.expanded?_react2.default.createElement("span",{className:"output-control"},_react2.default.createElement("a",{className:"control speakers active",onClick:function(e){return _this3.setExpanded()}},_react2.default.createElement(_Icon2.default,{name:"speaker"})),this.renderOutputs()):this.props.http_streaming_enabled||this.props.snapcast_enabled?_react2.default.createElement("span",{className:"output-control"},_react2.default.createElement("a",{className:"control speakers",onClick:function(e){return _this3.setExpanded()}},_react2.default.createElement(_Icon2.default,{name:"speaker"}))):_react2.default.createElement("span",{className:"output-control disabled"},_react2.default.createElement("a",{className:"control speakers"},_react2.default.createElement(_Icon2.default,{name:"speaker"})))}}]),OutputControl}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{http_streaming_enabled:state.core.http_streaming_enabled,http_streaming_volume:state.core.http_streaming_volume,http_streaming_mute:state.core.http_streaming_mute,pusher_connected:state.pusher.connected,snapcast_enabled:state.pusher.config?state.pusher.config.snapcast_enabled:null,snapcast_clients:state.snapcast.clients,pusher_commands:state.pusher.commands?state.pusher.commands:{}}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),snapcastActions:(0,_redux.bindActionCreators)(snapcastActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(OutputControl)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=(__webpack_require__(4),__webpack_require__(2),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(38)),SnapcastPowerButton=(_interopRequireWildcard(_actions),function(_React$Component){function SnapcastPowerButton(props){_classCallCheck(this,SnapcastPowerButton);var _this=_possibleConstructorReturn(this,(SnapcastPowerButton.__proto__||Object.getPrototypeOf(SnapcastPowerButton)).call(this,props));return _this.handleClick=_this.handleClick.bind(_this),_this}return _inherits(SnapcastPowerButton,_React$Component),_createClass(SnapcastPowerButton,[{key:"handleClick",value:function(e){this.props.onClick(e)}},{key:"render",value:function(){var _this2=this,classname="snapcast-power-button";return this.props.className&&(classname+=" "+this.props.className),_react2.default.createElement("span",{className:classname,onClick:function(e){return _this2.handleClick(e)}},_react2.default.createElement(_Icon2.default,{name:"power_settings_new"}))}}]),SnapcastPowerButton}(_react2.default.Component));exports.default=SnapcastPowerButton},function(module,exports,__webpack_require__){"use strict";(function($,global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRouter=__webpack_require__(12),_Link=__webpack_require__(8),_reactRedux=(_interopRequireDefault(_Link),__webpack_require__(4)),_redux=__webpack_require__(2),_TrackList=__webpack_require__(23),_Icon=(_interopRequireDefault(_TrackList),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_Thumbnail=__webpack_require__(11),_helpers=(_interopRequireDefault(_Thumbnail),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions6),ContextMenu=function(_React$Component){function ContextMenu(props){_classCallCheck(this,ContextMenu);var _this=_possibleConstructorReturn(this,(ContextMenu.__proto__||Object.getPrototypeOf(ContextMenu)).call(this,props));return _this.state={submenu:null},_this.handleScroll=_this.handleScroll.bind(_this),_this.handleMouseDown=_this.handleMouseDown.bind(_this),_this.handleTouchStart=_this.handleTouchStart.bind(_this),_this}return _inherits(ContextMenu,_React$Component),_createClass(ContextMenu,[{key:"componentDidMount",value:function(){window.addEventListener("scroll",this.handleScroll,!1),window.addEventListener("mousedown",this.handleMouseDown,!1),window.addEventListener("touchstart",this.handleTouchStart,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("scroll",this.handleScroll,!1),window.removeEventListener("mousedown",this.handleMouseDown,!1),window.removeEventListener("touchstart",this.handleTouchStart,!1)}},{key:"componentWillReceiveProps",value:function(nextProps){if(nextProps.menu&&!this.props.menu){this.setState({submenu:null});var context=this.getContext(nextProps);if(nextProps.spotify_authorized&&"spotify"==context.source)switch(nextProps.menu.context){case"artist":case"album":case"playlist":this.props.spotifyActions.following(nextProps.menu.items[0].uri)}nextProps.lastfm_authorized&&context.is_track&&1==context.items_count&&nextProps.menu.items[0].uri&&void 0!==this.props.tracks[nextProps.menu.items[0].uri]&&void 0===this.props.tracks[nextProps.menu.items[0].uri].userloved&&this.props.lastfmActions.getTrack(nextProps.menu.items[0].uri)}}},{key:"handleScroll",value:function(e){this.props.menu&&this.props.uiActions.hideContextMenu()}},{key:"handleMouseDown",value:function(e){$(e.target).closest(".context-menu").length<=0&&$(e.target).closest(".context-menu-trigger").length<=0&&this.props.uiActions.hideContextMenu()}},{key:"handleTouchStart",value:function(e){$(e.target).closest(".context-menu").length<=0&&$(e.target).closest(".context-menu-trigger").length<=0&&this.props.uiActions.hideContextMenu()}},{key:"getContext",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,context={name:null,nice_name:"Unknown",is_track:!1};if(props.menu&&props.menu.context){switch(context.name=props.menu.context,context.nice_name=props.menu.context,props.menu.context){case"playlist":case"editable-playlist":context.nice_name="playlist";break;case"track":case"queue-track":case"playlist-track":case"editable-playlist-track":context.nice_name="track",context.is_track=!0}if(props.menu.items&&props.menu.items.length>0){var item=props.menu.items[0];context.item=item,context.items_count=props.menu.items.length,context.source=helpers.uriSource(item.uri),context.type=helpers.uriType(item.uri),context.in_library=this.inLibrary(item),context.is_loved=this.isLoved(item)}}return context}},{key:"inLibrary",value:function(){var item=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!item)return!1;switch(helpers.uriType(item.uri)){case"artist":return this.props.spotify_library_artists&&this.props.spotify_library_artists.indexOf(item.uri)>-1;case"album":return this.props.spotify_library_albums&&this.props.spotify_library_albums.indexOf(item.uri)>-1;case"playlist":return this.props.spotify_library_playlists&&this.props.spotify_library_playlists.indexOf(item.uri)>-1}return!1}},{key:"isLoved",value:function(){var item=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!item)return!1;if(void 0===this.props.tracks[item.uri])return!1;var track=this.props.tracks[item.uri];return void 0!==track.userloved&&"1"==track.userloved}},{key:"canBeInLibrary",value:function(){return!!this.props.spotify_authorized&&"spotify"==helpers.uriSource(this.props.menu.items[0].uri)}},{key:"toggleInLibrary",value:function(e,in_library){this.props.uiActions.hideContextMenu(),in_library?this.props.spotifyActions.following(this.props.menu.items[0].uri,"DELETE"):this.props.spotifyActions.following(this.props.menu.items[0].uri,"PUT")}},{key:"playQueueItem",value:function(e){this.props.uiActions.hideContextMenu();var tracks=this.props.menu.items;this.props.mopidyActions.changeTrack(tracks[0].tlid)}},{key:"removeFromQueue",value:function(e){this.props.uiActions.hideContextMenu();for(var tracks=this.props.menu.items,tracks_tlids=[],i=0;i<tracks.length;i++)tracks_tlids.push(tracks[i].tlid);this.props.mopidyActions.removeTracks(tracks_tlids)}},{key:"playURIs",value:function(e){this.props.uiActions.hideContextMenu(),this.props.mopidyActions.playURIs(this.props.menu.uris,this.props.menu.tracklist_uri)}},{key:"playPlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.mopidyActions.playPlaylist(this.props.menu.uris[0])}},{key:"shufflePlayPlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.mopidyActions.playPlaylist(this.props.menu.uris[0],!0)}},{key:"playArtistTopTracks",value:function(e){this.props.uiActions.hideContextMenu(),this.props.spotifyActions.playArtistTopTracks(this.props.menu.uris[0])}},{key:"addToQueue",value:function(e){var next=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.props.uiActions.hideContextMenu(),this.props.mopidyActions.enqueueURIs(this.props.menu.uris,this.props.menu.tracklist_uri,next)}},{key:"addTracksToPlaylist",value:function(e,playlist_uri){this.props.uiActions.hideContextMenu(),this.props.coreActions.addTracksToPlaylist(playlist_uri,this.props.menu.uris)}},{key:"toggleLoved",value:function(e,is_loved){this.props.uiActions.hideContextMenu(),is_loved?this.props.lastfmActions.unloveTrack(this.props.menu.items[0].uri):this.props.lastfmActions.loveTrack(this.props.menu.items[0].uri)}},{key:"unloveTrack",value:function(e){this.props.uiActions.hideContextMenu(),this.props.lastfmActions.unloveTrack(this.props.menu.items[0])}},{key:"removeFromPlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.coreActions.removeTracksFromPlaylist(this.props.menu.tracklist_uri,this.props.menu.indexes)}},{key:"deletePlaylist",value:function(e){this.props.uiActions.hideContextMenu(),this.props.coreActions.deletePlaylist(this.props.menu.uris[0])}},{key:"startRadio",value:function(e){this.props.uiActions.hideContextMenu(),this.props.pusherActions.startRadio(this.props.menu.uris)}},{key:"goToRecommendations",value:function(e){this.props.uiActions.hideContextMenu();var uris_string=helpers.arrayOf("uri",this.props.menu.items).join(",");_reactRouter.hashHistory.push(global.baseURL+"discover/recommendations/"+uris_string)}},{key:"goToArtist",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0||!this.props.menu.items[0].artists_uris||this.props.menu.items[0].artists_uris.length<=0)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"artist/"+this.props.menu.items[0].artists_uris[0])}},{key:"goToAlbum",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0||!this.props.menu.items[0].album_uri)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"album/"+this.props.menu.items[0].album_uri)}},{key:"goToUser",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0||!this.props.menu.items[0].user_uri)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"user/"+this.props.menu.items[0].user_uri)}},{key:"goToTrack",value:function(e){if(!this.props.menu.items||this.props.menu.items.length<=0)return null;this.props.uiActions.hideContextMenu(),_reactRouter.hashHistory.push(global.baseURL+"track/"+encodeURIComponent(this.props.menu.items[0].uri))}},{key:"copyURIs",value:function(e){var temp=$("<input>");$("body").append(temp),temp.val(this.props.menu.uris.join(",")).select(),document.execCommand("copy"),temp.remove(),this.props.uiActions.createNotification({content:"Copied "+this.props.menu.uris.length+" URIs"}),this.props.uiActions.hideContextMenu()}},{key:"closeAndDeselectTracks",value:function(e){this.props.uiActions.hideContextMenu()}},{key:"renderTitle",value:function(){var context=this.getContext();return context.items_count>1?_react2.default.createElement("div",{className:"context-menu__title"},_react2.default.createElement("div",{className:"context-menu__title__text"},context.items_count," ",context.nice_name,context.items_count>1?"s":null," selected")):"custom"==context.name&&this.props.menu.title?_react2.default.createElement("div",{className:"context-menu__title"},_react2.default.createElement("div",{className:"context-menu__title__text"},this.props.menu.title)):null}},{key:"setSubmenu",value:function(name){this.state.submenu!==name&&"add-to-playlist"==name&&(this.props.spotify_library_playlists_loaded_all||this.props.spotifyActions.getLibraryPlaylists(),this.props.mopidy_library_playlists_loaded_all||this.props.mopidyActions.getLibraryPlaylists()),this.setState({submenu:name})}},{key:"renderSubmenu",value:function(){var _this2=this,list=null,loader=null;switch(this.state.submenu){case"add-to-playlist":var playlists=[];for(var uri in this.props.playlists)this.props.playlists[uri].can_edit&&playlists.push(this.props.playlists[uri]);playlists=helpers.sortItems(playlists,"name"),this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR&&"running"==this.props.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status&&(loader=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("div",{className:"context-menu__item mini-loader loading"},_react2.default.createElement("div",{className:"loader"})))),list=_react2.default.createElement("span",{className:"context-menu__item"},_react2.default.createElement("span",{className:"context-menu__item mid_grey-text"},"No writable playlists")),playlists.length>0&&(list=playlists.map(function(playlist){return _react2.default.createElement("span",{className:"context-menu__item",key:playlist.uri},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this2.addTracksToPlaylist(e,playlist.uri)}},_react2.default.createElement("span",{className:"context-menu__item__label"},playlist.name)))}))}return _react2.default.createElement("div",{className:"context-menu__section context-menu__section--submenu"},_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link context-menu__item__link--close-submenu",onClick:function(e){return _this2.setState({submenu:null})}},_react2.default.createElement("span",{className:"context-menu__item__label"},_react2.default.createElement(_Icon2.default,{name:"arrow_back"})," Back"))),list,loader)}},{key:"renderItems",value:function(){var _this3=this,context=this.getContext(),play_uris=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.playURIs(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Play"))),play_playlist=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.playPlaylist(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Play"))),shuffle_play_playlist=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.shufflePlayPlaylist(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Shuffle play"))),play_queue_item=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.playQueueItem(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Play"))),play_uris_next=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.addToQueue(e,!0)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Play next"))),play_artist_top_tracks=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.playArtistTopTracks(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Play top tracks"))),add_to_queue=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.addToQueue(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Add to queue"))),add_to_playlist=_react2.default.createElement("div",{className:"context-menu__item context-menu__item--has-submenu"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.setSubmenu("add-to-playlist")}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Add to playlist"),_react2.default.createElement(_Icon2.default,{className:"submenu-icon",name:"arrow_forward"}))),toggle_in_library=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.toggleInLibrary(e,context.in_library)}},_react2.default.createElement("span",{className:"context-menu__item__label"},context.in_library?"Remove from library":"Add to library")));if(this.props.lastfm_authorized)if(helpers.isLoading(this.props.load_queue,["lastfm_track.getInfo"]))var toggle_loved=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link"},_react2.default.createElement("span",{className:"context-menu__item__label mid_grey-text"},"Love track")));else var toggle_loved=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.toggleLoved(e,context.is_loved)}},_react2.default.createElement("span",{className:"context-menu__item__label"},context.is_loved?"Unlove":"Love"," track")));else var toggle_loved=null;var go_to_artist=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.goToArtist(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Go to artist"))),go_to_album=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.goToAlbum(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Go to album"))),go_to_user=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.goToUser(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Go to user"))),go_to_track=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.goToTrack(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Track info"))),go_to_recommendations=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.goToRecommendations(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Discover similar"))),start_radio=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.startRadio(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Start radio"))),remove_from_queue=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.removeFromQueue(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Remove"))),remove_from_playlist=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.removeFromPlaylist(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Remove"))),delete_playlist=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.deletePlaylist(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Delete"))),copy_uris=_react2.default.createElement("div",{className:"context-menu__item"},_react2.default.createElement("a",{className:"context-menu__item__link",onClick:function(e){return _this3.copyURIs(e)}},_react2.default.createElement("span",{className:"context-menu__item__label"},"Copy URI",context.items_count>1?"s":"")));switch(context.name){case"album":return _react2.default.createElement("div",null,play_uris,play_uris_next,add_to_queue,this.canBeInLibrary()?_react2.default.createElement("div",{className:"context-menu__divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"context-menu__divider"}),go_to_artist,copy_uris);case"artist":return _react2.default.createElement("div",null,"spotify"==context.source?play_artist_top_tracks:null,"spotify"==context.source?start_radio:null,this.canBeInLibrary()?_react2.default.createElement("div",{className:"context-menu__divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"context-menu__divider"}),"spotify"==context.source?go_to_recommendations:null,copy_uris);case"playlist":return _react2.default.createElement("div",null,play_playlist,shuffle_play_playlist,this.canBeInLibrary()?_react2.default.createElement("div",{className:"context-menu__divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"context-menu__divider"}),"spotify"==context.source?go_to_user:null,copy_uris);case"editable-playlist":return _react2.default.createElement("div",null,play_playlist,shuffle_play_playlist,this.canBeInLibrary()?_react2.default.createElement("div",{className:"context-menu__divider"}):null,this.canBeInLibrary()?toggle_in_library:null,_react2.default.createElement("div",{className:"context-menu__divider"}),"spotify"==context.source?go_to_user:null,copy_uris,_react2.default.createElement("div",{className:"context-menu__divider"}),delete_playlist);case"queue-track":return _react2.default.createElement("div",null,1==context.items_count?play_queue_item:null,_react2.default.createElement("div",{className:"context-menu__divider"}),add_to_playlist,toggle_loved,_react2.default.createElement("div",{className:"context-menu__divider"}),"spotify"==context.source&&context.items_count<=5?go_to_recommendations:null,1==context.items_count?go_to_track:null,copy_uris,_react2.default.createElement("div",{className:"context-menu__divider"}),remove_from_queue);case"editable-playlist-track":return _react2.default.createElement("div",null,play_uris,play_uris_next,add_to_queue,"spotify"==context.source&&1==context.items_count?start_radio:null,_react2.default.createElement("div",{className:"context-menu__divider"}),add_to_playlist,toggle_loved,_react2.default.createElement("div",{className:"context-menu__divider"}),"spotify"==context.source&&context.items_count<=5?go_to_recommendations:null,1==context.items_count?go_to_track:null,copy_uris,_react2.default.createElement("div",{className:"context-menu__divider"}),remove_from_playlist);default:return _react2.default.createElement("div",null,play_uris,play_uris_next,add_to_queue,"spotify"==context.source&&1==context.items_count?start_radio:null,_react2.default.createElement("div",{className:"context-menu__divider"}),add_to_playlist,toggle_loved,_react2.default.createElement("div",{className:"context-menu__divider"}),"spotify"==context.source&&context.items_count<=5?go_to_recommendations:null,1==context.items_count?go_to_album:null,1==context.items_count?go_to_track:null,_react2.default.createElement("div",{className:"context-menu__divider"}),copy_uris)}}},{key:"render",value:function(){var _this4=this;if(!this.props.menu)return null;var style={left:this.props.menu.position_x,top:this.props.menu.position_y},className="context-menu "+this.props.menu.context;return this.state.submenu&&(className+=" context-menu--submenu-expanded"),this.props.menu.position_x>window.innerWidth-174&&(style.left="auto",style.right=10),this.props.menu.position_y>window.innerHeight-200&&(style.top="auto",style.bottom=10),_react2.default.createElement("div",{id:"context-menu",className:className,style:style},_react2.default.createElement("div",{className:"context-menu__section context-menu__section--items"},this.renderTitle(),"custom"==this.props.menu.context?this.props.menu.options:this.renderItems()),this.renderSubmenu(),_react2.default.createElement("div",{className:"context-menu__background",onClick:function(e){return _this4.props.uiActions.hideContextMenu()}}))}}]),ContextMenu}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{menu:state.ui.context_menu,load_queue:state.ui.load_queue,processes:state.ui.processes,current_track:state.core.current_track,current_tracklist:state.core.current_tracklist,spotify_library_playlists:state.spotify.library_playlists,spotify_library_playlists_loaded_all:state.spotify.library_playlists_loaded_all,mopidy_library_playlists:state.mopidy.library_playlists,mopidy_library_playlists_loaded_all:state.mopidy.library_playlists_loaded_all,spotify_library_artists:state.spotify.library_artists,mopidy_library_artists:state.mopidy.library_artists,spotify_library_albums:state.spotify.library_albums,mopidy_library_albums:state.mopidy.library_albums,playlists:state.core.playlists,tracks:state.core.tracks,spotify_authorized:state.spotify.authorization,lastfm_authorized:state.lastfm.authorization}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ContextMenu)}).call(exports,__webpack_require__(19),__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),Dragger=function(_React$Component){function Dragger(props){_classCallCheck(this,Dragger);var _this=_possibleConstructorReturn(this,(Dragger.__proto__||Object.getPrototypeOf(Dragger)).call(this,props));return _this.handleMouseMove=_this.handleMouseMove.bind(_this),_this.handleMouseUp=_this.handleMouseUp.bind(_this),_this.state={active:!1,position_x:0,position_y:0},_this}return _inherits(Dragger,_React$Component),_createClass(Dragger,[{key:"componentDidMount",value:function(){window.addEventListener("mousemove",this.handleMouseMove,!1),window.addEventListener("mouseup",this.handleMouseUp,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("mousemove",this.handleMouseMove,!1),window.removeEventListener("mouseup",this.handleMouseUp,!1)}},{key:"handleMouseMove",value:function(e){if(!this.props.dragger)return null;if(e.clientX>this.props.dragger.start_x+10||e.clientX<this.props.dragger.start_x-10||e.clientY>this.props.dragger.start_y+10||e.clientY<this.props.dragger.start_y-10){this.setState({position_x:e.clientX,position_y:e.clientY});for(var dropzones=document.getElementsByClassName("dropzone"),i=0;i<dropzones.length;i++)dropzones[i].classList.remove("hover");e.target.classList.contains("dropzone")&&!e.target.classList.contains("hover")&&(e.target.className+=" hover"),this.props.dragger.active||this.props.uiActions.dragActive()}}},{key:"handleMouseUp",value:function(e){if(!this.props.dragger)return null;this.props.uiActions.dragEnd(e)}},{key:"render",value:function(){if(!this.props.dragger||!this.props.dragger.active)return null;var style={left:this.state.position_x,top:this.state.position_y};return _react2.default.createElement("div",{className:"dragger",style:style},"Dragging ",this.props.dragger.victims.length," things")}}]),Dragger}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{dragger:state.ui.dragger}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Dragger)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Link=(__webpack_require__(12),__webpack_require__(8)),_Icon=(_interopRequireDefault(_Link),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),Notifications=function(_React$Component){function Notifications(props){return _classCallCheck(this,Notifications),_possibleConstructorReturn(this,(Notifications.__proto__||Object.getPrototypeOf(Notifications)).call(this,props))}return _inherits(Notifications,_React$Component),_createClass(Notifications,[{key:"importConfiguration",value:function(notification_key,configuration){configuration.interface&&this.props.uiActions.set(configuration.interface),configuration.spotify&&this.props.spotifyActions.importAuthorization(configuration.spotify.authorization,configuration.spotify.me),configuration.lastfm&&this.props.lastfmActions.importAuthorization(configuration.lastfm.authorization,configuration.lastfm.me),configuration.genius&&this.props.geniusActions.importAuthorization(configuration.genius.authorization,configuration.genius.me),this.props.uiActions.removeNotification(notification_key,!0),this.props.uiActions.createNotification({type:"info",content:"Import successful"})}},{key:"renderNotifications",value:function(){var _this2=this;if(!this.props.notifications||this.props.notifications.length<=0)return null;var notifications=[];for(var key in this.props.notifications)this.props.notifications.hasOwnProperty(key)&¬ifications.push(this.props.notifications[key]);return _react2.default.createElement("span",null,notifications.map(function(notification){switch(notification.type){case"shortcut":return _react2.default.createElement("div",{className:"notification notification--shortcut"+(notification.closing?" closing":""),key:notification.key,"data-duration":notification.duration},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:notification.content}));case"share-configuration-received":return _react2.default.createElement("div",{className:"notification notification--info",key:notification.key,"data-key":notification.key,"data-duration":notification.duration},_react2.default.createElement(_Icon2.default,{name:"close",className:"close-button",onClick:function(e){return _this2.props.uiActions.removeNotification(notification.key,!0)}}),_react2.default.createElement("h4",null,"Configuration shared"),_react2.default.createElement("div",{className:"content"},_react2.default.createElement("p",null,"Another user has shared their configuration with you. This includes:"),_react2.default.createElement("ul",null,notification.configuration.ui?_react2.default.createElement("li",null,"User interface"):null,notification.configuration.spotify?_react2.default.createElement("li",null,"Spotify"):null,notification.configuration.lastfm?_react2.default.createElement("li",null,"LastFM"):null,notification.configuration.genius?_react2.default.createElement("li",null,"Genius"):null),_react2.default.createElement("p",null,"Do you want to import this?")),_react2.default.createElement("br",null),_react2.default.createElement("a",{className:"button",onClick:function(e){return _this2.importConfiguration(notification.key,notification.configuration)}},"Import"));default:return _react2.default.createElement("div",{className:"notification notification--"+notification.type+(notification.closing?" closing":""),key:notification.key,"data-key":notification.key,"data-duration":notification.duration},_react2.default.createElement(_Icon2.default,{name:"close",className:"close-button",onClick:function(e){return _this2.props.uiActions.removeNotification(notification.key,!0)}}),notification.title?_react2.default.createElement("h4",null,notification.title):null,notification.content?_react2.default.createElement("p",{className:"content",dangerouslySetInnerHTML:{__html:notification.content}}):null,notification.description?_react2.default.createElement("p",{className:"description",dangerouslySetInnerHTML:{__html:notification.description}}):null)}}))}},{key:"renderProcess",value:function(process){var _this3=this,progress=0;switch(process.data.total&&process.data.remaining&&(progress=((process.data.total-process.data.remaining)/process.data.total*100).toFixed()),process.status){case"running":return _react2.default.createElement("div",{className:"notification notification--process"+(process.closing?" closing":""),key:process.key},_react2.default.createElement("div",{className:"loader"},_react2.default.createElement("div",{className:"progress"},_react2.default.createElement("div",{className:"fill",style:{width:progress+"%"}}))),process.message,_react2.default.createElement(_Icon2.default,{name:"close",className:"close-button",onClick:function(e){_this3.props.uiActions.cancelProcess(process.key)}}));case"cancelling":return _react2.default.createElement("div",{className:"notification notification--process cancelling"+(process.closing?" closing":""),key:process.key},_react2.default.createElement("div",{className:"loader"}),"Cancelling");case"cancelled":case"finished":return null}}},{key:"renderProcesses",value:function(){var _this4=this;if(!this.props.processes||this.props.processes.length<=0)return null;var processes=[];for(var key in this.props.processes)this.props.processes.hasOwnProperty(key)&&processes.push(this.props.processes[key]);return _react2.default.createElement("span",null,processes.map(function(process){return _this4.renderProcess(process)}))}},{key:"renderLoader",value:function(){if(!this.props.load_queue)return null;var load_queue=this.props.load_queue,load_count=0;for(var key in load_queue)load_queue.hasOwnProperty(key)&&load_count++;if(load_count>0){var className="loading ";return className+=load_count>20?"high":load_count>5?"medium":"low",_react2.default.createElement("div",{className:className})}return null}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"notifications"},this.renderLoader(),this.renderNotifications(),this.renderProcesses())}}]),Notifications}(_react2.default.Component);exports.default=Notifications},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=__webpack_require__(8),_redux=(_interopRequireDefault(_Link),__webpack_require__(2)),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),DebugInfo=function(_React$Component){function DebugInfo(props){return _classCallCheck(this,DebugInfo),_possibleConstructorReturn(this,(DebugInfo.__proto__||Object.getPrototypeOf(DebugInfo)).call(this,props))}return _inherits(DebugInfo,_React$Component),_createClass(DebugInfo,[{key:"localStorageSize",value:function(){var data="";for(var key in window.localStorage)window.localStorage.hasOwnProperty(key)&&(data+=window.localStorage[key]);var used=0;return""!==data&&(used=(16*data.length/8192).toFixed(2)),{used:used,percent:(used/5e3*100).toFixed(2)}}},{key:"renderLoadQueue",value:function(){if(!this.props.ui.load_queue)return null;var queue=(this.props.ui.load_queue,[]);return _react2.default.createElement("div",{className:"debug-info-item"},queue)}},{key:"renderLoadQueue",value:function(){if(!this.props.ui.load_queue)return _react2.default.createElement("div",{className:"debug-info-item mid_grey-text"},"Nothing loading");var load_queue=this.props.ui.load_queue,queue=[];for(var key in load_queue)load_queue.hasOwnProperty(key)&&queue.push(_react2.default.createElement("div",{key:key},load_queue[key]));return queue.length>0?_react2.default.createElement("div",{className:"debug-info-item"},queue):_react2.default.createElement("div",{className:"debug-info-item mid_grey-text"},"Nothing loading")}},{key:"render",value:function(){var localStorageUsage=this.localStorageSize();return _react2.default.createElement("div",{className:"debug-info"},_react2.default.createElement("div",{className:"debug-info-section"},_react2.default.createElement("h5",null,"Indexes"),_react2.default.createElement("div",{className:"debug-info-item"},"Albums: ",this.props.core.albums?Object.keys(this.props.core.albums).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Artists: ",this.props.core.artists?Object.keys(this.props.core.artists).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Playlists: ",this.props.core.playlists?Object.keys(this.props.core.playlists).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Tracks: ",this.props.core.tracks?Object.keys(this.props.core.tracks).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Users: ",this.props.core.users?Object.keys(this.props.core.users).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Notifications: ",this.props.ui.notifications?Object.keys(this.props.ui.notifications).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Processes: ",this.props.ui.processes?Object.keys(this.props.ui.processes).length:"0"),_react2.default.createElement("div",{className:"debug-info-item"},"Enqueue batches: ",this.props.mopidy.enqueue_uris_batches?this.props.mopidy.enqueue_uris_batches.length:"0")),_react2.default.createElement("div",{className:"debug-info-section"},_react2.default.createElement("h5",null,"Config"),_react2.default.createElement("div",{className:"debug-info-item"},"Slim mode: ",this.props.ui.slim_mode?"on":"off"),_react2.default.createElement("div",{className:"debug-info-item"},"Test mode: ",this.props.ui.test_mode?"on":"off"),_react2.default.createElement("div",{className:"debug-info-item"},"Touch: ",helpers.isTouchDevice()?"on":"off"),_react2.default.createElement("div",{className:"debug-info-item"},"LocalStorage usage: ",localStorageUsage.used,"kb (~",localStorageUsage.percent,"%)"),_react2.default.createElement("div",{className:"debug-info-item"},"Selected tracks: ",this.props.ui.selected_tracks.length,_react2.default.createElement("br",null),this.props.ui.selected_tracks.map(function(track_key,index){return _react2.default.createElement("div",{key:track_key+"_"+index},track_key)}))),_react2.default.createElement("div",{className:"debug-info-section"},_react2.default.createElement("h5",null,"Load queue"),this.renderLoadQueue()))}}]),DebugInfo}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{core:state.core,ui:state.ui,mopidy:state.mopidy}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DebugInfo)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Header=__webpack_require__(15),_TrackList=(_interopRequireDefault(_Header),__webpack_require__(23)),_TrackList2=_interopRequireDefault(_TrackList),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_ArtistGrid=__webpack_require__(39),_FollowButton=(_interopRequireDefault(_ArtistGrid),__webpack_require__(42)),_FollowButton2=_interopRequireDefault(_FollowButton),_Dater=__webpack_require__(31),_Dater2=_interopRequireDefault(_Dater),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_ContextMenuTrigger=__webpack_require__(25),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),Album=function(_React$Component){function Album(props){return _classCallCheck(this,Album),_possibleConstructorReturn(this,(Album.__proto__||Object.getPrototypeOf(Album)).call(this,props))}return _inherits(Album,_React$Component),_createClass(Album,[{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadAlbum(this.props.params.uri)}},{key:"handleContextMenu",value:function(e){e.preventDefault();var data={uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(e,data,"album","click")}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.props.coreActions.loadAlbum(nextProps.params.uri):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(nextProps.params.uri)&&this.props.coreActions.loadAlbum(nextProps.params.uri),!this.props.album&&nextProps.album&&this.setWindowTitle(nextProps.album)}},{key:"setWindowTitle",value:function(){var album=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.album;if(album){var artists="";if(album.artists_uris&&this.props.artists)for(var i=0;i<album.artists_uris.length;i++){var uri=album.artists_uris[i];this.props.artists.hasOwnProperty(uri)&&(""!=artists&&(artists+=", "),artists+=this.props.artists[uri].name)}this.props.uiActions.setWindowTitle(album.name+" by "+artists+" (album)")}else this.props.uiActions.setWindowTitle("Album")}},{key:"handleContextMenu",value:function(e){var data={e:e,context:"album",items:[this.props.album],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.album.tracks_more,{parent_type:"album",parent_key:this.props.album.uri,records_type:"track"})}},{key:"play",value:function(){this.props.mopidyActions.playURIs([this.props.params.uri],this.props.params.uri)}},{key:"inLibrary",value:function(){var library=helpers.uriSource(this.props.params.uri)+"_library_albums";return this.props[library]&&this.props[library].indexOf(this.props.params.uri)>-1}},{key:"render",value:function(){var _this2=this;if(!this.props.album)return helpers.isLoading(this.props.load_queue,["spotify_albums/"+helpers.getFromUri("albumid",this.props.params.uri)])?_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})):null;var album=helpers.collate(this.props.album,{tracks:this.props.tracks,artists:this.props.artists});if(!album.tracks_uris||album.tracks_uris&&!album.tracks||album.tracks_uris.length!==album.tracks.length)var is_loading_tracks=!0;else var is_loading_tracks=!1;return _react2.default.createElement("div",{className:"view album-view content-wrapper preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:album.images?album.images.huge:null,blur:!0}),_react2.default.createElement("div",{className:"thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"large",canZoom:!0,images:album.images})),_react2.default.createElement("div",{className:"title"},_react2.default.createElement("h1",null,album.name),_react2.default.createElement("ul",{className:"details"},this.props.slim_mode?null:_react2.default.createElement("li",{className:"tooltip"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:helpers.sourceIcon(album.uri)}),_react2.default.createElement("span",{className:"tooltip__content"},helpers.uriSource(this.props.params.uri)," ",album.type?album.type:"album")),album.artists&&album.artists.length>0?_react2.default.createElement("li",null,_react2.default.createElement(_ArtistSentence2.default,{artists:album.artists})):null,album.release_date?_react2.default.createElement("li",null,_react2.default.createElement(_Dater2.default,{type:"date",data:album.release_date})):null,this.props.slim_mode?null:_react2.default.createElement("li",null,album.tracks?_react2.default.createElement("span",null,album.tracks.length," tracks, ",_react2.default.createElement(_Dater2.default,{type:"total-time",data:album.tracks})):"0 tracks, 0 mins"))),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),"spotify"==helpers.uriSource(this.props.params.uri)?_react2.default.createElement(_FollowButton2.default,{className:"secondary",uri:this.props.params.uri,addText:"Add to library",removeText:"Remove from library",is_following:this.inLibrary()}):null,_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}})),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{className:"album-track-list",tracks:album.tracks,uri:album.uri}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:album.tracks_more,showLoader:is_loading_tracks,loadMore:function(){return _this2.loadMore()}})))}}]),Album}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,tracks:state.core.tracks,artists:state.core.artists,album:!(!state.core.albums||void 0===state.core.albums[uri])&&state.core.albums[uri],albums:state.core.albums,spotify_library_albums:state.spotify.library_albums,local_library_albums:state.mopidy.library_albums,spotify_authorized:state.spotify.authorization,mopidy_connected:state.mopidy.connected}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Album)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Header=__webpack_require__(15),_TrackList=(_interopRequireDefault(_Header),__webpack_require__(23)),_TrackList2=_interopRequireDefault(_TrackList),_AlbumGrid=__webpack_require__(43),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_ArtistGrid=__webpack_require__(39),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_RelatedArtists=__webpack_require__(100),_RelatedArtists2=_interopRequireDefault(_RelatedArtists),_FollowButton=__webpack_require__(42),_FollowButton2=_interopRequireDefault(_FollowButton),_ContextMenuTrigger=__webpack_require__(25),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_DropdownField=__webpack_require__(33),_DropdownField2=_interopRequireDefault(_DropdownField),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions6),Artist=function(_React$Component){function Artist(props){return _classCallCheck(this,Artist),_possibleConstructorReturn(this,(Artist.__proto__||Object.getPrototypeOf(Artist)).call(this,props))}return _inherits(Artist,_React$Component),_createClass(Artist,[{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadArtist(this.props.params.uri)}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.props.coreActions.loadArtist(nextProps.params.uri):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.props.coreActions.loadArtist(nextProps.params.uri),!this.props.artist&&nextProps.artist&&this.setWindowTitle(nextProps.artist),this.props.params.uri!==nextProps.params.uri&&nextProps.artist&&this.setWindowTitle(nextProps.artist)}},{key:"setWindowTitle",value:function(){var artist=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.artist;artist?this.props.uiActions.setWindowTitle(artist.name+" (artist)"):this.props.uiActions.setWindowTitle("Artist")}},{key:"handleContextMenu",value:function(e){var data={e:e,context:"artist",items:[this.props.artist],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.artist.albums_more,{parent_type:"artist",parent_key:this.props.params.uri,records_type:"album"})}},{key:"inLibrary",value:function(){var library=helpers.uriSource(this.props.params.uri)+"_library_artists";return this.props[library]&&this.props[library].indexOf(this.props.params.uri)>-1}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={artist_albums_sort_reverse:reverse,artist_albums_sort:value};this.props.uiActions.set(data)}},{key:"setFilter",value:function(value){this.props.uiActions.set({artist_albums_filter:value})}},{key:"renderSubViewMenu",value:function(){return _react2.default.createElement("div",{className:"sub-views",id:"sub-views-menu"},_react2.default.createElement(_Link2.default,{className:"option",activeClassName:"active",to:global.baseURL+"artist/"+this.props.params.uri,scrollTo:"sub-views-menu"},_react2.default.createElement("h4",null,"Overview")),this.props.artist.related_artists_uris?_react2.default.createElement(_Link2.default,{className:"option",activeClassName:"active",to:global.baseURL+"artist/"+this.props.params.uri+"/related-artists",scrollTo:"sub-views-menu"},_react2.default.createElement("h4",null,"Related artists")):null,_react2.default.createElement(_Link2.default,{className:"option",activeClassName:"active",to:global.baseURL+"artist/"+this.props.params.uri+"/about",scrollTo:"sub-views-menu"},_react2.default.createElement("h4",null,"About")))}},{key:"renderBody",value:function(){var _this2=this,artist=(helpers.uriSource(this.props.params.uri),helpers.collate(this.props.artist,{artists:this.props.artists,albums:this.props.albums,tracks:this.props.tracks}));switch(this.props.sort&&artist.albums&&(artist.albums=helpers.sortItems(artist.albums,this.props.sort,this.props.sort_reverse)),this.props.filter&&artist.albums&&(artist.albums=helpers.applyFilter("type",this.props.filter,artist.albums)),this.props.params.sub_view){case"related-artists":return _react2.default.createElement("div",{className:"body related-artists"},_react2.default.createElement("section",{className:"grid-wrapper no-top-padding"},_react2.default.createElement(_ArtistGrid2.default,{artists:artist.related_artists})));case"about":var thumbnails=[];if(artist.images&&artist.images.length>0)for(var i=0;i<artist.images.length;i++)thumbnails.push(_react2.default.createElement("div",{className:"tile thumbnail-wrapper",key:i},_react2.default.createElement(_Thumbnail2.default,{size:"huge",canZoom:!0,images:artist.images[i]})));return _react2.default.createElement("div",{className:"body about"},_react2.default.createElement("div",{className:"col col--w40 tiles artist-stats"},thumbnails,artist.followers?_react2.default.createElement("div",{className:"tile"},_react2.default.createElement("span",{className:"content"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"users"}),artist.followers.toLocaleString()," followers")):null,artist.popularity?_react2.default.createElement("div",{className:"tile"},_react2.default.createElement("span",{className:"content"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"fire"}),artist.popularity,"% popularity")):null,artist.listeners?_react2.default.createElement("div",{className:"tile"},_react2.default.createElement("span",{className:"content"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"headphones"}),artist.listeners.toLocaleString()," listeners")):null),_react2.default.createElement("div",{className:"col col--w60 biography"},_react2.default.createElement("section",null,artist.biography?_react2.default.createElement("div",{className:"biography-text"},_react2.default.createElement("p",null,artist.biography),_react2.default.createElement("br",null),_react2.default.createElement("div",{className:"mid_grey-text"},"Published: ",artist.biography_publish_date),_react2.default.createElement("div",{className:"mid_grey-text"},"Origin: ",_react2.default.createElement("a",{href:artist.biography_link,target:"_blank"},artist.biography_link))):null)));default:var sort_options=[{value:null,label:"Default"},{value:"name",label:"Name"},{value:"date",label:"Date"},{value:"tracks_total",label:"Tracks"}],filter_options=[{value:null,label:"All"},{value:"album",label:"Albums"},{value:"single",label:"Singles"},{value:"compilation",label:"Compilations"}];if(!artist.tracks_uris||artist.tracks_uris&&!artist.tracks||artist.tracks_uris.length!==artist.tracks.length)var is_loading_tracks=!0;else var is_loading_tracks=!1;return _react2.default.createElement("div",{className:"body overview"},_react2.default.createElement("div",{className:"top-tracks col col--w"+(artist.related_artists&&artist.related_artists.length>0?"70":"100")},_react2.default.createElement("h4",null,"Top tracks"),_react2.default.createElement("div",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{className:"artist-track-list",uri:artist.uri,tracks:artist.tracks}),_react2.default.createElement(_LazyLoadListener2.default,{forceLoader:is_loading_tracks}))),_react2.default.createElement("div",{className:"col col--w5"}),artist.related_artists&&artist.related_artists.length>0?_react2.default.createElement("div",{className:"col col--w25 related-artists"},_react2.default.createElement("h4",null,"Related artists"),_react2.default.createElement("div",{className:"list-wrapper"},_react2.default.createElement(_RelatedArtists2.default,{artists:artist.related_artists.slice(0,6)})),_react2.default.createElement(_Link2.default,{to:global.baseURL+"artist/"+artist.uri+"/related-artists",scrollTo:"sub-views-menu",className:"button grey"},"All related artists")):null,_react2.default.createElement("div",{className:"cf"}),_react2.default.createElement("div",{className:"albums"},_react2.default.createElement("h4",null,"Albums",_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(value){_this2.setSort(value),_this2.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"filter_list",name:"Filter",value:this.props.filter,options:filter_options,handleChange:function(value){_this2.setFilter(value),_this2.props.uiActions.hideContextMenu()}})),_react2.default.createElement("section",{className:"grid-wrapper no-top-padding"},_react2.default.createElement(_AlbumGrid2.default,{albums:artist.albums}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:artist.albums_more,showLoader:artist.albums_more,loadMore:function(){return _this2.loadMore()}}))))}}},{key:"render",value:function(){var _this3=this,scheme=helpers.uriSource(this.props.params.uri);if(!this.props.artist)return helpers.isLoading(this.props.load_queue,["spotify_artists/"+helpers.getFromUri("artistid",this.props.params.uri),"lastfm_method=artist.getInfo"])?_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})):null;if(this.props.artist&&this.props.artist.images&&this.props.artist.images.length>0)var image=this.props.artist.images[0].huge;else var image=null;var is_spotify="spotify"==scheme;if(this.props.artist.tracks_uris&&this.props.artist.tracks_uris.length>0)var uris_to_play=this.props.artist.tracks_uris;else var uris_to_play=this.props.artist.albums_uris;return _react2.default.createElement("div",{className:"view artist-view preserve-3d"},_react2.default.createElement("div",{className:"intro preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:image}),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,this.props.artist?this.props.artist.name:null),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this3.props.mopidyActions.playURIs(uris_to_play,_this3.props.artist.uri)}},"Play"),is_spotify?_react2.default.createElement(_FollowButton2.default,{uri:this.props.params.uri,removeText:"Remove from library",addText:"Add to library",is_following:this.inLibrary()}):null,_react2.default.createElement(_ContextMenuTrigger2.default,{className:"white",onTrigger:function(e){return _this3.handleContextMenu(e)}})),this.renderSubViewMenu())),_react2.default.createElement("div",{className:"content-wrapper"},this.renderBody()))}}]),Artist}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{theme:state.ui.theme,slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,artist:void 0!==state.core.artists[uri]&&state.core.artists[uri],tracks:state.core.tracks,artists:state.core.artists,spotify_library_artists:state.spotify.library_artists,local_library_artists:state.mopidy.library_artists,albums:state.core.albums?state.core.albums:[],filter:state.ui.artist_albums_filter?state.ui.artist_albums_filter:null,sort:state.ui.artist_albums_sort?state.ui.artist_albums_sort:null,sort_reverse:!!state.ui.artist_albums_sort_reverse,spotify_authorized:state.spotify.authorization,mopidy_connected:state.mopidy.connected}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Artist)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_reactGa=__webpack_require__(14),_reactGa2=_interopRequireDefault(_reactGa),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_TrackList=__webpack_require__(23),_TrackList2=_interopRequireDefault(_TrackList),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_Dater=__webpack_require__(31),_Dater2=_interopRequireDefault(_Dater),_ConfirmationButton=__webpack_require__(101),_LazyLoadListener=(_interopRequireDefault(_ConfirmationButton),__webpack_require__(24)),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_FollowButton=__webpack_require__(42),_FollowButton2=_interopRequireDefault(_FollowButton),_Header=__webpack_require__(15),_ContextMenuTrigger=(_interopRequireDefault(_Header),__webpack_require__(25)),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),Playlist=function(_React$Component){function Playlist(props){return _classCallCheck(this,Playlist),_possibleConstructorReturn(this,(Playlist.__proto__||Object.getPrototypeOf(Playlist)).call(this,props))}return _inherits(Playlist,_React$Component),_createClass(Playlist,[{key:"componentWillMount",value:function(){var uri=this.props.params.uri;uri.includes("spotify:user:")&&(uri=uri.replace(/spotify:user:([^:]*?):/i,"spotify:"),_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(uri)))}},{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadPlaylist(this.props.params.uri)}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?this.props.coreActions.loadPlaylist(nextProps.params.uri):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.props.coreActions.loadPlaylist(nextProps.params.uri),!this.props.playlist&&nextProps.playlist&&this.setWindowTitle(nextProps.playlist),this.props.params.uri!==nextProps.params.uri&&nextProps.playlist&&this.setWindowTitle(nextProps.playlist)}},{key:"setWindowTitle",value:function(){var playlist=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.playlist;playlist?this.props.uiActions.setWindowTitle(playlist.name+" (playlist)"):this.props.uiActions.setWindowTitle("Playlist")}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.playlist.tracks_more,{parent_type:"playlist",parent_key:this.props.playlist.uri,records_type:"track"})}},{key:"handleContextMenu",value:function(e){var data={e:e,context:this.props.playlist.can_edit?"editable-playlist":"playlist",items:[this.props.playlist],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"play",value:function(){this.props.mopidyActions.playPlaylist(this.props.playlist.uri)}},{key:"follow",value:function(){this.props.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Follow",label:this.props.playlist.uri}),this.props.spotifyActions.toggleFollowingPlaylist(this.props.playlist.uri,"PUT")}},{key:"unfollow",value:function(){this.props.allow_reporting&&_reactGa2.default.event({category:"Playlist",action:"Unfollow",label:this.props.playlist.uri}),this.props.spotifyActions.toggleFollowingPlaylist(this.props.playlist.uri,"DELETE")}},{key:"delete",value:function(){this.props.mopidyActions.deletePlaylist(this.props.playlist.uri)}},{key:"reorderTracks",value:function(indexes,index){this.props.coreActions.reorderPlaylistTracks(this.props.playlist.uri,indexes,index,this.props.playlist.snapshot_id)}},{key:"removeTracks",value:function(tracks_indexes){this.props.coreActions.removeTracksFromPlaylist(this.props.playlist.uri,tracks_indexes)}},{key:"inLibrary",value:function(){var library=helpers.uriSource(this.props.params.uri)+"_library_playlists";return this.props[library]&&this.props[library].indexOf(this.props.params.uri)>-1}},{key:"renderActions",value:function(){var _this2=this;switch(helpers.uriSource(this.props.playlist.uri)){case"m3u":return _react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement(_Link2.default,{className:"button secondary",to:global.baseURL+"playlist/"+encodeURIComponent(this.props.params.uri)+"/edit"},"Edit"),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}}));case"spotify":return this.props.playlist.can_edit?_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement(_Link2.default,{className:"button secondary",to:global.baseURL+"playlist/"+encodeURIComponent(this.props.params.uri)+"/edit"},"Edit"),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}})):_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement(_FollowButton2.default,{className:"secondary",uri:this.props.params.uri,addText:"Add to library",removeText:"Remove from library",is_following:this.inLibrary()}),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}}));default:return _react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.play()}},"Play"),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this2.handleContextMenu(e)}}))}}},{key:"render",value:function(){var _this3=this,playlist_id=(helpers.uriSource(this.props.params.uri),helpers.getFromUri("playlistid",this.props.params.uri));if(!this.props.playlist)return helpers.isLoading(this.props.load_queue,["spotify_playlists/"+playlist_id+"?"])?_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})):null;var playlist=helpers.collate(this.props.playlist,{tracks:this.props.tracks,users:this.props.users}),context="playlist";if(playlist.can_edit&&(context="editable-playlist"),!playlist.tracks_uris||playlist.tracks_uris&&!playlist.tracks||playlist.tracks_uris.length!==playlist.tracks.length)var is_loading_tracks=!0;else var is_loading_tracks=!1;return _react2.default.createElement("div",{className:"view playlist-view content-wrapper preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:playlist.images?playlist.images.huge:null,blur:!0}),_react2.default.createElement("div",{className:"thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"large",canZoom:!0,images:playlist.images})),_react2.default.createElement("div",{className:"title"},_react2.default.createElement("h1",null,playlist.name),playlist.description?_react2.default.createElement("h2",{className:"description mid_grey-text",dangerouslySetInnerHTML:{__html:playlist.description}}):null,_react2.default.createElement("ul",{className:"details"},this.props.slim_mode?null:_react2.default.createElement("li",{className:"tooltip"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:helpers.sourceIcon(playlist.uri)}),_react2.default.createElement("span",{className:"tooltip__content"},helpers.uriSource(playlist.uri)," playlist")),playlist.user_uri?_react2.default.createElement("li",null,_react2.default.createElement(_URILink2.default,{type:"user",uri:playlist.user_uri},playlist.user?playlist.user.name:helpers.getFromUri("userid",playlist.user_uri))):null,this.props.slim_mode||void 0===playlist.followers?null:_react2.default.createElement("li",null,playlist.followers.toLocaleString()," followers"),!this.props.slim_mode&&playlist.last_modified_date?_react2.default.createElement("li",null,"Edited ",_react2.default.createElement(_Dater2.default,{type:"ago",data:playlist.last_modified_date})):null,_react2.default.createElement("li",null,playlist.tracks_total?playlist.tracks_total:playlist.tracks?playlist.tracks.length:"0"," tracks, ",_react2.default.createElement(_Dater2.default,{type:"total-time",data:playlist.tracks})))),this.renderActions(),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{uri:playlist.uri,className:"playlist-track-list",context:context,tracks:playlist.tracks,removeTracks:function(tracks_indexes){return _this3.removeTracks(tracks_indexes)},reorderTracks:function(indexes,index){return _this3.reorderTracks(indexes,index)}}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:playlist.tracks_more,showLoader:is_loading_tracks||playlist.tracks_more,loadMore:function(){return _this3.loadMore()}})))}}]),Playlist}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{allow_reporting:state.ui.allow_reporting,slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,users:state.core.users,tracks:state.core.tracks,playlist:void 0!==state.core.playlists[uri]&&state.core.playlists[uri],spotify_library_playlists:state.spotify.library_playlists,local_library_playlists:state.mopidy.library_playlists,mopidy_connected:state.mopidy.connected,spotify_authorized:state.spotify.authorization,spotify_userid:state.spotify.me&&state.spotify.me.id?state.spotify.me.id:null}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Playlist)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Thumbnail=__webpack_require__(11),_PlaylistGrid=(_interopRequireDefault(_Thumbnail),__webpack_require__(44)),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_FollowButton=__webpack_require__(42),_FollowButton2=_interopRequireDefault(_FollowButton),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_ContextMenuTrigger=__webpack_require__(25),_Icon=(_interopRequireDefault(_ContextMenuTrigger),__webpack_require__(5)),_helpers=(_interopRequireDefault(_Icon),__webpack_require__(1)),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),_actions4=(_interopRequireWildcard(_actions3),__webpack_require__(7)),spotifyActions=_interopRequireWildcard(_actions4),User=function(_React$Component){function User(props){return _classCallCheck(this,User),_possibleConstructorReturn(this,(User.__proto__||Object.getPrototypeOf(User)).call(this,props))}return _inherits(User,_React$Component),_createClass(User,[{key:"componentDidMount",value:function(){this.setWindowTitle(),this.props.coreActions.loadUser(this.props.params.uri),this.props.coreActions.loadUserPlaylists(this.props.params.uri)}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri&&(this.props.coreActions.loadUser(nextProps.params.uri),this.props.coreActions.loadUserPlaylists(this.props.params.uri)),!this.props.user&&nextProps.user&&this.setWindowTitle(nextProps.user)}},{key:"setWindowTitle",value:function(){var user=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.user;user?this.props.uiActions.setWindowTitle(user.name+" (user)"):this.props.uiActions.setWindowTitle("User")}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.user.playlists_more,{parent_type:"user",parent_key:this.props.params.uri,records_type:"playlist"})}},{key:"isMe",value:function(){var userid=helpers.getFromUri("userid",this.props.params.uri);return this.props.me&&this.props.me.id&&this.props.me.id==userid}},{key:"render",value:function(){var _this2=this,user_id=helpers.getFromUri("userid",this.props.params.uri);if(!this.props.user)return helpers.isLoading(this.props.load_queue,["spotify_users/"+user_id,"spotify_users/"+user_id+"/playlists/?"])?_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})):null;var user=helpers.collate(this.props.user,{playlists:this.props.playlists});if(user&&user.images)var image=user.images.huge;else var image=null;return _react2.default.createElement("div",{className:"view user-view preserve-3d"},_react2.default.createElement("div",{className:"intro preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:image,theme:this.props.theme,disabled:this.props.disable_parallax}),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,user.name),_react2.default.createElement("h2",null,_react2.default.createElement("ul",{className:"details"},user.playlists_total?_react2.default.createElement("li",null,user.playlists_total?user.playlists_total.toLocaleString():0," playlists"):null,user.followers?_react2.default.createElement("li",null,user.followers.toLocaleString()," followers"):null,this.isMe()?_react2.default.createElement("li",null,_react2.default.createElement("span",{className:"blue-text"},"You")):null)),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement(_FollowButton2.default,{className:"primary",uri:user.uri,addText:"Follow",removeText:"Unfollow"})))),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement("h4",null,"Playlists"),_react2.default.createElement(_PlaylistGrid2.default,{playlists:user.playlists}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:user.playlists_more,showLoader:user.playlists_more,loadMore:function(){return _this2.loadMore()}}))))}}]),User}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{me:state.spotify.me,theme:state.ui.theme,disable_parallax:state.ui.disable_parallax,load_queue:state.ui.load_queue,spotify_authorized:state.spotify.authorization,playlists:state.core.playlists,user:void 0!==state.core.users[uri]&&state.core.users[uri]}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(User)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_redux=__webpack_require__(2),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_TrackList=__webpack_require__(23),_Thumbnail=(_interopRequireDefault(_TrackList),__webpack_require__(11)),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_ArtistGrid=__webpack_require__(39),_FollowButton=(_interopRequireDefault(_ArtistGrid),__webpack_require__(42)),_LastfmLoveButton=(_interopRequireDefault(_FollowButton),__webpack_require__(289)),_LastfmLoveButton2=_interopRequireDefault(_LastfmLoveButton),_Dater=__webpack_require__(31),_Dater2=_interopRequireDefault(_Dater),_LazyLoadListener=__webpack_require__(24),_ContextMenuTrigger=(_interopRequireDefault(_LazyLoadListener),__webpack_require__(25)),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_URILink=__webpack_require__(22),_Icon=(_interopRequireDefault(_URILink),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_Popularity=__webpack_require__(64),_Popularity2=_interopRequireDefault(_Popularity),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(37),geniusActions=_interopRequireWildcard(_actions6),Track=function(_React$Component){function Track(props){return _classCallCheck(this,Track),_possibleConstructorReturn(this,(Track.__proto__||Object.getPrototypeOf(Track)).call(this,props))}return _inherits(Track,_React$Component),_createClass(Track,[{key:"componentDidMount",value:function(){this.props.coreActions.loadTrack(this.props.params.uri),this.props.track&&(this.setWindowTitle(this.props.track),this.props.track.artists&&!this.props.track.lyrics_results&&this.props.geniusActions.findTrackLyrics(this.props.track))}},{key:"handleContextMenu",value:function(e){e.preventDefault();var data={uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(e,data,"track","click")}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.uri!=this.props.params.uri?(this.props.coreActions.loadTrack(nextProps.params.uri),nextProps.genius_authorized&&nextProps.tracks.artists&&this.props.geniusActions.findTrackLyrics(nextProps.track)):!this.props.mopidy_connected&&nextProps.mopidy_connected&&"spotify"!=helpers.uriSource(this.props.params.uri)&&this.props.coreActions.loadTrack(nextProps.params.uri),(!this.props.track&&nextProps.track||!this.props.track.artists&&nextProps.track.artists)&&(this.setWindowTitle(nextProps.track),nextProps.lastfm_authorized&&this.props.lastfmActions.getTrack(nextProps.track.uri),nextProps.genius_authorized&&!nextProps.track.lyrics_results&&this.props.geniusActions.findTrackLyrics(nextProps.track)),!this.props.track&&nextProps.track&&this.setWindowTitle(nextProps.track)}},{key:"setWindowTitle",value:function(){var track=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.track;if(track){for(var artists="",i=0;i<track.artists.length;i++)""!=artists&&(artists+=", "),artists+=track.artists[i].name;this.props.uiActions.setWindowTitle(track.name+" by "+artists+" (track)")}else this.props.uiActions.setWindowTitle("Track")}},{key:"handleContextMenu",value:function(e){var data={e:e,context:"track",items:[this.props.track],uris:[this.props.params.uri]};this.props.uiActions.showContextMenu(data)}},{key:"play",value:function(){this.props.mopidyActions.playURIs([this.props.params.uri],this.props.params.uri)}},{key:"renderLyricsSelector",value:function(){var _this2=this;return void 0===this.props.track.lyrics_results||null===this.props.track.lyrics_results?null:this.props.track.lyrics_results.length<=0?_react2.default.createElement("div",{className:"field lyrics-selector"},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",disabled:"disabled",value:"No results"}),_react2.default.createElement("div",{className:"description"},"Switch to another lyrics seach result"))):_react2.default.createElement("div",{className:"field lyrics-selector"},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("select",{onChange:function(e){return _this2.props.geniusActions.getTrackLyrics(_this2.props.track.uri,e.target.value)}},this.props.track.lyrics_results.map(function(result){return _react2.default.createElement("option",{key:result.path,value:result.path,defaultValue:result.path==_this2.props.track.lyrics_path},result.title)})),_react2.default.createElement("div",{className:"description"},"Switch to another lyrics seach result")))}},{key:"renderLyrics",value:function(){return helpers.isLoading(this.props.load_queue,["genius_"])?_react2.default.createElement("div",{className:"lyrics"},_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}))):this.props.track.lyrics?_react2.default.createElement("div",{className:"lyrics"},_react2.default.createElement("div",{className:"content",dangerouslySetInnerHTML:{__html:this.props.track.lyrics}}),_react2.default.createElement("div",{className:"origin mid_grey-text"},"Origin: ",_react2.default.createElement("a",{href:"https://genius.com"+this.props.track.lyrics_path,target:"_blank"},"https://genius.com"+this.props.track.lyrics_path))):null}},{key:"render",value:function(){var _this3=this;if(helpers.isLoading(this.props.load_queue,["spotify_track/"+helpers.getFromUri("trackid",this.props.params.uri)]))return _react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"}));if(!this.props.track)return null;var track=this.props.track;return _react2.default.createElement("div",{className:"view track-view content-wrapper"},this.props.slim_mode?_react2.default.createElement(_Header2.default,{icon:"music",title:"Track",handleContextMenuTrigger:function(e){return _this3.handleContextMenu(e)},uiActions:this.props.uiActions}):null,_react2.default.createElement("div",{className:"thumbnail-wrapper"},_react2.default.createElement(_Thumbnail2.default,{size:"large",canZoom:!0,images:track.images})),_react2.default.createElement("div",{className:"title"},_react2.default.createElement("h1",null,track.name),_react2.default.createElement("h2",{className:"mid_grey-text"},track.album&&track.album.uri?_react2.default.createElement(_Link2.default,{to:global.baseURL+"album/"+track.album.uri},track.album.name):null,track.album&&!track.album.uri?track.album.name:null,track.album?null:"Unknown album"," by ",_react2.default.createElement(_ArtistSentence2.default,{artists:track.artists})),_react2.default.createElement("ul",{className:"details"},this.props.slim_mode?null:_react2.default.createElement("li",{className:"tooltip"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:helpers.sourceIcon(this.props.params.uri)}),_react2.default.createElement("span",{className:"tooltip__content"},helpers.uriSource(this.props.params.uri)," track")),track.date?_react2.default.createElement("li",null,_react2.default.createElement(_Dater2.default,{type:"date",data:track.date})):null,track.explicit?_react2.default.createElement("li",null,_react2.default.createElement("span",{className:"flag dark"},"EXPLICIT")):null,_react2.default.createElement("li",null,track.disc_number?_react2.default.createElement("span",null,"Disc ",track.disc_number):null,track.disc_number&&track.track_number?_react2.default.createElement("span",null,", "):null,track.track_number?_react2.default.createElement("span",null,"Track ",track.track_number):null),track.duration?_react2.default.createElement("li",null,_react2.default.createElement(_Dater2.default,{type:"length",data:track.duration})):null,track.popularity?_react2.default.createElement("li",null,_react2.default.createElement(_Popularity2.default,{popularity:track.popularity})):null)),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this3.play()}},"Play"),_react2.default.createElement(_LastfmLoveButton2.default,{uri:this.props.params.uri,artist:this.props.track.artists?this.props.track.artists[0].name:null,track:this.props.track.name,addText:"Love",removeText:"Unlove",is_loved:this.props.track.userloved}),_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this3.handleContextMenu(e)}})),this.props.genius_authorized?null:_react2.default.createElement("p",{className:"no-results"},"Want track lyrics? Authorize Genius under ",_react2.default.createElement(_Link2.default,{to:global.baseURL+"settings/service/genius",scrollTo:"services-menu"},"Settings"),"."),this.props.genius_authorized?this.renderLyricsSelector():null,this.props.genius_authorized?this.renderLyrics():null)}}]),Track}(_react2.default.Component),mapStateToProps=function(state,ownProps){var uri=ownProps.params.uri;return{slim_mode:state.ui.slim_mode,load_queue:state.ui.load_queue,track:!(!state.core.tracks||void 0===state.core.tracks[uri])&&state.core.tracks[uri],tracks:state.core.tracks,artists:state.core.artists,albums:state.core.albums,spotify_library_albums:state.spotify.library_albums,local_library_albums:state.mopidy.library_albums,lastfm_authorized:state.lastfm.authorization,spotify_authorized:state.spotify.authorization,genius_authorized:state.genius.authorization,mopidy_connected:state.mopidy.connected}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),geniusActions:(0,_redux.bindActionCreators)(geniusActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Track)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_helpers=(_interopRequireDefault(_Link),__webpack_require__(1)),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions2),FollowButton=function(_React$Component){function FollowButton(props){return _classCallCheck(this,FollowButton),_possibleConstructorReturn(this,(FollowButton.__proto__||Object.getPrototypeOf(FollowButton)).call(this,props))}return _inherits(FollowButton,_React$Component),_createClass(FollowButton,[{key:"remove",value:function(){this.props.lastfmActions.unloveTrack(this.props.uri,this.props.artist,this.props.track)}},{key:"add",value:function(){this.props.lastfmActions.loveTrack(this.props.uri,this.props.artist,this.props.track)}},{key:"render",value:function(){var _this2=this;if(!this.props.uri)return!1;var className="";return this.props.className&&(className+=" "+this.props.className),this.props.lastfm_authorized?this.props.is_loved&&"0"!==this.props.is_loved?_react2.default.createElement("button",{className:className+" destructive",onClick:function(e){return _this2.remove()}},this.props.removeText):_react2.default.createElement("button",{className:className,onClick:function(e){return _this2.add()}},this.props.addText):_react2.default.createElement("button",{className:className+" disabled",onClick:function(e){return _this2.props.uiActions.createNotification({content:"You must authorize LastFM first",type:"warning"})}},this.props.addText)}}]),FollowButton}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,lastfm_authorized:state.lastfm.authorization}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(FollowButton)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=(__webpack_require__(12),__webpack_require__(8)),_Link2=_interopRequireDefault(_Link),_redux=__webpack_require__(2),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_TrackList=__webpack_require__(23),_TrackList2=_interopRequireDefault(_TrackList),_Track=__webpack_require__(99),_Dater=(_interopRequireDefault(_Track),__webpack_require__(31)),_Dater2=_interopRequireDefault(_Dater),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions4),Queue=function(_React$Component){function Queue(props){return _classCallCheck(this,Queue),_possibleConstructorReturn(this,(Queue.__proto__||Object.getPrototypeOf(Queue)).call(this,props))}return _inherits(Queue,_React$Component),_createClass(Queue,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Now playing")}},{key:"removeTracks",value:function(track_indexes){for(var tlids=[],i=0;i<track_indexes.length;i++){var track=this.props.queue[track_indexes[i]];void 0!==track.tlid&&tlids.push(track.tlid)}tlids.length>0&&this.props.mopidyActions.removeTracks(tlids)}},{key:"playTrack",value:function(track){this.props.mopidyActions.changeTrack(track.tlid)}},{key:"playTracks",value:function(tracks){this.props.mopidyActions.changeTrack(tracks[0].tlid)}},{key:"reorderTracks",value:function(indexes,index){this.props.mopidyActions.reorderTracklist(indexes,index)}},{key:"renderQueueStats",value:function(){return _react2.default.createElement("div",{className:"queue-stats mid_grey-text"},_react2.default.createElement("span",null,this.props.current_tracklist.length," tracks")," | ",this.props.current_tracklist.length>0?_react2.default.createElement(_Dater2.default,{type:"total-time",data:this.props.current_tracklist}):_react2.default.createElement("span",null,"0 mins"))}},{key:"renderArtwork",value:function(image){if(!image)return _react2.default.createElement("span",{className:this.props.radio_enabled?"artwork radio-enabled":"artwork"},this.props.radio_enabled?_react2.default.createElement("img",{className:"radio-overlay",src:"assets/radio-overlay.png"}):null,_react2.default.createElement(_Thumbnail2.default,{circle:this.props.radio_enabled}));var uri=null;return this.props.current_track.album&&this.props.current_track.album.uri&&(uri=this.props.current_track.album.uri),_react2.default.createElement(_URILink2.default,{className:this.props.radio_enabled?"artwork radio-enabled":"artwork",type:"album",uri:uri},this.props.radio_enabled?_react2.default.createElement("img",{className:"radio-overlay",src:"assets/radio-overlay.png"}):null,_react2.default.createElement(_Thumbnail2.default,{image:image,circle:this.props.radio_enabled}))}},{key:"render",value:function(){var _this2=this,current_track=null,tracks=[];if(this.props.queue&&this.props.tracks)for(var i=0;i<this.props.queue.length;i++){var track=this.props.queue[i];this.props.tracks.hasOwnProperty(track.uri)&&(track=Object.assign({},this.props.tracks[track.uri],track,{playing:this.props.current_track&&this.props.current_track.tlid==track.tlid})),void 0!==this.props.queue_metadata["tlid_"+track.tlid]&&(track=Object.assign({},track,this.props.queue_metadata["tlid_"+track.tlid])),this.props.current_track&&this.props.current_track.uri==track.uri&&(current_track=track),tracks.push(track)}var current_track_image=null;current_track&&this.props.current_track_uri&&void 0!==current_track.images&¤t_track.images&&(current_track_image=current_track.images.large);var options=_react2.default.createElement("span",null,this.props.spotify_enabled?_react2.default.createElement(_Link2.default,{className:"button no-hover",to:global.baseURL+"queue/radio"},_react2.default.createElement(_Icon2.default,{name:"radio"}),"Radio",this.props.radio&&this.props.radio.enabled?_react2.default.createElement("span",{className:"flag blue"},"On"):null):null,_react2.default.createElement(_Link2.default,{className:"button no-hover",to:global.baseURL+"queue/history"},_react2.default.createElement(_Icon2.default,{name:"history"}),"History"),_react2.default.createElement("button",{className:"no-hover",onClick:function(e){_this2.props.mopidyActions.clearTracklist(),_this2.props.uiActions.hideContextMenu()}},_react2.default.createElement(_Icon2.default,{name:"delete_sweep"}),"Clear"),_react2.default.createElement(_Link2.default,{className:"button no-hover",to:global.baseURL+"queue/add-uri"},_react2.default.createElement(_Icon2.default,{name:"playlist_add"}),"Add URI"));return _react2.default.createElement("div",{className:"view queue-view preserve-3d"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"play_arrow",type:"material"}),"Now playing"),_react2.default.createElement(_Parallax2.default,{blur:!0,image:current_track_image}),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("div",{className:"current-track"},this.renderArtwork(current_track_image),_react2.default.createElement("div",{className:"title"},current_track?_react2.default.createElement(_URILink2.default,{type:"track",uri:current_track.uri},current_track.name):_react2.default.createElement("span",null,"-")),current_track?_react2.default.createElement(_ArtistSentence2.default,{artists:current_track.artists}):_react2.default.createElement(_ArtistSentence2.default,null)),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{show_source_icon:!0,context:"queue",className:"queue-track-list",tracks:tracks,removeTracks:function(track_indexes){return _this2.removeTracks(track_indexes)},playTracks:function(tracks){return _this2.playTracks(tracks)},playTrack:function(track){return _this2.playTrack(track)},reorderTracks:function(indexes,index){return _this2.reorderTracks(indexes,index)}}))))}}]),Queue}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{theme:state.ui.theme,spotify_enabled:state.spotify.enabled,radio:state.core.radio,radio_enabled:!(!state.core.radio||!state.core.radio.enabled),tracks:state.core.tracks,artists:state.core.artists,albums:state.core.albums,queue:state.core.queue,queue_tlids:state.core.queue_tlids,queue_metadata:state.core.queue_metadata,current_track_uri:state.core.current_track_uri,current_track:state.core.current_track}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Queue)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_reactRouter=__webpack_require__(12),_redux=__webpack_require__(2),_TrackList=__webpack_require__(23),_TrackList2=_interopRequireDefault(_TrackList),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions4),QueueHistory=function(_React$Component){function QueueHistory(props){return _classCallCheck(this,QueueHistory),_possibleConstructorReturn(this,(QueueHistory.__proto__||Object.getPrototypeOf(QueueHistory)).call(this,props))}return _inherits(QueueHistory,_React$Component),_createClass(QueueHistory,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Queue history"),this.loadHistory()}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.mopidy_connected&&nextProps.mopidy_connected&&this.loadHistory(nextProps)}},{key:"loadHistory",value:function(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props).mopidy_connected&&this.props.mopidyActions.getQueueHistory()}},{key:"render",value:function(){for(var options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"queue")}},_react2.default.createElement(_Icon2.default,{name:"keyboard_backspace"})," Back")),tracks=[],i=0;i<this.props.queue_history.length;i++){var track=Object.assign({},this.props.queue_history[i]);void 0!==this.props.tracks[track.uri]&&(track=Object.assign({},track,this.props.tracks[track.uri])),tracks.push(track)}return _react2.default.createElement("div",{className:"view queue-history-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"play_arrow",type:"material"}),"Playback history"),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_TrackList2.default,{className:"queue-history-track-list",context:"history",tracks:tracks,show_source_icon:!0})))}}]),QueueHistory}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,tracks:state.core.tracks?state.core.tracks:{},queue_history:state.mopidy.queue_history?state.mopidy.queue_history:[]}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(QueueHistory)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_reactRouter=__webpack_require__(12),_redux=__webpack_require__(2),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Thumbnail=__webpack_require__(11),_Icon=(_interopRequireDefault(_Thumbnail),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_Link=__webpack_require__(8),_actions=(_interopRequireDefault(_Link),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),Debug=function(_React$Component){function Debug(props){_classCallCheck(this,Debug);var _this=_possibleConstructorReturn(this,(Debug.__proto__||Object.getPrototypeOf(Debug)).call(this,props));return _this.state={mopidy_call:"playlists.asList",mopidy_data:"{}",pusher_data:'{"method":"get_config"}',access_token:_this.props.access_token,toggling_test_mode:!1},_this}return _inherits(Debug,_React$Component),_createClass(Debug,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Debug")}},{key:"callMopidy",value:function(e){e.preventDefault(),this.props.mopidyActions.debug(this.state.mopidy_call,JSON.parse(this.state.mopidy_data))}},{key:"callPusher",value:function(e){e.preventDefault(),this.props.pusherActions.debug(JSON.parse(this.state.pusher_data))}},{key:"toggleTestMode",value:function(e){this.setState({toggling_test_mode:!0}),this.props.uiActions.set({test_mode:!this.props.test_mode}),setTimeout(location.reload(),1e3)}},{key:"render",value:function(){var _this2=this,options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"settings")}},_react2.default.createElement(_Icon2.default,{name:"keyboard_backspace"}),"Back"));return _react2.default.createElement("div",{className:"view debugger-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"settings",type:"material"}),"Debug"),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("h4",{className:"underline"},"User interface"),_react2.default.createElement("form",null,_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Test mode"),_react2.default.createElement("div",{className:"input"},this.state.toggling_test_mode?_react2.default.createElement("span",{className:"button working"},"Applying..."):this.props.test_mode?_react2.default.createElement("span",{className:"button destructive",onClick:function(e){return _this2.toggleTestMode(e)}},"Disable"):_react2.default.createElement("span",{className:"button primary",onClick:function(e){return _this2.toggleTestMode(e)}},"Enable"))),_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Debug"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"debug_info",checked:this.props.debug_info,onChange:function(e){return _this2.props.uiActions.set({debug_info:!_this2.props.debug_info})}}),_react2.default.createElement("span",{className:"label"},"Show debug overlay")))),_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Logging"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_actions",checked:this.props.log_actions,onChange:function(e){return _this2.props.uiActions.set({log_actions:!_this2.props.log_actions})}}),_react2.default.createElement("span",{className:"label"},"Log actions")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_mopidy",checked:this.props.log_mopidy,onChange:function(e){return _this2.props.uiActions.set({log_mopidy:!_this2.props.log_mopidy})}}),_react2.default.createElement("span",{className:"label"},"Log Mopidy")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_pusher",checked:this.props.log_pusher,onChange:function(e){return _this2.props.uiActions.set({log_pusher:!_this2.props.log_pusher})}}),_react2.default.createElement("span",{className:"label"},"Log Pusher")))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("a",{className:"button secondary",onClick:function(e){return _this2.props.uiActions.createNotification({content:"Test notification"})}},"Create notification"),_react2.default.createElement("a",{className:"button secondary",onClick:function(e){return _this2.props.pusherActions.request("test")}},"Run test process")))),_react2.default.createElement("h4",{className:"underline"},"Spotify"),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Access token"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.props.spotifyActions.authorizationGranted({access_token:e.target.value})},value:this.state.access_token}))),_react2.default.createElement("h4",{className:"underline"},"Mopidy"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.callMopidy(e)}},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Call"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({mopidy_call:e.target.value})},value:this.state.mopidy_call}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Data"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("textarea",{onChange:function(e){return _this2.setState({mopidy_data:e.target.value})},value:this.state.mopidy_data}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{type:"submit",className:"secondary"},"Send")))),_react2.default.createElement("h4",{className:"underline"},"Pusher"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.callPusher(e)}},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Examples"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("select",{onChange:function(e){return _this2.setState({pusher_data:e.target.value})}},_react2.default.createElement("option",{value:'{"method":"get_config"}'},"Get config"),_react2.default.createElement("option",{value:'{"method":"get_version"}'},"Get version"),_react2.default.createElement("option",{value:'{"method":"get_connections"}'},"Get connections"),_react2.default.createElement("option",{value:'{"method":"get_radio"}'},"Get radio"),_react2.default.createElement("option",{value:'{"method":"get_queue_metadata"}'},"Get queue metadata"),_react2.default.createElement("option",{value:'{"method":"broadcast","data":{"method":"notification","params":{"notification":{"type":"info","title":"Testing","content":"This is my message"}}}}'},"Broadcast to all clients"),_react2.default.createElement("option",{value:'{"method":"send_message","data":{"method":"notification","params":{"notification":{"type":"info","title":"Testing","content":"This is my message"}}}}'},"Broadcast to one client"),_react2.default.createElement("option",{value:'{"method":"set_username","data":{"connection_id":"CONNECTION_ID_HERE","username":"NewUsername"}}'},"Change username"),_react2.default.createElement("option",{value:'{"method":"refresh_spotify_token"}'},"Refresh Spotify token"),_react2.default.createElement("option",{value:'{"method":"broadcast","data":{"method":"reload","params":{}}}'},"Forced reload for all connected clients"),_react2.default.createElement("option",{value:'{"method":"perform_upgrade"}'},"Perform upgrade (beta)")))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Data"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("textarea",{onChange:function(e){return _this2.setState({pusher_data:e.target.value})},value:this.state.pusher_data}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{type:"submit",className:"secondary"},"Send")))),_react2.default.createElement("h4",{className:"underline"},"Response"),_react2.default.createElement("pre",null,this.props.debug_response?JSON.stringify(this.props.debug_response,null,2):null)))}}]),Debug}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{connection_id:state.pusher.connection_id,access_token:state.spotify.access_token?state.spotify.access_token:"",log_actions:!!state.ui.log_actions&&state.ui.log_actions,log_pusher:!!state.ui.log_pusher&&state.ui.log_pusher,log_mopidy:!!state.ui.log_mopidy&&state.ui.log_mopidy,test_mode:!!state.ui.test_mode&&state.ui.test_mode,debug_info:!!state.ui.debug_info&&state.ui.debug_info,debug_response:state.ui.debug_response}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Debug)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=(__webpack_require__(12),__webpack_require__(8)),_redux=(_interopRequireDefault(_Link),__webpack_require__(2)),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_DropdownField=__webpack_require__(33),_DropdownField2=_interopRequireDefault(_DropdownField),_TrackList=__webpack_require__(23),_TrackList2=_interopRequireDefault(_TrackList),_ArtistGrid=__webpack_require__(39),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_AlbumGrid=__webpack_require__(43),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_PlaylistGrid=__webpack_require__(44),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_SearchForm=__webpack_require__(294),_SearchForm2=_interopRequireDefault(_SearchForm),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),Search=function(_React$Component){function Search(props){_classCallCheck(this,Search);var _this=_possibleConstructorReturn(this,(Search.__proto__||Object.getPrototypeOf(Search)).call(this,props));return _this.state={type:"all",term:""},_this}return _inherits(Search,_React$Component),_createClass(Search,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Search"),$(document).find(".search-form input").focus(),this.digestUri()}},{key:"componentWillUnmount",value:function(){this.props.mopidyActions.clearSearchResults(),this.props.spotifyActions.clearSearchResults()}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.term===this.props.params.term&&nextProps.params.type===this.props.params.type||this.digestUri(nextProps),!this.props.mopidy_connected&&nextProps.mopidy_connected&&nextProps.uri_schemes_search_enabled&&(this.search(this.state.type,this.state.term,"mopidy"),nextProps.uri_schemes_search_enabled.includes("spotify:")&&this.search(this.state.type,this.state.term,"spotify"))}},{key:"digestUri",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;props.params&&props.params.type&&props.params.term&&(this.setState({type:props.params.type,term:props.params.term}),this.search(props.params.type,props.params.term))}},{key:"search",value:function(){var type=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.type,term=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.term,provider=arguments[2];this.props.uiActions.setWindowTitle("Search: "+term),this.props.mopidyActions.clearSearchResults(),this.props.spotifyActions.clearSearchResults(),type&&term&&(("mopidy"==provider||this.props.mopidy_connected&&this.props.uri_schemes_search_enabled)&&this.props.mopidyActions.getSearchResults(type,term),("spotify"==provider||this.props.mopidy_connected&&this.props.uri_schemes_search_enabled&&this.props.uri_schemes_search_enabled.includes("spotify:"))&&this.props.spotifyActions.getSearchResults(type,term))}},{key:"loadMore",value:function(type){alert("load more: "+type)}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={search_results_sort_reverse:reverse,search_results_sort:value};this.props.uiActions.set(data)}},{key:"renderResults",value:function(){var _this2=this,spotify_search_enabled=this.props.search_settings&&this.props.search_settings.spotify,sort=this.props.sort,sort_reverse=this.props.sort_reverse,sort_map=null;switch(this.props.sort){case"uri":sort_map=this.props.uri_schemes_priority;break;case"followers.total":sort_reverse=!sort_reverse}var artists=[];this.props.mopidy_search_results.artists&&(artists=[].concat(_toConsumableArray(artists),_toConsumableArray(helpers.getIndexedRecords(this.props.artists,this.props.mopidy_search_results.artists)))),this.props.spotify_search_results.artists&&(artists=[].concat(_toConsumableArray(artists),_toConsumableArray(helpers.getIndexedRecords(this.props.artists,this.props.spotify_search_results.artists)))),artists=helpers.sortItems(artists,sort,sort_reverse,sort_map);var albums=[];this.props.mopidy_search_results.albums&&(albums=[].concat(_toConsumableArray(albums),_toConsumableArray(helpers.getIndexedRecords(this.props.albums,this.props.mopidy_search_results.albums)))),this.props.spotify_search_results.albums&&(albums=[].concat(_toConsumableArray(albums),_toConsumableArray(helpers.getIndexedRecords(this.props.albums,this.props.spotify_search_results.albums)))),albums=helpers.sortItems(albums,sort,sort_reverse,sort_map);var playlists=[];this.props.mopidy_search_results.playlists&&(playlists=[].concat(_toConsumableArray(playlists),_toConsumableArray(helpers.getIndexedRecords(this.props.playlists,this.props.mopidy_search_results.playlists)))),this.props.spotify_search_results.playlists&&(playlists=[].concat(_toConsumableArray(playlists),_toConsumableArray(helpers.getIndexedRecords(this.props.playlists,this.props.spotify_search_results.playlists)))),playlists=helpers.sortItems(playlists,sort,sort_reverse,sort_map);var tracks=[];switch(this.props.mopidy_search_results.tracks&&(tracks=[].concat(_toConsumableArray(tracks),_toConsumableArray(this.props.mopidy_search_results.tracks))),this.props.spotify_search_results.tracks&&(tracks=[].concat(_toConsumableArray(tracks),_toConsumableArray(this.props.spotify_search_results.tracks))),tracks=helpers.sortItems(tracks,"followers.total"==sort?"popularity":sort,sort_reverse,sort_map),this.state.type){case"artist":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:all:"+this.state.term},"Search")," ",_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"angle-right"})," Artists"),_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_ArtistGrid2.default,{artists:artists,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.artists_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("artists")}})));case"album":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:all:"+this.state.term},"Search")," ",_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"angle-right"})," Albums"),_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_AlbumGrid2.default,{albums:albums,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.albums_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("albums")}})));case"playlist":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:all:"+this.state.term},"Search")," ",_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"angle-right"})," Playlists"),_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_PlaylistGrid2.default,{playlists:playlists,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.playlists_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("playlists")}})));case"track":return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:all:"+this.state.term},"Search")," ",_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"angle-right"})," Tracks"),_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{tracks:tracks,uri:"iris:search:"+this.state.type+":"+this.state.term,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{enabled:this.props.tracks_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("tracks")}})));case"all":default:if(artists.length>0)var artists_section=_react2.default.createElement("section",null,_react2.default.createElement("div",{className:"inner"},_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:artist:"+this.state.term},_react2.default.createElement("h4",null,"Artists")),_react2.default.createElement(_ArtistGrid2.default,{show_source_icon:!0,artists:artists.slice(0,5)}),artists.length>4?_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:artist:"+this.state.term,className:"button grey"},"All artists (",artists.length,")"):null));else var artists_section=null;if(albums.length>0)var albums_section=_react2.default.createElement("section",null,_react2.default.createElement("div",{className:"inner"},_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:album:"+this.state.term},_react2.default.createElement("h4",null,"Albums")),_react2.default.createElement(_AlbumGrid2.default,{show_source_icon:!0,albums:albums.slice(0,5)}),albums.length>4?_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:album:"+this.state.term,className:"button grey"},"All albums (",albums.length,")"):null));else var albums_section=null;if(playlists.length>0)var playlists_section=_react2.default.createElement("section",null,_react2.default.createElement("div",{className:"inner"},_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:playlist:"+this.state.term},_react2.default.createElement("h4",null,"Playlists")),_react2.default.createElement(_PlaylistGrid2.default,{show_source_icon:!0,playlists:playlists.slice(0,5)}),playlists.length>4?_react2.default.createElement(_URILink2.default,{type:"search",uri:"search:playlist:"+this.state.term,className:"button grey"},"All playlists (",playlists.length,")"):null));else var playlists_section=null;if(tracks.length>0)var tracks_section=_react2.default.createElement("section",{className:"list-wrapper"},_react2.default.createElement(_TrackList2.default,{tracks:tracks,uri:"iris:search:"+this.state.type+":"+this.state.term,show_source_icon:!0}),_react2.default.createElement(_LazyLoadListener2.default,{loading:this.props.tracks_more&&spotify_search_enabled,loadMore:function(){return _this2.loadMore("tracks")}}));else var tracks_section=null;return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"search-result-sections cf"},artists_section,albums_section,playlists_section),tracks_section)}}},{key:"render",value:function(){for(var _this3=this,type_options=[{value:"all",label:"All"},{value:"artist",label:"Artist"},{value:"album",label:"Album"},{value:"playlist",label:"Playlist"},{value:"track",label:"Track"}],sort_options=[{value:"followers.total",label:"Popularity"},{value:"name",label:"Name"},{value:"artists.name",label:"Artist"},{value:"duration",label:"Duration"},{value:"uri",label:"Source"}],provider_options=[],i=0;i<this.props.uri_schemes.length;i++)provider_options.push({value:this.props.uri_schemes[i],label:helpers.titleCase(this.props.uri_schemes[i].replace(":","").replace("+"," "))});var options=_react2.default.createElement("span",null,_react2.default.createElement(_DropdownField2.default,{icon:"category",name:"Type",value:this.state.type,options:type_options,handleChange:function(value){_this3.setState({type:value}),_this3.search(value,_this3.state.term)}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,selected_icon:this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down",handleChange:function(value){_this3.setSort(value),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"cloud",name:"Sources",value:this.props.uri_schemes_search_enabled,options:provider_options,handleChange:function(value){_this3.props.uiActions.set({uri_schemes_search_enabled:value}),_this3.props.uiActions.hideContextMenu()}}));return _react2.default.createElement("div",{className:"view search-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"search",type:"material"})),_react2.default.createElement(_SearchForm2.default,{term:this.state.term,onBlur:function(term){return _this3.setState({term:term})},onSubmit:function(term){return _this3.search(_this3.state.type,term)}}),_react2.default.createElement("div",{className:"content-wrapper"},this.renderResults()))}}]),Search}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,albums:state.core.albums?state.core.albums:[],artists:state.core.artists?state.core.artists:[],playlists:state.core.playlists?state.core.playlists:[],tracks:state.core.tracks?state.core.tracks:[],uri_schemes_search_enabled:state.ui.uri_schemes_search_enabled?state.ui.uri_schemes_search_enabled:[],uri_schemes_priority:state.ui.uri_schemes_priority?state.ui.uri_schemes_priority:[],uri_schemes:state.mopidy.uri_schemes?state.mopidy.uri_schemes:[],mopidy_search_results:state.mopidy.search_results?state.mopidy.search_results:{},spotify_search_results:state.spotify.search_results?state.spotify.search_results:{},sort:state.ui.search_results_sort?state.ui.search_results_sort:"followers.total",sort_reverse:!!state.ui.search_results_sort_reverse}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Search)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(4),_reactRouter=__webpack_require__(12),_redux=__webpack_require__(2),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),SearchForm=function(_React$Component){function SearchForm(props){_classCallCheck(this,SearchForm);var _this=_possibleConstructorReturn(this,(SearchForm.__proto__||Object.getPrototypeOf(SearchForm)).call(this,props));return _this.state={term:_this.props.term},_this}return _inherits(SearchForm,_React$Component),_createClass(SearchForm,[{key:"handleSubmit",value:function(e){switch(e.preventDefault(),helpers.uriType(this.props.term)){case"album":_reactRouter.hashHistory.push(global.baseURL+"album/"+encodeURIComponent(this.props.term));break;case"artist":_reactRouter.hashHistory.push(global.baseURL+"artist/"+encodeURIComponent(this.props.term));break;case"playlist":_reactRouter.hashHistory.push(global.baseURL+"playlist/"+encodeURIComponent(this.props.term));break;case"track":_reactRouter.hashHistory.push(global.baseURL+"track/"+encodeURIComponent(this.props.term));break;default:this.props.onSubmit(this.state.term)}return!1}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("form",{className:"search-form",onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"text",placeholder:this.props.term?this.props.term:"Search...",onChange:function(e){return _this2.setState({term:e.target.value})},onBlur:function(e){return _this2.props.onBlur(_this2.state.term)},value:this.state.term})))}}]),SearchForm}(_react2.default.Component),mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapDispatchToProps)(SearchForm)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_reactRouter=__webpack_require__(12),_redux=__webpack_require__(2),_ConfirmationButton=__webpack_require__(101),_ConfirmationButton2=_interopRequireDefault(_ConfirmationButton),_PusherConnectionList=__webpack_require__(296),_PusherConnectionList2=_interopRequireDefault(_PusherConnectionList),_SourcesPriority=__webpack_require__(297),_SourcesPriority2=_interopRequireDefault(_SourcesPriority),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Thumbnail=__webpack_require__(11),_URILink=(_interopRequireDefault(_Thumbnail),__webpack_require__(22)),_Services=(_interopRequireDefault(_URILink),__webpack_require__(301)),_Services2=_interopRequireDefault(_Services),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions6),Settings=function(_React$Component){function Settings(props){_classCallCheck(this,Settings);var _this=_possibleConstructorReturn(this,(Settings.__proto__||Object.getPrototypeOf(Settings)).call(this,props));return _this.state={mopidy_host:_this.props.mopidy.host,mopidy_port:_this.props.mopidy.port,mopidy_library_artists_uri:_this.props.mopidy.library_artists_uri,mopidy_library_albums_uri:_this.props.mopidy.library_albums_uri,pusher_username:_this.props.pusher.username,input_in_focus:null},_this}return _inherits(Settings,_React$Component),_createClass(Settings,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Settings")}},{key:"componentWillReceiveProps",value:function(nextProps){var changed=!1,state=this.state;nextProps.pusher.username!=this.state.pusher_username&&"pusher_username"!=this.state.input_in_focus&&(state.pusher_username=nextProps.pusher.username,changed=!0),changed&&this.setState(state)}},{key:"resetAllSettings",value:function(){return localStorage.clear(),window.location="#",window.location.reload(!0),!1}},{key:"setConfig",value:function(e){return this.setState({input_in_focus:null}),e.preventDefault(),this.props.mopidyActions.set({host:this.state.mopidy_host,port:this.state.mopidy_port}),window.location.reload(!0),!1}},{key:"handleBlur",value:function(service,name,value){this.setState({input_in_focus:null});var data={};switch(data[name]=value,this.props[service+"Actions"].set(data),name){case"library_albums_uri":this.props.mopidyActions.clearLibraryAlbums();break;case"library_artists_uri":this.props.mopidyActions.clearLibraryArtists()}}},{key:"handleUsernameChange",value:function(username){this.setState({pusher_username:username.replace(/\W/g,"")})}},{key:"handleUsernameBlur",value:function(e){this.setState({input_in_focus:null}),this.props.pusherActions.setUsername(this.state.pusher_username)}},{key:"renderApplyButton",value:function(){return this.props.mopidy.host==this.state.mopidy_host&&this.props.mopidy.port==this.state.mopidy_port?null:_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"}),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{type:"submit",className:"secondary"},"Apply and reload")))}},{key:"renderServerStatus",value:function(){var colour="grey",icon="help",status="Unknown",className=null;return this.props.mopidy.connecting||this.props.pusher.connecting?(icon="autorenew",status="Connecting...",className="icon--spin"):this.props.mopidy.connected&&this.props.pusher.connected?this.props.mopidy.connected&&this.props.pusher.connected&&(colour="green",icon="check",status="Connected"):(colour="red",icon="close",status="Disconnected"),_react2.default.createElement("span",{className:colour+"-text"},_react2.default.createElement(_Icon2.default,{className:className,name:icon}),status)}},{key:"renderCommands",value:function(){var _this2=this,commands=[];if(this.props.pusher.commands)for(var id in this.props.pusher.commands)if(this.props.pusher.commands.hasOwnProperty(id)){var command=Object.assign({},this.props.pusher.commands[id]);try{command.command=JSON.parse(command.command)}catch(error){command.command=null}commands.push(command)}return commands.length<=0?null:_react2.default.createElement("div",{className:"list commands-setup"},commands.map(function(command){return _react2.default.createElement("div",{className:"list__item commands-setup__item no-click",key:command.id},_react2.default.createElement("div",{className:"col col--w90"},_react2.default.createElement("div",{className:"commands__item commands__item--interactive",onClick:function(e){return _this2.props.pusherActions.sendCommand(command.id,!0)}},_react2.default.createElement(_Icon2.default,{className:"commands__item__icon",name:command.icon}),_react2.default.createElement("span",{className:command.colour+"-background commands__item__background"})),_react2.default.createElement("div",{className:"commands-setup__item__url commands__item__url"},command.command&&command.command.url?command.command.url:"-")),_react2.default.createElement("div",{className:"commands-setup__item__actions"},_react2.default.createElement(_reactRouter.Link,{className:"commands-setup__item__edit-button action",to:global.baseURL+"edit-command/"+command.id},_react2.default.createElement(_Icon2.default,{name:"edit"}))))}))}},{key:"render",value:function(){var _this3=this,options=_react2.default.createElement("span",null,_react2.default.createElement("button",{className:"no-hover",onClick:function(e){return _reactRouter.hashHistory.push(global.baseURL+"settings/debug")}},_react2.default.createElement(_Icon2.default,{name:"code"}),"Debug"),_react2.default.createElement("a",{className:"no-hover button",href:"https://github.com/jaedb/Iris/wiki",target:"_blank"},_react2.default.createElement(_Icon2.default,{name:"help"}),"Help"));return _react2.default.createElement("div",{className:"view settings-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"settings",type:"material"}),"Settings"),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement("h4",{className:"underline"},"Server",_react2.default.createElement("a",{name:"server"})),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Status"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},this.renderServerStatus()))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Username"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.handleUsernameChange(e.target.value)},onFocus:function(e){return _this3.setState({input_in_focus:"pusher_username"})},onBlur:function(e){return _this3.handleUsernameBlur(e)},value:this.state.pusher_username}),_react2.default.createElement("div",{className:"description"},"A non-unique string used to identify this client (no special characters)"))),_react2.default.createElement("form",{onSubmit:function(e){return _this3.setConfig(e)}},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Host"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({mopidy_host:e.target.value})},onFocus:function(e){return _this3.setState({input_in_focus:"mopidy_host"})},onBlur:function(e){return _this3.setState({input_in_focus:null})},value:this.state.mopidy_host}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Port"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({mopidy_port:e.target.value})},onFocus:function(e){return _this3.setState({input_in_focus:"mopidy_port"})},onBlur:function(e){return _this3.setState({input_in_focus:null})},value:this.state.mopidy_port}))),this.renderApplyButton()),_react2.default.createElement("h4",{className:"underline"},"Services",_react2.default.createElement("a",{name:"services"})),_react2.default.createElement(_Services2.default,{active:this.props.params.sub_view}),_react2.default.createElement("h4",{className:"underline"},"Interface",_react2.default.createElement("a",{name:"interface"})),_react2.default.createElement("div",{className:"field radio"},_react2.default.createElement("div",{className:"name"},"Theme"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"theme",value:"dark",checked:"dark"==this.props.ui.theme,onChange:function(e){return _this3.props.uiActions.set({theme:e.target.value})}}),_react2.default.createElement("span",{className:"label"},"Dark")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"theme",value:"light",checked:"light"==this.props.ui.theme,onChange:function(e){return _this3.props.uiActions.set({theme:e.target.value})}}),_react2.default.createElement("span",{className:"label"},"Light")))),_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Behavior"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"log_actions",checked:this.props.ui.clear_tracklist_on_play,onChange:function(e){return _this3.props.uiActions.set({clear_tracklist_on_play:!_this3.props.ui.clear_tracklist_on_play})}}),_react2.default.createElement("span",{className:"label tooltip"},"Clear tracklist on play of URI(s)",_react2.default.createElement("span",{className:"tooltip__content"},"Playing one or more URIs will clear the current play queue first"))),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"shortkeys_enabled",checked:this.props.ui.shortkeys_enabled,onChange:function(e){return _this3.props.uiActions.set({shortkeys_enabled:!_this3.props.ui.shortkeys_enabled})}}),_react2.default.createElement("span",{className:"label"},"Enable shortkeys")))),_react2.default.createElement("div",{className:"field sources-priority"},_react2.default.createElement("div",{className:"name"},"Sources priority"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_SourcesPriority2.default,{uri_schemes:this.props.mopidy.uri_schemes?this.props.mopidy.uri_schemes:[],uri_schemes_priority:this.props.ui.uri_schemes_priority?this.props.ui.uri_schemes_priority:[],uiActions:this.props.uiActions}),_react2.default.createElement("div",{className:"description"},"Drag-and-drop to prioritize search providers and results"))),helpers.isHosted()?null:_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Reporting"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"allow_reporting",checked:this.props.ui.allow_reporting,onChange:function(e){return _this3.props.uiActions.set({allow_reporting:!_this3.props.ui.allow_reporting})}}),_react2.default.createElement("span",{className:"label"},"Allow reporting of anonymous usage statistics")),_react2.default.createElement("div",{className:"description"},"This helps identify errors and potential features that make Iris better for everyone. See ",_react2.default.createElement("a",{href:"https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy",target:"_blank"},"privacy policy"),"."))),_react2.default.createElement("div",{className:"field commands-setup",id:"commands-setup"},_react2.default.createElement("div",{className:"name"},"Commands"),_react2.default.createElement("div",{className:"input"},this.renderCommands(),_react2.default.createElement(_reactRouter.Link,{to:global.baseURL+"edit-command",className:"button"},"Add new"))),_react2.default.createElement("h4",{className:"underline"},"Advanced",_react2.default.createElement("a",{name:"advanced"})),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Artist library URI"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",value:this.state.mopidy_library_artists_uri,onChange:function(e){return _this3.setState({mopidy_library_artists_uri:e.target.value})},onBlur:function(e){return _this3.handleBlur("mopidy","library_artists_uri",e.target.value)}}),_react2.default.createElement("div",{className:"description"},"URI used for collecting library artists"))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Album library URI"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",value:this.state.mopidy_library_albums_uri,onChange:function(e){return _this3.setState({mopidy_library_albums_uri:e.target.value})},onBlur:function(e){return _this3.handleBlur("mopidy","library_albums_uri",e.target.value)}}),_react2.default.createElement("div",{className:"description"},"URI used for collecting library albums"))),_react2.default.createElement("div",{className:"field pusher-connections"},_react2.default.createElement("div",{className:"name"},"Connections"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},_react2.default.createElement(_PusherConnectionList2.default,null)))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Version"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("span",{className:"text"},this.props.pusher.version.current," installed ",this.props.pusher.version.upgrade_available?_react2.default.createElement("span",{className:"flag dark"},_react2.default.createElement(_Icon2.default,{name:"cloud_download",className:"blue-text"})," Upgrade available"):_react2.default.createElement("span",{className:"flag dark"},_react2.default.createElement(_Icon2.default,{name:"check",className:"green-text"})," Up-to-date")))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("button",{onClick:function(e){return _this3.props.pusherActions.localScan()}},"Run local scan"),_react2.default.createElement(_reactRouter.Link,{className:"button",to:global.baseURL+"share-configuration"},"Share configuration")),_react2.default.createElement("div",{className:"field"},this.props.pusher.version.upgrade_available?_react2.default.createElement("button",{className:"alternative",onClick:function(e){return _this3.props.pusherActions.upgrade()}},"Upgrade to ",this.props.pusher.version.latest):null,_react2.default.createElement("button",{className:"destructive"+(this.props.mopidy.restarting?" working":""),onClick:function(e){return _this3.props.pusherActions.restart()}},"Restart server"),_react2.default.createElement(_ConfirmationButton2.default,{className:"destructive",content:"Reset all settings",confirmingContent:"Are you sure?",onConfirm:function(){return _this3.resetAllSettings()}})),_react2.default.createElement("h4",{className:"underline"},"About",_react2.default.createElement("a",{name:"about"})),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",null,_react2.default.createElement("em",null,_react2.default.createElement("a",{href:"https://github.com/jaedb/Iris",target:"_blank"},"Iris"))," is an open-source project by ",_react2.default.createElement("a",{href:"https://github.com/jaedb",target:"_blank"},"James Barnsley"),". It is provided free and with absolutely no warranty. If you paid someone for this software, please let me know."),_react2.default.createElement("br",null),_react2.default.createElement("br",null),_react2.default.createElement("div",null,_react2.default.createElement("a",{className:"button",href:"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=james%40barnsley%2enz&lc=NZ&item_name=James%20Barnsley¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted",target:"_blank"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"paypal"})," Donate"),_react2.default.createElement("a",{className:"button",href:"https://github.com/jaedb/Iris",target:"_blank"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"github"})," GitHub"),_react2.default.createElement("a",{className:"button",href:"http://creativecommons.org/licenses/by-nc/4.0/",target:"_blank"},_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"creative-commons"})," Licence")))))}}]),Settings}(_react2.default.Component),mapStateToProps=function(state,ownProps){return state},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Settings)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_actions=__webpack_require__(13),pusherActions=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_actions),PusherConnectionList=function(_React$Component){function PusherConnectionList(props){return _classCallCheck(this,PusherConnectionList),_possibleConstructorReturn(this,(PusherConnectionList.__proto__||Object.getPrototypeOf(PusherConnectionList)).call(this,props))}return _inherits(PusherConnectionList,_React$Component),_createClass(PusherConnectionList,[{key:"componentDidMount",value:function(){this.props.connected&&this.props.pusherActions.getConnections()}},{key:"componentWillReceiveProps",value:function(newProps){!this.props.connected&&newProps.connected&&this.props.pusherActions.getConnections()}},{key:"render",value:function(){var _this2=this;if(!this.props.connected)return _react2.default.createElement("div",{className:"pusher-connection-list mid_grey-text"},"Not connected");var connections=[];for(var connection_id in this.props.connections)this.props.connections.hasOwnProperty(connection_id)&&connections.push(this.props.connections[connection_id]);return connections.length<=0?_react2.default.createElement("div",{className:"pusher-connection-list mid_grey-text"},"No connections"):_react2.default.createElement("div",{className:"pusher-connection-list"},connections.map(function(connection){var is_me=!1;return connection.connection_id==_this2.props.connection_id&&(is_me=!0),_react2.default.createElement("div",{className:is_me?"connection cf me":"connection cf",key:connection.connection_id},_react2.default.createElement("div",{className:"col col--w30"},connection.username," ",is_me?_react2.default.createElement("span",null,"(you)"):null),_react2.default.createElement("div",{className:"col col--w70"},connection.ip,_react2.default.createElement("span",{className:"mid_grey-text"}," (",connection.connection_id,")")))}))}}]),PusherConnectionList}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{connected:state.pusher.connected,connection_id:state.pusher.connection_id,connections:state.pusher.connections}},mapDispatchToProps=function(dispatch){return{pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(PusherConnectionList)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactSortablejs=__webpack_require__(298),_reactSortablejs2=_interopRequireDefault(_reactSortablejs),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),SourcesPriority=function(_React$Component){function SourcesPriority(props){return _classCallCheck(this,SourcesPriority),_possibleConstructorReturn(this,(SourcesPriority.__proto__||Object.getPrototypeOf(SourcesPriority)).call(this,props))}return _inherits(SourcesPriority,_React$Component),_createClass(SourcesPriority,[{key:"handleSort",value:function(order){this.props.uiActions.set({uri_schemes_priority:order})}},{key:"render",value:function(){for(var _this2=this,ordered_schemes=[],unordered_schemes=[],i=0;i<this.props.uri_schemes.length;i++){var index=this.props.uri_schemes_priority.indexOf(this.props.uri_schemes[i]);index>-1?ordered_schemes[index]=this.props.uri_schemes[i]:unordered_schemes.push(this.props.uri_schemes[i])}for(var i=0;i<unordered_schemes.length;i++)ordered_schemes.push(unordered_schemes[i]);return _react2.default.createElement(_reactSortablejs2.default,{className:"sources-priority-field",onChange:function(order,sortable,e){_this2.handleSort(order)}},ordered_schemes.map(function(scheme){var name=helpers.titleCase(scheme.replace(":","").replace("+"," "));return _react2.default.createElement("span",{className:"source flag grey",key:scheme,"data-id":scheme},_react2.default.createElement(_Icon2.default,{name:"drag_indicator"}),name)}))}}]),SourcesPriority}(_react2.default.Component);exports.default=SourcesPriority},function(module,exports,__webpack_require__){"use strict";var _Sortable=__webpack_require__(299),_Sortable2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_Sortable);module.exports=_Sortable2.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj)keys.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(obj,i)&&(target[i]=obj[i]);return target}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _class,_temp2,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_propTypes=__webpack_require__(17),_propTypes2=_interopRequireDefault(_propTypes),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactDom=__webpack_require__(46),_reactDom2=_interopRequireDefault(_reactDom),_sortablejs=__webpack_require__(300),_sortablejs2=_interopRequireDefault(_sortablejs),store={nextSibling:null,activeComponent:null},Sortable=(_temp2=_class=function(_Component){function Sortable(){var _ref,_temp,_this,_ret;_classCallCheck(this,Sortable);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _temp=_this=_possibleConstructorReturn(this,(_ref=Sortable.__proto__||Object.getPrototypeOf(Sortable)).call.apply(_ref,[this].concat(args))),_this.sortable=null,_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Sortable,_Component),_createClass(Sortable,[{key:"componentDidMount",value:function(){var _this2=this,options=_extends({},this.props.options);["onChoose","onStart","onEnd","onAdd","onUpdate","onSort","onRemove","onFilter","onMove","onClone"].forEach(function(name){var eventHandler=options[name];options[name]=function(){for(var _len2=arguments.length,params=Array(_len2),_key2=0;_key2<_len2;_key2++)params[_key2]=arguments[_key2];var evt=params[0];if("onChoose"===name)store.nextSibling=evt.item.nextElementSibling,store.activeComponent=_this2;else if(("onAdd"===name||"onUpdate"===name)&&_this2.props.onChange){var items=_this2.sortable.toArray(),remote=store.activeComponent,remoteItems=remote.sortable.toArray(),referenceNode=store.nextSibling&&null!==store.nextSibling.parentNode?store.nextSibling:null;if(evt.from.insertBefore(evt.item,referenceNode),remote!==_this2){var remoteOptions=remote.props.options||{};"object"===_typeof(remoteOptions.group)&&"clone"===remoteOptions.group.pull&&evt.item.parentNode.removeChild(evt.item),remote.props.onChange&&remote.props.onChange(remoteItems,remote.sortable,evt)}_this2.props.onChange&&_this2.props.onChange(items,_this2.sortable,evt)}if("move"===evt.type){var _evt=params[0],originalEvent=params[1];return!eventHandler||eventHandler(_evt,originalEvent)}setTimeout(function(){eventHandler&&eventHandler(evt)},0)}}),this.sortable=_sortablejs2.default.create(_reactDom2.default.findDOMNode(this),options)}},{key:"componentWillUnmount",value:function(){this.sortable&&(this.sortable.destroy(),this.sortable=null)}},{key:"render",value:function(){var _props=this.props,Component=_props.tag,props=_objectWithoutProperties(_props,["tag"]);return delete props.options,delete props.onChange,_react2.default.createElement(Component,props)}}]),Sortable}(_react.Component),_class.propTypes={options:_propTypes2.default.object,onChange:_propTypes2.default.func,tag:_propTypes2.default.string,style:_propTypes2.default.object},_class.defaultProps={options:{},tag:"div",style:{}},_temp2);exports.default=Sortable},function(module,exports,__webpack_require__){(function(__webpack_provided_window_dot_jQuery){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_RESULT__;/**!
|
||
* Sortable
|
||
* @author RubaXa <trash@rubaxa.org>
|
||
* @license MIT
|
||
*/
|
||
!function(factory){"use strict";__WEBPACK_AMD_DEFINE_FACTORY__=factory,void 0!==(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof __WEBPACK_AMD_DEFINE_FACTORY__?__WEBPACK_AMD_DEFINE_FACTORY__.call(exports,__webpack_require__,exports,module):__WEBPACK_AMD_DEFINE_FACTORY__)&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}(function(){"use strict";function Sortable(el,options){if(!el||!el.nodeType||1!==el.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(el);this.el=el,this.options=options=_extend({},options),el[expando]=this;var defaults={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(el.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,setData:function(dataTransfer,dragEl){dataTransfer.setData("Text",dragEl.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Sortable.supportPointer};for(var name in defaults)!(name in options)&&(options[name]=defaults[name]);_prepareGroup(options);for(var fn in this)"_"===fn.charAt(0)&&"function"==typeof this[fn]&&(this[fn]=this[fn].bind(this));this.nativeDraggable=!options.forceFallback&&supportDraggable,_on(el,"mousedown",this._onTapStart),_on(el,"touchstart",this._onTapStart),options.supportPointer&&_on(el,"pointerdown",this._onTapStart),this.nativeDraggable&&(_on(el,"dragover",this),_on(el,"dragenter",this)),touchDragOverListeners.push(this._onDragOver),options.store&&this.sort(options.store.get(this))}function _cloneHide(sortable,state){"clone"!==sortable.lastPullMode&&(state=!0),cloneEl&&cloneEl.state!==state&&(_css(cloneEl,"display",state?"none":""),state||cloneEl.state&&(sortable.options.group.revertClone?(rootEl.insertBefore(cloneEl,nextEl),sortable._animate(dragEl,cloneEl)):rootEl.insertBefore(cloneEl,dragEl)),cloneEl.state=state)}function _closest(el,selector,ctx){if(el){ctx=ctx||document;do{if(">*"===selector&&el.parentNode===ctx||_matches(el,selector))return el}while(el=_getParentOrHost(el))}return null}function _getParentOrHost(el){var parent=el.host;return parent&&parent.nodeType?parent:el.parentNode}function _globalDragOver(evt){evt.dataTransfer&&(evt.dataTransfer.dropEffect="move"),evt.preventDefault()}function _on(el,event,fn){el.addEventListener(event,fn,captureMode)}function _off(el,event,fn){el.removeEventListener(event,fn,captureMode)}function _toggleClass(el,name,state){if(el)if(el.classList)el.classList[state?"add":"remove"](name);else{var className=(" "+el.className+" ").replace(R_SPACE," ").replace(" "+name+" "," ");el.className=(className+(state?" "+name:"")).replace(R_SPACE," ")}}function _css(el,prop,val){var style=el&&el.style;if(style){if(void 0===val)return document.defaultView&&document.defaultView.getComputedStyle?val=document.defaultView.getComputedStyle(el,""):el.currentStyle&&(val=el.currentStyle),void 0===prop?val:val[prop];prop in style||(prop="-webkit-"+prop),style[prop]=val+("string"==typeof val?"":"px")}}function _find(ctx,tagName,iterator){if(ctx){var list=ctx.getElementsByTagName(tagName),i=0,n=list.length;if(iterator)for(;i<n;i++)iterator(list[i],i);return list}return[]}function _dispatchEvent(sortable,rootEl,name,targetEl,toEl,fromEl,startIndex,newIndex){sortable=sortable||rootEl[expando];var evt=document.createEvent("Event"),options=sortable.options,onName="on"+name.charAt(0).toUpperCase()+name.substr(1);evt.initEvent(name,!0,!0),evt.to=toEl||rootEl,evt.from=fromEl||rootEl,evt.item=targetEl||rootEl,evt.clone=cloneEl,evt.oldIndex=startIndex,evt.newIndex=newIndex,rootEl.dispatchEvent(evt),options[onName]&&options[onName].call(sortable,evt)}function _onMove(fromEl,toEl,dragEl,dragRect,targetEl,targetRect,originalEvt,willInsertAfter){var evt,retVal,sortable=fromEl[expando],onMoveFn=sortable.options.onMove;return evt=document.createEvent("Event"),evt.initEvent("move",!0,!0),evt.to=toEl,evt.from=fromEl,evt.dragged=dragEl,evt.draggedRect=dragRect,evt.related=targetEl||toEl,evt.relatedRect=targetRect||toEl.getBoundingClientRect(),evt.willInsertAfter=willInsertAfter,fromEl.dispatchEvent(evt),onMoveFn&&(retVal=onMoveFn.call(sortable,evt,originalEvt)),retVal}function _disableDraggable(el){el.draggable=!1}function _unsilent(){_silent=!1}function _ghostIsLast(el,evt){var lastEl=el.lastElementChild,rect=lastEl.getBoundingClientRect();return evt.clientY-(rect.top+rect.height)>5||evt.clientX-(rect.left+rect.width)>5}function _generateId(el){for(var str=el.tagName+el.className+el.src+el.href+el.textContent,i=str.length,sum=0;i--;)sum+=str.charCodeAt(i);return sum.toString(36)}function _index(el,selector){var index=0;if(!el||!el.parentNode)return-1;for(;el&&(el=el.previousElementSibling);)"TEMPLATE"===el.nodeName.toUpperCase()||">*"!==selector&&!_matches(el,selector)||index++;return index}function _matches(el,selector){if(el){selector=selector.split(".");var tag=selector.shift().toUpperCase(),re=new RegExp("\\s("+selector.join("|")+")(?=\\s)","g");return!(""!==tag&&el.nodeName.toUpperCase()!=tag||selector.length&&((" "+el.className+" ").match(re)||[]).length!=selector.length)}return!1}function _throttle(callback,ms){var args,_this;return function(){void 0===args&&(args=arguments,_this=this,setTimeout(function(){1===args.length?callback.call(_this,args[0]):callback.apply(_this,args),args=void 0},ms))}}function _extend(dst,src){if(dst&&src)for(var key in src)src.hasOwnProperty(key)&&(dst[key]=src[key]);return dst}function _clone(el){return Polymer&&Polymer.dom?Polymer.dom(el).cloneNode(!0):$?$(el).clone(!0)[0]:el.cloneNode(!0)}function _saveInputCheckedState(root){for(var inputs=root.getElementsByTagName("input"),idx=inputs.length;idx--;){var el=inputs[idx];el.checked&&savedInputChecked.push(el)}}function _nextTick(fn){return setTimeout(fn,0)}function _cancelNextTick(id){return clearTimeout(id)}if("undefined"==typeof window||!window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var dragEl,parentEl,ghostEl,cloneEl,rootEl,nextEl,lastDownEl,scrollEl,scrollParentEl,scrollCustomFn,lastEl,lastCSS,lastParentCSS,oldIndex,newIndex,activeGroup,putSortable,tapEvt,touchEvt,moved,autoScroll={},R_SPACE=/\s+/g,R_FLOAT=/left|right|inline/,expando="Sortable"+(new Date).getTime(),win=window,document=win.document,parseInt=win.parseInt,setTimeout=win.setTimeout,$=__webpack_provided_window_dot_jQuery||win.Zepto,Polymer=win.Polymer,captureMode=!1,passiveMode=!1,supportDraggable="draggable"in document.createElement("div"),supportCssPointerEvents=function(el){return!navigator.userAgent.match(/(?:Trident.*rv[ :]?11\.|msie)/i)&&(el=document.createElement("x"),el.style.cssText="pointer-events:auto","auto"===el.style.pointerEvents)}(),_silent=!1,abs=Math.abs,min=Math.min,savedInputChecked=[],touchDragOverListeners=[],_autoScroll=_throttle(function(evt,options,rootEl){if(rootEl&&options.scroll){var el,rect,vx,vy,scrollOffsetX,scrollOffsetY,_this=rootEl[expando],sens=options.scrollSensitivity,speed=options.scrollSpeed,x=evt.clientX,y=evt.clientY,winWidth=window.innerWidth,winHeight=window.innerHeight;if(scrollParentEl!==rootEl&&(scrollEl=options.scroll,scrollParentEl=rootEl,scrollCustomFn=options.scrollFn,!0===scrollEl)){scrollEl=rootEl;do{if(scrollEl.offsetWidth<scrollEl.scrollWidth||scrollEl.offsetHeight<scrollEl.scrollHeight)break}while(scrollEl=scrollEl.parentNode)}scrollEl&&(el=scrollEl,rect=scrollEl.getBoundingClientRect(),vx=(abs(rect.right-x)<=sens)-(abs(rect.left-x)<=sens),vy=(abs(rect.bottom-y)<=sens)-(abs(rect.top-y)<=sens)),vx||vy||(vx=(winWidth-x<=sens)-(x<=sens),vy=(winHeight-y<=sens)-(y<=sens),(vx||vy)&&(el=win)),autoScroll.vx===vx&&autoScroll.vy===vy&&autoScroll.el===el||(autoScroll.el=el,autoScroll.vx=vx,autoScroll.vy=vy,clearInterval(autoScroll.pid),el&&(autoScroll.pid=setInterval(function(){if(scrollOffsetY=vy?vy*speed:0,scrollOffsetX=vx?vx*speed:0,"function"==typeof scrollCustomFn)return scrollCustomFn.call(_this,scrollOffsetX,scrollOffsetY,evt);el===win?win.scrollTo(win.pageXOffset+scrollOffsetX,win.pageYOffset+scrollOffsetY):(el.scrollTop+=scrollOffsetY,el.scrollLeft+=scrollOffsetX)},24)))}},30),_prepareGroup=function(options){function toFn(value,pull){return void 0!==value&&!0!==value||(value=group.name),"function"==typeof value?value:function(to,from){var fromGroup=from.options.group.name;return pull?value:value&&(value.join?value.indexOf(fromGroup)>-1:fromGroup==value)}}var group={},originalGroup=options.group;originalGroup&&"object"==typeof originalGroup||(originalGroup={name:originalGroup}),group.name=originalGroup.name,group.checkPull=toFn(originalGroup.pull,!0),group.checkPut=toFn(originalGroup.put),group.revertClone=originalGroup.revertClone,options.group=group};try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){passiveMode=!1,captureMode={capture:!1,passive:passiveMode}}}))}catch(err){}return Sortable.prototype={constructor:Sortable,_onTapStart:function(evt){var startIndex,_this=this,el=this.el,options=this.options,preventOnFilter=options.preventOnFilter,type=evt.type,touch=evt.touches&&evt.touches[0],target=(touch||evt).target,originalTarget=evt.target.shadowRoot&&evt.path&&evt.path[0]||target,filter=options.filter;if(_saveInputCheckedState(el),!dragEl&&!(/mousedown|pointerdown/.test(type)&&0!==evt.button||options.disabled)&&!originalTarget.isContentEditable&&(target=_closest(target,options.draggable,el))&&lastDownEl!==target){if(startIndex=_index(target,options.draggable),"function"==typeof filter){if(filter.call(this,evt,target,this))return _dispatchEvent(_this,originalTarget,"filter",target,el,el,startIndex),void(preventOnFilter&&evt.preventDefault())}else if(filter&&(filter=filter.split(",").some(function(criteria){if(criteria=_closest(originalTarget,criteria.trim(),el))return _dispatchEvent(_this,criteria,"filter",target,el,el,startIndex),!0})))return void(preventOnFilter&&evt.preventDefault());options.handle&&!_closest(originalTarget,options.handle,el)||this._prepareDragStart(evt,touch,target,startIndex)}},_prepareDragStart:function(evt,touch,target,startIndex){var dragStartFn,_this=this,el=_this.el,options=_this.options,ownerDocument=el.ownerDocument;target&&!dragEl&&target.parentNode===el&&(tapEvt=evt,rootEl=el,dragEl=target,parentEl=dragEl.parentNode,nextEl=dragEl.nextSibling,lastDownEl=target,activeGroup=options.group,oldIndex=startIndex,this._lastX=(touch||evt).clientX,this._lastY=(touch||evt).clientY,dragEl.style["will-change"]="all",dragStartFn=function(){_this._disableDelayedDrag(),dragEl.draggable=_this.nativeDraggable,_toggleClass(dragEl,options.chosenClass,!0),_this._triggerDragStart(evt,touch),_dispatchEvent(_this,rootEl,"choose",dragEl,rootEl,rootEl,oldIndex)},options.ignore.split(",").forEach(function(criteria){_find(dragEl,criteria.trim(),_disableDraggable)}),_on(ownerDocument,"mouseup",_this._onDrop),_on(ownerDocument,"touchend",_this._onDrop),_on(ownerDocument,"touchcancel",_this._onDrop),_on(ownerDocument,"selectstart",_this),options.supportPointer&&_on(ownerDocument,"pointercancel",_this._onDrop),options.delay?(_on(ownerDocument,"mouseup",_this._disableDelayedDrag),_on(ownerDocument,"touchend",_this._disableDelayedDrag),_on(ownerDocument,"touchcancel",_this._disableDelayedDrag),_on(ownerDocument,"mousemove",_this._disableDelayedDrag),_on(ownerDocument,"touchmove",_this._disableDelayedDrag),options.supportPointer&&_on(ownerDocument,"pointermove",_this._disableDelayedDrag),_this._dragStartTimer=setTimeout(dragStartFn,options.delay)):dragStartFn())},_disableDelayedDrag:function(){var ownerDocument=this.el.ownerDocument;clearTimeout(this._dragStartTimer),_off(ownerDocument,"mouseup",this._disableDelayedDrag),_off(ownerDocument,"touchend",this._disableDelayedDrag),_off(ownerDocument,"touchcancel",this._disableDelayedDrag),_off(ownerDocument,"mousemove",this._disableDelayedDrag),_off(ownerDocument,"touchmove",this._disableDelayedDrag),_off(ownerDocument,"pointermove",this._disableDelayedDrag)},_triggerDragStart:function(evt,touch){touch=touch||("touch"==evt.pointerType?evt:null),touch?(tapEvt={target:dragEl,clientX:touch.clientX,clientY:touch.clientY},this._onDragStart(tapEvt,"touch")):this.nativeDraggable?(_on(dragEl,"dragend",this),_on(rootEl,"dragstart",this._onDragStart)):this._onDragStart(tapEvt,!0);try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(err){}},_dragStarted:function(){if(rootEl&&dragEl){var options=this.options;_toggleClass(dragEl,options.ghostClass,!0),_toggleClass(dragEl,options.dragClass,!1),Sortable.active=this,_dispatchEvent(this,rootEl,"start",dragEl,rootEl,rootEl,oldIndex)}else this._nulling()},_emulateDragOver:function(){if(touchEvt){if(this._lastX===touchEvt.clientX&&this._lastY===touchEvt.clientY)return;this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,supportCssPointerEvents||_css(ghostEl,"display","none");var target=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),parent=target,i=touchDragOverListeners.length;if(target&&target.shadowRoot&&(target=target.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY),parent=target),parent)do{if(parent[expando]){for(;i--;)touchDragOverListeners[i]({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:target,rootEl:parent});break}target=parent}while(parent=parent.parentNode);supportCssPointerEvents||_css(ghostEl,"display","")}},_onTouchMove:function(evt){if(tapEvt){var options=this.options,fallbackTolerance=options.fallbackTolerance,fallbackOffset=options.fallbackOffset,touch=evt.touches?evt.touches[0]:evt,dx=touch.clientX-tapEvt.clientX+fallbackOffset.x,dy=touch.clientY-tapEvt.clientY+fallbackOffset.y,translate3d=evt.touches?"translate3d("+dx+"px,"+dy+"px,0)":"translate("+dx+"px,"+dy+"px)";if(!Sortable.active){if(fallbackTolerance&&min(abs(touch.clientX-this._lastX),abs(touch.clientY-this._lastY))<fallbackTolerance)return;this._dragStarted()}this._appendGhost(),moved=!0,touchEvt=touch,_css(ghostEl,"webkitTransform",translate3d),_css(ghostEl,"mozTransform",translate3d),_css(ghostEl,"msTransform",translate3d),_css(ghostEl,"transform",translate3d),evt.preventDefault()}},_appendGhost:function(){if(!ghostEl){var ghostRect,rect=dragEl.getBoundingClientRect(),css=_css(dragEl),options=this.options;ghostEl=dragEl.cloneNode(!0),_toggleClass(ghostEl,options.ghostClass,!1),_toggleClass(ghostEl,options.fallbackClass,!0),_toggleClass(ghostEl,options.dragClass,!0),_css(ghostEl,"top",rect.top-parseInt(css.marginTop,10)),_css(ghostEl,"left",rect.left-parseInt(css.marginLeft,10)),_css(ghostEl,"width",rect.width),_css(ghostEl,"height",rect.height),_css(ghostEl,"opacity","0.8"),_css(ghostEl,"position","fixed"),_css(ghostEl,"zIndex","100000"),_css(ghostEl,"pointerEvents","none"),options.fallbackOnBody&&document.body.appendChild(ghostEl)||rootEl.appendChild(ghostEl),ghostRect=ghostEl.getBoundingClientRect(),_css(ghostEl,"width",2*rect.width-ghostRect.width),_css(ghostEl,"height",2*rect.height-ghostRect.height)}},_onDragStart:function(evt,useFallback){var _this=this,dataTransfer=evt.dataTransfer,options=_this.options;_this._offUpEvents(),activeGroup.checkPull(_this,_this,dragEl,evt)&&(cloneEl=_clone(dragEl),cloneEl.draggable=!1,cloneEl.style["will-change"]="",_css(cloneEl,"display","none"),_toggleClass(cloneEl,_this.options.chosenClass,!1),_this._cloneId=_nextTick(function(){rootEl.insertBefore(cloneEl,dragEl),_dispatchEvent(_this,rootEl,"clone",dragEl)})),_toggleClass(dragEl,options.dragClass,!0),useFallback?("touch"===useFallback?(_on(document,"touchmove",_this._onTouchMove),_on(document,"touchend",_this._onDrop),_on(document,"touchcancel",_this._onDrop),options.supportPointer&&(_on(document,"pointermove",_this._onTouchMove),_on(document,"pointerup",_this._onDrop))):(_on(document,"mousemove",_this._onTouchMove),_on(document,"mouseup",_this._onDrop)),_this._loopId=setInterval(_this._emulateDragOver,50)):(dataTransfer&&(dataTransfer.effectAllowed="move",options.setData&&options.setData.call(_this,dataTransfer,dragEl)),_on(document,"drop",_this),_this._dragStartId=_nextTick(_this._dragStarted))},_onDragOver:function(evt){var target,dragRect,targetRect,revert,el=this.el,options=this.options,group=options.group,activeSortable=Sortable.active,isOwner=activeGroup===group,isMovingBetweenSortable=!1,canSort=options.sort;if(void 0!==evt.preventDefault&&(evt.preventDefault(),!options.dragoverBubble&&evt.stopPropagation()),!dragEl.animated&&(moved=!0,activeSortable&&!options.disabled&&(isOwner?canSort||(revert=!rootEl.contains(dragEl)):putSortable===this||(activeSortable.lastPullMode=activeGroup.checkPull(this,activeSortable,dragEl,evt))&&group.checkPut(this,activeSortable,dragEl,evt))&&(void 0===evt.rootEl||evt.rootEl===this.el))){if(_autoScroll(evt,options,this.el),_silent)return;if(target=_closest(evt.target,options.draggable,el),dragRect=dragEl.getBoundingClientRect(),putSortable!==this&&(putSortable=this,isMovingBetweenSortable=!0),revert)return _cloneHide(activeSortable,!0),parentEl=rootEl,void(cloneEl||nextEl?rootEl.insertBefore(dragEl,cloneEl||nextEl):canSort||rootEl.appendChild(dragEl));if(0===el.children.length||el.children[0]===ghostEl||el===evt.target&&_ghostIsLast(el,evt)){if(0!==el.children.length&&el.children[0]!==ghostEl&&el===evt.target&&(target=el.lastElementChild),target){if(target.animated)return;targetRect=target.getBoundingClientRect()}_cloneHide(activeSortable,isOwner),!1!==_onMove(rootEl,el,dragEl,dragRect,target,targetRect,evt)&&(dragEl.contains(el)||(el.appendChild(dragEl),parentEl=el),this._animate(dragRect,dragEl),target&&this._animate(targetRect,target))}else if(target&&!target.animated&&target!==dragEl&&void 0!==target.parentNode[expando]){lastEl!==target&&(lastEl=target,lastCSS=_css(target),lastParentCSS=_css(target.parentNode)),targetRect=target.getBoundingClientRect();var width=targetRect.right-targetRect.left,height=targetRect.bottom-targetRect.top,floating=R_FLOAT.test(lastCSS.cssFloat+lastCSS.display)||"flex"==lastParentCSS.display&&0===lastParentCSS["flex-direction"].indexOf("row"),isWide=target.offsetWidth>dragEl.offsetWidth,isLong=target.offsetHeight>dragEl.offsetHeight,halfway=(floating?(evt.clientX-targetRect.left)/width:(evt.clientY-targetRect.top)/height)>.5,nextSibling=target.nextElementSibling,after=!1;if(floating){var elTop=dragEl.offsetTop,tgTop=target.offsetTop;after=elTop===tgTop?target.previousElementSibling===dragEl&&!isWide||halfway&&isWide:target.previousElementSibling===dragEl||dragEl.previousElementSibling===target?(evt.clientY-targetRect.top)/height>.5:tgTop>elTop}else isMovingBetweenSortable||(after=nextSibling!==dragEl&&!isLong||halfway&&isLong);var moveVector=_onMove(rootEl,el,dragEl,dragRect,target,targetRect,evt,after);!1!==moveVector&&(1!==moveVector&&-1!==moveVector||(after=1===moveVector),_silent=!0,setTimeout(_unsilent,30),_cloneHide(activeSortable,isOwner),dragEl.contains(el)||(after&&!nextSibling?el.appendChild(dragEl):target.parentNode.insertBefore(dragEl,after?nextSibling:target)),parentEl=dragEl.parentNode,this._animate(dragRect,dragEl),this._animate(targetRect,target))}}},_animate:function(prevRect,target){var ms=this.options.animation;if(ms){var currentRect=target.getBoundingClientRect();1===prevRect.nodeType&&(prevRect=prevRect.getBoundingClientRect()),_css(target,"transition","none"),_css(target,"transform","translate3d("+(prevRect.left-currentRect.left)+"px,"+(prevRect.top-currentRect.top)+"px,0)"),target.offsetWidth,_css(target,"transition","all "+ms+"ms"),_css(target,"transform","translate3d(0,0,0)"),clearTimeout(target.animated),target.animated=setTimeout(function(){_css(target,"transition",""),_css(target,"transform",""),target.animated=!1},ms)}},_offUpEvents:function(){var ownerDocument=this.el.ownerDocument;_off(document,"touchmove",this._onTouchMove),_off(document,"pointermove",this._onTouchMove),_off(ownerDocument,"mouseup",this._onDrop),_off(ownerDocument,"touchend",this._onDrop),_off(ownerDocument,"pointerup",this._onDrop),_off(ownerDocument,"touchcancel",this._onDrop),_off(ownerDocument,"pointercancel",this._onDrop),_off(ownerDocument,"selectstart",this)},_onDrop:function(evt){var el=this.el,options=this.options;clearInterval(this._loopId),clearInterval(autoScroll.pid),clearTimeout(this._dragStartTimer),_cancelNextTick(this._cloneId),_cancelNextTick(this._dragStartId),_off(document,"mouseover",this),_off(document,"mousemove",this._onTouchMove),this.nativeDraggable&&(_off(document,"drop",this),_off(el,"dragstart",this._onDragStart)),this._offUpEvents(),evt&&(moved&&(evt.preventDefault(),!options.dropBubble&&evt.stopPropagation()),ghostEl&&ghostEl.parentNode&&ghostEl.parentNode.removeChild(ghostEl),rootEl!==parentEl&&"clone"===Sortable.active.lastPullMode||cloneEl&&cloneEl.parentNode&&cloneEl.parentNode.removeChild(cloneEl),dragEl&&(this.nativeDraggable&&_off(dragEl,"dragend",this),_disableDraggable(dragEl),dragEl.style["will-change"]="",_toggleClass(dragEl,this.options.ghostClass,!1),_toggleClass(dragEl,this.options.chosenClass,!1),_dispatchEvent(this,rootEl,"unchoose",dragEl,parentEl,rootEl,oldIndex),rootEl!==parentEl?(newIndex=_index(dragEl,options.draggable))>=0&&(_dispatchEvent(null,parentEl,"add",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(this,rootEl,"remove",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(null,parentEl,"sort",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(this,rootEl,"sort",dragEl,parentEl,rootEl,oldIndex,newIndex)):dragEl.nextSibling!==nextEl&&(newIndex=_index(dragEl,options.draggable))>=0&&(_dispatchEvent(this,rootEl,"update",dragEl,parentEl,rootEl,oldIndex,newIndex),_dispatchEvent(this,rootEl,"sort",dragEl,parentEl,rootEl,oldIndex,newIndex)),Sortable.active&&(null!=newIndex&&-1!==newIndex||(newIndex=oldIndex),_dispatchEvent(this,rootEl,"end",dragEl,parentEl,rootEl,oldIndex,newIndex),this.save()))),this._nulling()},_nulling:function(){rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=scrollEl=scrollParentEl=tapEvt=touchEvt=moved=newIndex=lastEl=lastCSS=putSortable=activeGroup=Sortable.active=null,savedInputChecked.forEach(function(el){el.checked=!0}),savedInputChecked.length=0},handleEvent:function(evt){switch(evt.type){case"drop":case"dragend":this._onDrop(evt);break;case"dragover":case"dragenter":dragEl&&(this._onDragOver(evt),_globalDragOver(evt));break;case"mouseover":this._onDrop(evt);break;case"selectstart":evt.preventDefault()}},toArray:function(){for(var el,order=[],children=this.el.children,i=0,n=children.length,options=this.options;i<n;i++)el=children[i],_closest(el,options.draggable,this.el)&&order.push(el.getAttribute(options.dataIdAttr)||_generateId(el));return order},sort:function(order){var items={},rootEl=this.el;this.toArray().forEach(function(id,i){var el=rootEl.children[i];_closest(el,this.options.draggable,rootEl)&&(items[id]=el)},this),order.forEach(function(id){items[id]&&(rootEl.removeChild(items[id]),rootEl.appendChild(items[id]))})},save:function(){var store=this.options.store;store&&store.set(this)},closest:function(el,selector){return _closest(el,selector||this.options.draggable,this.el)},option:function(name,value){var options=this.options;if(void 0===value)return options[name];options[name]=value,"group"===name&&_prepareGroup(options)},destroy:function(){var el=this.el;el[expando]=null,_off(el,"mousedown",this._onTapStart),_off(el,"touchstart",this._onTapStart),_off(el,"pointerdown",this._onTapStart),this.nativeDraggable&&(_off(el,"dragover",this),_off(el,"dragenter",this)),Array.prototype.forEach.call(el.querySelectorAll("[draggable]"),function(el){el.removeAttribute("draggable")}),touchDragOverListeners.splice(touchDragOverListeners.indexOf(this._onDragOver),1),this._onDrop(),this.el=el=null}},_on(document,"touchmove",function(evt){Sortable.active&&evt.preventDefault()}),Sortable.utils={on:_on,off:_off,css:_css,find:_find,is:function(el,selector){return!!_closest(el,selector,el)},extend:_extend,throttle:_throttle,closest:_closest,toggleClass:_toggleClass,clone:_clone,index:_index,nextTick:_nextTick,cancelNextTick:_cancelNextTick},Sortable.create=function(el,options){return new Sortable(el,options)},Sortable.version="1.7.0",Sortable})}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_redux=__webpack_require__(2),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_SpotifyAuthenticationFrame=__webpack_require__(102),_SpotifyAuthenticationFrame2=_interopRequireDefault(_SpotifyAuthenticationFrame),_LastfmAuthenticationFrame=__webpack_require__(103),_LastfmAuthenticationFrame2=_interopRequireDefault(_LastfmAuthenticationFrame),_GeniusAuthenticationFrame=__webpack_require__(302),_GeniusAuthenticationFrame2=_interopRequireDefault(_GeniusAuthenticationFrame),_Snapcast=__webpack_require__(303),_Snapcast2=_interopRequireDefault(_Snapcast),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions5),_actions6=__webpack_require__(20),lastfmActions=_interopRequireWildcard(_actions6),_actions7=__webpack_require__(37),geniusActions=_interopRequireWildcard(_actions7),Services=function(_React$Component){function Services(props){_classCallCheck(this,Services);var _this=_possibleConstructorReturn(this,(Services.__proto__||Object.getPrototypeOf(Services)).call(this,props));return _this.state={country:_this.props.spotify.country,locale:_this.props.spotify.locale,input_in_focus:null},_this}return _inherits(Services,_React$Component),_createClass(Services,[{key:"componentDidMount",value:function(){!this.props.spotify.enabled&&!this.props.spotify.authorization||this.props.spotify.me&&void 0!==this.props.core.users[this.props.spotify.me.id]||this.props.spotifyActions.getMe(),this.props.lastfm.authorization&&void 0===this.props.core.users["lastfm:user:"+this.props.lastfm.authorization.name]&&this.props.lastfmActions.getMe(),!this.props.genius.authorization||this.props.genius.me&&void 0!==this.props.core.users["genius:user:"+this.props.genius.me.id]||this.props.geniusActions.getMe()}},{key:"componentWillReceiveProps",value:function(newProps){var changed=!1,state=this.state;newProps.spotify.country!=this.state.country&&"country"!=this.state.input_in_focus&&(state.country=newProps.spotify.country,changed=!0),newProps.spotify.locale!=this.state.locale&&"locale"!=this.state.input_in_focus&&(state.locale=newProps.spotify.locale,changed=!0),changed&&this.setState(state)}},{key:"handleBlur",value:function(name,value){this.setState({input_in_focus:null});var data={};data[name]=value,this.props.coreActions.set(data)}},{key:"renderSpotify",value:function(){var _this2=this,user_object=this.props.spotify.me&&this.props.core.users[this.props.spotify.me.uri]?this.props.core.users[this.props.spotify.me.uri]:null;if(user_object)var user=_react2.default.createElement(_URILink2.default,{className:"user",type:"user",uri:user_object.uri},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:user_object.images}),_react2.default.createElement("span",{className:"user-name"},user_object.name?user_object.name:user_object.id,this.props.spotify.authorization?null:_react2.default.createElement("span",{className:"mid_grey-text"}," (Limited access)")));else var user=_react2.default.createElement(_URILink2.default,{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small"}),_react2.default.createElement("span",{className:"user-name"},"Unknown"));var not_installed=null;return this.props.mopidy.uri_schemes&&this.props.mopidy.uri_schemes.includes("spotify:")||(not_installed=_react2.default.createElement("div",null,_react2.default.createElement("p",{className:"message warning"},_react2.default.createElement("em",null,"Mopidy-Spotify")," extension is not running - you will not be able to play any Spotify tracks"),_react2.default.createElement("br",null))),_react2.default.createElement("div",null,not_installed,_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Country"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({country:e.target.value})},onFocus:function(e){return _this2.setState({input_in_focus:"country"})},onBlur:function(e){return _this2.props.spotifyActions.set({country:e.target.value})},value:this.state.country}),_react2.default.createElement("div",{className:"description"},"An ",_react2.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",target:"_blank"},"ISO 3166-1 alpha-2")," country code (eg ",_react2.default.createElement("em",null,"NZ"),")"))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Locale"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({locale:e.target.value})},onFocus:function(e){return _this2.setState({input_in_focus:"locale"})},onBlur:function(e){return _this2.props.spotifyActions.set({locale:e.target.value})},value:this.state.locale}),_react2.default.createElement("div",{className:"description"},"Lowercase ",_react2.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_639",target:"_blank"},"ISO 639 language code")," and an uppercase ",_react2.default.createElement("a",{href:"http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2",target:"_blank"},"ISO 3166-1 alpha-2 country code"),", joined by an underscore (eg ",_react2.default.createElement("em",null,"en_NZ"),")"))),_react2.default.createElement("div",{className:"field current-user"},_react2.default.createElement("div",{className:"name"},"Current user"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},user))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Authorization"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_SpotifyAuthenticationFrame2.default,null),this.props.spotify.refreshing_token?_react2.default.createElement("button",{className:"working"},"Refreshing..."):_react2.default.createElement("button",{onClick:function(e){return _this2.props.spotifyActions.refreshingToken()}},"Force token refresh"))))}},{key:"renderLastfm",value:function(){var user_object=this.props.lastfm.me?this.props.core.users["lastfm:user:"+this.props.lastfm.me.name]:null;if(user_object)var user=_react2.default.createElement("span",{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:user_object.images}),_react2.default.createElement("span",{className:"user-name"},user_object.name));else var user=_react2.default.createElement("span",{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small"}),_react2.default.createElement("span",{className:"user-name"},"Unknown"));return _react2.default.createElement("div",null,this.props.lastfm.authorization?_react2.default.createElement("div",{className:"field current-user"},_react2.default.createElement("div",{className:"name"},"Current user"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},user))):null,_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Authorization"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_LastfmAuthenticationFrame2.default,null))))}},{key:"renderGenius",value:function(){var user_object=this.props.genius.me?this.props.core.users[this.props.genius.me.uri]:null;if(user_object)var user=_react2.default.createElement("span",{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small",images:user_object.images}),_react2.default.createElement("span",{className:"user-name"},user_object.name));else var user=_react2.default.createElement("span",{className:"user"},_react2.default.createElement(_Thumbnail2.default,{circle:!0,size:"small"}),_react2.default.createElement("span",{className:"user-name"},"Unknown"));return _react2.default.createElement("div",null,this.props.genius.authorization?_react2.default.createElement("div",{className:"field current-user"},_react2.default.createElement("div",{className:"name"},"Current user"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},user))):null,_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Authorization"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_GeniusAuthenticationFrame2.default,null))))}},{key:"renderIcecast",value:function(){var _this3=this;return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Enable"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"ssl",checked:this.props.core.http_streaming_enabled,onChange:function(e){return _this3.props.coreActions.set({http_streaming_enabled:!_this3.props.core.http_streaming_enabled})}}),_react2.default.createElement("span",{className:"label"},"Stream audio to this browser")))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Location"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.props.coreActions.set({http_streaming_url:e.target.value})},value:this.props.core.http_streaming_url}),_react2.default.createElement("div",{className:"description"},"The full URL to your stream endpoint"))))}},{key:"renderMenu",value:function(){if(this.props.spotify.me&&this.props.core.users[this.props.spotify.me.uri])var spotify_icon=_react2.default.createElement(_Thumbnail2.default,{className:"menu-item__thumbnail",circle:!0,size:"small",images:this.props.core.users[this.props.spotify.me.uri].images});else var spotify_icon=_react2.default.createElement(_Thumbnail2.default,{className:"menu-item__thumbnail",circle:!0,size:"small"});if(this.props.lastfm.me&&this.props.core.users[this.props.lastfm.me.uri])var lastfm_icon=_react2.default.createElement(_Thumbnail2.default,{className:"menu-item__thumbnail",circle:!0,size:"small",images:this.props.core.users[this.props.lastfm.me.uri].images});else var lastfm_icon=_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"lastfm",className:"menu-item__icon"});if(this.props.genius.me&&this.props.core.users[this.props.genius.me.uri])var genius_icon=_react2.default.createElement(_Thumbnail2.default,{className:"menu-item__thumbnail",circle:!0,size:"small",images:this.props.core.users[this.props.genius.me.uri].images});else var genius_icon=_react2.default.createElement(_Icon2.default,{name:"genius",type:"svg",className:"menu-item__icon"});return _react2.default.createElement("div",{className:"menu",id:"services-menu"},_react2.default.createElement("div",{className:"menu__inner"},_react2.default.createElement(_Link2.default,{className:"menu-item"+("spotify"==this.props.active?" menu-item--active":""),to:"spotify"==this.props.active?global.baseURL+"settings":global.baseURL+"settings/service/spotify",scrollTo:"services-menu"},_react2.default.createElement("div",{className:"menu-item__inner"},spotify_icon,_react2.default.createElement("div",{className:"menu-item__title"},"Spotify"),this.props.spotify.authorization?_react2.default.createElement("span",{className:"status green-text"},"Authorized"):_react2.default.createElement("span",{className:"status mid_grey-text"},"Read-only"))),_react2.default.createElement(_Link2.default,{className:"menu-item"+("lastfm"==this.props.active?" menu-item--active":""),to:"lastfm"==this.props.active?global.baseURL+"settings":global.baseURL+"settings/service/lastfm",scrollTo:"services-menu"},_react2.default.createElement("div",{className:"menu-item__inner"},lastfm_icon,_react2.default.createElement("div",{className:"menu-item__title"},"LastFM"),this.props.lastfm.authorization?_react2.default.createElement("span",{className:"status green-text"},"Authorized"):_react2.default.createElement("span",{className:"status mid_grey-text"},"Read-only"))),_react2.default.createElement(_Link2.default,{className:"menu-item"+("genius"==this.props.active?" menu-item--active":""),to:"genius"==this.props.active?global.baseURL+"settings":global.baseURL+"settings/service/genius",scrollTo:"services-menu"},_react2.default.createElement("div",{className:"menu-item__inner"},genius_icon,_react2.default.createElement("div",{className:"menu-item__title"},"Genius"),this.props.genius.authorization?_react2.default.createElement("span",{className:"status green-text"},"Authorized"):_react2.default.createElement("span",{className:"status mid_grey-text"},"Unauthorized"))),_react2.default.createElement(_Link2.default,{className:"menu-item"+("snapcast"==this.props.active?" menu-item--active":""),to:"snapcast"==this.props.active?global.baseURL+"settings":global.baseURL+"settings/service/snapcast",scrollTo:"services-menu"},_react2.default.createElement("div",{className:"menu-item__inner"},_react2.default.createElement(_Icon2.default,{className:"menu-item__icon",name:"devices"}),_react2.default.createElement("div",{className:"menu-item__title"},"Snapcast"),this.props.pusher.config.snapcast_enabled?_react2.default.createElement("span",{className:"status green-text"},"Enabled"):_react2.default.createElement("span",{className:"status mid_grey-text"},"Disabled"))),_react2.default.createElement(_Link2.default,{className:"menu-item"+("icecast"==this.props.active?" menu-item--active":""),to:"icecast"==this.props.active?global.baseURL+"settings":global.baseURL+"settings/service/icecast",scrollTo:"services-menu"},_react2.default.createElement("div",{className:"menu-item__inner"},_react2.default.createElement(_Icon2.default,{className:"menu-item__icon",name:"wifi_tethering"}),_react2.default.createElement("div",{className:"menu-item__title"},"Icecast"),this.props.core.http_streaming_enabled?_react2.default.createElement("span",{className:"status green-text"},"Enabled"):_react2.default.createElement("span",{className:"status mid_grey-text"},"Disabled")))))}},{key:"renderService",value:function(){var service=null;switch(this.props.active){case"spotify":service=this.renderSpotify();break;case"lastfm":service=this.renderLastfm();break;case"genius":service=this.renderGenius();break;case"icecast":service=this.renderIcecast();break;case"snapcast":service=_react2.default.createElement(_Snapcast2.default,null)}return service?_react2.default.createElement("div",{className:"service"},service):null}},{key:"render",value:function(){return _react2.default.createElement("div",{className:"services"},this.renderMenu(),this.renderService())}}]),Services}(_react2.default.Component),mapStateToProps=function(state,ownProps){return state},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),lastfmActions:(0,_redux.bindActionCreators)(lastfmActions,dispatch),geniusActions:(0,_redux.bindActionCreators)(geniusActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Services)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactGa=__webpack_require__(14),_Thumbnail=(_interopRequireDefault(_reactGa),__webpack_require__(11)),_actions=(_interopRequireDefault(_Thumbnail),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(37),geniusActions=_interopRequireWildcard(_actions2),GeniusAuthenticationFrame=function(_React$Component){function GeniusAuthenticationFrame(props){_classCallCheck(this,GeniusAuthenticationFrame);var _this=_possibleConstructorReturn(this,(GeniusAuthenticationFrame.__proto__||Object.getPrototypeOf(GeniusAuthenticationFrame)).call(this,props));return _this.state={authorizing:!1},_this}return _inherits(GeniusAuthenticationFrame,_React$Component),_createClass(GeniusAuthenticationFrame,[{key:"componentDidMount",value:function(){var self=this;window.addEventListener("message",function(event){try{var data=JSON.parse(event.data)}catch(e){return void console.error("Failed to parse JSON",e,event)}"auth_genius"==data.origin&&self.handleMessage(event,data)},!1)}},{key:"handleMessage",value:function(event,data){var authorization_domain=this.props.authorization_url.substring(0,this.props.authorization_url.indexOf("/",8));if(event.origin!=authorization_domain)return this.props.uiActions.createNotification({content:"Authorization failed. "+event.origin+" is not the configured authorization_url.",type:"bad"}),!1;void 0!==data.error?this.props.uiActions.createNotification({content:data.message,type:"bad"}):(this.props.geniusActions.authorizationGranted(data),this.props.geniusActions.getMe()),this.setState({authorizing:!1})}},{key:"startAuthorization",value:function(){function checkPopup(){void 0!==popup&&popup?popup.closed&&(self.setState({authorizing:!1}),clearInterval(timer)):(self.props.uiActions.createNotification({content:"Popup blocked. Please allow popups and try again.",type:"bad"}),self.setState({authorizing:!1}),clearInterval(timer))}var self=this;this.setState({authorizing:!0});var url=this.props.authorization_url+"?action=authorize&scope=me",popup=window.open(url,"popup","height=580,width=350");popup.name="GeniusAuthenticationWindow";var timer=setInterval(checkPopup,1e3)}},{key:"render",value:function(){var _this2=this;return this.state.authorizing?_react2.default.createElement("button",{className:"working"},"Authorizing..."):this.props.authorized?_react2.default.createElement("button",{className:"destructive",onClick:function(){return _this2.props.geniusActions.revokeAuthorization()}},"Log out"):_react2.default.createElement("button",{className:"primary",onClick:function(){return _this2.startAuthorization()}},"Log in")}}]),GeniusAuthenticationFrame}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{authorization_url:state.genius.authorization_url,authorized:state.genius.authorization,authorizing:state.genius.authorizing}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),geniusActions:(0,_redux.bindActionCreators)(geniusActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(GeniusAuthenticationFrame)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=(__webpack_require__(12),__webpack_require__(8)),_VolumeControl=(_interopRequireDefault(_Link),__webpack_require__(62)),_VolumeControl2=_interopRequireDefault(_VolumeControl),_MuteControl=__webpack_require__(63),_MuteControl2=_interopRequireDefault(_MuteControl),_LatencyControl=__webpack_require__(304),_LatencyControl2=_interopRequireDefault(_LatencyControl),_TextField=__webpack_require__(305),_TextField2=_interopRequireDefault(_TextField),_DropdownField=__webpack_require__(33),_Icon=(_interopRequireDefault(_DropdownField),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(38),snapcastActions=_interopRequireWildcard(_actions4),Snapcast=function(_React$Component){function Snapcast(props){_classCallCheck(this,Snapcast);var _this=_possibleConstructorReturn(this,(Snapcast.__proto__||Object.getPrototypeOf(Snapcast)).call(this,props));return _this.state={clients_expanded:[]},_this}return _inherits(Snapcast,_React$Component),_createClass(Snapcast,[{key:"componentDidMount",value:function(){this.props.pusher_connected&&this.props.snapcast_enabled&&this.props.snapcastActions.getServer()}},{key:"componentWillReceiveProps",value:function(newProps){newProps.snapcast_enabled&&!this.props.pusher_connected&&newProps.pusher_connected?this.props.snapcastActions.getServer():!this.props.snapcast_enabled&&newProps.snapcast_enabled&&newProps.pusher_connected&&this.props.snapcastActions.getServer()}},{key:"toggleClientExpanded",value:function(client_id){var clients_expanded=this.state.clients_expanded,index=clients_expanded.indexOf(client_id);index>=0?clients_expanded.splice(index,1):clients_expanded.push(client_id),this.setState({clients_expanded:clients_expanded})}},{key:"renderClientsList",value:function(group,groups){var _this2=this;if(!this.props.show_disconnected_clients&&group.clients)var clients=helpers.applyFilter("connected",!0,group.clients);else var clients=group.clients;return!clients||clients.length<=0?_react2.default.createElement("div",{className:"text mid_grey-text"},"No clients"):_react2.default.createElement("div",{className:"list snapcast__clients"},clients.map(function(client){var class_name="list__item snapcast__client";return client.connected?class_name+=" snapcast__client--connected":class_name+=" snapcast__client--disconnected",_this2.state.clients_expanded.includes(client.id)?_react2.default.createElement("div",{className:class_name+" snapcast__client--expanded",key:client.id},_react2.default.createElement("div",{className:"snapcast__client__header",onClick:function(e){return _this2.toggleClientExpanded(client.id)}},client.name,_react2.default.createElement("div",{className:"snapcast__client__header__icons"},client.connected?null:_react2.default.createElement(_Icon2.default,{name:"power_off",className:"disconnected"}),_react2.default.createElement(_Icon2.default,{name:"expand_less"}))),_react2.default.createElement("div",{className:"snapcast__client__details"},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Name"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_TextField2.default,{onChange:function(value){return _this2.props.snapcastActions.setClientName(client.id,value)},value:client.name}))),_react2.default.createElement("div",{className:"field dropdown"},_react2.default.createElement("div",{className:"name"},"Group"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("select",{onChange:function(e){return _this2.props.snapcastActions.setClientGroup(client.id,e.target.value)},value:group.id},groups.map(function(group){return _react2.default.createElement("option",{value:group.id,key:group.id},group.name?group.name:"Group "+group.id.substring(0,3))}),_react2.default.createElement("option",{value:group.id},"New group")))),_react2.default.createElement("div",{className:"snapcast__client__volume field"},_react2.default.createElement("div",{className:"name"},"Volume"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_MuteControl2.default,{className:"snapcast__client__mute-control",mute:client.mute,onMuteChange:function(mute){return _this2.props.snapcastActions.setClientMute(client.id,mute)}}),_react2.default.createElement(_VolumeControl2.default,{className:"snapcast__client__volume-control",volume:client.volume,onVolumeChange:function(percent){return _this2.props.snapcastActions.setClientVolume(client.id,percent)}}))),_react2.default.createElement("div",{className:"snapcast__client__latency field"},_react2.default.createElement("div",{className:"name"},"Latency"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_LatencyControl2.default,{max:"100",value:client.latency,onChange:function(value){return _this2.props.snapcastActions.setClientLatency(client.id,parseInt(value))}}),_react2.default.createElement(_TextField2.default,{className:"tiny",type:"number",onChange:function(value){return _this2.props.snapcastActions.setClientLatency(client.id,parseInt(value))},value:String(client.latency)}))))):_react2.default.createElement("div",{className:class_name+" snapcast__client--collapsed",key:client.id},_react2.default.createElement("div",{className:"snapcast__client__header",onClick:function(e){return _this2.toggleClientExpanded(client.id)}},client.name,_react2.default.createElement("div",{className:"snapcast__client__header__icons"},client.connected?null:_react2.default.createElement(_Icon2.default,{name:"power_off",className:"disconnected"}),_react2.default.createElement(_Icon2.default,{name:"expand_more"}))))}))}},{key:"render",value:function(){var _this3=this;if(!this.props.snapcast_enabled)return _react2.default.createElement("p",{className:"message warning"},"To enable Snapcast, edit your ",_react2.default.createElement("code",null,"mopidy.conf")," file");var streams=[];for(var id in this.props.streams)this.props.streams.hasOwnProperty(id)&&streams.push(this.props.streams[id]);var groups=[];for(var id in this.props.groups)this.props.groups.hasOwnProperty(id)&&groups.push(this.props.groups[id]);return _react2.default.createElement("div",{className:"snapcast"},_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"name"},"Display"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("button",{className:"small",onClick:function(e){return _this3.props.snapcastActions.getServer()}},"Refresh"),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"show_disconnected_clients",checked:this.props.show_disconnected_clients,onChange:function(e){return _this3.props.uiActions.set({snapcast_show_disconnected_clients:!_this3.props.show_disconnected_clients})}}),_react2.default.createElement("span",{className:"label"},"Show disconnected clients")))),_react2.default.createElement("div",{className:"snapcast__groups"},groups.map(function(group){group=helpers.collate(group,{clients:_this3.props.clients});for(var group_volume=0,i=0;i<group.clients.length;i++){group_volume+=group.clients[i].volume}return group_volume/=group.clients.length,_react2.default.createElement("div",{className:"snapcast__group",key:group.id},_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Name"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("div",{className:"text"},group.name," ",_react2.default.createElement("span",{className:"mid_grey-text"},"(",group.id,")")))),_react2.default.createElement("div",{className:"field dropdown"},_react2.default.createElement("div",{className:"name"},"Stream"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("select",{onChange:function(e){return _this3.props.snapcastActions.setGroupStream(group.id,e.target.value)},value:group.stream_id},streams.map(function(stream){return _react2.default.createElement("option",{value:stream.id,key:stream.id},stream.id," (",stream.status,")")})))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Volume"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_MuteControl2.default,{className:"snapcast__group__mute-control",mute:group.muted,onMuteChange:function(mute){return _this3.props.snapcastActions.setGroupMute(group.id,mute)}}),_react2.default.createElement(_VolumeControl2.default,{className:"snapcast__group__volume-control",volume:group_volume,onVolumeChange:function(percent,old_percent){return _this3.props.snapcastActions.setGroupVolume(group.id,percent,old_percent)}}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Clients"),_react2.default.createElement("div",{className:"input"},_this3.renderClientsList(group,groups))))})))}}]),Snapcast}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{snapcast_enabled:state.pusher.config.snapcast_enabled,pusher_connected:state.pusher.connected,show_disconnected_clients:void 0!==state.ui.snapcast_show_disconnected_clients&&state.ui.snapcast_show_disconnected_clients,streams:state.snapcast.streams?state.snapcast.streams:null,groups:state.snapcast.groups?state.snapcast.groups:null,clients:state.snapcast.clients?state.snapcast.clients:null}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),snapcastActions:(0,_redux.bindActionCreators)(snapcastActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Snapcast)},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),_helpers=__webpack_require__(1),helpers=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_helpers),LatencyControl=function(_React$Component){function LatencyControl(props){_classCallCheck(this,LatencyControl);var _this=_possibleConstructorReturn(this,(LatencyControl.__proto__||Object.getPrototypeOf(LatencyControl)).call(this,props));return _this.handleChange=helpers.throttle(_this.handleChange.bind(_this),100),_this}return _inherits(LatencyControl,_React$Component),_createClass(LatencyControl,[{key:"handleChange",value:function(value){this.props.onChange(value,this.props.value)}},{key:"render",value:function(){var _this2=this;if(this.props.value>=0){var value=this.props.value;value>this.props.max&&(value=this.props.max);var percentage=Math.round(value/this.props.max*100/2),left=50,width=percentage,negative=!1;width>50&&(width=50)}else{var value=-this.props.value;value<-this.props.max&&(value=-this.props.max);var percentage=Math.round(value/this.props.max*100/2),left=50-percentage,width=percentage,negative=!0;left<0&&(left=0),width>50&&(width=50)}return _react2.default.createElement("span",{className:"latency-control"},_react2.default.createElement("div",{className:"slider__wrapper"},_react2.default.createElement("div",{className:"slider slider--latency"},_react2.default.createElement("input",{type:"range",min:"-100",max:"100",className:"slider__input",value:this.props.value,onChange:function(e){return _this2.handleChange(parseInt(e.target.value))}}),_react2.default.createElement("div",{className:"zero"}),_react2.default.createElement("div",{className:"slider__track"},_react2.default.createElement("div",{className:"slider__track__progress slider__track__progress--"+(negative?"negative":"positive"),style:{width:width+"%",left:left+"%"}})))))}}]),LatencyControl}(_react2.default.Component);exports.default=LatencyControl},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_react),TextField=function(_React$Component){function TextField(props){_classCallCheck(this,TextField);var _this=_possibleConstructorReturn(this,(TextField.__proto__||Object.getPrototypeOf(TextField)).call(this,props));return _this.state={in_focus:!1,value:_this.props.value?_this.props.value:""},_this}return _inherits(TextField,_React$Component),_createClass(TextField,[{key:"componentWillReceiveProps",value:function(newProps){this.state.in_focus||this.setState({value:newProps.value})}},{key:"handleChange",value:function(e){this.setState({value:e.target.value})}},{key:"handleFocus",value:function(e){this.setState({in_focus:!0})}},{key:"handleBlur",value:function(e){this.setState({in_focus:!1}),this.state.value!==this.props.value&&this.props.onChange(this.state.value)}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("input",{className:this.props.className?this.props.className:"",type:this.props.type?this.props.type:"text",onChange:function(e){return _this2.handleChange(e)},onFocus:function(e){return _this2.handleFocus(e)},onBlur:function(e){return _this2.handleBlur(e)},value:this.state.value,placeholder:this.props.placeholder?this.props.placeholder:null})}}]),TextField}(_react2.default.Component);exports.default=TextField},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactInputRange=__webpack_require__(307),_reactInputRange2=_interopRequireDefault(_reactInputRange),_Header=__webpack_require__(15),_ArtistSentence=(_interopRequireDefault(_Header),__webpack_require__(21)),_ArtistGrid=(_interopRequireDefault(_ArtistSentence),__webpack_require__(39)),_AlbumGrid=(_interopRequireDefault(_ArtistGrid),__webpack_require__(43)),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_TrackList=__webpack_require__(23),_TrackList2=_interopRequireDefault(_TrackList),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_DropdownField=__webpack_require__(33),_DropdownField2=_interopRequireDefault(_DropdownField),_AddSeedField=__webpack_require__(323),_AddSeedField2=_interopRequireDefault(_AddSeedField),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_ContextMenuTrigger=__webpack_require__(25),_ContextMenuTrigger2=_interopRequireDefault(_ContextMenuTrigger),_RelatedArtists=__webpack_require__(100),_RelatedArtists2=_interopRequireDefault(_RelatedArtists),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),Discover=function(_React$Component){function Discover(props){_classCallCheck(this,Discover);var _this=_possibleConstructorReturn(this,(Discover.__proto__||Object.getPrototypeOf(Discover)).call(this,props));return _this._autocomplete_timer=!1,_this.state={add_seed:"",adding_seed:!1,seeds:[],tunabilities:{acousticness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},danceability:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},energy:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},instrumentalness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},key:{enabled:!1,min:0,max:11,value:{min:3,max:8}},liveness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},loudness:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},popularity:{enabled:!0,min:0,max:100,value:{min:0,max:100}},speechiness:{enabled:!1,convert_to_decimal:!0,description:"The presence of spoken words in a track",min:0,max:100,value:{min:25,max:75}},tempo:{enabled:!1,convert_to_decimal:!0,min:0,max:100,value:{min:25,max:75}},valence:{enabled:!1,convert_to_decimal:!0,description:"The musical positiveness conveyed by a track",min:0,max:100,value:{min:25,max:75}}}},_this}return _inherits(Discover,_React$Component),_createClass(Discover,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Discover"),this.props.params.seeds&&this.handleURLSeeds(this.props.params.seeds)}},{key:"componentWillReceiveProps",value:function(newProps,newState){newProps.params.seeds!=this.props.params.seeds&&this.handleURLSeeds(newProps.params.seeds)}},{key:"handleContextMenu",value:function(e){var uri="iris:discover";if(this.state.seeds){uri+=":";for(var i=0;i<this.state.seeds.length;i++)i>0&&(uri+=","),uri+=this.state.seeds[i].split(":").join("_")}var tracks=[];if(this.props.recommendations.tracks_uris&&this.props.tracks)for(var i=0;i<this.props.recommendations.tracks_uris.length;i++){var uri=this.props.recommendations.tracks_uris[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}var data={e:e,context:"track",items:tracks,uris:helpers.arrayOf("uri",tracks)};this.props.uiActions.showContextMenu(data)}},{key:"handleURLSeeds",value:function(){for(var seeds_string=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.params.seeds,seeds=seeds_string.split("_").join(":").split(","),i=0;i<seeds.length;i++)switch(helpers.uriType(seeds[i])){case"artist":this.props.spotifyActions.getArtist(seeds[i]);break;case"track":this.props.spotifyActions.getTrack(seeds[i])}this.setState({seeds:seeds}),this.getRecommendations(seeds)}},{key:"getRecommendations",value:function(){var seeds=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.seeds,tunabilities=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state.tunabilities;if(seeds.length>0){var digested_tunabilities={};for(var key in tunabilities)if(tunabilities.hasOwnProperty(key)&&tunabilities[key].enabled){var tunability=tunabilities[key],max=tunability.value.max,min=tunability.value.min;tunability.convert_to_decimal&&(max/=100,min/=100),digested_tunabilities[key+"_max"]=max.toString(),digested_tunabilities[key+"_min"]=min.toString()}this.props.spotifyActions.getRecommendations(seeds,50,digested_tunabilities)}}},{key:"playTracks",value:function(){this.props.mopidyActions.playURIs(this.props.recommendations.tracks_uris)}},{key:"removeSeed",value:function(index){var seeds=this.state.seeds;seeds.splice(index,1),this.setState({seeds:seeds})}},{key:"handleSelect",value:function(e,uri){var seeds=this.state.seeds;seeds.push(uri),this.setState({seeds:seeds})}},{key:"renderSeeds",value:function(){var _this2=this,seeds_objects=[];if(this.state.seeds.length>0)for(var i=0;i<this.state.seeds.length;i++){var uri=this.state.seeds[i];switch(helpers.uriType(uri)){case"track":void 0!==this.props.tracks[uri]?seeds_objects.push(this.props.tracks[uri]):seeds_objects.push({name:"Loading...",uri:uri});break;case"artist":void 0!==this.props.artists[uri]?seeds_objects.push(this.props.artists[uri]):seeds_objects.push({name:"Loading...",uri:uri});break;case"genre":var name=helpers.getFromUri("genreid",uri);seeds_objects.push({name:(name.charAt(0).toUpperCase()+name.slice(1)).replace("-"," "),uri:uri})}}return _react2.default.createElement("div",{className:"seeds"},seeds_objects.map(function(seed,index){var type=helpers.uriType(seed.uri),images=null;return seed.images&&("artist"==type?seed.images.length>0&&(images=seed.images[0]):images=seed.images),_react2.default.createElement("div",{className:"seed"+(seed.images?" has-thumbnail":""),key:seed.uri},images?_react2.default.createElement(_URILink2.default,{className:"thumbnail-wrapper",type:type,uri:seed.uri},_react2.default.createElement(_Thumbnail2.default,{images:images,circle:"artist"==seed.type,size:"small"})):null,_react2.default.createElement("div",{className:"label"},helpers.titleCase(type),_react2.default.createElement(_Icon2.default,{name:"close",className:"remove",onClick:function(){return _this2.removeSeed(index)}})),_react2.default.createElement("div",{className:"name"},seed.name))}))}},{key:"setTunability",value:function(name,value){var tunabilities=this.state.tunabilities;tunabilities[name].value=value,this.setState({tunabilities:tunabilities})}},{key:"toggleTunability",value:function(name){var tunabilities=this.state.tunabilities;tunabilities[name].enabled=!tunabilities[name].enabled,this.setState({tunabilities:tunabilities})}},{key:"renderTunabilities",value:function(){var _this3=this,addable_tunabilities=[],enabled_tunabilities=[];for(var key in this.state.tunabilities)if(this.state.tunabilities.hasOwnProperty(key)){var tunability=Object.assign({},this.state.tunabilities[key],{name:key});tunability.enabled?enabled_tunabilities.push(tunability):addable_tunabilities.push({label:helpers.titleCase(tunability.name),value:tunability.name})}return _react2.default.createElement("div",{className:"tunabilities"},enabled_tunabilities.map(function(tunability){return _react2.default.createElement("div",{className:"field tunability range",key:tunability.name},_react2.default.createElement("div",{className:"label"},helpers.titleCase(tunability.name),_react2.default.createElement("span",{className:"remove",onClick:function(e){return _this3.toggleTunability(tunability.name)}},_react2.default.createElement(_Icon2.default,{name:"close"}))),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_reactInputRange2.default,{disabled:!tunability.enabled,minValue:tunability.min,maxValue:tunability.max,value:tunability.value,onChange:function(value){return _this3.setTunability(tunability.name,value)}})))}))}},{key:"renderResults",value:function(){var _this4=this;if(!this.props.recommendations||void 0===this.props.recommendations.albums_uris||void 0===this.props.recommendations.artists_uris)return null;var tracks=[];if(this.props.recommendations.tracks_uris&&this.props.tracks)for(var i=0;i<this.props.recommendations.tracks_uris.length;i++){var uri=this.props.recommendations.tracks_uris[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}var artists=[];if(this.props.recommendations.artists_uris&&this.props.artists)for(var i=0;i<this.props.recommendations.artists_uris.length;i++){var uri=this.props.recommendations.artists_uris[i];this.props.artists.hasOwnProperty(uri)&&artists.push(this.props.artists[uri])}var albums=[];if(this.props.recommendations.albums_uris&&this.props.albums)for(var i=0;i<this.props.recommendations.albums_uris.length;i++){var uri=this.props.recommendations.albums_uris[i];this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}if(tracks.length<=0&&artists.length<=0&&albums.length<=0)return null;var uri="iris:discover";if(this.state.seeds){uri+=":";for(var i=0;i<this.state.seeds.length;i++)i>0&&(uri+=","),uri+=this.state.seeds[i].split(":").join("_")}return _react2.default.createElement("div",{className:"content-wrapper recommendations-results"},_react2.default.createElement("section",{className:"col col--w70 tracks"},_react2.default.createElement("h4",null,"Tracks",_react2.default.createElement("div",{className:"pull-right"},_react2.default.createElement(_ContextMenuTrigger2.default,{onTrigger:function(e){return _this4.handleContextMenu(e)}}),_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this4.playTracks(e)}},"Play all"))),_react2.default.createElement(_TrackList2.default,{className:"discover-track-list",uri:uri,tracks:tracks})),_react2.default.createElement("div",{className:"col col--w5"}),_react2.default.createElement("div",{className:"col col--w25 others"},_react2.default.createElement("section",null,_react2.default.createElement("h4",null,"Artists"),_react2.default.createElement(_RelatedArtists2.default,{artists:artists})),_react2.default.createElement("br",null),_react2.default.createElement("br",null),_react2.default.createElement("section",null,_react2.default.createElement("h4",null,"Albums"),_react2.default.createElement(_AlbumGrid2.default,{className:"mini",albums:albums}))))}},{key:"render",value:function(){var _this5=this,is_loading=helpers.isLoading(this.props.load_queue,["spotify_recommendations"]),addable_tunabilities=[];for(var key in this.state.tunabilities)if(this.state.tunabilities.hasOwnProperty(key)){var tunability=Object.assign({},this.state.tunabilities[key],{name:key});tunability.enabled||addable_tunabilities.push({label:helpers.titleCase(tunability.name),value:tunability.name})}return _react2.default.createElement("div",{className:"view discover-view preserve-3d"},_react2.default.createElement("div",{className:"intro preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:"assets/backgrounds/discover.jpg"}),_react2.default.createElement("div",{className:"liner"},_react2.default.createElement("h1",null,"Explore new music"),_react2.default.createElement("h2",{className:"mid_grey-text"},"Add seeds and musical properties below to build your sound"),_react2.default.createElement("div",{className:"parameters"},this.renderSeeds(),this.renderTunabilities(),this.state.seeds.length>5?_react2.default.createElement("p",{className:"message error"},"Too many seeds! You can use up to a total of 5 seed tracks, artists and genres."):null),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement(_AddSeedField2.default,{onSelect:function(e,uri){return _this5.handleSelect(e,uri)}}),_react2.default.createElement(_DropdownField2.default,{className:"add-properties",name:"Properties",options:addable_tunabilities,no_status_icon:!0,button:"default",handleChange:function(val){_this5.toggleTunability(val)}}),_react2.default.createElement("span",{className:"submit button primary large"+(is_loading?" working":""),onClick:function(e){return _this5.getRecommendations()}},_react2.default.createElement(_Icon2.default,{name:"explore"})," Find recommendations")))),this.renderResults())}}]),Discover}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{disable_parallax:state.ui.disable_parallax,theme:state.ui.theme,albums:state.core.albums,artists:state.core.artists,tracks:state.core.tracks,genres:state.core.genres?state.core.genres:[],authorized:state.spotify.authorization,load_queue:state.ui.load_queue,quick_search_results:state.spotify.quick_search_results?state.spotify.quick_search_results:{artists:[],tracks:[]},recommendations:state.spotify.recommendations?state.spotify.recommendations:{}}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(Discover)},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _inputRange=__webpack_require__(308),_inputRange2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_inputRange);exports.default=_inputRange2.default,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _applyDecoratedDescriptor(target,property,decorators,descriptor,context){var desc={};return Object.keys(descriptor).forEach(function(key){desc[key]=descriptor[key]}),desc.enumerable=!!desc.enumerable,desc.configurable=!!desc.configurable,("value"in desc||desc.initializer)&&(desc.writable=!0),desc=decorators.slice().reverse().reduce(function(desc,decorator){return decorator(target,property,desc)||desc},desc),context&&void 0!==desc.initializer&&(desc.value=desc.initializer?desc.initializer.call(context):void 0,desc.initializer=void 0),void 0===desc.initializer&&(Object.defineProperty(target,property,desc),desc=null),desc}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _class,_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(17),_propTypes2=_interopRequireDefault(_propTypes),_autobindDecorator=__webpack_require__(66),_autobindDecorator2=_interopRequireDefault(_autobindDecorator),_valueTransformer=__webpack_require__(309),valueTransformer=function(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}(_valueTransformer),_defaultClassNames=__webpack_require__(317),_defaultClassNames2=_interopRequireDefault(_defaultClassNames),_label=__webpack_require__(104),_label2=_interopRequireDefault(_label),_rangePropType=__webpack_require__(318),_rangePropType2=_interopRequireDefault(_rangePropType),_valuePropType=__webpack_require__(319),_valuePropType2=_interopRequireDefault(_valuePropType),_slider=__webpack_require__(320),_slider2=_interopRequireDefault(_slider),_track=__webpack_require__(321),_track2=_interopRequireDefault(_track),_utils=__webpack_require__(49),_keyCodes=__webpack_require__(322),InputRange=(_class=function(_React$Component){function InputRange(props){_classCallCheck(this,InputRange);var _this=_possibleConstructorReturn(this,(InputRange.__proto__||Object.getPrototypeOf(InputRange)).call(this,props));return _this.startValue=null,_this.node=null,_this.trackNode=null,_this.isSliderDragging=!1,_this.lastKeyMoved=null,_this}return _inherits(InputRange,_React$Component),_createClass(InputRange,null,[{key:"propTypes",get:function(){return{allowSameValues:_propTypes2.default.bool,ariaLabelledby:_propTypes2.default.string,ariaControls:_propTypes2.default.string,classNames:_propTypes2.default.objectOf(_propTypes2.default.string),disabled:_propTypes2.default.bool,draggableTrack:_propTypes2.default.bool,formatLabel:_propTypes2.default.func,maxValue:_rangePropType2.default,minValue:_rangePropType2.default,name:_propTypes2.default.string,onChangeStart:_propTypes2.default.func,onChange:_propTypes2.default.func.isRequired,onChangeComplete:_propTypes2.default.func,step:_propTypes2.default.number,value:_valuePropType2.default}}},{key:"defaultProps",get:function(){return{allowSameValues:!1,classNames:_defaultClassNames2.default,disabled:!1,maxValue:10,minValue:0,step:1}}}]),_createClass(InputRange,[{key:"componentWillUnmount",value:function(){this.removeDocumentMouseUpListener(),this.removeDocumentTouchEndListener()}},{key:"getComponentClassName",value:function(){return this.props.disabled?this.props.classNames.disabledInputRange:this.props.classNames.inputRange}},{key:"getTrackClientRect",value:function(){return this.trackNode.getClientRect()}},{key:"getKeyByPosition",value:function(position){var values=valueTransformer.getValueFromProps(this.props,this.isMultiValue()),positions=valueTransformer.getPositionsFromValues(values,this.props.minValue,this.props.maxValue,this.getTrackClientRect());if(this.isMultiValue()){if((0,_utils.distanceTo)(position,positions.min)<(0,_utils.distanceTo)(position,positions.max))return"min"}return"max"}},{key:"getKeys",value:function(){return this.isMultiValue()?["min","max"]:["max"]}},{key:"hasStepDifference",value:function(values){var currentValues=valueTransformer.getValueFromProps(this.props,this.isMultiValue());return(0,_utils.length)(values.min,currentValues.min)>=this.props.step||(0,_utils.length)(values.max,currentValues.max)>=this.props.step}},{key:"isMultiValue",value:function(){return(0,_utils.isObject)(this.props.value)}},{key:"isWithinRange",value:function(values){return this.isMultiValue()?values.min>=this.props.minValue&&values.max<=this.props.maxValue&&this.props.allowSameValues?values.min<=values.max:values.min<values.max:values.max>=this.props.minValue&&values.max<=this.props.maxValue}},{key:"shouldUpdate",value:function(values){return this.isWithinRange(values)&&this.hasStepDifference(values)}},{key:"updatePosition",value:function(key,position){var values=valueTransformer.getValueFromProps(this.props,this.isMultiValue()),positions=valueTransformer.getPositionsFromValues(values,this.props.minValue,this.props.maxValue,this.getTrackClientRect());positions[key]=position,this.lastKeyMoved=key,this.updatePositions(positions)}},{key:"updatePositions",value:function(positions){var values={min:valueTransformer.getValueFromPosition(positions.min,this.props.minValue,this.props.maxValue,this.getTrackClientRect()),max:valueTransformer.getValueFromPosition(positions.max,this.props.minValue,this.props.maxValue,this.getTrackClientRect())},transformedValues={min:valueTransformer.getStepValueFromValue(values.min,this.props.step),max:valueTransformer.getStepValueFromValue(values.max,this.props.step)};this.updateValues(transformedValues)}},{key:"updateValue",value:function(key,value){var values=valueTransformer.getValueFromProps(this.props,this.isMultiValue());values[key]=value,this.updateValues(values)}},{key:"updateValues",value:function(values){this.shouldUpdate(values)&&this.props.onChange(this.isMultiValue()?values:values.max)}},{key:"incrementValue",value:function(key){var values=valueTransformer.getValueFromProps(this.props,this.isMultiValue()),value=values[key]+this.props.step;this.updateValue(key,value)}},{key:"decrementValue",value:function(key){var values=valueTransformer.getValueFromProps(this.props,this.isMultiValue()),value=values[key]-this.props.step;this.updateValue(key,value)}},{key:"addDocumentMouseUpListener",value:function(){this.removeDocumentMouseUpListener(),this.node.ownerDocument.addEventListener("mouseup",this.handleMouseUp)}},{key:"addDocumentTouchEndListener",value:function(){this.removeDocumentTouchEndListener(),this.node.ownerDocument.addEventListener("touchend",this.handleTouchEnd)}},{key:"removeDocumentMouseUpListener",value:function(){this.node.ownerDocument.removeEventListener("mouseup",this.handleMouseUp)}},{key:"removeDocumentTouchEndListener",value:function(){this.node.ownerDocument.removeEventListener("touchend",this.handleTouchEnd)}},{key:"handleSliderDrag",value:function(event,key){var _this2=this;if(!this.props.disabled){var position=valueTransformer.getPositionFromEvent(event,this.getTrackClientRect());this.isSliderDragging=!0,requestAnimationFrame(function(){return _this2.updatePosition(key,position)})}}},{key:"handleTrackDrag",value:function(event,prevEvent){if(!this.props.disabled&&this.props.draggableTrack&&!this.isSliderDragging){var _props=this.props,maxValue=_props.maxValue,minValue=_props.minValue,_props$value=_props.value,max=_props$value.max,min=_props$value.min,position=valueTransformer.getPositionFromEvent(event,this.getTrackClientRect()),value=valueTransformer.getValueFromPosition(position,minValue,maxValue,this.getTrackClientRect()),stepValue=valueTransformer.getStepValueFromValue(value,this.props.step),prevPosition=valueTransformer.getPositionFromEvent(prevEvent,this.getTrackClientRect()),prevValue=valueTransformer.getValueFromPosition(prevPosition,minValue,maxValue,this.getTrackClientRect()),prevStepValue=valueTransformer.getStepValueFromValue(prevValue,this.props.step),offset=prevStepValue-stepValue,transformedValues={min:min-offset,max:max-offset};this.updateValues(transformedValues)}}},{key:"handleSliderKeyDown",value:function(event,key){if(!this.props.disabled)switch(event.keyCode){case _keyCodes.LEFT_ARROW:case _keyCodes.DOWN_ARROW:event.preventDefault(),this.decrementValue(key);break;case _keyCodes.RIGHT_ARROW:case _keyCodes.UP_ARROW:event.preventDefault(),this.incrementValue(key)}}},{key:"handleTrackMouseDown",value:function(event,position){if(!this.props.disabled){var _props2=this.props,maxValue=_props2.maxValue,minValue=_props2.minValue,_props2$value=_props2.value,max=_props2$value.max,min=_props2$value.min;event.preventDefault();var value=valueTransformer.getValueFromPosition(position,minValue,maxValue,this.getTrackClientRect()),stepValue=valueTransformer.getStepValueFromValue(value,this.props.step);(!this.props.draggableTrack||stepValue>max||stepValue<min)&&this.updatePosition(this.getKeyByPosition(position),position)}}},{key:"handleInteractionStart",value:function(){this.props.onChangeStart&&this.props.onChangeStart(this.props.value),this.props.onChangeComplete&&!(0,_utils.isDefined)(this.startValue)&&(this.startValue=this.props.value)}},{key:"handleInteractionEnd",value:function(){this.isSliderDragging&&(this.isSliderDragging=!1),this.props.onChangeComplete&&(0,_utils.isDefined)(this.startValue)&&(this.startValue!==this.props.value&&this.props.onChangeComplete(this.props.value),this.startValue=null)}},{key:"handleKeyDown",value:function(event){this.handleInteractionStart(event)}},{key:"handleKeyUp",value:function(event){this.handleInteractionEnd(event)}},{key:"handleMouseDown",value:function(event){this.handleInteractionStart(event),this.addDocumentMouseUpListener()}},{key:"handleMouseUp",value:function(event){this.handleInteractionEnd(event),this.removeDocumentMouseUpListener()}},{key:"handleTouchStart",value:function(event){this.handleInteractionStart(event),this.addDocumentTouchEndListener()}},{key:"handleTouchEnd",value:function(event){this.handleInteractionEnd(event),this.removeDocumentTouchEndListener()}},{key:"renderSliders",value:function(){var _this3=this,values=valueTransformer.getValueFromProps(this.props,this.isMultiValue()),percentages=valueTransformer.getPercentagesFromValues(values,this.props.minValue,this.props.maxValue);return(this.props.allowSameValues&&"min"===this.lastKeyMoved?this.getKeys().reverse():this.getKeys()).map(function(key){var value=values[key],percentage=percentages[key],_props3=_this3.props,maxValue=_props3.maxValue,minValue=_props3.minValue;return"min"===key?maxValue=values.max:minValue=values.min,_react2.default.createElement(_slider2.default,{ariaLabelledby:_this3.props.ariaLabelledby,ariaControls:_this3.props.ariaControls,classNames:_this3.props.classNames,formatLabel:_this3.props.formatLabel,key:key,maxValue:maxValue,minValue:minValue,onSliderDrag:_this3.handleSliderDrag,onSliderKeyDown:_this3.handleSliderKeyDown,percentage:percentage,type:key,value:value})})}},{key:"renderHiddenInputs",value:function(){var _this4=this;if(!this.props.name)return[];var isMultiValue=this.isMultiValue(),values=valueTransformer.getValueFromProps(this.props,isMultiValue);return this.getKeys().map(function(key){var value=values[key],name=isMultiValue?""+_this4.props.name+(0,_utils.captialize)(key):_this4.props.name;return _react2.default.createElement("input",{key:key,type:"hidden",name:name,value:value})})}},{key:"render",value:function(){var _this5=this,componentClassName=this.getComponentClassName(),values=valueTransformer.getValueFromProps(this.props,this.isMultiValue()),percentages=valueTransformer.getPercentagesFromValues(values,this.props.minValue,this.props.maxValue);return _react2.default.createElement("div",{"aria-disabled":this.props.disabled,ref:function(node){_this5.node=node},className:componentClassName,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart},_react2.default.createElement(_label2.default,{classNames:this.props.classNames,formatLabel:this.props.formatLabel,type:"min"},this.props.minValue),_react2.default.createElement(_track2.default,{classNames:this.props.classNames,draggableTrack:this.props.draggableTrack,ref:function(trackNode){_this5.trackNode=trackNode},percentages:percentages,onTrackDrag:this.handleTrackDrag,onTrackMouseDown:this.handleTrackMouseDown},this.renderSliders()),_react2.default.createElement(_label2.default,{classNames:this.props.classNames,formatLabel:this.props.formatLabel,type:"max"},this.props.maxValue),this.renderHiddenInputs())}}]),InputRange}(_react2.default.Component),_applyDecoratedDescriptor(_class.prototype,"handleSliderDrag",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleSliderDrag"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTrackDrag",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTrackDrag"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleSliderKeyDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleSliderKeyDown"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTrackMouseDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTrackMouseDown"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleInteractionStart",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleInteractionStart"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleInteractionEnd",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleInteractionEnd"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleKeyDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleKeyDown"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleKeyUp",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleKeyUp"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleMouseDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseDown"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleMouseUp",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseUp"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTouchStart",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTouchStart"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTouchEnd",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTouchEnd"),_class.prototype),_class);exports.default=InputRange,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function getPercentageFromPosition(position,clientRect){var length=clientRect.width;return position.x/length||0}function getValueFromPosition(position,minValue,maxValue,clientRect){return minValue+(maxValue-minValue)*getPercentageFromPosition(position,clientRect)}function getValueFromProps(props,isMultiValue){return isMultiValue?_extends({},props.value):{min:props.minValue,max:props.value}}function getPercentageFromValue(value,minValue,maxValue){return((0,_utils.clamp)(value,minValue,maxValue)-minValue)/(maxValue-minValue)||0}function getPercentagesFromValues(values,minValue,maxValue){return{min:getPercentageFromValue(values.min,minValue,maxValue),max:getPercentageFromValue(values.max,minValue,maxValue)}}function getPositionFromValue(value,minValue,maxValue,clientRect){var length=clientRect.width;return{x:getPercentageFromValue(value,minValue,maxValue)*length,y:0}}function getPositionsFromValues(values,minValue,maxValue,clientRect){return{min:getPositionFromValue(values.min,minValue,maxValue,clientRect),max:getPositionFromValue(values.max,minValue,maxValue,clientRect)}}function getPositionFromEvent(event,clientRect){var length=clientRect.width,_ref=event.touches?event.touches[0]:event,clientX=_ref.clientX;return{x:(0,_utils.clamp)(clientX-clientRect.left,0,length),y:0}}function getStepValueFromValue(value,valuePerStep){return Math.round(value/valuePerStep)*valuePerStep}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target};exports.getPercentageFromPosition=getPercentageFromPosition,exports.getValueFromPosition=getValueFromPosition,exports.getValueFromProps=getValueFromProps,exports.getPercentageFromValue=getPercentageFromValue,exports.getPercentagesFromValues=getPercentagesFromValues,exports.getPositionFromValue=getPositionFromValue,exports.getPositionsFromValues=getPositionsFromValues,exports.getPositionFromEvent=getPositionFromEvent,exports.getStepValueFromValue=getStepValueFromValue;var _utils=__webpack_require__(49)},function(module,exports,__webpack_require__){"use strict";function captialize(string){return string.charAt(0).toUpperCase()+string.slice(1)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=captialize,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function clamp(value,min,max){return Math.min(Math.max(value,min),max)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=clamp,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function distanceTo(pointA,pointB){var xDiff=Math.pow(pointB.x-pointA.x,2),yDiff=Math.pow(pointB.y-pointA.y,2);return Math.sqrt(xDiff+yDiff)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=distanceTo,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function isDefined(value){return void 0!==value&&null!==value}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=isDefined,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function isNumber(value){return"number"==typeof value}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=isNumber,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function isObject(value){return null!==value&&"object"===(void 0===value?"undefined":_typeof(value))}Object.defineProperty(exports,"__esModule",{value:!0});var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};exports.default=isObject,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function length(numA,numB){return Math.abs(numA-numB)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=length,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var DEFAULT_CLASS_NAMES={activeTrack:"input-range__track input-range__track--active",disabledInputRange:"input-range input-range--disabled",inputRange:"input-range",labelContainer:"input-range__label-container",maxLabel:"input-range__label input-range__label--max",minLabel:"input-range__label input-range__label--min",slider:"input-range__slider",sliderContainer:"input-range__slider-container",track:"input-range__track input-range__track--background",valueLabel:"input-range__label input-range__label--value"};exports.default=DEFAULT_CLASS_NAMES,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function rangePropType(props){var maxValue=props.maxValue,minValue=props.minValue;return(0,_utils.isNumber)(minValue)&&(0,_utils.isNumber)(maxValue)?minValue>=maxValue?new Error('"minValue" must be smaller than "maxValue"'):void 0:new Error('"minValue" and "maxValue" must be a number')}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=rangePropType;var _utils=__webpack_require__(49);module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function valuePropType(props,propName){var maxValue=props.maxValue,minValue=props.minValue,value=props[propName];return(0,_utils.isNumber)(value)||(0,_utils.isObject)(value)&&(0,_utils.isNumber)(value.min)&&(0,_utils.isNumber)(value.max)?(0,_utils.isNumber)(value)&&(value<minValue||value>maxValue)?new Error('"'+propName+'" must be in between "minValue" and "maxValue"'):(0,_utils.isObject)(value)&&(value.min<minValue||value.min>maxValue||value.max<minValue||value.max>maxValue)?new Error('"'+propName+'" must be in between "minValue" and "maxValue"'):void 0:new Error('"'+propName+'" must be a number or a range object')}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=valuePropType;var _utils=__webpack_require__(49);module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _applyDecoratedDescriptor(target,property,decorators,descriptor,context){var desc={};return Object.keys(descriptor).forEach(function(key){desc[key]=descriptor[key]}),desc.enumerable=!!desc.enumerable,desc.configurable=!!desc.configurable,("value"in desc||desc.initializer)&&(desc.writable=!0),desc=decorators.slice().reverse().reduce(function(desc,decorator){return decorator(target,property,desc)||desc},desc),context&&void 0!==desc.initializer&&(desc.value=desc.initializer?desc.initializer.call(context):void 0,desc.initializer=void 0),void 0===desc.initializer&&(Object.defineProperty(target,property,desc),desc=null),desc}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _class,_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(17),_propTypes2=_interopRequireDefault(_propTypes),_autobindDecorator=__webpack_require__(66),_autobindDecorator2=_interopRequireDefault(_autobindDecorator),_label=__webpack_require__(104),_label2=_interopRequireDefault(_label),Slider=(_class=function(_React$Component){function Slider(props){_classCallCheck(this,Slider);var _this=_possibleConstructorReturn(this,(Slider.__proto__||Object.getPrototypeOf(Slider)).call(this,props));return _this.node=null,_this}return _inherits(Slider,_React$Component),_createClass(Slider,null,[{key:"propTypes",get:function(){return{ariaLabelledby:_propTypes2.default.string,ariaControls:_propTypes2.default.string,classNames:_propTypes2.default.objectOf(_propTypes2.default.string).isRequired,formatLabel:_propTypes2.default.func,maxValue:_propTypes2.default.number,minValue:_propTypes2.default.number,onSliderDrag:_propTypes2.default.func.isRequired,onSliderKeyDown:_propTypes2.default.func.isRequired,percentage:_propTypes2.default.number.isRequired,type:_propTypes2.default.string.isRequired,value:_propTypes2.default.number.isRequired}}}]),_createClass(Slider,[{key:"componentWillUnmount",value:function(){this.removeDocumentMouseMoveListener(),this.removeDocumentMouseUpListener(),this.removeDocumentTouchEndListener(),this.removeDocumentTouchMoveListener()}},{key:"getStyle",value:function(){return{position:"absolute",left:100*(this.props.percentage||0)+"%"}}},{key:"addDocumentMouseMoveListener",value:function(){this.removeDocumentMouseMoveListener(),this.node.ownerDocument.addEventListener("mousemove",this.handleMouseMove)}},{key:"addDocumentMouseUpListener",value:function(){this.removeDocumentMouseUpListener(),this.node.ownerDocument.addEventListener("mouseup",this.handleMouseUp)}},{key:"addDocumentTouchMoveListener",value:function(){this.removeDocumentTouchMoveListener(),this.node.ownerDocument.addEventListener("touchmove",this.handleTouchMove)}},{key:"addDocumentTouchEndListener",value:function(){this.removeDocumentTouchEndListener(),this.node.ownerDocument.addEventListener("touchend",this.handleTouchEnd)}},{key:"removeDocumentMouseMoveListener",value:function(){this.node.ownerDocument.removeEventListener("mousemove",this.handleMouseMove)}},{key:"removeDocumentMouseUpListener",value:function(){this.node.ownerDocument.removeEventListener("mouseup",this.handleMouseUp)}},{key:"removeDocumentTouchMoveListener",value:function(){this.node.ownerDocument.removeEventListener("touchmove",this.handleTouchMove)}},{key:"removeDocumentTouchEndListener",value:function(){this.node.ownerDocument.removeEventListener("touchend",this.handleTouchEnd)}},{key:"handleMouseDown",value:function(){this.addDocumentMouseMoveListener(),this.addDocumentMouseUpListener()}},{key:"handleMouseUp",value:function(){this.removeDocumentMouseMoveListener(),this.removeDocumentMouseUpListener()}},{key:"handleMouseMove",value:function(event){this.props.onSliderDrag(event,this.props.type)}},{key:"handleTouchStart",value:function(){this.addDocumentTouchEndListener(),this.addDocumentTouchMoveListener()}},{key:"handleTouchMove",value:function(event){this.props.onSliderDrag(event,this.props.type)}},{key:"handleTouchEnd",value:function(){this.removeDocumentTouchMoveListener(),this.removeDocumentTouchEndListener()}},{key:"handleKeyDown",value:function(event){this.props.onSliderKeyDown(event,this.props.type)}},{key:"render",value:function(){var _this2=this,style=this.getStyle();return _react2.default.createElement("span",{className:this.props.classNames.sliderContainer,ref:function(node){_this2.node=node},style:style},_react2.default.createElement(_label2.default,{classNames:this.props.classNames,formatLabel:this.props.formatLabel,type:"value"},this.props.value),_react2.default.createElement("div",{"aria-labelledby":this.props.ariaLabelledby,"aria-controls":this.props.ariaControls,"aria-valuemax":this.props.maxValue,"aria-valuemin":this.props.minValue,"aria-valuenow":this.props.value,className:this.props.classNames.slider,draggable:"false",onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart,role:"slider",tabIndex:"0"}))}}]),Slider}(_react2.default.Component),_applyDecoratedDescriptor(_class.prototype,"handleMouseDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseDown"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleMouseUp",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseUp"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleMouseMove",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseMove"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTouchStart",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTouchStart"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTouchMove",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTouchMove"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTouchEnd",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTouchEnd"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleKeyDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleKeyDown"),_class.prototype),_class);exports.default=Slider,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _applyDecoratedDescriptor(target,property,decorators,descriptor,context){var desc={};return Object.keys(descriptor).forEach(function(key){desc[key]=descriptor[key]}),desc.enumerable=!!desc.enumerable,desc.configurable=!!desc.configurable,("value"in desc||desc.initializer)&&(desc.writable=!0),desc=decorators.slice().reverse().reduce(function(desc,decorator){return decorator(target,property,desc)||desc},desc),context&&void 0!==desc.initializer&&(desc.value=desc.initializer?desc.initializer.call(context):void 0,desc.initializer=void 0),void 0===desc.initializer&&(Object.defineProperty(target,property,desc),desc=null),desc}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _class,_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_propTypes=__webpack_require__(17),_propTypes2=_interopRequireDefault(_propTypes),_autobindDecorator=__webpack_require__(66),_autobindDecorator2=_interopRequireDefault(_autobindDecorator),Track=(_class=function(_React$Component){function Track(props){_classCallCheck(this,Track);var _this=_possibleConstructorReturn(this,(Track.__proto__||Object.getPrototypeOf(Track)).call(this,props));return _this.node=null,_this.trackDragEvent=null,_this}return _inherits(Track,_React$Component),_createClass(Track,null,[{key:"propTypes",get:function(){return{children:_propTypes2.default.node.isRequired,classNames:_propTypes2.default.objectOf(_propTypes2.default.string).isRequired,draggableTrack:_propTypes2.default.bool,onTrackDrag:_propTypes2.default.func,onTrackMouseDown:_propTypes2.default.func.isRequired,percentages:_propTypes2.default.objectOf(_propTypes2.default.number).isRequired}}}]),_createClass(Track,[{key:"getClientRect",value:function(){return this.node.getBoundingClientRect()}},{key:"getActiveTrackStyle",value:function(){var width=100*(this.props.percentages.max-this.props.percentages.min)+"%";return{left:100*this.props.percentages.min+"%",width:width}}},{key:"addDocumentMouseMoveListener",value:function(){this.removeDocumentMouseMoveListener(),this.node.ownerDocument.addEventListener("mousemove",this.handleMouseMove)}},{key:"addDocumentMouseUpListener",value:function(){this.removeDocumentMouseUpListener(),this.node.ownerDocument.addEventListener("mouseup",this.handleMouseUp)}},{key:"removeDocumentMouseMoveListener",value:function(){this.node.ownerDocument.removeEventListener("mousemove",this.handleMouseMove)}},{key:"removeDocumentMouseUpListener",value:function(){this.node.ownerDocument.removeEventListener("mouseup",this.handleMouseUp)}},{key:"handleMouseMove",value:function(event){this.props.draggableTrack&&(null!==this.trackDragEvent&&this.props.onTrackDrag(event,this.trackDragEvent),this.trackDragEvent=event)}},{key:"handleMouseUp",value:function(){this.props.draggableTrack&&(this.removeDocumentMouseMoveListener(),this.removeDocumentMouseUpListener(),this.trackDragEvent=null)}},{key:"handleMouseDown",value:function(event){var clientX=event.touches?event.touches[0].clientX:event.clientX,trackClientRect=this.getClientRect(),position={x:clientX-trackClientRect.left,y:0};this.props.onTrackMouseDown(event,position),this.props.draggableTrack&&(this.addDocumentMouseMoveListener(),this.addDocumentMouseUpListener())}},{key:"handleTouchStart",value:function(event){event.preventDefault(),this.handleMouseDown(event)}},{key:"render",value:function(){var _this2=this,activeTrackStyle=this.getActiveTrackStyle();return _react2.default.createElement("div",{className:this.props.classNames.track,onMouseDown:this.handleMouseDown,onTouchStart:this.handleTouchStart,ref:function(node){_this2.node=node}},_react2.default.createElement("div",{style:activeTrackStyle,className:this.props.classNames.activeTrack}),this.props.children)}}]),Track}(_react2.default.Component),_applyDecoratedDescriptor(_class.prototype,"handleMouseMove",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseMove"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleMouseUp",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseUp"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleMouseDown",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleMouseDown"),_class.prototype),_applyDecoratedDescriptor(_class.prototype,"handleTouchStart",[_autobindDecorator2.default],Object.getOwnPropertyDescriptor(_class.prototype,"handleTouchStart"),_class.prototype),_class);exports.default=Track,module.exports=exports.default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DOWN_ARROW=40,exports.LEFT_ARROW=37,exports.RIGHT_ARROW=39,exports.UP_ARROW=38},function(module,exports,__webpack_require__){"use strict";(function($){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=(__webpack_require__(12),__webpack_require__(8)),_ArtistSentence=(_interopRequireDefault(_Link),__webpack_require__(21)),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),AddSeedField=function(_React$Component){function AddSeedField(props){_classCallCheck(this,AddSeedField);var _this=_possibleConstructorReturn(this,(AddSeedField.__proto__||Object.getPrototypeOf(AddSeedField)).call(this,props));return _this.state={value:""},_this.id=helpers.generateGuid(),_this.timer=null,_this.handleClick=_this.handleClick.bind(_this),_this}return _inherits(AddSeedField,_React$Component),_createClass(AddSeedField,[{key:"componentDidMount",value:function(){window.addEventListener("click",this.handleClick,!1),this.props.genres||this.props.spotifyActions.getGenres()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleClick,!1)}},{key:"handleClick",value:function(e){$(e.target).closest(".add-seed-field").length<=0&&this.props.spotifyActions.clearAutocompleteResults(this.id)}},{key:"handleChange",value:function(e,value){var self=this;this.setState({value:value}),clearTimeout(this.timer),this.timer=setTimeout(function(){self.setState({searching:!0}),self.props.spotifyActions.getAutocompleteResults(self.id,value,["artist","track","genre"])},500)}},{key:"handleSelect",value:function(e,item){this.setState({value:""}),this.props.onSelect(e,item.uri),this.props.spotifyActions.clearAutocompleteResults(this.id)}},{key:"results",value:function(){return void 0===this.props.results?null:void 0===this.props.results[this.id]?null:this.props.results[this.id]}},{key:"renderResults",value:function(type){var _this2=this,results=this.results();if(!results||void 0===results[type]||results[type].length<=0)return null;var items=results[type].slice(0,3);return _react2.default.createElement("div",{className:"type"},_react2.default.createElement("h4",{className:"mid_grey-text"},type),items.map(function(item){return _react2.default.createElement("div",{className:"result",key:item.uri,onClick:function(e){return _this2.handleSelect(e,item)}},item.name,"tracks"==type?_react2.default.createElement("span",{className:"mid_grey-text"}," ",_react2.default.createElement(_ArtistSentence2.default,{artists:item.artists,nolinks:!0})):null)}))}},{key:"render",value:function(){var _this3=this,className="field autocomplete-field add-seed-field";return this.results()&&this.results().loading&&(className+=" loading"),_react2.default.createElement("div",{className:className},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",value:this.state.value,onChange:function(e){return _this3.handleChange(e,e.target.value)},placeholder:this.props.placeholder?this.props.placeholder:"Start typing..."})),_react2.default.createElement("div",{className:"results"},this.renderResults("artists"),this.renderResults("tracks"),this.renderResults("genres")))}}]),AddSeedField}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{genres:state.spotify.genres?state.spotify.genres:null,results:state.spotify.autocomplete_results?state.spotify.autocomplete_results:{}}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AddSeedField)}).call(exports,__webpack_require__(19))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_PlaylistGrid=__webpack_require__(44),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),DiscoverFeatured=function(_React$Component){function DiscoverFeatured(props){return _classCallCheck(this,DiscoverFeatured),_possibleConstructorReturn(this,(DiscoverFeatured.__proto__||Object.getPrototypeOf(DiscoverFeatured)).call(this,props))}return _inherits(DiscoverFeatured,_React$Component),_createClass(DiscoverFeatured,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Featured playlists"),this.props.featured_playlists||this.props.spotifyActions.getFeaturedPlaylists()}},{key:"playPlaylist",value:function(e,playlist){this.props.mopidyActions.playPlaylist(playlist.uri)}},{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"playlist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"renderIntro",value:function(){var _this2=this,playlist=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return playlist?_react2.default.createElement("div",{className:"intro preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:playlist.images?playlist.images.large:null,blur:!0}),_react2.default.createElement("div",{className:"content cf"},_react2.default.createElement(_Link2.default,{to:global.baseURL+"playlist/"+playlist.uri,onContextMenu:function(e){return _this2.handleContextMenu(e,playlist)}},_react2.default.createElement(_Thumbnail2.default,{images:playlist.images})),_react2.default.createElement(_Link2.default,{to:global.baseURL+"playlist/"+playlist.uri},_react2.default.createElement("h2",null,playlist.name)),playlist.description?_react2.default.createElement("h3",{dangerouslySetInnerHTML:{__html:playlist.description}}):null,_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.playPlaylist(e,playlist)}},"Play")))):_react2.default.createElement("div",{className:"intro"},_react2.default.createElement(_Parallax2.default,{disabled:this.props.disable_parallax}))}},{key:"render",value:function(){var _this3=this;if(helpers.isLoading(this.props.load_queue,["spotify_browse/featured-playlists"]))return _react2.default.createElement("div",{className:"view discover-featured-view"},_react2.default.createElement(_Header2.default,{className:"overlay",uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"star",type:"material"}),"Featured playlists"),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var playlists=[];if(this.props.featured_playlists)for(var i=0;i<this.props.featured_playlists.playlists.length;i++){var uri=this.props.featured_playlists.playlists[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}var first_playlist=playlists.splice(0,1);first_playlist&&(first_playlist=first_playlist[0]);var options=_react2.default.createElement("a",{className:"button no-hover",onClick:function(e){_this3.props.uiActions.hideContextMenu(),_this3.props.spotifyActions.getFeaturedPlaylists()}},_react2.default.createElement(_Icon2.default,{name:"refresh"}),"Refresh");return _react2.default.createElement("div",{className:"view discover-featured-view preserve-3d"},_react2.default.createElement(_Header2.default,{className:"overlay",options:options},_react2.default.createElement(_Icon2.default,{name:"star",type:"material"}),"Featured playlists"),this.renderIntro(first_playlist),_react2.default.createElement("section",{className:"content-wrapper grid-wrapper"},playlists?_react2.default.createElement(_PlaylistGrid2.default,{playlists:playlists}):null))}}]),DiscoverFeatured}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{theme:state.ui.theme,load_queue:state.ui.load_queue,featured_playlists:state.spotify.featured_playlists,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverFeatured)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_CategoryGrid=__webpack_require__(326),_CategoryGrid2=_interopRequireDefault(_CategoryGrid),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions2),DiscoverCategories=function(_React$Component){function DiscoverCategories(props){return _classCallCheck(this,DiscoverCategories),_possibleConstructorReturn(this,(DiscoverCategories.__proto__||Object.getPrototypeOf(DiscoverCategories)).call(this,props))}return _inherits(DiscoverCategories,_React$Component),_createClass(DiscoverCategories,[{key:"componentDidMount",value:function(){(!this.props.categories||Object.keys(this.props.categories).length<=1)&&this.props.spotifyActions.getCategories(),this.props.uiActions.setWindowTitle("Genre / Mood")}},{key:"render",value:function(){if(helpers.isLoading(this.props.load_queue,["spotify_browse/categories"]))return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{icon:"grid",title:"Genre / Mood"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var categories=[];if(this.props.categories)for(var key in this.props.categories)this.props.categories.hasOwnProperty(key)&&categories.push(this.props.categories[key]);return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"mood",type:"material"}),"Genre / Mood"),_react2.default.createElement("section",{className:"content-wrapper grid-wrapper"},_react2.default.createElement(_CategoryGrid2.default,{categories:categories})))}}]),DiscoverCategories}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{categories:state.spotify.categories,load_queue:state.ui.load_queue}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverCategories)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_reactRouter=__webpack_require__(12),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_GridItem=__webpack_require__(41),_GridItem2=_interopRequireDefault(_GridItem),CategoryGrid=function(_React$Component){function CategoryGrid(props){return _classCallCheck(this,CategoryGrid),_possibleConstructorReturn(this,(CategoryGrid.__proto__||Object.getPrototypeOf(CategoryGrid)).call(this,props))}return _inherits(CategoryGrid,_React$Component),_createClass(CategoryGrid,[{key:"render",value:function(){if(!this.props.categories)return null;var className="grid category-grid";return this.props.className&&(className+=" "+this.props.className),_react2.default.createElement("div",{className:className},this.props.categories.map(function(category){return _react2.default.createElement(_GridItem2.default,{key:category.id,type:"category",item:category,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"discover/categories/"+encodeURIComponent(category.id))}})}))}}]),CategoryGrid}(_react2.default.Component);exports.default=CategoryGrid}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_PlaylistGrid=__webpack_require__(44),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions2),DiscoverCategory=function(_React$Component){function DiscoverCategory(props){return _classCallCheck(this,DiscoverCategory),_possibleConstructorReturn(this,(DiscoverCategory.__proto__||Object.getPrototypeOf(DiscoverCategory)).call(this,props))}return _inherits(DiscoverCategory,_React$Component),_createClass(DiscoverCategory,[{key:"componentDidMount",value:function(){this.loadCategory(),this.setWindowTitle()}},{key:"componentWillReceiveProps",value:function(nextProps){nextProps.params.id!=this.props.params.id&&this.loadCategory(),!this.props.category&&nextProps.category&&this.setWindowTitle(nextProps.category)}},{key:"setWindowTitle",value:function(){var category=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.category;category?this.props.uiActions.setWindowTitle(category.name):this.props.uiActions.setWindowTitle("Genre / Mood")}},{key:"loadCategory",value:function(){this.props.category||this.props.spotifyActions.getCategory(this.props.params.id),this.props.category.playlists_uris||this.props.spotifyActions.getCategoryPlaylists(this.props.params.id)}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.category.playlists_more,null,{type:"SPOTIFY_CATEGORY_PLAYLISTS_LOADED_MORE",uri:"category:"+this.props.params.id})}},{key:"render",value:function(){var _this2=this;if(helpers.isLoading(this.props.load_queue,["spotify_browse/categories/"]))return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,null,_react2.default.createElement(_Icon2.default,{name:"mood",type:"material"}),this.props.category?this.props.category.name:"Category"),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));if(!this.props.category)return null;var category=helpers.collate(this.props.category,{playlists:this.props.playlists});return _react2.default.createElement("div",{className:"view discover-categories-view"},_react2.default.createElement(_Header2.default,{uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"mood",type:"material"}),category.name),_react2.default.createElement("div",{className:"content-wrapper"},_react2.default.createElement("section",{className:"grid-wrapper"},_react2.default.createElement(_PlaylistGrid2.default,{playlists:category.playlists})),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:category.playlists_more,showLoader:category.playlists_more,loadMore:function(){return _this2.loadMore()}})))}}]),DiscoverCategory}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,playlists:state.core.playlists,category:!(!state.spotify.categories||void 0===state.spotify.categories["category:"+ownProps.params.id])&&state.spotify.categories["category:"+ownProps.params.id]}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverCategory)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_AlbumGrid=__webpack_require__(43),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_Parallax=__webpack_require__(32),_Parallax2=_interopRequireDefault(_Parallax),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),DiscoverNewReleases=function(_React$Component){function DiscoverNewReleases(props){return _classCallCheck(this,DiscoverNewReleases),_possibleConstructorReturn(this,(DiscoverNewReleases.__proto__||Object.getPrototypeOf(DiscoverNewReleases)).call(this,props))}return _inherits(DiscoverNewReleases,_React$Component),_createClass(DiscoverNewReleases,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("New releases"),this.props.new_releases||this.props.spotifyActions.getNewReleases()}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.new_releases_more,null,{type:"SPOTIFY_NEW_RELEASES_LOADED"})}},{key:"playAlbum",value:function(e,album){this.props.mopidyActions.playURIs([album.uri],album.uri)}},{key:"handleContextMenu",value:function(e,item){e.preventDefault();var data={e:e,context:"album",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"renderIntro",value:function(){var _this2=this,album=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return album?_react2.default.createElement("div",{className:"intro preserve-3d"},_react2.default.createElement(_Parallax2.default,{image:album.images?album.images.large:null,blur:!0}),_react2.default.createElement("div",{className:"content cf"},_react2.default.createElement(_Link2.default,{to:global.baseURL+"album/"+album.uri,onContextMenu:function(e){return _this2.handleContextMenu(e,album)}},_react2.default.createElement(_Thumbnail2.default,{images:album.images})),_react2.default.createElement("h2",null,_react2.default.createElement(_Link2.default,{to:global.baseURL+"album/"+album.uri},album.name)),_react2.default.createElement("h3",null,_react2.default.createElement(_ArtistSentence2.default,{artists:album.artists})),_react2.default.createElement("div",{className:"actions"},_react2.default.createElement("button",{className:"primary",onClick:function(e){return _this2.playAlbum(e,album)}},"Play")))):_react2.default.createElement("div",{className:"intro preserve-3d"},_react2.default.createElement(_Parallax2.default,null))}},{key:"render",value:function(){var _this3=this;if(helpers.isLoading(this.props.load_queue,["spotify_browse/new-releases"]))return _react2.default.createElement("div",{className:"view discover-new-releases-view"},_react2.default.createElement(_Header2.default,null,_react2.default.createElement(_Icon2.default,{name:"new_releases",type:"material"}),"New releases"),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var albums=[];if(this.props.new_releases){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.props.new_releases[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var uri=_step.value;this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}var first_album=albums.splice(0,1);first_album&&(first_album=helpers.collate(first_album[0],{artists:this.props.artists}));var options=_react2.default.createElement("a",{className:"button no-hover",onClick:function(e){_this3.props.uiActions.hideContextMenu(),_this3.props.spotifyActions.getNewReleases()}},_react2.default.createElement(_Icon2.default,{name:"refresh"}),"Refresh");return _react2.default.createElement("div",{className:"view discover-new-releases-view preserve-3d"},_react2.default.createElement(_Header2.default,{className:"overlay",options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"new_releases",type:"material"}),"New releases"),this.renderIntro(first_album),_react2.default.createElement("section",{className:"content-wrapper grid-wrapper"},_react2.default.createElement(_AlbumGrid2.default,{albums:albums})),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.props.new_releases_more,showLoader:this.props.new_releases_more,loadMore:function(){return _this3.loadMore()}}))}}]),DiscoverNewReleases}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{theme:state.ui.theme,load_queue:state.ui.load_queue,artists:state.core.artists,albums:state.core.albums,new_releases:state.spotify.new_releases,new_releases_more:state.spotify.new_releases_more,new_releases_total:state.spotify.new_releases_total}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(DiscoverNewReleases)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_Header=(_interopRequireDefault(_Link),__webpack_require__(15)),_Header2=_interopRequireDefault(_Header),_ArtistGrid=__webpack_require__(39),_ArtistGrid2=_interopRequireDefault(_ArtistGrid),_List=__webpack_require__(50),_List2=_interopRequireDefault(_List),_DropdownField=__webpack_require__(33),_DropdownField2=_interopRequireDefault(_DropdownField),_FilterField=__webpack_require__(67),_FilterField2=_interopRequireDefault(_FilterField),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(61),googleActions=_interopRequireWildcard(_actions4),LibraryArtists=function(_React$Component){function LibraryArtists(props){_classCallCheck(this,LibraryArtists);var _this=_possibleConstructorReturn(this,(LibraryArtists.__proto__||Object.getPrototypeOf(LibraryArtists)).call(this,props));return _this.state={filter:"",limit:50,per_page:50},_this}return _inherits(LibraryArtists,_React$Component),_createClass(LibraryArtists,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Artists"),this.props.mopidy_library_artists||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryArtists(),!this.props.google_enabled||this.props.google_library_artists||!this.props.mopidy_connected||"all"!=this.props.source&&"google"!=this.props.source||this.props.googleActions.getLibraryArtists(),!this.props.spotify_enabled||"finished"==this.props.spotify_library_artists_status||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryArtists()}},{key:"componentWillReceiveProps",value:function(newProps){!newProps.mopidy_connected||"all"!=newProps.source&&"local"!=newProps.source||(this.props.mopidy_connected||this.props.mopidyActions.getLibraryArtists(),"all"==this.props.source||"local"==this.props.source||newProps.mopidy_library_artists||this.props.mopidyActions.getLibraryArtists()),newProps.mopidy_connected&&newProps.google_enabled&&("all"==newProps.source||"google"==newProps.source)&&(this.props.google_enabled||this.props.googleActions.getLibraryArtists(),"all"==this.props.source||"google"==this.props.source||newProps.google_library_artists||this.props.googleActions.getLibraryArtists()),!newProps.spotify_enabled||"all"!=newProps.source&&"spotify"!=newProps.source||"finished"!=newProps.spotify_library_artists_status&&"started"!=newProps.spotify_library_artists_status&&this.props.spotifyActions.getLibraryArtists()}},{key:"handleContextMenu",value:function(e,item){var data={e:e,context:"artist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"loadMore",value:function(){this.setState({limit:this.state.limit+this.state.per_page})}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={library_artists_sort_reverse:reverse,library_artists_sort:value};this.props.uiActions.set(data)}},{key:"renderView",value:function(){var _this2=this,artists=[];if(this.props.mopidy_library_artists&&("all"==this.props.source||"local"==this.props.source)){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.props.mopidy_library_artists[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){uri=_step.value;var source=helpers.uriSource(uri),artist={uri:uri,source:source};this.props.artists.hasOwnProperty(uri)&&(artist=this.props.artists[uri]),artists.push(artist)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}if(this.props.google_library_artists&&("all"==this.props.source||"google"==this.props.source)){var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=this.props.google_library_artists[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){uri=_step2.value;var source=helpers.uriSource(uri),artist={uri:uri,source:source};this.props.artists.hasOwnProperty(uri)&&(artist=this.props.artists[uri]),artists.push(artist)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}}if(this.props.spotify_library_artists&&("all"==this.props.source||"spotify"==this.props.source))for(var i=0;i<this.props.spotify_library_artists.length;i++){var uri=this.props.spotify_library_artists[i];this.props.artists.hasOwnProperty(uri)&&artists.push(this.props.artists[uri])}this.props.sort&&(artists=helpers.sortItems(artists,this.props.sort,this.props.sort_reverse)),""!==this.state.filter&&(artists=helpers.applyFilter("name",this.state.filter,artists));var total_artists=artists.length;return artists=artists.slice(0,this.state.limit),"list"==this.props.view?_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},rows:artists,thumbnail:!0,details:["followers"],middle_column:["source"],className:"artists",link_prefix:global.baseURL+"artist/"}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.state.limit,showLoader:this.state.limit<total_artists,loadMore:function(){return _this2.loadMore()}})):_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_ArtistGrid2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},artists:artists}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.state.limit,showLoader:this.state.limit<total_artists,loadMore:function(){return _this2.loadMore()}}))}},{key:"render",value:function(){var _this3=this,source_options=[{value:"all",label:"All"},{value:"local",label:"Local"}];this.props.spotify_enabled&&source_options.push({value:"spotify",label:"Spotify"}),this.props.google_enabled&&source_options.push({value:"google",label:"Google"});var view_options=[{label:"Thumbnails",value:"thumbnails"},{label:"List",value:"list"}],sort_options=[{label:"Default",value:null},{label:"Name",value:"name"},{label:"Followers",value:"followers.total"},{label:"Popularity",value:"popularity"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_FilterField2.default,{initialValue:this.state.filter,handleChange:function(value){return _this3.setState({filter:value,limit:_this3.state.per_page})}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(value){_this3.setSort(value),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"visibility",name:"View",value:this.props.view,options:view_options,handleChange:function(value){_this3.props.uiActions.set({library_artists_view:value}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"cloud",name:"Source",value:this.props.source,options:source_options,handleChange:function(value){_this3.props.uiActions.set({library_artists_source:value}),_this3.props.uiActions.hideContextMenu()}}));return _react2.default.createElement("div",{className:"view library-artists-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"recent_actors",type:"material"}),"My artists"),this.renderView())}}]),LibraryArtists}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,mopidy_uri_schemes:state.mopidy.uri_schemes,mopidy_library_artists:state.mopidy.library_artists,google_enabled:state.google.enabled,google_library_artists:state.google.library_artists,spotify_enabled:state.spotify.enabled,spotify_library_artists:state.spotify.library_artists,spotify_library_artists_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_ARTISTS_PROCESSOR.status:null,artists:state.core.artists,source:state.ui.library_artists_source?state.ui.library_artists_source:"all",sort:state.ui.library_artists_sort?state.ui.library_artists_sort:null,sort_reverse:!!state.ui.library_artists_sort_reverse&&state.ui.library_artists_sort_reverse,view:state.ui.library_artists_view}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch),googleActions:(0,_redux.bindActionCreators)(googleActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryArtists)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_AlbumGrid=(_interopRequireDefault(_Link),__webpack_require__(43)),_AlbumGrid2=_interopRequireDefault(_AlbumGrid),_List=__webpack_require__(50),_List2=_interopRequireDefault(_List),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_Thumbnail=__webpack_require__(11),_TrackList=(_interopRequireDefault(_Thumbnail),__webpack_require__(23)),_ArtistSentence=(_interopRequireDefault(_TrackList),__webpack_require__(21)),_DropdownField=(_interopRequireDefault(_ArtistSentence),__webpack_require__(33)),_DropdownField2=_interopRequireDefault(_DropdownField),_FilterField=__webpack_require__(67),_FilterField2=_interopRequireDefault(_FilterField),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(61),googleActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions5),LibraryAlbums=function(_React$Component){function LibraryAlbums(props){_classCallCheck(this,LibraryAlbums);var _this=_possibleConstructorReturn(this,(LibraryAlbums.__proto__||Object.getPrototypeOf(LibraryAlbums)).call(this,props));return _this.state={filter:"",limit:50,per_page:50},_this}return _inherits(LibraryAlbums,_React$Component),_createClass(LibraryAlbums,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Albums"),!this.props.mopidy_connected||"finished"==this.props.mopidy_library_albums_status||"started"==this.props.mopidy_library_albums_status||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryAlbums(),!this.props.google_enabled||"finished"==this.props.google_library_albums_status||"started"==this.props.google_library_albums_status||"all"!=this.props.source&&"google"!=this.props.source||this.props.googleActions.getLibraryAlbums(),!this.props.spotify_enabled||"finished"==this.props.spotify_library_albums_status||"started"==this.props.spotify_library_albums_status||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryAlbums()}},{key:"componentWillReceiveProps",value:function(newProps){!newProps.mopidy_connected||"all"!=newProps.source&&"local"!=newProps.source||(this.props.mopidy_connected||this.props.mopidyActions.getLibraryAlbums(),"all"!=this.props.source&&"local"!=this.props.source&&"finished"!=newProps.mopidy_library_albums_status&&"started"!=newProps.mopidy_library_albums_status&&this.props.mopidyActions.getLibraryAlbums()),!newProps.google_enabled||"all"!=newProps.source&&"google"!=newProps.source||(this.props.google_enabled||this.props.googleActions.getLibraryAlbums(),"all"!=this.props.source&&"google"!=this.props.source&&"finished"!=newProps.google_library_albums_status&&"started"!=newProps.google_library_albums_status&&this.props.googleActions.getLibraryAlbums()),!newProps.spotify_enabled||"all"!=newProps.source&&"spotify"!=newProps.source||"finished"!=newProps.spotify_library_albums_status&&"started"!=newProps.spotify_library_albums_status&&this.props.spotifyActions.getLibraryAlbums()}},{key:"handleContextMenu",value:function(e,item){var data={e:e,context:"album",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"moreURIsToLoad",value:function(){var uris=[];if(this.props.albums&&this.props.library_albums)for(var i=0;i<this.props.library_albums.length;i++){var uri=this.props.library_albums[i];if(this.props.albums.hasOwnProperty(uri)||"local"!=helpers.uriSource(uri)||uris.push(uri),uris.length>=50)break}return uris}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={library_albums_sort_reverse:reverse,library_albums_sort:value};this.props.uiActions.set(data)}},{key:"renderView",value:function(){var _this2=this,albums=[];if(this.props.spotify_library_albums&&("all"==this.props.source||"spotify"==this.props.source)){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.props.spotify_library_albums[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var uri=_step.value;this.props.albums.hasOwnProperty(uri)&&albums.push(this.props.albums[uri])}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}if(this.props.mopidy_library_albums&&("all"==this.props.source||"local"==this.props.source)){var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=this.props.mopidy_library_albums[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var uri=_step2.value,source=helpers.uriSource(uri),album={uri:uri,source:source};this.props.albums.hasOwnProperty(uri)&&(album=this.props.albums[uri]),albums.push(album)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2.return&&_iterator2.return()}finally{if(_didIteratorError2)throw _iteratorError2}}}if(this.props.google_library_albums&&("all"==this.props.source||"google"==this.props.source)){var _iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=this.props.google_library_albums[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var uri=_step3.value,source=helpers.uriSource(uri),album={uri:uri,source:source};this.props.albums.hasOwnProperty(uri)&&(album=this.props.albums[uri]),albums.push(album)}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3.return&&_iterator3.return()}finally{if(_didIteratorError3)throw _iteratorError3}}}this.props.sort&&(albums=helpers.sortItems(albums,this.props.sort,this.props.sort_reverse)),this.state.filter&&""!==this.state.filter&&(albums=helpers.applyFilter("name",this.state.filter,albums));var total_albums=albums.length;if(albums=albums.slice(0,this.state.limit),"list"==this.props.view){return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},rows:albums,thumbnail:!0,details:["artists","tracks_uris.length"],right_column:["added_at"],className:"albums",link_prefix:global.baseURL+"album/"}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.state.limit,showLoader:this.state.limit<total_albums,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}return _react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_AlbumGrid2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},albums:albums}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.state.limit,showLoader:this.state.limit<total_albums,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}},{key:"render",value:function(){var _this3=this,source_options=[{value:"all",label:"All"},{value:"local",label:"Local"}];this.props.spotify_enabled&&source_options.push({value:"spotify",label:"Spotify"}),this.props.google_enabled&&source_options.push({value:"google",label:"Google"});var view_options=[{value:"thumbnails",label:"Thumbnails"},{value:"list",label:"List"}],sort_options=[{value:null,label:"Default"},{value:"name",label:"Name"},{value:"artists",label:"Artist"},{value:"added_at",label:"Added"},{value:"tracks_total",label:"Tracks"},{value:"source",label:"Source"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_FilterField2.default,{initialValue:this.state.filter,handleChange:function(value){return _this3.setState({filter:value,limit:_this3.state.per_page})}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(val){_this3.setSort(val),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"visibility",name:"View",value:this.props.view,options:view_options,handleChange:function(val){_this3.props.uiActions.set({library_albums_view:val}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"cloud",name:"Source",value:this.props.source,options:source_options,handleChange:function(val){_this3.props.uiActions.set({library_albums_source:val}),_this3.props.uiActions.hideContextMenu()}}));return _react2.default.createElement("div",{className:"view library-albums-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"album",type:"material"}),"My albums"),this.renderView())}}]),LibraryAlbums}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,mopidy_uri_schemes:state.mopidy.uri_schemes,load_queue:state.ui.load_queue,albums:state.core.albums,mopidy_library_albums:state.mopidy.library_albums,mopidy_library_albums_status:void 0!==state.ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR?state.ui.processes.MOPIDY_LIBRARY_ALBUMS_PROCESSOR.status:null,google_enabled:state.google.enabled,google_library_albums:state.google.library_albums,google_library_albums_status:void 0!==state.ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR?state.ui.processes.GOOGLE_LIBRARY_ALBUMS_PROCESSOR.status:null,spotify_enabled:state.spotify.enabled,spotify_library_albums:state.spotify.library_albums,spotify_library_albums_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_ALBUMS_PROCESSOR.status:null,view:state.ui.library_albums_view,source:state.ui.library_albums_source?state.ui.library_albums_source:"all",sort:state.ui.library_albums_sort?state.ui.library_albums_sort:null,sort_reverse:!!state.ui.library_albums_sort_reverse&&state.ui.library_albums_sort_reverse}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),googleActions:(0,_redux.bindActionCreators)(googleActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryAlbums)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_TrackList=(_interopRequireDefault(_Link),__webpack_require__(23)),_TrackList2=_interopRequireDefault(_TrackList),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),LibraryTracks=function(_React$Component){function LibraryTracks(props){return _classCallCheck(this,LibraryTracks),_possibleConstructorReturn(this,(LibraryTracks.__proto__||Object.getPrototypeOf(LibraryTracks)).call(this,props))}return _inherits(LibraryTracks,_React$Component),_createClass(LibraryTracks,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Tracks"),this.props.spotify_me?void 0===this.props.library_tracks&&this.props.spotifyActions.getLibraryTracks():this.props.uiActions.createNotification({type:"warning",content:"Enable Spotify to browse tracks"})}},{key:"loadMore",value:function(){this.props.spotifyActions.getMore(this.props.library_tracks_more,null,{type:"SPOTIFY_LIBRARY_TRACKS_LOADED_MORE"})}},{key:"playAll",value:function(){this.props.spotifyActions.getLibraryTracksAndPlay()}},{key:"render",value:function(){var _this2=this;if(helpers.isLoading(this.props.load_queue,["spotify_me/tracks"]))return _react2.default.createElement("div",{className:"view library-tracks-view"},_react2.default.createElement(_Header2.default,{icon:"music",title:"My tracks"}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var tracks=[];if(this.props.library_tracks&&this.props.tracks)for(var i=0;i<this.props.library_tracks.length;i++){var uri=this.props.library_tracks[i];this.props.tracks.hasOwnProperty(uri)&&tracks.push(this.props.tracks[uri])}var options=_react2.default.createElement("a",{className:"button button--no-hover",onClick:function(e){return _this2.playAll(e)}},_react2.default.createElement(_Icon2.default,{name:"play_circle_filled"}),"Play all");return _react2.default.createElement("div",{className:"view library-tracks-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"music_note",type:"material"}),"My tracks"),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_TrackList2.default,{tracks:tracks}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.props.library_tracks_more,showLoader:this.props.library_tracks_more,loadMore:function(){return _this2.loadMore()}})))}}]),LibraryTracks}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,tracks:state.core.tracks,spotify_me:state.spotify.me,library_tracks:state.spotify.library_tracks,library_tracks_more:state.spotify.library_tracks_more}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryTracks)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_Link2=_interopRequireDefault(_Link),_PlaylistGrid=__webpack_require__(44),_PlaylistGrid2=_interopRequireDefault(_PlaylistGrid),_List=__webpack_require__(50),_List2=_interopRequireDefault(_List),_DropdownField=__webpack_require__(33),_DropdownField2=_interopRequireDefault(_DropdownField),_Header=__webpack_require__(15),_Header2=_interopRequireDefault(_Header),_FilterField=__webpack_require__(67),_FilterField2=_interopRequireDefault(_FilterField),_LazyLoadListener=__webpack_require__(24),_LazyLoadListener2=_interopRequireDefault(_LazyLoadListener),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),LibraryPlaylists=function(_React$Component){function LibraryPlaylists(props){_classCallCheck(this,LibraryPlaylists);var _this=_possibleConstructorReturn(this,(LibraryPlaylists.__proto__||Object.getPrototypeOf(LibraryPlaylists)).call(this,props));return _this.state={filter:"",limit:50,per_page:50},_this}return _inherits(LibraryPlaylists,_React$Component),_createClass(LibraryPlaylists,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Playlists"),this.props.mopidy_library_playlists||!this.props.mopidy_connected||"all"!=this.props.source&&"local"!=this.props.source||this.props.mopidyActions.getLibraryPlaylists(),!this.props.spotify_enabled||"finished"===this.props.spotify_library_playlists_status||"all"!=this.props.source&&"spotify"!=this.props.source||this.props.spotifyActions.getLibraryPlaylists()}},{key:"componentWillReceiveProps",value:function(newProps){!newProps.mopidy_connected||"all"!=newProps.source&&"local"!=newProps.source||(this.props.mopidy_connected||this.props.mopidyActions.getLibraryPlaylists(),"all"==this.props.source||"local"==this.props.source||newProps.mopidy_library_playlists||this.props.mopidyActions.getLibraryPlaylists()),!newProps.spotify_enabled||"all"!=newProps.source&&"spotify"!=newProps.source||"finished"!=newProps.spotify_library_playlists_status&&"started"!=newProps.spotify_library_playlists_status&&this.props.spotifyActions.getLibraryPlaylists()}},{key:"handleContextMenu",value:function(e,item){var data={e:e,context:"playlist",uris:[item.uri],items:[item]};this.props.uiActions.showContextMenu(data)}},{key:"setSort",value:function(value){var reverse=!1;this.props.sort==value&&(reverse=!this.props.sort_reverse);var data={library_playlists_sort_reverse:reverse,library_playlists_sort:value};this.props.uiActions.set(data)}},{key:"renderView",value:function(){var _this2=this,playlists=[];if(this.props.spotify_library_playlists&&("all"==this.props.source||"spotify"==this.props.source))for(var i=0;i<this.props.spotify_library_playlists.length;i++){var uri=this.props.spotify_library_playlists[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}if(this.props.mopidy_library_playlists&&("all"==this.props.source||"local"==this.props.source))for(var i=0;i<this.props.mopidy_library_playlists.length;i++){var uri=this.props.mopidy_library_playlists[i];this.props.playlists.hasOwnProperty(uri)&&playlists.push(this.props.playlists[uri])}this.props.sort&&(playlists=helpers.sortItems(playlists,this.props.sort,this.props.sort_reverse)),playlists=helpers.removeDuplicates(playlists),""!==this.state.filter&&(playlists=helpers.applyFilter("name",this.state.filter,playlists));var total_playlists=playlists.length;return playlists=playlists.slice(0,this.state.limit),"list"==this.props.view?_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_List2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},rows:playlists,thumbnail:!0,details:["owner","tracks_total"],right_column:["source"],className:"playlists",link_prefix:global.baseURL+"playlist/"}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.state.limit,loading:this.state.limit<total_playlists,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}})):_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_PlaylistGrid2.default,{handleContextMenu:function(e,item){return _this2.handleContextMenu(e,item)},playlists:playlists}),_react2.default.createElement(_LazyLoadListener2.default,{loadKey:this.state.limit,loading:this.state.limit<total_playlists,loadMore:function(){return _this2.setState({limit:_this2.state.limit+_this2.state.per_page})}}))}},{key:"render",value:function(){var _this3=this,source_options=[{value:"all",label:"All"},{value:"local",label:"Local"}];this.props.spotify_enabled&&source_options.push({value:"spotify",label:"Spotify"});var view_options=[{value:"thumbnails",label:"Thumbnails"},{value:"list",label:"List"}],sort_options=[{value:null,label:"Default"},{value:"name",label:"Name"},{value:"can_edit",label:"Editable"},{value:"owner.id",label:"Owner"},{value:"tracks.total",label:"Tracks"},{value:"source",label:"Source"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_FilterField2.default,{initialValue:this.state.filter,handleChange:function(value){return _this3.setState({filter:value})}}),_react2.default.createElement(_DropdownField2.default,{icon:"sort",name:"Sort",value:this.props.sort,options:sort_options,selected_icon:this.props.sort?this.props.sort_reverse?"keyboard_arrow_up":"keyboard_arrow_down":null,handleChange:function(value){_this3.setSort(value),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"visibility",name:"View",value:this.props.view,options:view_options,handleChange:function(value){_this3.props.uiActions.set({library_playlists_view:value}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_DropdownField2.default,{icon:"cloud",name:"Source",value:this.props.source,options:source_options,handleChange:function(value){_this3.props.uiActions.set({library_playlists_source:value}),_this3.props.uiActions.hideContextMenu()}}),_react2.default.createElement(_Link2.default,{className:"button no-hover",to:global.baseURL+"playlist/create"},_react2.default.createElement(_Icon2.default,{name:"add_box"}),"New"));return _react2.default.createElement("div",{className:"view library-playlists-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"queue_music",type:"material"}),"My playlists"),this.renderView())}}]),LibraryPlaylists}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{slim_mode:state.ui.slim_mode,mopidy_connected:state.mopidy.connected,mopidy_uri_schemes:state.mopidy.uri_schemes,mopidy_library_playlists:state.mopidy.library_playlists,mopidy_library_playlists_status:void 0!==state.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR?state.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR.status:null,spotify_enabled:state.mopidy.uri_schemes&&state.mopidy.uri_schemes.includes("spotify:"),spotify_library_playlists:state.spotify.library_playlists,spotify_library_playlists_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status:null,load_queue:state.ui.load_queue,me_id:!!state.spotify.me&&state.spotify.me.id,view:state.ui.library_playlists_view,source:state.ui.library_playlists_source?state.ui.library_playlists_source:"all",sort:state.ui.library_playlists_sort?state.ui.library_playlists_sort:null,sort_reverse:!!state.ui.library_playlists_sort_reverse&&state.ui.library_playlists_sort_reverse,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryPlaylists)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_Link=__webpack_require__(8),_Header=(_interopRequireDefault(_Link),__webpack_require__(15)),_Header2=_interopRequireDefault(_Header),_List=__webpack_require__(50),_List2=_interopRequireDefault(_List),_TrackList=__webpack_require__(23),_TrackList2=_interopRequireDefault(_TrackList),_GridItem=__webpack_require__(41),_GridItem2=_interopRequireDefault(_GridItem),_DropdownField=__webpack_require__(33),_DropdownField2=_interopRequireDefault(_DropdownField),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_URILink=__webpack_require__(22),_URILink2=_interopRequireDefault(_URILink),_ErrorBoundary=__webpack_require__(65),_ErrorBoundary2=_interopRequireDefault(_ErrorBoundary),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),_actions=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions3),LibraryBrowse=function(_React$Component){function LibraryBrowse(props){return _classCallCheck(this,LibraryBrowse),_possibleConstructorReturn(this,(LibraryBrowse.__proto__||Object.getPrototypeOf(LibraryBrowse)).call(this,props))}return _inherits(LibraryBrowse,_React$Component),_createClass(LibraryBrowse,[{key:"componentDidMount",value:function(){this.loadDirectory()}},{key:"componentWillReceiveProps",value:function(nextProps){this.props.uiActions.setWindowTitle("Browse"),!this.props.mopidy_connected&&nextProps.mopidy_connected&&this.loadDirectory(nextProps),nextProps.params.uri!=this.props.params.uri&&this.loadDirectory(nextProps)}},{key:"loadDirectory",value:function(){var props=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props;if(props.mopidy_connected){var uri=null;void 0!==props.params.uri&&(uri=props.params.uri),this.props.mopidyActions.getDirectory(uri)}}},{key:"playAll",value:function(e,tracks){var tracks_uris=helpers.arrayOf("uri",tracks);this.props.mopidyActions.playURIs(tracks_uris,"iris:browse:"+this.props.params.uri),this.props.uiActions.hideContextMenu()}},{key:"goBack",value:function(e){window.history.back(),this.props.uiActions.hideContextMenu()}},{key:"renderBreadcrumbs",value:function(){if(!this.props.params.uri)return null;var parent_uri=this.props.params.uri;if(parent_uri.startsWith("file://")){var uri=parent_uri.replace("file:///",""),uri_elements=uri.split("/");return _react2.default.createElement("h4",null,uri_elements.map(function(uri_element,index){for(var uri="file://",i=0;i<=index;i++)uri+="/"+uri_elements[i];return _react2.default.createElement("span",{key:uri},index>0?_react2.default.createElement("span",null," ",_react2.default.createElement(_Icon2.default,{type:"fontawesome",name:"angle-right"})," "):null,_react2.default.createElement(_URILink2.default,{type:"browse",uri:uri},decodeURI(uri_element)))}))}return null}},{key:"renderSubdirectories",value:function(subdirectories){return"list"==this.props.view?_react2.default.createElement(_List2.default,{nocontext:!0,rows:subdirectories,className:"library-local-directory-list",link_prefix:global.baseURL+"library/browse/"}):_react2.default.createElement("div",{className:"grid category-grid"},subdirectories.map(function(subdirectory){return _react2.default.createElement(_GridItem2.default,{key:subdirectory.uri,type:"category",item:subdirectory,onClick:function(e){_reactRouter.hashHistory.push(global.baseURL+"library/browse/"+encodeURIComponent(subdirectory.uri))}})}))}},{key:"renderDirectory",value:function(directory){var _this2=this,title="Browse",uri_exploded=this.props.params.uri.split(":");if(uri_exploded.length>0&&(title=uri_exploded[0],title=title.charAt(0).toUpperCase()+title.slice(1)),!this.props.directory||helpers.isLoading(this.props.load_queue,["mopidy_browse"]))return _react2.default.createElement("div",{className:"view library-local-view"},_react2.default.createElement(_Header2.default,{icon:"music",title:title,uiActions:this.props.uiActions}),_react2.default.createElement("div",{className:"body-loader loading"},_react2.default.createElement("div",{className:"loader"})));var tracks=this.props.directory.tracks&&this.props.directory.tracks.length>0?this.props.directory.tracks:null,subdirectories=this.props.directory.subdirectories&&this.props.directory.subdirectories.length>0?this.props.directory.subdirectories:null,view_options=[{label:"Thumbnails",value:"thumbnails"},{label:"List",value:"list"}],options=_react2.default.createElement("span",null,_react2.default.createElement(_DropdownField2.default,{icon:"visibility",name:"View",value:this.props.view,options:view_options,handleChange:function(value){_this2.props.uiActions.set({library_directory_view:value}),_this2.props.uiActions.hideContextMenu()}}),tracks?_react2.default.createElement("a",{className:"button no-hover",onClick:function(e){_this2.props.uiActions.hideContextMenu(),_this2.playAll(e,tracks)}},_react2.default.createElement(_Icon2.default,{name:"play_circle_filled"}),"Play all"):null,_react2.default.createElement("a",{className:"button no-hover",onClick:function(e){_this2.props.uiActions.hideContextMenu(),_this2.goBack(e)}},_react2.default.createElement(_Icon2.default,{name:"keyboard_backspace"}),"Back"));return _react2.default.createElement("div",{className:"view library-local-view"},_react2.default.createElement(_Header2.default,{options:options,uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"folder",type:"material"}),title),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement(_ErrorBoundary2.default,null,this.renderBreadcrumbs(),subdirectories?this.renderSubdirectories(subdirectories):null,tracks?_react2.default.createElement(_TrackList2.default,{tracks:this.props.directory.tracks,uri:"iris:browse:"+this.props.params.uri,className:"library-local-track-list"}):null)))}},{key:"renderIndex",value:function(){var grid_items=[];if(this.props.directory){var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.props.directory.subdirectories[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var subdirectory=_step.value;switch(subdirectory.name){case"Dirble":subdirectory.icons=["assets/backgrounds/browse-dirble.jpg"];break;case"Files":case"Local media":subdirectory.icons=["assets/backgrounds/browse-folders.jpg"];break;case"Spotify":case"Spotify Browse":subdirectory.icons=["assets/backgrounds/browse-spotify.jpg"];break;case"Spotify Tunigo":case"Tunigo":subdirectory.icons=["assets/backgrounds/browse-tunigo.jpg"];break;case"TuneIn":subdirectory.icons=["assets/backgrounds/browse-tunein.jpg"];break;case"SoundCloud":subdirectory.icons=["assets/backgrounds/browse-soundcloud.jpg"];break;case"iTunes Store: Podcasts":subdirectory.icons=["assets/backgrounds/browse-itunes.jpg"];break;case"Soma FM":subdirectory.icons=["assets/backgrounds/browse-somafm.jpg"];break;default:subdirectory.icons=["assets/backgrounds/browse-default.jpg"]}grid_items.push({name:subdirectory.name,link:global.baseURL+"library/browse/"+encodeURIComponent(subdirectory.uri),icons:helpers.formatImages(subdirectory.icons)})}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}}return _react2.default.createElement("div",{className:"view library-local-view"},_react2.default.createElement(_Header2.default,{uiActions:this.props.uiActions},_react2.default.createElement(_Icon2.default,{name:"folder",type:"material"}),"Browse"),_react2.default.createElement("section",{className:"content-wrapper"},_react2.default.createElement("div",{className:"grid category-grid"},_react2.default.createElement(_ErrorBoundary2.default,null,grid_items.map(function(item,index){return _react2.default.createElement(_GridItem2.default,{item:item,key:index,type:"category",onClick:function(e){return _reactRouter.hashHistory.push(item.link)}})})))))}},{key:"render",value:function(){return void 0!==this.props.params.uri&&this.props.params.uri?this.renderDirectory():this.renderIndex()}}]),LibraryBrowse}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{load_queue:state.ui.load_queue,mopidy_connected:state.mopidy.connected,directory:state.mopidy.directory,view:state.ui.library_directory_view}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(LibraryBrowse)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_actions=(_interopRequireDefault(_Icon),__webpack_require__(10)),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),EditPlaylist=function(_React$Component){function EditPlaylist(props){_classCallCheck(this,EditPlaylist);var _this=_possibleConstructorReturn(this,(EditPlaylist.__proto__||Object.getPrototypeOf(EditPlaylist)).call(this,props));return _this.state={error:null,name:"",description:"",image:null,public:!1,collaborative:!1},_this}return _inherits(EditPlaylist,_React$Component),_createClass(EditPlaylist,[{key:"componentDidMount",value:function(){if(this.props.uiActions.setWindowTitle("Edit playlist"),this.props.playlist)this.setState({name:this.props.playlist.name,description:this.props.playlist.description,public:1==this.props.playlist.public,collaborative:1==this.props.playlist.collaborative});else switch(helpers.uriSource(this.props.params.uri)){case"spotify":this.props.spotifyActions.getPlaylist(this.props.params.uri),this.props.spotifyActions.following(this.props.params.uri);break;default:props.mopidy_connected&&this.props.mopidyActions.getPlaylist(this.props.params.uri)}}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.playlist&&nextProps.playlist&&this.setState({name:nextProps.playlist.name,description:nextProps.playlist.description,public:1==nextProps.playlist.public,collaborative:1==nextProps.playlist.collaborative})}},{key:"savePlaylist",value:function(e){return e.preventDefault(),this.state.name&&""!=this.state.name?(this.props.coreActions.savePlaylist(this.props.params.uri,this.state.name,this.state.description,this.state.public,this.state.collaborative,this.state.image),window.history.back(),!1):(this.setState({error:"Name is required"}),!1)}},{key:"setImage",value:function(e){var self=this,file_reader=new FileReader;file_reader.addEventListener("load",function(e){var image_base64=e.target.result.replace("data:image/jpeg;base64,","");self.setState({image:image_base64})}),file_reader.readAsDataURL(e.target.files[0])}},{key:"renderFields",value:function(){var _this2=this;switch(helpers.uriSource(this.props.params.uri)){case"spotify":return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Name"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name}))),_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Description"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({description:e.target.value})},value:this.state.description}))),_react2.default.createElement("div",{className:"field file"},_react2.default.createElement("div",{className:"name"},"Cover image"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"file",placeholder:"Leave empty to keep existing image",onChange:function(e){return _this2.setImage(e)}}),_react2.default.createElement("div",{className:"description"},"JPEG only, 256kB max. Leave empty to keep cover image unchanged."))),_react2.default.createElement("div",{className:"field checkbox white"},_react2.default.createElement("div",{className:"name"},"Options"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"playlist_private",checked:this.state.public,onChange:function(e){return _this2.setState({public:!_this2.state.public})}}),_react2.default.createElement("span",{className:"label"},"Public")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"collaborative",checked:this.state.collaborative,onChange:function(e){return _this2.setState({collaborative:!_this2.state.collaborative})}}),_react2.default.createElement("span",{className:"label"},"Collaborative")))));default:return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Name"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name}))))}}},{key:"render",value:function(){var _this3=this;return _react2.default.createElement(_Modal2.default,{className:"modal--edit-playlist"},_react2.default.createElement("h1",null,"Edit playlist"),this.state.error?_react2.default.createElement("h3",{className:"red-text"},this.state.error):null,_react2.default.createElement("form",{onSubmit:function(e){return _this3.savePlaylist(e)}},this.renderFields(),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary large"},"Save"))))}}]),EditPlaylist}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,playlist:void 0!==state.core.playlists[ownProps.params.uri]?state.core.playlists[ownProps.params.uri]:null,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(EditPlaylist)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_actions=(_interopRequireDefault(_Icon),__webpack_require__(10)),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_helpers=__webpack_require__(1),CreatePlaylist=(_interopRequireWildcard(_helpers),function(_React$Component){function CreatePlaylist(props){_classCallCheck(this,CreatePlaylist);var _this=_possibleConstructorReturn(this,(CreatePlaylist.__proto__||Object.getPrototypeOf(CreatePlaylist)).call(this,props));return _this.state={name:"",description:"",scheme:"spotify",is_public:!0,is_collaborative:!1},_this}return _inherits(CreatePlaylist,_React$Component),_createClass(CreatePlaylist,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Create playlist")}},{key:"createPlaylist",value:function(e){return e.preventDefault(),this.state.name&&""!=this.state.name?(this.props.coreActions.createPlaylist(this.state.scheme,this.state.name,this.state.description,this.state.is_public,this.state.is_collaborative),window.history.back(),!1):(this.setState({error:"Name is required"}),!1)}},{key:"renderFields",value:function(){var _this2=this;switch(this.state.scheme){case"spotify":return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Name"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name}))),_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Description"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({description:e.target.value})},value:this.state.description}))),_react2.default.createElement("div",{className:"field checkbox white"},_react2.default.createElement("div",{className:"name"},"Options"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"is_public",checked:this.state.is_public,onChange:function(e){return _this2.setState({is_public:!_this2.state.is_public})}}),_react2.default.createElement("span",{className:"label"},"Public")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"is_collaborative",checked:this.state.is_collaborative,onChange:function(e){return _this2.setState({is_collaborative:!_this2.state.is_collaborative})}}),_react2.default.createElement("span",{className:"label"},"Collaborative")))));default:return _react2.default.createElement("div",null,_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Name"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({name:e.target.value})},value:this.state.name}))))}}},{key:"render",value:function(){var _this3=this;return _react2.default.createElement(_Modal2.default,{className:"modal--create-playlist"},_react2.default.createElement("h1",null,"Create playlist"),_react2.default.createElement("form",{onSubmit:function(e){return _this3.createPlaylist(e)}},_react2.default.createElement("div",{className:"field radio white"},_react2.default.createElement("div",{className:"name"},"Provider"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"scheme",value:"spotify",checked:"spotify"==this.state.scheme,onChange:function(e){return _this3.setState({scheme:e.target.value})}}),_react2.default.createElement("span",{className:"label"},"Spotify")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"scheme",value:"m3u",checked:"m3u"==this.state.scheme,onChange:function(e){return _this3.setState({scheme:e.target.value})}}),_react2.default.createElement("span",{className:"label"},"Mopidy")))),this.renderFields(),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary large"},"Create playlist"))))}}]),CreatePlaylist}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(CreatePlaylist)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++)arr2[i]=arr[i];return arr2}return Array.from(arr)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),_actions5=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions5),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),EditRadio=function(_React$Component){function EditRadio(props){_classCallCheck(this,EditRadio);var _this=_possibleConstructorReturn(this,(EditRadio.__proto__||Object.getPrototypeOf(EditRadio)).call(this,props));return _this.state={enabled:!1,seeds:[],uri:"",error_message:null},_this}return _inherits(EditRadio,_React$Component),_createClass(EditRadio,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Edit radio"),this.props.radio&&this.props.radio.enabled&&this.loadRadio(this.props.radio)}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.radio&&nextProps.radio&&this.loadRadio(nextProps.radio)}},{key:"loadRadio",value:function(radio){var seeds=[].concat(_toConsumableArray(radio.seed_tracks),_toConsumableArray(radio.seed_artists),_toConsumableArray(radio.seed_genres));this.setState({seeds:seeds,enabled:radio.enabled}),this.props.spotifyActions.resolveRadioSeeds(radio)}},{key:"handleStart",value:function(e){e.preventDefault();for(var valid_seeds=!0,seeds=this.mapSeeds(),i=0;i<seeds.length;i++)void 0===seeds[i].unresolved||(valid_seeds=!1);valid_seeds?(this.props.pusherActions.startRadio(this.state.seeds),window.history.back()):this.setState({error_message:"Invalid seed URI(s)"})}},{key:"handleUpdate",value:function(e){e.preventDefault();for(var valid_seeds=!0,seeds=this.mapSeeds(),i=0;i<seeds.length;i++)void 0===seeds[i].unresolved||(valid_seeds=!1);valid_seeds?(this.props.pusherActions.updateRadio(this.state.seeds),this.props.uiActions.closeModal()):this.setState({error_message:"Invalid seed URI(s)"})}},{key:"handleStop",value:function(e){e.preventDefault(),this.props.pusherActions.stopRadio(),this.props.uiActions.closeModal()}},{key:"addSeed",value:function(e){if(e.preventDefault(),""==this.state.uri)return void this.setState({error_message:"Cannot be empty"});for(var seeds=Object.assign([],this.state.seeds),uris=this.state.uri.split(","),i=0;i<uris.length;i++){if("spotify"!==helpers.uriSource(uris[i]))return void this.setState({error_message:"Non-Spotify URIs not supported"});switch(seeds.indexOf(uris[i])>-1?this.setState({error_message:"URI already added"}):(seeds.push(uris[i]),this.setState({error_message:null})),helpers.uriType(uris[i])){case"track":this.props.spotifyActions.getTrack(uris[i]);break;case"artist":this.props.spotifyActions.getArtist(uris[i])}}this.setState({seeds:seeds,uri:""})}},{key:"removeSeed",value:function(uri){for(var seeds=[],i=0;i<this.state.seeds.length;i++)this.state.seeds[i]!=uri&&seeds.push(this.state.seeds[i]);this.setState({seeds:seeds})}},{key:"mapSeeds",value:function(){var seeds=[];if(this.state.seeds)for(var i=0;i<this.state.seeds.length;i++){var uri=this.state.seeds[i];uri&&("artist"==helpers.uriType(uri)?this.props.artists&&this.props.artists.hasOwnProperty(uri)?seeds.push(this.props.artists[uri]):seeds.push({unresolved:!0,uri:uri}):"track"==helpers.uriType(uri)&&(this.props.tracks&&this.props.tracks.hasOwnProperty(uri)?seeds.push(this.props.tracks[uri]):seeds.push({unresolved:!0,uri:uri})))}return seeds}},{key:"renderSeeds",value:function(){var _this2=this,seeds=this.mapSeeds();return seeds.length>0?_react2.default.createElement("div",null,_react2.default.createElement("div",{className:"list"},seeds.map(function(seed,index){return _react2.default.createElement("div",{className:"list__item",key:seed.uri},seed.unresolved?_react2.default.createElement("span",{className:"mid_grey-text"},seed.uri):_react2.default.createElement("span",null,seed.name),seed.unresolved?null:_react2.default.createElement("span",{className:"mid_grey-text"}," (",seed.type,")"),_react2.default.createElement("span",{className:"button discrete remove-uri no-hover",onClick:function(e){return _this2.removeSeed(seed.uri)}},_react2.default.createElement(_Icon2.default,{name:"delete"}),"Remove"))}))):_react2.default.createElement("div",{className:"no-results"},"No seeds")}},{key:"render",value:function(){var _this3=this;return _react2.default.createElement(_Modal2.default,{className:"modal--edit-radio"},_react2.default.createElement("h1",null,"Radio"),_react2.default.createElement("h2",{className:"mid_grey-text"},"Add and remove seeds to shape the sound of your radio. Radio uses Spotify's recommendations engine to suggest tracks similar to your seeds."),_react2.default.createElement("form",{onSubmit:function(e){_this3.state.enabled?_this3.handleUpdate(e):_this3.handleStart(e)}},this.renderSeeds(),_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"URI(s)"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this3.setState({uri:e.target.value,error_message:null})},value:this.state.uri}),_react2.default.createElement("span",{className:"button discrete add-uri no-hover",onClick:function(e){return _this3.addSeed(e)}},_react2.default.createElement(_Icon2.default,{name:"add"}),"Add"),this.state.error_message?_react2.default.createElement("span",{className:"description error"},this.state.error_message):null)),_react2.default.createElement("div",{className:"actions centered-text"},this.state.enabled?_react2.default.createElement("span",{className:"button destructive large",onClick:function(e){return _this3.handleStop(e)}},"Stop"):null,this.state.enabled?_react2.default.createElement("button",{className:"primary large",onClick:function(e){return _this3.handleUpdate(e)}},"Save"):_react2.default.createElement("button",{className:"primary large",onClick:function(e){return _this3.handleStart(e)}},"Start"))))}}]),EditRadio}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,radio:state.core.radio,artists:state.core.artists,tracks:state.core.tracks}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(EditRadio)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_actions=(_interopRequireDefault(_Icon),__webpack_require__(10)),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),_helpers=__webpack_require__(1),AddToQueue=(_interopRequireWildcard(_helpers),function(_React$Component){function AddToQueue(props){_classCallCheck(this,AddToQueue);var _this=_possibleConstructorReturn(this,(AddToQueue.__proto__||Object.getPrototypeOf(AddToQueue)).call(this,props));return _this.state={uris:"",next:!1},_this}return _inherits(AddToQueue,_React$Component),_createClass(AddToQueue,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Add to queue")}},{key:"handleSubmit",value:function(e){e.preventDefault();var uris=this.state.uris.split(",");this.props.mopidyActions.enqueueURIs(uris,null,this.state.next),window.history.back()}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement(_Modal2.default,{className:"modal--add-to-queue"},_react2.default.createElement("h1",null,"Add to queue"),_react2.default.createElement("h2",{className:"mid_grey-text"},"Add a comma-separated list of URIs to the play queue. You must have the appropriate Mopidy backend enabled for each URI schema (eg spotify:, yt:)."),_react2.default.createElement("form",{onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"URI(s)"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({uris:e.target.value})},value:this.state.uris}))),_react2.default.createElement("div",{className:"field radio white"},_react2.default.createElement("div",{className:"name"},"Position"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"next",checked:!this.state.next,onChange:function(e){return _this2.setState({next:!1})}}),_react2.default.createElement("span",{className:"label"},"End")),_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"radio",name:"next",checked:this.state.next,onChange:function(e){return _this2.setState({next:!0})}}),_react2.default.createElement("span",{className:"label"},"After current track")))),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{type:"submit",className:"primary large"},"Add"))))}}]),AddToQueue}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{mopidy_connected:state.mopidy.connected,playlist:void 0!==state.core.playlists[ownProps.params.uri]?state.core.playlists[ownProps.params.uri]:null,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AddToQueue)},function(module,exports,__webpack_require__){"use strict";(function(global){function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_reactRouter=__webpack_require__(12),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_SpotifyAuthenticationFrame=(_interopRequireDefault(_Icon),__webpack_require__(102)),_LastfmAuthenticationFrame=(_interopRequireDefault(_SpotifyAuthenticationFrame),__webpack_require__(103)),_actions=(_interopRequireDefault(_LastfmAuthenticationFrame),__webpack_require__(10)),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions4),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),InitialSetup=function(_React$Component){function InitialSetup(props){_classCallCheck(this,InitialSetup);var _this=_possibleConstructorReturn(this,(InitialSetup.__proto__||Object.getPrototypeOf(InitialSetup)).call(this,props));return _this.state={username:_this.props.username,allow_reporting:_this.props.allow_reporting,host:_this.props.host,port:_this.props.port},_this}return _inherits(InitialSetup,_React$Component),_createClass(InitialSetup,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Welcome to Iris")}},{key:"handleSubmit",value:function(e){e.preventDefault();var self=this;return this.props.pusherActions.setUsername(this.state.username,!0),this.props.uiActions.set({initial_setup_complete:!0,allow_reporting:this.state.allow_reporting}),this.props.mopidyActions.set({host:this.state.host,port:this.state.port}),this.setState({saving:!0}),setTimeout(function(){self.state.host!==self.props.host||self.state.port!==self.props.port?window.location=global.baseURL:_reactRouter.hashHistory.push(global.baseURL)},200),!1}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement(_Modal2.default,{className:"modal--initial-setup",noclose:!0},_react2.default.createElement("h1",null,"Get started"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("div",{className:"field text"},_react2.default.createElement("div",{className:"name"},"Username"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({username:e.target.value.replace(/\W/g,"")})},value:this.state.username}),_react2.default.createElement("div",{className:"description"},"A non-unique string used to identify this client (no special characters)"))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Host"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({host:e.target.value})},value:this.state.host}))),_react2.default.createElement("div",{className:"field"},_react2.default.createElement("div",{className:"name"},"Port"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("input",{type:"text",onChange:function(e){return _this2.setState({port:e.target.value})},value:this.state.port}))),helpers.isHosted()?null:_react2.default.createElement("div",{className:"field checkbox"},_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"allow_reporting",checked:this.state.allow_reporting,onChange:function(e){return _this2.setState({allow_reporting:!_this2.state.allow_reporting})}}),_react2.default.createElement("span",{className:"label"},"Allow reporting of anonymous usage statistics")),_react2.default.createElement("p",{className:"description"},"This anonymous usage data is important in identifying errors and potential features that make Iris better for everyone. Want to know more? Read the ",_react2.default.createElement("a",{href:"https://github.com/jaedb/Iris/wiki/Terms-of-use#privacy-policy",target:"_blank"},"privacy policy"),this.state.allow_reporting?null:_react2.default.createElement("span",{className:"red-text"}," Are you sure you don't want to support this?"),". "))),_react2.default.createElement("div",{className:"actions centered-text"},_react2.default.createElement("button",{className:"primary large"+(this.state.saving?" working":""),onClick:function(e){return _this2.handleSubmit(e)}},this.state.saving?"Saving":"Save"))))}}]),InitialSetup}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{allow_reporting:state.ui.allow_reporting,username:state.pusher&&state.pusher.username?state.pusher.username:"Anonymous",host:state.mopidy.host,port:state.mopidy.port}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(InitialSetup)}).call(exports,__webpack_require__(9))},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=__webpack_require__(8),_redux=(_interopRequireDefault(_Link),__webpack_require__(2)),_Modal=__webpack_require__(26),_Modal2=_interopRequireDefault(_Modal),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_ArtistSentence=__webpack_require__(21),_ArtistSentence2=_interopRequireDefault(_ArtistSentence),_Dater=__webpack_require__(31),_Icon=(_interopRequireDefault(_Dater),__webpack_require__(5)),_Icon2=_interopRequireDefault(_Icon),_ProgressSlider=__webpack_require__(98),_ProgressSlider2=_interopRequireDefault(_ProgressSlider),_helpers=__webpack_require__(1),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions2),KioskMode=function(_React$Component){function KioskMode(props){return _classCallCheck(this,KioskMode),_possibleConstructorReturn(this,(KioskMode.__proto__||Object.getPrototypeOf(KioskMode)).call(this,props))}return _inherits(KioskMode,_React$Component),_createClass(KioskMode,[{key:"componentDidMount",value:function(){this.setWindowTitle()}},{key:"componentWillReceiveProps",value:function(nextProps){!this.props.current_track&&nextProps.current_track&&this.setWindowTitle(nextProps.current_track)}},{key:"setWindowTitle",value:function(){var current_track=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.current_track;if(current_track){for(var artists="",i=0;i<current_track.artists.length;i++)""!=artists&&(artists+=", "),artists+=current_track.artists[i].name;this.props.uiActions.setWindowTitle(current_track.name+" by "+artists+" (now playing)")}else this.props.uiActions.setWindowTitle("Now playing")}},{key:"togglePlay",value:function(e){"playing"==this.props.play_state?this.props.mopidyActions.pause():this.props.mopidyActions.play()}},{key:"render",value:function(){var _this2=this;if(this.props.current_track&&this.props.current_track.images)var images=this.props.current_track.images;else var images=[];return _react2.default.createElement(_Modal2.default,{className:"modal--kiosk-mode"},_react2.default.createElement(_Thumbnail2.default,{className:"background",images:images}),_react2.default.createElement("div",{className:"artwork",onClick:function(e){return _this2.togglePlay(e)}},_react2.default.createElement(_Thumbnail2.default,{images:images}),"playing"==this.props.play_state?_react2.default.createElement(_Icon2.default,{name:"pause_circle_filled"}):_react2.default.createElement(_Icon2.default,{name:"play_circle_filled"})),_react2.default.createElement("div",{className:"player"},_react2.default.createElement("div",{className:"current-track"},_react2.default.createElement("div",{className:"title"},this.props.current_track?this.props.current_track.name:_react2.default.createElement("span",null,"-")),this.props.current_track?_react2.default.createElement(_ArtistSentence2.default,{nolinks:!0,artists:this.props.current_track.artists}):_react2.default.createElement(_ArtistSentence2.default,null)),_react2.default.createElement("div",{className:"progress-wrapper"},_react2.default.createElement(_ProgressSlider2.default,null))))}}]),KioskMode}(_react2.default.Component),mapStateToProps=function(state){return{play_state:state.mopidy.play_state,current_track:state.core.current_track&&void 0!==state.core.tracks[state.core.current_track.uri]?state.core.tracks[state.core.current_track.uri]:null}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(KioskMode)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_Link=__webpack_require__(8),_redux=(_interopRequireDefault(_Link),__webpack_require__(2)),_Modal=__webpack_require__(26),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_actions=(_interopRequireDefault(_Icon),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions2),_helpers=__webpack_require__(1),ShareConfiguration=(_interopRequireWildcard(_helpers),function(_React$Component){function ShareConfiguration(props){_classCallCheck(this,ShareConfiguration);var _this=_possibleConstructorReturn(this,(ShareConfiguration.__proto__||Object.getPrototypeOf(ShareConfiguration)).call(this,props));return _this.state={recipients:[],spotify:!1,lastfm:!1,genius:!1,ui:!1},_this}return _inherits(ShareConfiguration,_React$Component),_createClass(ShareConfiguration,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Share configuration")}},{key:"toggleRecipient",value:function(id){var recipients=this.state.recipients;if(recipients.includes(id)){var index=recipients.indexOf(id);recipients.splice(index,1)}else recipients.push(id);this.setState({recipients:recipients})}},{key:"handleSubmit",value:function(e){e.preventDefault();var configuration={};this.state.spotify&&(configuration.spotify={authorization:this.props.spotify_authorization,me:this.props.spotify_me}),this.state.genius&&(configuration.genius={authorization:this.props.genius_authorization,me:this.props.genius_me}),this.state.lastfm&&(configuration.lastfm={authorization:this.props.lastfm_authorization,me:this.props.lastfm_me}),this.state.ui&&(configuration.ui=this.props.ui);var _iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.state.recipients[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var recipient=_step.value;this.props.pusherActions.deliverMessage(recipient,"share_configuration_received",configuration)}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator.return&&_iterator.return()}finally{if(_didIteratorError)throw _iteratorError}}window.history.back()}},{key:"render",value:function(){var _this2=this,connections=[];for(var connection_id in this.props.connections)this.props.connections.hasOwnProperty(connection_id)&&connection_id!=this.props.connection_id&&connections.push(this.props.connections[connection_id]);if(connections.length>0)var recipients=_react2.default.createElement("div",{className:"input"},connections.map(function(connection,index){return _react2.default.createElement("label",{key:connection.connection_id},_react2.default.createElement("input",{type:"checkbox",name:"connection_"+connection.connection_id,checked:_this2.state.recipients.includes(connection.connection_id),onChange:function(e){return _this2.toggleRecipient(connection.connection_id)}}),_react2.default.createElement("span",{className:"label"},connection.username," ",_react2.default.createElement("span",{className:"mid_grey-text"},"(",connection.ip,")")))}));else var recipients=_react2.default.createElement("div",{className:"input text"},_react2.default.createElement("span",{className:"mid_grey-text"},"No peer connections"));return _react2.default.createElement(_Modal2.default,{className:"modal--share-authorization"},_react2.default.createElement("h1",null,"Share configuration"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("div",{className:"field checkbox white"},_react2.default.createElement("div",{className:"name"},"Recipients"),recipients),_react2.default.createElement("div",{className:"field checkbox checkbox--block"},_react2.default.createElement("div",{className:"name"},"Configurations"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"interface",checked:this.state.ui,onChange:function(e){return _this2.setState({ui:!_this2.state.ui})}}),_react2.default.createElement("span",{className:"label"},"UI customisation (theme, sorting, filters)")),this.props.spotify_me&&this.props.spotify_authorization?_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"spotify",checked:this.state.spotify,onChange:function(e){return _this2.setState({spotify:!_this2.state.spotify})}}),_react2.default.createElement("span",{className:"label"},"Spotify authorization ",_react2.default.createElement("span",{className:"mid_grey-text"}," Logged in as ",this.props.spotify_me.name))):null,this.props.lastfm_me&&this.props.lastfm_authorization?_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"lastfm_authorization",checked:this.state.lastfm,onChange:function(e){return _this2.setState({lastfm:!_this2.state.lastfm})}}),_react2.default.createElement("span",{className:"label"},"LastFM authorization ",_react2.default.createElement("span",{className:"mid_grey-text"}," Logged in as ",this.props.lastfm_me.name))):null,this.props.genius_me&&this.props.genius_authorization?_react2.default.createElement("label",null,_react2.default.createElement("input",{type:"checkbox",name:"genius_authorization",checked:this.state.genius,onChange:function(e){return _this2.setState({genius:!_this2.state.genius})}}),_react2.default.createElement("span",{className:"label"},"Genius authorization ",_react2.default.createElement("span",{className:"mid_grey-text"}," Logged in as ",this.props.genius_me.name))):null)),_react2.default.createElement("div",{className:"actions centered-text"},this.state.recipients.length>0?_react2.default.createElement("button",{className:"primary large",onClick:function(e){return _this2.handleSubmit(e)}},"Send"):_react2.default.createElement("button",{className:"primary large",disabled:"disabled",onClick:function(e){return _this2.handleSubmit(e)}},"Send"))))}}]),ShareConfiguration}(_react2.default.Component)),mapStateToProps=function(state,ownProps){return{spotify_authorization:state.spotify.authorization,spotify_me:state.spotify.me,genius_authorization:state.genius.authorization,genius_me:state.genius.me,lastfm_authorization:state.lastfm.authorization,lastfm_me:state.lastfm.me,ui:state.ui,connection_id:state.pusher.connection_id,connections:state.pusher.connections}},mapDispatchToProps=function(dispatch){return{pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ShareConfiguration)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),_Thumbnail=__webpack_require__(11),_Thumbnail2=_interopRequireDefault(_Thumbnail),_actions=__webpack_require__(10),coreActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_actions3=__webpack_require__(6),mopidyActions=_interopRequireWildcard(_actions3),_actions4=__webpack_require__(7),spotifyActions=_interopRequireWildcard(_actions4),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),AddToPlaylist=function(_React$Component){function AddToPlaylist(props){_classCallCheck(this,AddToPlaylist);var _this=_possibleConstructorReturn(this,(AddToPlaylist.__proto__||Object.getPrototypeOf(AddToPlaylist)).call(this,props));return _this.props.spotify_library_playlists||_this.props.spotifyActions.getLibraryPlaylists(),!_this.props.mopidy_library_playlists&&_this.props.mopidy_connected&&_this.props.mopidyActions.getLibraryPlaylists(),_this}return _inherits(AddToPlaylist,_React$Component),_createClass(AddToPlaylist,[{key:"playlistSelected",value:function(playlist_uri){this.props.coreActions.addTracksToPlaylist(playlist_uri,this.props.uris),window.history.back()}},{key:"render",value:function(){var _this2=this;if(!this.props.playlists)return _react2.default.createElement("div",{className:"empty"},"No editable playlists");var playlists=[];for(var uri in this.props.playlists)this.props.playlists[uri].can_edit&&playlists.push(this.props.playlists[uri]);playlists=helpers.sortItems(playlists,"name");var loader=null;return"running"==this.props.spotify_library_playlists_status&&(loader=_react2.default.createElement("div",{className:"lazy-loader body-loader loading"},_react2.default.createElement("div",{className:"loader"}))),_react2.default.createElement(_Modal2.default,{className:"modal--add-to-playlist"},_react2.default.createElement("h1",null,"Add to playlist"),_react2.default.createElement("h2",{className:"mid_grey-text"},"Select playlist to add ",this.props.uris.length," track",this.props.uris.length>1?"s":null," to"),playlists.length<=0?_react2.default.createElement("div",{className:"no-results"},"No playlists available"):null,_react2.default.createElement("div",{className:"list small playlists"},playlists.map(function(playlist){return _react2.default.createElement("div",{className:"list__item",key:playlist.uri,onClick:function(){return _this2.playlistSelected(playlist.uri)}},_react2.default.createElement(_Thumbnail2.default,{images:playlist.images,size:"small"}),_react2.default.createElement("h3",{className:"name"},playlist.name),_react2.default.createElement("ul",{className:"details"},_react2.default.createElement("li",null,_react2.default.createElement(_Icon2.default,{type:"fontawesome",className:"source",name:helpers.sourceIcon(playlist.uri)})),_react2.default.createElement("li",null,playlist.tracks_total?_react2.default.createElement("span",{className:"mid_grey-text"}," ",playlist.tracks_total," tracks"):null)))})),loader)}}]),AddToPlaylist}(_react2.default.Component),mapStateToProps=function(state,ownProps){return{uris:ownProps.params.uris?decodeURIComponent(ownProps.params.uris).split(","):[],mopidy_connected:state.mopidy.connected,mopidy_uri_schemes:state.mopidy.uri_schemes,mopidy_library_playlists:state.mopidy.library_playlists,mopidy_library_playlists_status:void 0!==state.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR?state.ui.processes.MOPIDY_LIBRARY_PLAYLISTS_PROCESSOR.status:null,spotify_library_playlists:state.spotify.library_playlists,spotify_library_playlists_status:void 0!==state.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR?state.ui.processes.SPOTIFY_GET_LIBRARY_PLAYLISTS_PROCESSOR.status:null,load_queue:state.ui.load_queue,me_id:!!state.spotify.me&&state.spotify.me.id,playlists:state.core.playlists}},mapDispatchToProps=function(dispatch){return{coreActions:(0,_redux.bindActionCreators)(coreActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch),mopidyActions:(0,_redux.bindActionCreators)(mopidyActions,dispatch),spotifyActions:(0,_redux.bindActionCreators)(spotifyActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(AddToPlaylist)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Modal=__webpack_require__(26),_Modal2=_interopRequireDefault(_Modal),_Thumbnail=__webpack_require__(11),_helpers=(_interopRequireDefault(_Thumbnail),__webpack_require__(1)),_actions=(_interopRequireWildcard(_helpers),__webpack_require__(3)),uiActions=_interopRequireWildcard(_actions),ImageZoom=function(_React$Component){function ImageZoom(props){return _classCallCheck(this,ImageZoom),_possibleConstructorReturn(this,(ImageZoom.__proto__||Object.getPrototypeOf(ImageZoom)).call(this,props))}return _inherits(ImageZoom,_React$Component),_createClass(ImageZoom,[{key:"componentDidMount",value:function(){this.props.uiActions.setWindowTitle("Zoomed image")}},{key:"render",value:function(){return _react2.default.createElement(_Modal2.default,{className:"modal--image-zoom"},_react2.default.createElement("img",{src:this.props.location.query.url}))}}]),ImageZoom}(_react2.default.Component),mapStateToProps=function(state){return{}},mapDispatchToProps=function(dispatch){return{uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(ImageZoom)},function(module,exports,__webpack_require__){"use strict";function _interopRequireWildcard(obj){if(obj&&obj.__esModule)return obj;var newObj={};if(null!=obj)for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&(newObj[key]=obj[key]);return newObj.default=obj,newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_reactRedux=__webpack_require__(4),_redux=__webpack_require__(2),_Link=__webpack_require__(8),_reactGa=(_interopRequireDefault(_Link),__webpack_require__(14)),_Modal=(_interopRequireDefault(_reactGa),__webpack_require__(26)),_Modal2=_interopRequireDefault(_Modal),_Icon=__webpack_require__(5),_ColourField=(_interopRequireDefault(_Icon),__webpack_require__(344)),_ColourField2=_interopRequireDefault(_ColourField),_IconField=__webpack_require__(345),_IconField2=_interopRequireDefault(_IconField),_actions=__webpack_require__(13),pusherActions=_interopRequireWildcard(_actions),_actions2=__webpack_require__(3),uiActions=_interopRequireWildcard(_actions2),_helpers=__webpack_require__(1),helpers=_interopRequireWildcard(_helpers),EditCommand=function(_React$Component){function EditCommand(props){_classCallCheck(this,EditCommand);var _this=_possibleConstructorReturn(this,(EditCommand.__proto__||Object.getPrototypeOf(EditCommand)).call(this,props));return _this.state={id:helpers.generateGuid(),icon:"power_settings_new",colour:"",command:'{"url":"https://'+window.location.hostname+'/broadlink/sendCommand/power/"}'},_this}return _inherits(EditCommand,_React$Component),_createClass(EditCommand,[{key:"componentDidMount",value:function(){this.props.command?(this.props.uiActions.setWindowTitle("Edit command"),this.setState(this.props.command)):this.props.uiActions.setWindowTitle("Create command")}},{key:"handleSubmit",value:function(e){return e.preventDefault(),this.props.pusherActions.setCommand({id:this.state.id,icon:this.state.icon,colour:this.state.colour,command:this.state.command}),window.history.back(),setTimeout(function(){helpers.scrollTo("commands-setup")},10),!1}},{key:"handleDelete",value:function(e){this.props.pusherActions.removeCommand(this.state.id),window.history.back(),setTimeout(function(){helpers.scrollTo("commands-setup")},10)}},{key:"render",value:function(){var _this2=this,icons=["power_settings_new","eject","grade","query_builder","settings_input_component","settings_input_hdmi","settings_input_svideo","forward_5","forward_10","forward_30","replay","replay_5","replay_10","replay_30","skip_next","skip_previous","play_arrow","pause","stop","shuffle","snooze","volume_down","volume_off","volume_up","done","done_all","add","remove","clear","cast","speaker","speaker_group","audiotrack","videogame_asset","computer","tv"];return _react2.default.createElement(_Modal2.default,{className:"modal--create-command"},_react2.default.createElement("h1",null,this.props.command?"Edit":"Create"," command"),_react2.default.createElement("form",{onSubmit:function(e){return _this2.handleSubmit(e)}},_react2.default.createElement("div",{className:"field radio white"},_react2.default.createElement("div",{className:"name"},"Colour"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_ColourField2.default,{colour:this.state.colour,onChange:function(colour){return _this2.setState({colour:colour})}}))),_react2.default.createElement("div",{className:"field radio white"},_react2.default.createElement("div",{className:"name"},"Icon"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement(_IconField2.default,{icon:this.state.icon,icons:icons,onChange:function(icon){return _this2.setState({icon:icon})}}))),_react2.default.createElement("div",{className:"field textarea white"},_react2.default.createElement("div",{className:"name"},"Command"),_react2.default.createElement("div",{className:"input"},_react2.default.createElement("textarea",{name:"command",value:this.state.command,onChange:function(e){return _this2.setState({command:e.target.value})}}),_react2.default.createElement("div",{className:"description"},"Ajax request settings. See ",_react2.default.createElement("a",{href:"http://api.jquery.com/jquery.ajax/",target:"_blank",noopener:"true"},_react2.default.createElement("code",null,"jquery.ajax")," documentation"),"."))),_react2.default.createElement("div",{className:"actions centered-text"},this.props.command?_react2.default.createElement("button",{type:"button",className:"destructive large",onClick:function(e){return _this2.handleDelete(e)}},"Delete"):null,_react2.default.createElement("button",{type:"submit",className:"primary large"},"Save"))))}}]),EditCommand}(_react2.default.Component),mapStateToProps=function(state,ownProps){var id=ownProps.params.id;return{command:id&&state.pusher.commands&&void 0!==state.pusher.commands[id]?state.pusher.commands[id]:null}},mapDispatchToProps=function(dispatch){return{pusherActions:(0,_redux.bindActionCreators)(pusherActions,dispatch),uiActions:(0,_redux.bindActionCreators)(uiActions,dispatch)}};exports.default=(0,_reactRedux.connect)(mapStateToProps,mapDispatchToProps)(EditCommand)},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),ColourField=function(_React$Component){function ColourField(props){return _classCallCheck(this,ColourField),_possibleConstructorReturn(this,(ColourField.__proto__||Object.getPrototypeOf(ColourField)).call(this,props))}return _inherits(ColourField,_React$Component),_createClass(ColourField,[{key:"render",value:function(){var _this2=this,colours=["","white","mid_grey","grey","dark_grey","black","turquoise","green","blue","light_blue","yellow","orange","red"];return _react2.default.createElement("div",{className:"colour-field"},colours.map(function(colour){switch(colour){case"yellow":case"white":case"light_blue":var text_colour="black";break;default:var text_colour="white"}return _react2.default.createElement("div",{key:colour,className:"colour-field__option "+(colour?colour+"-background ":"")+(_this2.props.colour==colour?"colour-field__option--selected":""),onClick:function(e){return _this2.props.onChange(colour)}},_this2.props.colour==colour?_react2.default.createElement(_Icon2.default,{name:"check",className:"colour-field__option__icon "+text_colour+"-text"}):null)}))}}]),ColourField}(_react2.default.Component);exports.default=ColourField},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),_react=__webpack_require__(0),_react2=_interopRequireDefault(_react),_Icon=__webpack_require__(5),_Icon2=_interopRequireDefault(_Icon),ColourField=function(_React$Component){function ColourField(props){return _classCallCheck(this,ColourField),_possibleConstructorReturn(this,(ColourField.__proto__||Object.getPrototypeOf(ColourField)).call(this,props))}return _inherits(ColourField,_React$Component),_createClass(ColourField,[{key:"icons",value:function(){return this.props.icons?this.props.icons:["3d_rotation","ac_unit","access_alarm","access_alarms","access_time","accessibility","accessible","account_balance","account_balance_wallet","account_box","account_circle","adb","add","add_a_photo","add_alarm","add_alert","add_box","add_circle","add_circle_outline","add_location","add_shopping_cart","add_to_photos","add_to_queue","adjust","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airplanemode_active","airplanemode_inactive","airplay","airport_shuttle","alarm","alarm_add","alarm_off","alarm_on","album","all_inclusive","all_out","android","announcement","apps","archive","arrow_back","arrow_downward","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_upward","art_track","aspect_ratio","assessment","assignment","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assistant","assistant_photo","attach_file","attach_money","attachment","audiotrack","autorenew","av_timer","backspace","backup","battery_alert","battery_charging_full","battery_full","battery_std","battery_unknown","beach_access","beenhere","block","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_searching","blur_circular","blur_linear","blur_off","blur_on","book","bookmark","bookmark_border","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","branding_watermark","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_auto","brightness_high","brightness_low","brightness_medium","broken_image","brush","bubble_chart","bug_report","build","burst_mode","business","business_center","cached","cake","call","call_end","call_made","call_merge","call_missed","call_missed_outgoing","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_rear","camera_roll","cancel","card_giftcard","card_membership","card_travel","casino","cast","cast_connected","center_focus_strong","center_focus_weak","change_history","chat","chat_bubble","chat_bubble_outline","check","check_box","check_box_outline_blank","check_circle","chevron_left","chevron_right","child_care","child_friendly","chrome_reader_mode","class","clear","clear_all","close","closed_caption","cloud","cloud_circle","cloud_done","cloud_download","cloud_off","cloud_queue","cloud_upload","code","collections","collections_bookmark","color_lens","colorize","comment","compare","compare_arrows","computer","confirmation_number","contact_mail","contact_phone","contacts","content_copy","content_cut","content_paste","control_point","control_point_duplicate","copyright","create","create_new_folder","credit_card","crop","crop_16_9","crop_3_2","crop_5_4","crop_7_5","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","dashboard","data_usage","date_range","dehaze","delete","delete_forever","delete_sweep","description","desktop_mac","desktop_windows","details","developer_board","developer_mode","device_hub","devices","devices_other","dialer_sip","dialpad","directions","directions_bike","directions_boat","directions_bus","directions_car","directions_railway","directions_run","directions_subway","directions_transit","directions_walk","disc_full","dns","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","dock","domain","done","done_all","donut_large","donut_small","drafts","drag_handle","drive_eta","dvr","edit","edit_location","eject","email","enhanced_encryption","equalizer","error","error_outline","euro_symbol","ev_station","event","event_available","event_busy","event_note","event_seat","exit_to_app","expand_less","expand_more","explicit","explore","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","face","fast_forward","fast_rewind","favorite","favorite_border","featured_play_list","featured_video","feedback","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_download","file_upload","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_none","filter_tilt_shift","filter_vintage","find_in_page","find_replace","fingerprint","first_page","fitness_center","flag","flare","flash_auto","flash_off","flash_on","flight","flight_land","flight_takeoff","flip","flip_to_back","flip_to_front","folder","folder_open","folder_shared","folder_special","font_download","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_indent_decrease","format_indent_increase","format_italic","format_line_spacing","format_list_bulleted","format_list_numbered","format_paint","format_quote","format_shapes","format_size","format_strikethrough","format_textdirection_l_to_r","format_textdirection_r_to_l","format_underlined","forum","forward","forward_10","forward_30","forward_5","free_breakfast","fullscreen","fullscreen_exit","functions","g_translate","gamepad","games","gavel","gesture","get_app","gif","golf_course","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grain","graphic_eq","grid_off","grid_on","group","group_add","group_work","hd","hdr_off","hdr_on","hdr_strong","hdr_weak","headset","headset_mic","healing","hearing","help","help_outline","high_quality","highlight","highlight_off","history","home","hot_tub","hotel","hourglass_empty","hourglass_full","http","https","image","image_aspect_ratio","import_contacts","import_export","important_devices","inbox","indeterminate_check_box","info","info_outline","input","insert_chart","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_photo","invert_colors","invert_colors_off","iso","keyboard","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_hide","keyboard_return","keyboard_tab","keyboard_voice","kitchen","label","label_outline","landscape","language","laptop","laptop_chromebook","laptop_mac","laptop_windows","last_page","launch","layers","layers_clear","leak_add","leak_remove","lens","library_add","library_books","library_music","lightbulb_outline","line_style","line_weight","linear_scale","link","linked_camera","list","live_help","live_tv","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_post_office","local_printshop","local_see","local_shipping","local_taxi","location_city","location_disabled","location_off","location_on","location_searching","lock","lock_open","lock_outline","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_priority","loyalty","mail","mail_outline","map","markunread","markunread_mailbox","memory","menu","merge_type","message","mic","mic_none","mic_off","mms","mode_comment","mode_edit","monetization_on","money_off","monochrome_photos","mood","mood_bad","more","more_horiz","more_vert","motorcycle","mouse","move_to_inbox","movie","movie_creation","movie_filter","multiline_chart","music_note","music_video","my_location","nature","nature_people","navigate_before","navigate_next","navigation","near_me","network_cell","network_check","network_locked","network_wifi","new_releases","next_week","nfc","no_encryption","no_sim","not_interested","note","note_add","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","offline_pin","ondemand_video","opacity","open_in_browser","open_in_new","open_with","pages","pageview","palette","pan_tool","panorama","panorama_fish_eye","panorama_horizontal","panorama_vertical","panorama_wide_angle","party_mode","pause","pause_circle_filled","pause_circle_outline","payment","people","people_outline","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_add","person_outline","person_pin","person_pin_circle","personal_video","pets","phone","phone_android","phone_bluetooth_speaker","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_setup","photo","photo_album","photo_camera","photo_filter","photo_library","photo_size_select_actual","photo_size_select_large","photo_size_select_small","picture_as_pdf","picture_in_picture","picture_in_picture_alt","pie_chart","pie_chart_outlined","pin_drop","place","play_arrow","play_circle_filled","play_circle_outline","play_for_work","playlist_add","playlist_add_check","playlist_play","plus_one","poll","polymer","pool","portable_wifi_off","portrait","power","power_input","power_settings_new","pregnant_woman","present_to_all","print","priority_high","public","publish","query_builder","question_answer","queue","queue_music","queue_play_next","radio","radio_button_checked","radio_button_unchecked","rate_review","receipt","recent_actors","record_voice_over","redeem","redo","refresh","remove","remove_circle","remove_circle_outline","remove_from_queue","remove_red_eye","remove_shopping_cart","reorder","repeat","repeat_one","replay","replay_10","replay_30","replay_5","reply","reply_all","report","report_problem","restaurant","restaurant_menu","restore","restore_page","ring_volume","room","room_service","rotate_90_degrees_ccw","rotate_left","rotate_right","rounded_corner","router","rowing","rss_feed","rv_hookup","satellite","save","scanner","schedule","school","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_rotation","screen_share","sd_card","sd_storage","search","security","select_all","send","sentiment_dissatisfied","sentiment_neutral","sentiment_satisfied","sentiment_very_dissatisfied","sentiment_very_satisfied","settings","settings_applications","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_ethernet","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_overscan","settings_phone","settings_power","settings_remote","settings_system_daydream","settings_voice","share","shop","shop_two","shopping_basket","shopping_cart","short_text","show_chart","shuffle","signal_cellular_4_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_null","signal_cellular_off","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_off","sim_card","sim_card_alert","skip_next","skip_previous","slideshow","slow_motion_video","smartphone","smoke_free","smoking_rooms","sms","sms_failed","snooze","sort","sort_by_alpha","spa","space_bar","speaker","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","spellcheck","star","star_border","star_half","stars","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","stop","stop_screen_share","storage","store","store_mall_directory","straighten","streetview","strikethrough_s","style","subdirectory_arrow_left","subdirectory_arrow_right","subject","subscriptions","subtitles","subway","supervisor_account","surround_sound","swap_calls","swap_horiz","swap_vert","swap_vertical_circle","switch_camera","switch_video","sync","sync_disabled","sync_problem","system_update","system_update_alt","tab","tab_unselected","tablet","tablet_android","tablet_mac","tag_faces","tap_and_play","terrain","text_fields","text_format","textsms","texture","theaters","thumb_down","thumb_up","thumbs_up_down","time_to_leave","timelapse","timeline","timer","timer_10","timer_3","timer_off","title","toc","today","toll","tonality","touch_app","toys","track_changes","traffic","train","tram","transfer_within_a_station","transform","translate","trending_down","trending_flat","trending_up","tune","turned_in","turned_in_not","tv","unarchive","undo","unfold_less","unfold_more","update","usb","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vibration","video_call","video_label","video_library","videocam","videocam_off","videogame_asset","view_agenda","view_array","view_carousel","view_column","view_comfy","view_compact","view_day","view_headline","view_list","view_module","view_quilt","view_stream","view_week","vignette","visibility","visibility_off","voice_chat","voicemail","volume_down","volume_mute","volume_off","volume_up","vpn_key","vpn_lock","wallpaper","warning","watch","watch_later","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_sunny","wc","web","web_asset","weekend","whatshot","widgets","wifi","wifi_lock","wifi_tethering","work","wrap_text","youtube_searched_for","zoom_in","zoom_out","zoom_out_map"]}},{key:"render",value:function(){var _this2=this;return _react2.default.createElement("div",{className:"icon-field"},this.icons().map(function(icon){return _react2.default.createElement("div",{key:icon,className:"icon-field__option "+(_this2.props.icon==icon?"icon-field__option--selected":""),onClick:function(e){return _this2.props.onChange(icon)}},_react2.default.createElement(_Icon2.default,{name:icon,className:"icon-field__option__icon"}))}))}}]),ColourField}(_react2.default.Component);exports.default=ColourField},function(module,exports){}]);
|
||
//# sourceMappingURL=app.min.js.map |