From fead0da67a32ac18b4ff83346f1fd7b94a4c86d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCbschle-Schneider?= Date: Tue, 22 Sep 2015 20:24:35 +0200 Subject: [PATCH] Minify version 0.5.0 --- min.js | 4 ++-- min.map | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/min.js b/min.js index 9979a0f..8ee6ee1 100644 --- a/min.js +++ b/min.js @@ -1,3 +1,3 @@ -!function(){"use strict";var e=angular.module("localStorage",[]);e.factory("$store",["$parse",function(e){var t="undefined"==typeof window.localStorage?void 0:window.localStorage,n=!("undefined"==typeof t||"undefined"==typeof window.JSON);n||console.log("Warning: localStorage is not supported");var i={parseValue:function(e){var t;try{t=JSON.parse(e),void 0===t&&(t=e),"true"===t&&(t=!0),"false"===t&&(t=!1),parseFloat(t)!=t||angular.isObject(t)||(t=parseFloat(t))}catch(n){t=e}return t}},r={set:function(e,r){n||console.log("Local Storage not supported");var o=JSON.stringify(r);return t.setItem(e,o),i.parseValue(o)},get:function(e){if(!n)return null;var r=t.getItem(e);return i.parseValue(r)},remove:function(e){return n?(t.removeItem(e),!0):!1},enumerateKeys:function(){for(var e=[],n=0,i=t.length;i>n;++n)e.push(t.key(n));return e},bind:function(t,n,i){return void 0===i&&(i=""),(void 0===r.get(n)||null===r.get(n))&&r.set(n,i),e(n).assign(t,r.get(n)),t.$watch(n,function(e){r.set(n,e)},!0),r.get(n)}};return r}])}(),function(e){"use strict";!function(){var t=function(){this._types={chr:this._getChar,int:this._getInt,str:this._getString,inf:this._getInfo,hda:this._getHdata,ptr:this._getPointer,lon:this._getStrNumber,tim:this._getTime,buf:this._getString,arr:this._getArray,htb:this._getHashTable,inl:function(){this._warnUnimplemented("infolist")}},this._typesStr={chr:this._strDirect,str:this._strDirect,int:this._strToString,tim:this._strToString,ptr:this._strDirect}};t._weeChatColorsNames=["default","black","darkgray","red","lightred","green","lightgreen","brown","yellow","blue","lightblue","magenta","lightmagenta","cyan","lightcyan","gray","white"],t._colorsOptionsNames=["separator","chat","chat_time","chat_time_delimiters","chat_prefix_error","chat_prefix_network","chat_prefix_action","chat_prefix_join","chat_prefix_quit","chat_prefix_more","chat_prefix_suffix","chat_buffer","chat_server","chat_channel","chat_nick","chat_nick_self","chat_nick_other","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","chat_host","chat_delimiters","chat_highlight","chat_read_marker","chat_text_found","chat_value","chat_prefix_buffer","chat_tags","chat_inactive_window","chat_inactive_buffer","chat_prefix_buffer_inactive_buffer","chat_nick_offline","chat_nick_offline_highlight","chat_nick_prefix","chat_nick_suffix","emphasis","chat_day_change"],t._getDefaultColor=function(){return{type:"weechat",name:"default"}},t._getDefaultAttributes=function(){return{name:null,override:{bold:!1,reverse:!1,italic:!1,underline:!1}}},t._getDefaultStyle=function(){return{fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),attrs:t._getDefaultAttributes()}},t._cloneColor=function(e){var t={};for(var n in e)t[n]=e[n];return t},t._cloneAttrs=function(e){var t={};t.name=e.name,t.override={};for(var n in e.override)t.override[n]=e.override[n];return t},t._attrNameFromChar=function(e){var t={"*":"b","!":"r","/":"i",_:"u","":"b","":"r","":"i","":"u"};return e in t?t[e]:null},t._attrsFromStr=function(e){for(var n=t._getDefaultAttributes(),i=0;i16?t._getDefaultColor():{type:"weechat",name:t._weeChatColorsNames[n]}}var i=e.substring(1);return{type:"ext",name:parseInt(i).toString()}},t._getStyle=function(e){var n=[{regex:/^(\d{2})/,fn:function(e){var n={},i=parseInt(e[1]);if(i>43)return{fgColor:null,bgColor:null,attrs:null};var r=t._colorsOptionsNames[i];return n.fgColor={type:"option",name:r},n.bgColor=t._cloneColor(n.fgColor),n.attrs={name:r,override:{}},n}},{regex:/^@(\d{5})/,fn:function(){return{fgColor:null,bgColor:null,attrs:null}}},{regex:/^F(?:([*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5}))/,fn:function(e){var n={bgColor:null};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n}},{regex:/^B(\d{2}|@\d{5})/,fn:function(e){return{fgColor:null,bgColor:t._getColorObj(e[1]),attrs:null}}},{regex:/^\*(?:([\x01\x02\x03\x04*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5})),(\d{2}|@\d{5})/,fn:function(e){var n={};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n.bgColor=t._getColorObj(e[5]),n}},{regex:/^\*([\x01\x02\x03\x04*!\/_|]*)(\d{2}|@\d{5})/,fn:function(e){return{fgColor:t._getColorObj(e[2]),bgColor:null,attrs:t._attrsFromStr(e[1])}}},{regex:/^E/,fn:function(){var e={};return e.fgColor={type:"option",name:"emphasis"},e.bgColor=t._cloneColor(e.fgColor),e.attrs={name:"emphasis",override:{}},e}}],i={fgColor:null,bgColor:null,attrs:null,text:e};return n.some(function(t){var n=e.match(t.regex);return n?(i=t.fn(n),i.text=e.substring(n[0].length),!0):!1}),i},t.rawText2Rich=function(e){var n=e.split(/(\x19|\x1a|\x1b|\x1c)/);if(1===n.length)return[{attrs:t._getDefaultAttributes(),fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),text:n[0]}];var i=t._getDefaultColor(),r=t._getDefaultColor(),o=t._getDefaultAttributes(),a=null,c=!0;return n.map(function(e){if(0===e.length)return null;var n=e.charCodeAt(0),s=e.charAt(0);if(n>=25&&28>=n)return 28===n&&(i=t._getDefaultColor(),r=t._getDefaultColor(),25!==a&&(o=t._getDefaultAttributes())),a=n,null;var u=e;if(25===a){var l=t._getStyle(e);null!==l.fgColor&&(i=l.fgColor),null!==l.bgColor&&(r=l.bgColor),null!==l.attrs&&(o=l.attrs),u=l.text}else if(26===a||27===a){var f=26===a;if("|"!==s){var d=t._attrNameFromChar(s);d&&(o.override[d]=f,u=e.substring(1))}}if(a=null,0===u.length)return null;if(c&&null===o.name){var m=!0;for(var h in o.override)if(o.override[h]){m=!1;break}m?o.override={}:c=!1}return{fgColor:t._cloneColor(i),bgColor:t._cloneColor(r),attrs:t._cloneAttrs(o),text:u}}).filter(function(e){return null!==e})},t._uia2s=function(e){if(!e.length||0===e[0])return"";try{var t=String.fromCharCode.apply(null,e),n=decodeURIComponent(escape(t));return n}catch(t){for(var i="",r=0,o=e.length;o>r;r++)i+=e[r]<128?String.fromCharCode(e[r]):"?";return i}},t._mergeParams=function(e,t){for(var n in t)e[n]=t[n];return e},t._formatCmd=function(e,t,n){var i,r;return i=null!==e?"("+e+") ":"",i+=t,n.unshift(i),r=n.join(" "),r+="\n",r.replace(/[\r\n]+$/g,"").split("\n"),r},t.formatInit=function(e){var n={password:null,compression:"zlib"},i=[],r=[];return e=t._mergeParams(n,e),i.push("compression="+e.compression),null!==e.password&&i.push("password="+e.password),r.push(i.join(",")),t._formatCmd(null,"init",r)},t.formatHdata=function(e){var n={id:null,keys:null},i=[];return e=t._mergeParams(n,e),i.push(e.path),null!==e.keys&&i.push(e.keys.join(",")),t._formatCmd(e.id,"hdata",i)},t.formatInfo=function(e){var n={id:null},i=[];return e=t._mergeParams(n,e),i.push(e.name),t._formatCmd(e.id,"info",i)},t.formatNicklist=function(e){var n={id:null,buffer:null},i=[];return e=t._mergeParams(n,e),null!==e.buffer&&i.push(e.buffer),t._formatCmd(e.id,"nicklist",i)},t.formatInput=function(e){var n={id:null},i=[];return e=t._mergeParams(n,e),i.push(e.buffer),i.push(e.data),t._formatCmd(e.id,"input",i)},t._formatSyncDesync=function(e,n){var i={id:null,buffers:null,options:null},r=[];return n=t._mergeParams(i,n),null!==n.buffers&&(r.push(n.buffers.join(",")),null!==n.options&&r.push(n.options.join(","))),t._formatCmd(n.id,e,r)},t.formatSync=function(e){return t._formatSyncDesync("sync",e)},t.formatDesync=function(e){return t._formatSyncDesync("desync",e)},t.formatTest=function(e){var n={id:null},i=[];return e=t._mergeParams(n,e),t._formatCmd(e.id,"test",i)},t.formatQuit=function(){return t._formatCmd(null,"quit",[])},t.formatPing=function(e){var n={id:null,args:null},i=[];return e=t._mergeParams(n,e),null!==e.args&&i.push(e.args.join(" ")),t._formatCmd(e.id,"ping",i)},t.prototype={_warnUnimplemented:function(e){console.log("Warning: "+e+" message parsing is not implemented")},_getType:function(){var e=this._getSlice(3);return e?t._uia2s(new Uint8Array(e)):null},_runType:function(e){var t=this._types[e],n=t.bind(this);return n()},_getStrNumber:function(){var e=this._getByte(),n=this._getSlice(e);return t._uia2s(new Uint8Array(n))},_strDirect:function(e){return e},_strToString:function(e){return e.toString()},_objToString:function(e,t){var n=this._typesStr[t],i=n.bind(this);return i(e)},_getInfo:function(){var e={};return e.key=this._getString(),e.value=this._getString(),e},_getHdata:function(){function e(){var e={};e.pointers=t.map(function(){return i._getPointer()}),a.forEach(function(t){e[t[0]]=i._runType(t[1])}),r.push(e)}var t,n,i=this,r=[],o=this._getString(),a=this._getString().split(",");t=o.split("/"),n=this._getInt(),a=a.map(function(e){return e.split(":")});for(var c=0;n>c;c++)e();return r},_getPointer:function(){return this._getStrNumber()},_getTime:function(){var e=this._getStrNumber();return new Date(1e3*parseInt(e,10))},_getInt:function(){var e=new Uint8Array(this._getSlice(4));return(255&e[0])<<24|(255&e[1])<<16|(255&e[2])<<8|255&e[3]},_getByte:function(){var e=new Uint8Array(this._getSlice(1));return e[0]},_getChar:function(){return this._getByte()},_getString:function(){var e=this._getInt();if(e>0){var n=this._getSlice(e),i=new Uint8Array(n);return t._uia2s(i)}return""},_getHeader:function(){var e=this._getInt(),t=this._getByte();return{length:e,compression:t}},_getId:function(){return this._getString()},_getObject:function(){var e=this,t=this._getType();return t?{type:t,content:e._runType(t)}:void 0},_getHashTable:function(){var e,t,n,i=this,r={};e=this._getType(),t=this._getType(),n=this._getInt();for(var o=0;n>o;++o){var a=i._runType(e),c=i._objToString(a,e),s=i._runType(t);r[c]=s}return r},_getArray:function(){var e,t,n,i=this;e=this._getType(),t=this._getInt(),n=[];for(var r=0;t>r;r++)n.push(i._runType(e));return n},_getSlice:function(e){if(this.dataAt+e>this._data.byteLength)return null;var t=this._data.slice(this._dataAt,this._dataAt+e);return this._dataAt+=e,t},_setData:function(e){this._data=e},setId:function(e,t){return"("+e+") "+t},parse:function(e){var t=this;this._setData(e),this._dataAt=0;var n=this._getHeader();if(n.compression){var i=new Uint8Array(e,5),r=new Zlib.Inflate(i),o=r.decompress();this._setData(o.buffer),this._dataAt=0}for(var a=this._getId(),c=[],s=this._getObject();s;)c.push(s),s=t._getObject();var u={header:n,id:a,objects:c};return u}},e.Protocol=t}()}("undefined"==typeof exports?this.weeChat={}:exports),function(){"use strict";var e=angular.module("IrcUtils",[]);e.service("IrcUtils",[function(){var e=function(e){var t=_(e).sortBy(function(e){return-e.spokeAt});return t=_(t).pluck("name")},t=function(e,t){var n=null;return t.some(function(t){return 0===t.toLowerCase().search(e.toLowerCase())?(n=t,!0):!1}),n},n=function(e,t,n){for(var i=[],r=null,o=e.toLowerCase(),a=t.toLowerCase(),c=0;c0;)e=n.pop(),e.$$watchers&&(i+=e.$$watchers.length),e.$$childHead&&n.push(e.$$childHead),e.$$nextSibling&&n.push(e.$$nextSibling);o.debug(i)},n.isinstalled=function(){return void 0===navigator.mozApps?!1:void(navigator.mozApps.getSelf().onsuccess=function(e){var t=e.target.result;return t?!0:!1})}(),function(){"undefined"!=typeof document.hidden?(n.documentHidden="hidden",n.documentVisibilityChange="visibilitychange"):"undefined"!=typeof document.webkitHidden?(n.documentHidden="webkitHidden",n.documentVisibilityChange="webkitvisibilitychange"):"undefined"!=typeof document.mozHidden?(n.documentHidden="mozHidden",n.documentVisibilityChange="mozvisibilitychange"):"undefined"!=typeof document.msHidden&&(n.documentHidden="msHidden",n.documentVisibilityChange="msvisibilitychange")}(),function(){window.location.search.substring(1).split("&").forEach(function(e){var n=e.split("=");"debug"===n[0]&&-1!=["true","1"].indexOf(n[1])&&(t.debugMode=!0)}),t.debugMode&&!e.compileProvider.debugInfoEnabled()&&angular.reloadWithDebugInfo()}(),t.isWindowFocused=function(){if("undefined"==typeof n.documentHidden)return!0;var e=document[n.documentHidden];return!e},"undefined"!=typeof n.documentVisibilityChange&&document.addEventListener(n.documentVisibilityChange,function(){if(!document[n.documentHidden]){var e=a.getActiveBuffer();null!==e&&(e.unread=0,e.notification=0,t.$emit("notificationChanged")),t.$apply()}},!1),t.$on("activeBufferChanged",function(e,i){var o=a.getActiveBuffer(),f=o.lines.length-i+5,d=o.lines.length-(2*n.lines_per_screen+10),m=Math.min(f,d);if(m>0&&(o.lines.splice(0,m),o.requestedLines-=m,o.lastSeen-=m,o.allLinesFetched=!1),n.bufferlines=o.lines,n.nicklist=o.nicklist,o.nicklistRequested()?n.showNicklist=n.updateShowNicklist():c.requestNicklist(o.fullName,function(){n.showNicklist=n.updateShowNicklist(),t.scrollWithBuffer(!0)}),o.requestedLinesh&&(h=Math.min(4*h,i)),n.fetchMoreLines(h).then(function(){r(function(){var e=document.getElementById("bufferlines"),n=e.scrollHeight,i=function(){if(e){var r=e.scrollHeight;r!==n&&(t.updateBufferBottom(t.bufferBottom),n=r),setTimeout(i,500)}};t.updateBufferBottom(!0),t.scrollWithBuffer(!0),e.onscroll=_.debounce(function(){t.updateBufferBottom()},80),setTimeout(i,500)})})}s.updateTitle(o),r(function(){t.scrollWithBuffer(!0)}),l.hotlistsync&&o.fullName&&c.sendCoreCommand("/buffer "+o.fullName),n.search="",u.isMobileUi()||setTimeout(function(){document.getElementById("sendMessage").focus()},0)}),t.favico=new Favico({animation:"none"}),t.$on("notificationChanged",function(){s.updateTitle(),l.useFavico&&t.favico&&s.updateFavico()}),t.$on("relayDisconnect",function(){t.pageTitle="",t.notificationStatus="",s.cancelAll(),a.reinitialize(),t.$emit("notificationChanged"),n.connectbutton="Connect"}),n.connectbutton="Connect",n.getBuffers=a.getBuffers.bind(a),n.bufferlines={},n.nicklist={},n.activeBuffer=a.getActiveBuffer,t.connected=!1,t.waseverconnected=!1,t.models=a,t.iterCandidate=null,l.savepassword?(n.$watch("password",function(){l.password=n.password}),l.addCallback("password",function(e){n.password=e}),n.password=l.password):l.password="",l.addCallback("savepassword",function(){l.savepassword&&(l.setDefaults({password:n.password}),l.password=n.password)}),t.wasMobileUi=!1,u.isMobileUi()&&(t.wasMobileUi=!0),l.fontfamily||(l.fontfamily=u.isMobileUi()?"sans-serif":"Inconsolata, Consolas, Monaco, Ubuntu Mono, monospace"),n.isSidebarVisible=function(){return"visible"===document.getElementById("content").getAttribute("sidebar-state")},n.showSidebar=function(){document.getElementById("sidebar").setAttribute("data-state","visible"),document.getElementById("content").setAttribute("sidebar-state","visible"),u.isMobileUi()&&_.each(document.getElementsByTagName("textarea"),function(e){r(function(){e.blur()})})},t.hideSidebar=function(){u.isMobileUi()&&(document.getElementById("sidebar").setAttribute("data-state","hidden"),document.getElementById("content").setAttribute("sidebar-state","hidden"))},l.addCallback("autoconnect",function(e){!e||t.connected||t.sslError||t.securityError||t.errorMessage||n.connect()}),n.toggleSidebar=function(){u.isMobileUi()&&(n.isSidebarVisible()?n.hideSidebar():n.showSidebar())},n.openNick=function(){u.isMobileUi()&&l.nonicklist&&(l.nonicklist=!1)},n.closeNick=function(){u.isMobileUi()&&(l.nonicklist||(l.nonicklist=!0))},l.addCallback("orderbyserver",function(e){t.predicate=e?"serverSortKey":"number"}),l.addCallback("useFavico",function(e){t.connected&&(e?s.updateFavico():t.favico.reset())}),l.addCallback("fontfamily",function(e){u.changeClassStyle("favorite-font","fontFamily",e)}),l.addCallback("fontsize",function(e){u.changeClassStyle("favorite-font","fontSize",e)}),n.setActiveBuffer=function(e,t){return u.isMobileUi()&&n.hideSidebar(),a.setActiveBuffer(e,t)},n.openBuffer=function(e){var t=a.getActiveBuffer().fullName;if(t=t.substring(0,t.lastIndexOf(".")+1)+e,!n.setActiveBuffer(t,"fullName")){var i="join";["#","&","+","!"].indexOf(e.charAt(0))<0&&(i="query"),c.sendMessage("/"+i+" "+e)}},n.calculateNumLines=function(){for(var e=document.querySelectorAll(".bufferline"),t=0,i=0;0===t&&ir||Math.abs(r-o)<3){var a=document.querySelector(".readmarker");if(e&&a)i.scrollTop=a.offsetTop-a.parentElement.scrollHeight+a.scrollHeight;else if(n)i.scrollTop=i.scrollHeight-i.clientHeight-o;else{var c=document.getElementById("end-of-buffer");c.scrollIntoView()}t.updateBufferBottom()}};r(a),window.requestAnimationFrame(a)},n.connect=function(){s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting ...",c.connect(l.host,l.port,n.password,l.ssl)},n.disconnect=function(){n.connectbutton="Connect",c.disconnect()},n.install=function(){if(void 0!==navigator.mozApps){var e=location.protocol+"//"+location.host+location.pathname.replace(/\/(index\.html)?$/,""),t=navigator.mozApps.install(e+"/manifest.webapp");t.onsuccess=function(){n.isinstalled=!0;var e=this.result;e.launch(),alert("Installation successful!")},t.onerror=function(){alert("Install failed, error: "+this.error.name)}}else alert("Sorry. Only supported in Firefox v26+")},n.showModal=function(e){document.getElementById(e).setAttribute("data-state","visible")},n.closeModal=function(e){function t(e,t){for(var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;e;){if(n.call(e,t))return e;e=e.parentElement}}t(e.target,".gb-modal").setAttribute("data-state","hidden")},n.toggleAccordion=function(e){e.stopPropagation(),e.preventDefault();var t=e.target.parentNode.parentNode.parentNode;t.setAttribute("data-state","active"===t.getAttribute("data-state")?"collapsed":"active");var n=t.parentNode.children;for(var i in n){var r=n[i];1===r.nodeType&&r!==t&&r.setAttribute("data-state","collapsed")}},n.hasUnread=function(e){return n.search&&""!==n.search?!0:l.onlyUnread?a.getActiveBuffer()===e?!0:"core.weechat"===e.fullName?!0:e.unread>0||e.notification>0:!0},l.addCallback("nonicklist",function(){n.showNicklist=n.updateShowNicklist(),t.connected&&t.bufferBottom&&r(function(){t.updateBufferBottom(!0)},500)}),n.showNicklist=!1,n.updateShowNicklist=function(){var e=a.getActiveBuffer();return e?l.nonicklist?!1:e.isNicklistEmpty()?!1:!0:!1},t.switchToActivityBuffer=function(){var e,t,i=_.sortBy(n.getBuffers(),"number");for(e in i)if(t=i[e],t.notification>0)return void n.setActiveBuffer(t.id);for(e in i)if(t=i[e],t.unread>0)return void n.setActiveBuffer(t.id)},t.toggleNicklist=function(){l.nonicklist=!l.nonicklist},n.handleSearchBoxKey=function(e){var t=e.keyCode?e.keyCode:e.charCode;27===t?(e.preventDefault(),n.search=""):13===t&&(e.preventDefault(),n.filteredBuffers.length>0&&n.setActiveBuffer(n.filteredBuffers[0].id),n.search="")},window.onbeforeunload=function(e){null!==n.command&&""!==n.command?(e.preventDefault(),e.returnValue="Any unsent input will be lost. Are you sure that you want to quit?"):(t.connected&&n.disconnect(),n.favico.reset())}}]),e.config(["$routeProvider",function(e){e.when("/",{templateUrl:"index.html",controller:"WeechatCtrl"})}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("settings",["$store","$rootScope",function(e,t){var n=this;this.callbacks={};var i=function(i){Object.defineProperty(n,i,{enumerable:!0,key:i,get:function(){return e.get(i)},set:function(r){e.set(i,r);for(var o=n.callbacks[i],a=0;void 0!==o&&a0?"("+t+") ":"";var i=n.getActiveBuffer();i&&(e.pageTitle=i.shortName+" | "+i.rtitle)},s=function(){var t=a("notification");if(t>0)e.favico.badge(t,{bgColor:"#d00",textColor:"#fff"});else{var n=a("unread");0===n?e.favico.reset():e.favico.badge(n,{bgColor:"#5CB85C",textColor:"#ff0"})}},u=function(e,t){var o="",a="",c=e.notification;if(["#","&","+","!"].indexOf(e.shortName.charAt(0))<0)o=c>1?c.toString()+" private messages from ":"Private message from ",a=t.text;else{o=c>1?c.toString()+" highlights in ":"Highlight in ";for(var s="",u=0;u "+t.text}o+=e.shortName,o+=e.fullName.replace(/irc.([^\.]+)\..+/," ($1)");var l=new Notification(o,{body:a,icon:"assets/img/favicon.png"});l.id=r.length,r.push(l);var f=15e3;if(l.onshow=function(){setTimeout(function(){l.close()},f)},l.onclick=function(){n.setActiveBuffer(e.id),window.focus(),l.close()},l.onclose=function(){delete r[this.id]},i.soundnotification){var d="assets/audio/sonar",m='';document.getElementById("soundNotification").innerHTML=m}},l=function(){for(;r.length>0;){var e=r.pop();void 0!==e&&e.close()}};return{requestNotificationPermission:o,updateTitle:c,updateFavico:s,createHighlight:u,cancelAll:l}}]),function(){"use strict";var e=angular.module("weechat");e.filter("toArray",function(){return function(e,t){return e instanceof Object?Object.keys(e).map(t?function(t,n){return Object.defineProperties(e[t],{$key:{value:t},$idx:{value:n,configurable:!0}})}:function(t){return Object.defineProperty(e[t],"$key",{value:t})}):e}}),e.filter("irclinky",["$filter",function(){return function(e){if(!e)return e;var t=/(^|[\s,.:;?!"'()+@-\~%])(#+[^\x00\x07\r\n\s,:]*[a-z][^\x00\x07\r\n\s,:]*)/gim,n='$1$2';return e.replace(t,n)}}]),e.filter("inlinecolour",function(){return function(e){if(!e)return e;var t=/(^|[^&])(\#[0-9a-f]{6};?)(?!\w)/gim,n=/(.?)(rgba?\((?:\s*\d+\s*,){2}\s*\d+\s*(?:,\s*[\d.]+\s*)?\);?)/gim,i='$1$2
';return e=e.replace(t,i),e=e.replace(n,i)}}),e.filter("DOMfilter",["$filter","$sce",function(e,t){return function(n,i){if(!n||!i)return n;var r=function(e){var t={"<":"<",">":">",'"':""","'":"'","&":"&","/":"/"};return e.replace(/[<>"'&\/]/g,function(e){return t[e]})},o=arguments.length>2?arguments[2]:null,a=e(i),c=document.createElement("div");c.innerHTML=n;var s=function(e){if(3===e.nodeType){var t=r(e.nodeValue),n=a(t,o);if(n!==t){var i=document.createElement("span");i.innerHTML=n;var c=e.parentNode,u=e.nextSibling;return c.removeChild(e),u?c.insertBefore(i,u):c.appendChild(i),i}}if(void 0!==e&&null!==e)for(e=e.firstChild;e;){var l=s(e);e=(l?l:e).nextSibling}};return s(c),t.trustAsHtml(c.innerHTML)}}]),e.filter("getBufferQuickKeys",function(){return function(e,t){return t?(void 0!==t.search&&t.search.length||t.onlyUnread?e.forEach(function(e,t){e.$quickKey=10>t?(t+1)%10:""}):_.map(e,function(e,t){return[e.number,e.$idx,t]}).sort(function(e,t){return e[0]-t[0]||e[1]-t[1]}).forEach(function(t,n){e[t[2]].$quickKey=10>n?(n+1)%10:""}),e):e}}),e.filter("emojify",function(){return function(e,t){return t===!0?twemoji.parse(e):e}})}(),function(){"use strict";var e=angular.module("weechat");e.factory("handlers",["$rootScope","$log","models","plugins","notifications",function(e,t,n,i,r){var o=function(e){var t=e.objects[0].content[0],i=t.pointers[0];n.closeBuffer(i)},a=function(t,o){var a=new n.BufferLine(t),c=n.getBuffer(a.buffer);c.requestedLines++,a.displayed&&(a=i.PluginManager.contentForMessage(a),c.addLine(a),o&&c.lastSeen++,c.active&&!o&&e.scrollWithBuffer(),o||c.active&&e.isWindowFocused()||(c.notify>1&&_.contains(a.tags,"notify_message")&&!_.contains(a.tags,"notify_none")&&(c.unread++,e.$emit("notificationChanged")),(0!==c.notify&&a.highlight||_.contains(a.tags,"notify_private"))&&(c.notification++,r.createHighlight(c,a),e.$emit("notificationChanged"))))},c=function(e){e.objects[0].content.forEach(function(e){a(e,!1)})},s=function(e){var t=e.objects[0].content[0],i=new n.Buffer(t);n.addBuffer(i)},u=function(e){var t=e.objects[0].content[0],i=t.pointers[0],r=n.getBuffer(i);r.fullName=t.full_name,r.title=n.parseRichText(t.title),r.number=t.number,r.rtitle="";for(var o=0;o=0?t.short_name.charAt(0):""},f=function(e){var t=e.objects[0].content[0],i=t.pointers[0],r=n.getBuffer(i),o=t.local_variables;void 0!==r&&void 0!==o&&(r.type=o.type,r.indent=["channel","private"].indexOf(o.type)>=0)},d=function(e,t){var n=e.objects[0].content.reverse();void 0===t&&(t=!0),n.forEach(function(e){a(e,t)})},m=function(e){if(0!==e.objects.length){var t=e.objects[0].content;t.forEach(function(e){var t=n.getBuffer(e.buffer);t.unread+=e.count[1],t.notification+=e.count[2],t.notification+=e.count[3];var i=_.reduce(e.count,function(e,t){return e+t},0);t.lastSeen=t.lines.length-1-i})}},h=function(e){var t=e.objects[0].content,i="root";t.forEach(function(e){var t=n.getBuffer(e.pointers[0]);if(1===e.group){var r=new n.NickGroup(e);i=r.name,t.nicklist[i]=r}else{var o=new n.Nick(e);t.addNick(i,o)}})},g=function(e){var t,i=e.objects[0].content;i.forEach(function(e){var i=n.getBuffer(e.pointers[0]),r=e._diff;if(1===e.group){if(t=e.name,void 0===t){var o=new n.NickGroup(e);i.nicklist[t]=o,t=o.name}}else{var a=new n.Nick(e);43===r?i.addNick(t,a):45===r?i.delNick(t,a):42===r&&i.updateNick(t,a)}})},p={_buffer_closing:o,_buffer_line_added:c,_buffer_localvar_added:f,_buffer_localvar_removed:f,_buffer_opened:s,_buffer_title_changed:u,_buffer_renamed:l,_nicklist:h,_nicklist_diff:g};e.$on("onMessage",function(e,n){_.has(p,n.id)?p[n.id](n):t.debug("Unhandled event received: "+n.id)});var v=function(e){_.has(p,e.id)&&p[e.id](e)};return{handleEvent:v,handleLineInfo:d,handleHotlistInfo:m,handleNicklist:h}}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("connection",["$rootScope","$log","handlers","models","ngWebsockets",function(e,t,n,i,r){var o=new weeChat.Protocol,a=function(a,c,s,u,l){var f=u?"wss":"ws";-1!==a.indexOf(":")&&(a="["+a+"]");var d=f+"://"+a+":"+c+"/weechat";t.debug("Connecting to URL: ",d);var m=function(){var o=function(e){return r.send(weeChat.Protocol.formatInit({password:e,compression:l?"off":"zlib"})),r.send(weeChat.Protocol.formatInfo({name:"version"}))},a=function(){return r.send(weeChat.Protocol.formatHdata({path:"hotlist:gui_hotlist(*)",keys:[]}))},c=function(){return r.send(weeChat.Protocol.formatHdata({path:"buffer:gui_buffers(*)",keys:["local_variables,notify,number,full_name,short_name,title"]}))},u=function(){return r.send(weeChat.Protocol.formatSync({}))};o(s).then(function(){c().then(function(e){for(var t=e.objects[0].content,n=0;n=0;a.lines.length=0,a.requestedLines=0;var c=t.objects[0].content.length;n.handleLineInfo(t,!0),a.lastSeen-=i,o>c&&(a.allLinesFetched=!0),e.loadingLines=!1;var s=!r&&a.lastSeen>=0;e.scrollWithBuffer(s,!0)})};return{connect:a,disconnect:c,sendMessage:s,sendCoreCommand:u,fetchMoreLines:f,requestNicklist:l}}])}(),function(){"use strict";var e=angular.module("weechat");e.directive("inputBar",function(){return{templateUrl:"directives/input.html",scope:{inputId:"@inputId",command:"=command"},controller:["$rootScope","$scope","$element","$log","connection","models","IrcUtils","settings",function(e,t,n,i,r,o,a,c){t.getInputNode=function(){return document.querySelector("textarea#"+t.inputId)},t.hideSidebar=function(){e.hideSidebar()},t.completeNick=function(){var e=t.getInputNode(),n=e.selectionStart,i=o.getActiveBuffer(),r=t.command||"",c=a.completeNick(r,n,t.iterCandidate,i.getNicklistByTime(),":");t.iterCandidate=c.iterCandidate,t.command=c.text,setTimeout(function(){e.focus(),e.setSelectionRange(c.caretPos,c.caretPos)},0)},t.sendMessage=function(){var e=o.getActiveBuffer();void 0!==t.command&&""!==t.command&&(e.addToHistory(t.command),_.each(t.command.split(/\r?\n/),function(e){("/quit"!==e&&0!==e.indexOf("/quit ")||window.confirm("Are you sure you want to quit WeeChat? This will prevent you from connecting with Glowing Bear until you restart WeeChat on the command line!"))&&r.sendMessage(e)}),("/buffer clear"===t.command||"/c"===t.command)&&(i.debug("Clearing lines"),e.clear()),t.command=""),t.getInputNode().focus()},e.addMention=function(e){var n=e[e.length-1].text,i=t.command||"",r=0===i.length;if(i.length>0){var a=i.trim();if(":"===a.charAt(a.length-1)){var c=a.lastIndexOf(" ")+1,s=a.slice(c,a.length-1),u=o.getActiveBuffer().getNicklistByTime();for(var l in u)if(u[l].name===s){i=i.slice(0,i.lastIndexOf(":"))+" ",r=!0;break}}" "!==i.charAt(i.length-1)&&(i+=" ")}i+=n,r&&(i+=": "),t.command=i,t.getInputNode().focus()},e.handleKeyPress=function(n){if(!e.connected)return!0;var i=t.getInputNode(),a=n.keyCode?n.keyCode:n.charCode;e.showQuickKeys=!1;var s=t.iterCandidate;if(t.iterCandidate=null,n.altKey&&!n.ctrlKey&&a>47&&58>a){48===a&&(a=58);var u,l=a-48-1;if((t.$parent.search.length||t.$parent.onlyUnread)&&t.$parent.filteredBuffers.length){var f=t.$parent.filteredBuffers[l];void 0!==f&&(u=[f.number,f.id])}else{var d=_.map(o.getBuffers(),function(e){return[e.number,e.id]}).sort(function(e,t){return e[0]-t[0]});u=d[l]}u&&(t.$parent.setActiveBuffer(u[1]),n.preventDefault())}if(9===a&&!n.altKey&&!n.ctrlKey)return n.preventDefault(),t.iterCandidate=s,t.completeNick(),!0;if(n.altKey&&!n.ctrlKey&&78===a)return n.preventDefault(),e.toggleNicklist(),!0;if(n.altKey&&(97===a||65===a))return n.preventDefault(),e.switchToActivityBuffer(),!0;if(n.altKey&&(76===a||108===a))return n.preventDefault(),i.focus(),i.setSelectionRange(t.command.length,t.command.length),!0;if(n.altKey&&(60===a||226===a)){var m=o.getPreviousBuffer();if(m)return o.setActiveBuffer(m.id),n.preventDefault(),!0}if(27===a){n.preventDefault();for(var h=document.querySelectorAll(".gb-modal"),g=0;g=0;b--)if(v[b].offsetTop-y.scrollTopy.clientHeight/2){v[b].scrollIntoView(!0);break}return!0}if(c.readlineBindings&&n.ctrlKey&&!n.altKey&&!n.shiftKey&&document.activeElement===i){if(p=i.selectionStart,65==a)i.setSelectionRange(0,0);else if(69==a)i.setSelectionRange(t.command.length,t.command.length);else if(85==a)t.command=t.command.slice(p),setTimeout(function(){i.setSelectionRange(0,0)});else if(75==a)t.command=t.command.slice(0,p),setTimeout(function(){i.setSelectionRange(t.command.length,t.command.length)});else{if(87!=a)return!1;var w=t.command.slice(0,p),k=w.lastIndexOf(" ")+1;t.command=t.command.slice(0,k)+t.command.slice(p,t.command.length),setTimeout(function(){i.setSelectionRange(k,k)})}return n.preventDefault(),!0}"keydown"!==n.type||18!==a||n.ctrlKey||n.shiftKey||(e.showQuickKeys=!0)},e.handleKeyRelease=function(t){return 18===t.keyCode?(void 0!==e.quickKeysTimer&&clearTimeout(e.quickKeysTimer),e.quickKeysTimer=setTimeout(function(){e.showQuickKeys&&(e.showQuickKeys=!1,e.$apply()),delete e.quickKeysTimer},1e3),!0):void 0}}]}})}(),function(){"use strict";var e=angular.module("weechat");e.directive("plugin",["$rootScope","settings",function(e,t){return{templateUrl:"directives/plugin.html",scope:{plugin:"=data"},controller:["$scope",function(n){n.displayedContent="",n.plugin.visible=!t.noembed&&!n.plugin.nsfw,n.plugin.className="embed_"+n.plugin.$$hashKey.replace(":","_"),n.plugin.getElement=function(){return document.querySelector("."+n.plugin.className)},n.hideContent=function(){n.plugin.visible=!1},n.showContent=function(t){var i=n.plugin.getElement();n.plugin.content instanceof Function?i&&""!==i.innerHTML||setTimeout(function(){n.plugin.content()}):n.displayedContent=n.plugin.content,n.plugin.visible=!0;var r;if(t){var o=e.bufferBottom;r=function(){e.updateBufferBottom(o)}}else r=function(){i&&void 0!==i.scrollIntoViewIfNeeded&&(i.scrollIntoViewIfNeeded(),e.updateBufferBottom())};setTimeout(r,500)},n.plugin.visible&&n.showContent(!0)}]}}])}(),function(){"use strict";var e=angular.module("ngWebsockets",[]);e.factory("ngWebsockets",["$rootScope","$q",function(e,t){var n=null,i=null,r={},o=0,a=function(e){for(var t in r)r[t].cb.reject(e)},c=function(){return o+=1,o>1e3&&(o=0),o},s=function(e){var t=u(e);return e=n.setId(t.id,e),i.send(e),t.promise},u=function(){var e=t.defer(),n=c();return r[n]={time:new Date,cb:e},e.id=n,e},l=function(e){var n=[];for(var i in e){var r=s(e[i]);n.push(r)}return t.all(n)},f=function(t){var i=n.parse(t.data);if(_.has(r,i.id)){var o=r[i.id];o.cb.resolve(i),delete r[i.id]}else e.$emit("onMessage",i);e.$apply()},d=function(e,t,r){i=new WebSocket(e),n=t;for(var o in r)i[o]=r[o];i.onmessage="onmessage"in r?function(e){r.onmessage(e),f(e)}:f},m=function(){i.close()};return{send:s,sendAll:l,connect:d,disconnect:m,failCallbacks:a}}])}(),function(){"use strict";var e=angular.module("weechatModels",[]);e.service("models",["$rootScope","$filter",function(e,t){function n(e,t){if(t in e&&e[t]&&e[t].length>0){var n=e[t];if(n.match(/^weechat/)){var i=n.match(/[a-zA-Z0-9_]+$/)[0];return["cof-"+i,"cob-"+i,"coa-"+i]}if(n.match(/^[a-zA-Z]+$/))return["cwf-"+n];if(n.match(/^[0-9]+$/))return["cef-"+n]}return["cwf-default"]}function i(e){return{name:n(e,"color"),prefix:n(e,"prefix_color")}}var r=function(e){var t=weeChat.Protocol.rawText2Rich(e),n={option:"cof-",weechat:"cwf-",ext:"cef-"},i={option:"cob-",weechat:"cwb-",ext:"ceb-"};return t.forEach(function(e){e.classes=[];var t=n[e.fgColor.type];e.classes.push(t+e.fgColor.name),t=i[e.bgColor.type],e.classes.push(t+e.bgColor.name),null!==e.attrs.name&&e.classes.push("coa-"+e.attrs.name);var r,o;for(r in e.attrs.override)o=e.attrs.override[r],e.classes.push(o?"a-"+r:"a-no-"+r)}),t};this.parseRichText=r,this.Buffer=function(e){var t=e.full_name,n=e.short_name,i=n.replace(/^[#&+]/,"")||(n?" ":null),o=["#","&","+"].indexOf(n.charAt(0))>=0?n.charAt(0):"",a=r(e.title),c=e.number,s=e.pointers[0],u=3,l=[],f=0,d={},m=[],h=0,g=0,p=0,v=-1,b=t.replace(/^irc\.server\.(\w+)/,"irc.$1"),y=e.local_variables.type,w=["channel","private"].indexOf(y)>=0;void 0!==e.notify&&(u=e.notify);for(var k="",C=0;C=m.length&&m.push(e),0>=h||h>=m.length)return e;h--;var t=m[h];return t},M=function(e){return h===m.length?(void 0!==e&&""!==e&&(m.push(e),h++),""):0>h||h>m.length?e:(h++,m.length>0&&h==m.length-1?m.pop():m[h])},E=function(){for(var e in d)if("root"!==e)return!1;return!0},D=function(){return d.hasOwnProperty("root")},H=function(){for(;l.length>0;)l.pop();f=0};return{id:s,fullName:t,shortName:n,trimmedName:i,prefix:o,number:c,title:a,rtitle:k,lines:l,clear:H,requestedLines:f,addLine:x,lastSeen:v,unread:p,notification:g,notify:u,nicklist:d,addNick:S,delNick:B,updateNick:A,getNicklistByTime:$,serverSortKey:b,indent:w,type:y,history:m,addToHistory:T,getHistoryUp:I,getHistoryDown:M,isNicklistEmpty:E,nicklistRequested:D}},this.BufferLine=function(e){var n=e.buffer,i=e.date,o=t("date")(i,"HH:mm"),a=r(e.prefix),c=e.tags_array,s=e.displayed,u=e.highlight,l=r(e.message);u&&a.forEach(function(e){e.classes.push("highlight")});for(var f="",d=0;d]/g,i=function(e,t){return{contentForMessage:function(e){for(var i=e.match(n),r=[],o=0;i&&o=0;s--){var u=1==c.length?void 0:s+1;r(c[s],e[o].name,u)}else r(c,e[o].name);if(e[o].exclusive)break}}return n};return{registerPlugins:n,contentForMessage:r}};this.PluginManager=new n,this.PluginManager.registerPlugins(e.plugins)}]),e.factory("userPlugins",function(){var e=function(e,t){var n="jsonp_callback_"+Math.round(1e5*Math.random());window[n]=function(e){delete window[n],document.body.removeChild(i),t(e)};var i=document.createElement("script");i.src=e+(e.indexOf("?")>=0?"&":"?")+"callback="+n,document.body.appendChild(i)},n=new t("Spotify track",function(e){var t=[],n=function(e){for(var n=0;e&&n')}};return n(e.match(/spotify:track:([a-zA-Z-0-9]{22})/g)),n(e.match(/open.spotify.com\/track\/([a-zA-Z-0-9]{22})/g)),t}),r=new i("YouTube video",function(e){var t=/(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/i,n=e.match(t);if(n){var i=n[1],r="https://www.youtube.com/embed/"+i+"?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0";return''}}),o=new t("Dailymotion video",function(e){var t=/dailymotion.com\/.*video\/([^_?# ]+)/,n=/dailymotion.com\/.*#video=([^_& ]+)/,i=/dai.ly\/([^_?# ]+)/,r=e.match(t)||e.match(n)||e.match(i);if(r){var o=r[1],a="https://www.dailymotion.com/embed/video/"+o+"?html&controls=html&startscreen=html&info=0&logo=0&related=0";return''}return null}),a=new t("AlloCine video",function(e){var t=/allocine.fr\/videokast\/video-(\d+)/,n=/allocine.fr\/.*cmedia=(\d+)/,i=e.match(t)||e.match(n);if(i){var r=i[1],o="http://www.allocine.fr/_video/iblogvision.aspx?cmedia="+r;return''}return null}),c=new i("image",function(e){return e.match(/\.(png|gif|jpg|jpeg)(:(small|medium|large))?\b/i)?(-1!=e.indexOf("^https?://fukung.net/v/")?e=e.replace(/.*\//,"http://media.fukung.net/imgs/"):e.match(/^http:\/\/(i\.)?imgur\.com\//i)?e=e.replace(/http:/,""):e.match(/^https:\/\/www\.dropbox\.com\/s\/[a-z0-9]+\/[^?]+$/i)&&(e+="?dl=1"),''):void 0}),s=new i("video",function(e){return e.match(/\.(mp4|webm|ogv)\b/i)?'':void 0}),u=new i("cloud music",function(e){return e.match(/^https?:\/\/soundcloud.com\//)?'':e.match(/^https?:\/\/([a-z]+\.)?mixcloud.com\//)?'':void 0}),l=new i("Google Map",function(e){return e.match(/^https?:\/\/maps\.google\./i)||e.match(/^https?:\/\/(?:[\w]+\.)?google\.[\w]+\/maps/i)?'':void 0}),f=new i("ascii cast",function(e){var t=/^https?:\/\/(?:www\.)?asciinema.org\/a\/(\d+)/i,n=e.match(t);if(n){var i=n[1];return function(){var e=this.getElement(),t=document.createElement("script");t.src="https://asciinema.org/a/"+i+".js",t.id="asciicast-"+i,t.async=!0,e.appendChild(t)}}}),d=new i("meteogram",function(e){var t=/^https?:\/\/(?:www\.)?yr\.no\/(place|stad|sted|sadji|paikka)\/(([^\s.;,(){}<>\/]+\/){3,})/,n=e.match(t);if(n){var i=n[1],r=n[2],o=n[n.length-1].slice(0,-1);return e="http://www.yr.no/"+i+"/"+r+"avansert_meteogram.png","Meteogram for "+o+""}}),m=new i("Gist",function(t){var n=/^https:\/\/gist\.github.com\/[^.?]+/i,i=t.match(n);return i?(t=i[0]+".json",function(){var n=this.getElement();e(t,function(e){if(document.querySelectorAll('link[rel=stylesheet][href="'+e.stylesheet+'"]').length<1){var t='';document.getElementsByTagName("head")[0].innerHTML+=t}n.innerHTML='
'+e.div+"
"})}):void 0}),h=new i("Tweet",function(t){var n=/^https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)/i,i=t.match(n);return i?(t="https://api.twitter.com/1/statuses/oembed.json?id="+i[2],function(){var n=this.getElement();e(t,function(e){var t=e.html.indexOf("'}});return{plugins:[r,o,a,c,s,n,u,l,f,d,m,h,g]}})}(); +!function(){"use strict";var e=angular.module("localStorage",[]);e.factory("$store",["$parse",function(e){var t="undefined"==typeof window.localStorage?void 0:window.localStorage,n=!("undefined"==typeof t||"undefined"==typeof window.JSON);n||console.log("Warning: localStorage is not supported");var i={parseValue:function(e){var t;try{t=JSON.parse(e),void 0===t&&(t=e),"true"===t&&(t=!0),"false"===t&&(t=!1),parseFloat(t)!=t||angular.isObject(t)||(t=parseFloat(t))}catch(n){t=e}return t}},r={set:function(e,r){n||console.log("Local Storage not supported");var o=JSON.stringify(r);return t.setItem(e,o),i.parseValue(o)},get:function(e){if(!n)return null;var r=t.getItem(e);return i.parseValue(r)},remove:function(e){return n?(t.removeItem(e),!0):!1},enumerateKeys:function(){for(var e=[],n=0,i=t.length;i>n;++n)e.push(t.key(n));return e},bind:function(t,n,i){return void 0===i&&(i=""),(void 0===r.get(n)||null===r.get(n))&&r.set(n,i),e(n).assign(t,r.get(n)),t.$watch(n,function(e){r.set(n,e)},!0),r.get(n)}};return r}])}(),function(e){"use strict";!function(){var t=function(){this._types={chr:this._getChar,int:this._getInt,str:this._getString,inf:this._getInfo,hda:this._getHdata,ptr:this._getPointer,lon:this._getStrNumber,tim:this._getTime,buf:this._getString,arr:this._getArray,htb:this._getHashTable,inl:function(){this._warnUnimplemented("infolist")}},this._typesStr={chr:this._strDirect,str:this._strDirect,int:this._strToString,tim:this._strToString,ptr:this._strDirect}};t._weeChatColorsNames=["default","black","darkgray","red","lightred","green","lightgreen","brown","yellow","blue","lightblue","magenta","lightmagenta","cyan","lightcyan","gray","white"],t._colorsOptionsNames=["separator","chat","chat_time","chat_time_delimiters","chat_prefix_error","chat_prefix_network","chat_prefix_action","chat_prefix_join","chat_prefix_quit","chat_prefix_more","chat_prefix_suffix","chat_buffer","chat_server","chat_channel","chat_nick","chat_nick_self","chat_nick_other","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","chat_host","chat_delimiters","chat_highlight","chat_read_marker","chat_text_found","chat_value","chat_prefix_buffer","chat_tags","chat_inactive_window","chat_inactive_buffer","chat_prefix_buffer_inactive_buffer","chat_nick_offline","chat_nick_offline_highlight","chat_nick_prefix","chat_nick_suffix","emphasis","chat_day_change"],t._getDefaultColor=function(){return{type:"weechat",name:"default"}},t._getDefaultAttributes=function(){return{name:null,override:{bold:!1,reverse:!1,italic:!1,underline:!1}}},t._getDefaultStyle=function(){return{fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),attrs:t._getDefaultAttributes()}},t._cloneColor=function(e){var t={};for(var n in e)t[n]=e[n];return t},t._cloneAttrs=function(e){var t={};t.name=e.name,t.override={};for(var n in e.override)t.override[n]=e.override[n];return t},t._attrNameFromChar=function(e){var t={"*":"b","!":"r","/":"i",_:"u","":"b","":"r","":"i","":"u"};return e in t?t[e]:null},t._attrsFromStr=function(e){for(var n=t._getDefaultAttributes(),i=0;i16?t._getDefaultColor():{type:"weechat",name:t._weeChatColorsNames[n]}}var i=e.substring(1);return{type:"ext",name:parseInt(i).toString()}},t._getStyle=function(e){var n=[{regex:/^(\d{2})/,fn:function(e){var n={},i=parseInt(e[1]);if(i>43)return{fgColor:null,bgColor:null,attrs:null};var r=t._colorsOptionsNames[i];return n.fgColor={type:"option",name:r},n.bgColor=t._cloneColor(n.fgColor),n.attrs={name:r,override:{}},n}},{regex:/^@(\d{5})/,fn:function(){return{fgColor:null,bgColor:null,attrs:null}}},{regex:/^F(?:([*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5}))/,fn:function(e){var n={bgColor:null};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n}},{regex:/^B(\d{2}|@\d{5})/,fn:function(e){return{fgColor:null,bgColor:t._getColorObj(e[1]),attrs:null}}},{regex:/^\*(?:([\x01\x02\x03\x04*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5})),(\d{2}|@\d{5})/,fn:function(e){var n={};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n.bgColor=t._getColorObj(e[5]),n}},{regex:/^\*([\x01\x02\x03\x04*!\/_|]*)(\d{2}|@\d{5})/,fn:function(e){return{fgColor:t._getColorObj(e[2]),bgColor:null,attrs:t._attrsFromStr(e[1])}}},{regex:/^E/,fn:function(){var e={};return e.fgColor={type:"option",name:"emphasis"},e.bgColor=t._cloneColor(e.fgColor),e.attrs={name:"emphasis",override:{}},e}}],i={fgColor:null,bgColor:null,attrs:null,text:e};return n.some(function(t){var n=e.match(t.regex);return n?(i=t.fn(n),i.text=e.substring(n[0].length),!0):!1}),i},t.rawText2Rich=function(e){var n=e.split(/(\x19|\x1a|\x1b|\x1c)/);if(1===n.length)return[{attrs:t._getDefaultAttributes(),fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),text:n[0]}];var i=t._getDefaultColor(),r=t._getDefaultColor(),o=t._getDefaultAttributes(),a=null,c=!0;return n.map(function(e){if(0===e.length)return null;var n=e.charCodeAt(0),s=e.charAt(0);if(n>=25&&28>=n)return 28===n&&(i=t._getDefaultColor(),r=t._getDefaultColor(),25!==a&&(o=t._getDefaultAttributes())),a=n,null;var u=e;if(25===a){var l=t._getStyle(e);null!==l.fgColor&&(i=l.fgColor),null!==l.bgColor&&(r=l.bgColor),null!==l.attrs&&(o=l.attrs),u=l.text}else if(26===a||27===a){var f=26===a;if("|"!==s){var d=t._attrNameFromChar(s);d&&(o.override[d]=f,u=e.substring(1))}}if(a=null,0===u.length)return null;if(c&&null===o.name){var m=!0;for(var h in o.override)if(o.override[h]){m=!1;break}m?o.override={}:c=!1}return{fgColor:t._cloneColor(i),bgColor:t._cloneColor(r),attrs:t._cloneAttrs(o),text:u}}).filter(function(e){return null!==e})},t._uia2s=function(e){if(!e.length||0===e[0])return"";try{var t=String.fromCharCode.apply(null,e),n=decodeURIComponent(escape(t));return n}catch(t){for(var i="",r=0,o=e.length;o>r;r++)i+=e[r]<128?String.fromCharCode(e[r]):"?";return i}},t._mergeParams=function(e,t){for(var n in t)e[n]=t[n];return e},t._formatCmd=function(e,t,n){var i,r;return i=null!==e?"("+e+") ":"",i+=t,n.unshift(i),r=n.join(" "),r+="\n",r.replace(/[\r\n]+$/g,"").split("\n"),r},t.formatInit=function(e){var n={password:null,compression:"zlib"},i=[],r=[];return e=t._mergeParams(n,e),i.push("compression="+e.compression),null!==e.password&&i.push("password="+e.password),r.push(i.join(",")),t._formatCmd(null,"init",r)},t.formatHdata=function(e){var n={id:null,keys:null},i=[];return e=t._mergeParams(n,e),i.push(e.path),null!==e.keys&&i.push(e.keys.join(",")),t._formatCmd(e.id,"hdata",i)},t.formatInfo=function(e){var n={id:null},i=[];return e=t._mergeParams(n,e),i.push(e.name),t._formatCmd(e.id,"info",i)},t.formatNicklist=function(e){var n={id:null,buffer:null},i=[];return e=t._mergeParams(n,e),null!==e.buffer&&i.push(e.buffer),t._formatCmd(e.id,"nicklist",i)},t.formatInput=function(e){var n={id:null},i=[];return e=t._mergeParams(n,e),i.push(e.buffer),i.push(e.data),t._formatCmd(e.id,"input",i)},t._formatSyncDesync=function(e,n){var i={id:null,buffers:null,options:null},r=[];return n=t._mergeParams(i,n),null!==n.buffers&&(r.push(n.buffers.join(",")),null!==n.options&&r.push(n.options.join(","))),t._formatCmd(n.id,e,r)},t.formatSync=function(e){return t._formatSyncDesync("sync",e)},t.formatDesync=function(e){return t._formatSyncDesync("desync",e)},t.formatTest=function(e){var n={id:null},i=[];return e=t._mergeParams(n,e),t._formatCmd(e.id,"test",i)},t.formatQuit=function(){return t._formatCmd(null,"quit",[])},t.formatPing=function(e){var n={id:null,args:null},i=[];return e=t._mergeParams(n,e),null!==e.args&&i.push(e.args.join(" ")),t._formatCmd(e.id,"ping",i)},t.prototype={_warnUnimplemented:function(e){console.log("Warning: "+e+" message parsing is not implemented")},_getType:function(){var e=this._getSlice(3);return e?t._uia2s(new Uint8Array(e)):null},_runType:function(e){var t=this._types[e],n=t.bind(this);return n()},_getStrNumber:function(){var e=this._getByte(),n=this._getSlice(e);return t._uia2s(new Uint8Array(n))},_strDirect:function(e){return e},_strToString:function(e){return e.toString()},_objToString:function(e,t){var n=this._typesStr[t],i=n.bind(this);return i(e)},_getInfo:function(){var e={};return e.key=this._getString(),e.value=this._getString(),e},_getHdata:function(){function e(){var e={};e.pointers=t.map(function(){return i._getPointer()}),a.forEach(function(t){e[t[0]]=i._runType(t[1])}),r.push(e)}var t,n,i=this,r=[],o=this._getString(),a=this._getString().split(",");t=o.split("/"),n=this._getInt(),a=a.map(function(e){return e.split(":")});for(var c=0;n>c;c++)e();return r},_getPointer:function(){return this._getStrNumber()},_getTime:function(){var e=this._getStrNumber();return new Date(1e3*parseInt(e,10))},_getInt:function(){var e=new Uint8Array(this._getSlice(4));return(255&e[0])<<24|(255&e[1])<<16|(255&e[2])<<8|255&e[3]},_getByte:function(){var e=new Uint8Array(this._getSlice(1));return e[0]},_getChar:function(){return this._getByte()},_getString:function(){var e=this._getInt();if(e>0){var n=this._getSlice(e),i=new Uint8Array(n);return t._uia2s(i)}return""},_getHeader:function(){var e=this._getInt(),t=this._getByte();return{length:e,compression:t}},_getId:function(){return this._getString()},_getObject:function(){var e=this,t=this._getType();return t?{type:t,content:e._runType(t)}:void 0},_getHashTable:function(){var e,t,n,i=this,r={};e=this._getType(),t=this._getType(),n=this._getInt();for(var o=0;n>o;++o){var a=i._runType(e),c=i._objToString(a,e),s=i._runType(t);r[c]=s}return r},_getArray:function(){var e,t,n,i=this;e=this._getType(),t=this._getInt(),n=[];for(var r=0;t>r;r++)n.push(i._runType(e));return n},_getSlice:function(e){if(this.dataAt+e>this._data.byteLength)return null;var t=this._data.slice(this._dataAt,this._dataAt+e);return this._dataAt+=e,t},_setData:function(e){this._data=e},setId:function(e,t){return"("+e+") "+t},parse:function(e){var t=this;this._setData(e),this._dataAt=0;var n=this._getHeader();if(n.compression){var i=new Uint8Array(e,5),r=new Zlib.Inflate(i),o=r.decompress();this._setData(o.buffer),this._dataAt=0}for(var a=this._getId(),c=[],s=this._getObject();s;)c.push(s),s=t._getObject();var u={header:n,id:a,objects:c};return u}},e.Protocol=t}()}("undefined"==typeof exports?this.weeChat={}:exports),function(){"use strict";var e=angular.module("IrcUtils",[]);e.service("IrcUtils",[function(){var e=function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},t=function(e){var t=_(e).sortBy(function(e){return-e.spokeAt});return t=_(t).pluck("name")},n=function(e,t){var n=null;return t.some(function(t){return 0===t.toLowerCase().search(e.toLowerCase())?(n=t,!0):!1}),n},i=function(t,n,i){for(var r=[],o=null,a=t.toLowerCase(),c=n.toLowerCase(),s=0;s0;)e=n.pop(),e.$$watchers&&(i+=e.$$watchers.length),e.$$childHead&&n.push(e.$$childHead),e.$$nextSibling&&n.push(e.$$nextSibling);o.debug(i)},n.isinstalled=function(){return void 0===navigator.mozApps?!1:void(navigator.mozApps.getSelf().onsuccess=function(e){var t=e.target.result;return t?!0:!1})}(),function(){"undefined"!=typeof document.hidden?(n.documentHidden="hidden",n.documentVisibilityChange="visibilitychange"):"undefined"!=typeof document.webkitHidden?(n.documentHidden="webkitHidden",n.documentVisibilityChange="webkitvisibilitychange"):"undefined"!=typeof document.mozHidden?(n.documentHidden="mozHidden",n.documentVisibilityChange="mozvisibilitychange"):"undefined"!=typeof document.msHidden&&(n.documentHidden="msHidden",n.documentVisibilityChange="msvisibilitychange")}(),function(){window.location.search.substring(1).split("&").forEach(function(e){var n=e.split("=");"debug"===n[0]&&-1!=["true","1"].indexOf(n[1])&&(t.debugMode=!0)}),t.debugMode&&!e.compileProvider.debugInfoEnabled()&&angular.reloadWithDebugInfo()}(),t.isWindowFocused=function(){if("undefined"==typeof n.documentHidden)return!0;var e=document[n.documentHidden];return!e},"undefined"!=typeof n.documentVisibilityChange&&document.addEventListener(n.documentVisibilityChange,function(){if(!document[n.documentHidden]){var e=a.getActiveBuffer();null!==e&&(e.unread=0,e.notification=0,t.$emit("notificationChanged")),t.$apply()}},!1),t.$on("activeBufferChanged",function(e,i){var o=a.getActiveBuffer(),f=o.lines.length-i+5,d=o.lines.length-(2*n.lines_per_screen+10),m=Math.min(f,d);if(m>0&&(o.lines.splice(0,m),o.requestedLines-=m,o.lastSeen-=m,o.allLinesFetched=!1),n.bufferlines=o.lines,n.nicklist=o.nicklist,o.nicklistRequested()?n.showNicklist=n.updateShowNicklist():c.requestNicklist(o.fullName,function(){n.showNicklist=n.updateShowNicklist(),t.scrollWithBuffer(!0)}),o.requestedLinesh&&(h=Math.min(4*h,i)),n.fetchMoreLines(h).then(function(){r(function(){var e=document.getElementById("bufferlines"),n=e.scrollHeight,i=function(){if(e){var r=e.scrollHeight;r!==n&&(t.updateBufferBottom(t.bufferBottom),n=r),setTimeout(i,500)}};t.updateBufferBottom(!0),t.scrollWithBuffer(!0),e.onscroll=_.debounce(function(){t.updateBufferBottom()},80),setTimeout(i,500)})})}s.updateTitle(o),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),r(function(){t.scrollWithBuffer(!0)}),n.search="",u.isMobileUi()||setTimeout(function(){document.getElementById("sendMessage").focus()},0),l.hotlistsync&&o.fullName&&c.sendHotlistClear()}),t.favico=new Favico({animation:"none"}),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),t.$on("notificationChanged",function(){s.updateTitle(),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),l.useFavico&&t.favico&&s.updateFavico()}),t.$on("relayDisconnect",function(){t.pageTitle="",t.notificationStatus="",s.cancelAll(),a.reinitialize(),t.$emit("notificationChanged"),n.connectbutton="Connect"}),n.connectbutton="Connect",n.getBuffers=a.getBuffers.bind(a),n.bufferlines={},n.nicklist={},n.activeBuffer=a.getActiveBuffer,t.connected=!1,t.waseverconnected=!1,t.userdisconnect=!1,t.reconnecting=!1,t.models=a,t.iterCandidate=null,l.savepassword?(n.$watch("password",function(){l.password=n.password}),l.addCallback("password",function(e){n.password=e}),n.password=l.password):l.password="",l.addCallback("savepassword",function(){l.savepassword&&(l.setDefaults({password:n.password}),l.password=n.password)}),t.wasMobileUi=!1,u.isMobileUi()&&(t.wasMobileUi=!0),l.fontfamily||(l.fontfamily=u.isMobileUi()?"sans-serif":"Inconsolata, Consolas, Monaco, Ubuntu Mono, monospace"),n.isSidebarVisible=function(){return"visible"===document.getElementById("content").getAttribute("sidebar-state")},n.showSidebar=function(){document.getElementById("sidebar").setAttribute("data-state","visible"),document.getElementById("content").setAttribute("sidebar-state","visible"),u.isMobileUi()&&_.each(document.getElementsByTagName("textarea"),function(e){r(function(){e.blur()})})},t.hideSidebar=function(){u.isMobileUi()&&(document.getElementById("sidebar").setAttribute("data-state","hidden"),document.getElementById("content").setAttribute("sidebar-state","hidden"))},l.addCallback("autoconnect",function(e){!e||t.connected||t.sslError||t.securityError||t.errorMessage||n.connect()}),n.toggleSidebar=function(){u.isMobileUi()&&(n.isSidebarVisible()?n.hideSidebar():n.showSidebar())},n.openNick=function(){u.isMobileUi()&&l.nonicklist&&(l.nonicklist=!1)},n.closeNick=function(){u.isMobileUi()&&(l.nonicklist||(l.nonicklist=!0))},l.addCallback("orderbyserver",function(e){t.predicate=e?"serverSortKey":"number"}),l.addCallback("useFavico",function(e){t.connected&&(e?s.updateFavico():t.favico.reset())}),l.addCallback("enableMathjax",function(e){e&&!t.mathjax_init&&(t.mathjax_init=!0,function(){var e,t=document.getElementsByTagName("head")[0];e=document.createElement("script"),e.type="text/x-mathjax-config",e[window.opera?"innerHTML":"text"]="MathJax.Hub.Config({\n tex2jax: { inlineMath: [['$$','$$'], ['\\\\(','\\\\)']], displayMath: [['\\\\[','\\\\]']] },\n});",t.appendChild(e),e=document.createElement("script"),e.type="text/javascript",e.src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML",t.appendChild(e)}())}),l.addCallback("theme",function(e){var t=document.getElementById("themeCSS");t&&t.parentNode.removeChild(t),function(){var t=document.createElement("link");t.rel="stylesheet",t.href="css/themes/"+e+".css",t.media="screen",t.id="themeCSS",document.getElementsByTagName("head")[0].appendChild(t)}()}),l.addCallback("fontfamily",function(e){u.changeClassStyle("favorite-font","fontFamily",e)}),l.addCallback("fontsize",function(e){u.changeClassStyle("favorite-font","fontSize",e)}),n.setActiveBuffer=function(e,t){return u.isMobileUi()&&n.hideSidebar(),a.version[0]>=1&&c.sendHotlistClear(),a.setActiveBuffer(e,t)},n.openBuffer=function(e){var t=a.getActiveBuffer().fullName;if(t=t.substring(0,t.lastIndexOf(".")+1)+e,!n.setActiveBuffer(t,"fullName")){var i="join -noswitch";["#","&","+","!"].indexOf(e.charAt(0))<0&&(i="query",(1==a.version[0]&&a.version[1]>=2||a.version[1]>1)&&(i+=" -noswitch")),c.sendMessage("/"+i+" "+e)}},n.calculateNumLines=function(){for(var e=document.querySelectorAll(".bufferline"),t=0,i=0;0===t&&ir||Math.abs(r-o)<3){var a=document.querySelector(".readmarker");if(e&&a)i.scrollTop=a.offsetTop-a.parentElement.scrollHeight+a.scrollHeight;else if(n)i.scrollTop=i.scrollHeight-i.clientHeight-o;else{var c=document.getElementById("end-of-buffer");c.scrollIntoView()}t.updateBufferBottom()}};r(a),window.requestAnimationFrame(a)},n.connect=function(){s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting ...",c.connect(l.host,l.port,n.password,l.ssl)},n.disconnect=function(){n.connectbutton="Connect",c.disconnect()},n.reconnect=function(){var e=a.getActiveBuffer().id;c.attemptReconnect(e,3e3)},n.install=function(){if(void 0!==navigator.mozApps){var e=location.protocol+"//"+location.host+location.pathname.replace(/\/(index\.html)?$/,""),t=navigator.mozApps.install(e+"/manifest.webapp");t.onsuccess=function(){n.isinstalled=!0;var e=this.result;e.launch(),alert("Installation successful!")},t.onerror=function(){alert("Install failed, error: "+this.error.name)}}else alert("Sorry. Only supported in Firefox v26+")},n.showModal=function(e){document.getElementById(e).setAttribute("data-state","visible")},n.closeModal=function(e){function t(e,t){for(var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;e;){if(n.call(e,t))return e;e=e.parentElement}}t(e.target,".gb-modal").setAttribute("data-state","hidden")},n.toggleAccordion=function(e){e.stopPropagation(),e.preventDefault();var t=e.target.parentNode.parentNode.parentNode;t.setAttribute("data-state","active"===t.getAttribute("data-state")?"collapsed":"active");var n=t.parentNode.children;for(var i in n){var r=n[i];1===r.nodeType&&r!==t&&r.setAttribute("data-state","collapsed")}},n.hasUnread=function(e){return n.search&&""!==n.search?!0:l.onlyUnread?a.getActiveBuffer()===e?!0:"core.weechat"===e.fullName||l.orderbyserver&&"server"===e.type?!0:(e.unread>0||e.notification>0)&&!e.hidden:!e.hidden},l.addCallback("nonicklist",function(){n.showNicklist=n.updateShowNicklist(),t.connected&&t.bufferBottom&&r(function(){t.updateBufferBottom(!0)},500)}),n.showNicklist=!1,n.updateShowNicklist=function(){var e=a.getActiveBuffer();return e?l.nonicklist?!1:e.isNicklistEmpty()?!1:!0:!1},t.switchToActivityBuffer=function(){var e,t,i=_.sortBy(n.getBuffers(),"number");for(e in i)if(t=i[e],t.notification>0)return void n.setActiveBuffer(t.id);for(e in i)if(t=i[e],t.unread>0)return void n.setActiveBuffer(t.id)},t.toggleNicklist=function(){l.nonicklist=!l.nonicklist},n.handleSearchBoxKey=function(e){var t=e.keyCode?e.keyCode:e.charCode;27===t?(e.preventDefault(),n.search=""):13===t&&(e.preventDefault(),n.filteredBuffers.length>0&&n.setActiveBuffer(n.filteredBuffers[0].id),n.search="")},window.onbeforeunload=function(e){null!==n.command&&""!==n.command?(e.preventDefault(),e.returnValue="Any unsent input will be lost. Are you sure that you want to quit?"):(t.connected&&n.disconnect(),n.favico.reset())},n.init=function(){if(window.location.hash){var e=atob(window.location.hash.substring(1));window.location.hash="";var i=e.split(":"),r=i[0],o=parseInt(i[1]),a=i[2],u=i.length>3;s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting ...",c.connect(r,o,a,u)}}}]),e.config(["$routeProvider",function(e){e.when("/",{templateUrl:"index.html",controller:"WeechatCtrl"})}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("settings",["$store","$rootScope",function(e,t){var n=this;this.callbacks={},this.cache={};var i=function(i){Object.defineProperty(n,i,{enumerable:!0,key:i,get:function(){return i in this.cache||(this.cache[i]=e.get(i)),this.cache[i]},set:function(r){this.cache[i]=r,e.set(i,r);for(var o=n.callbacks[i],a=0;void 0!==o&&a0?"("+t+") ":"";var i=n.getActiveBuffer();i&&(e.pageTitle=i.shortName+" | "+i.rtitle)},s=function(){var t=a("notification");if(t>0)e.favico.badge(t,{bgColor:"#d00",textColor:"#fff"});else{var n=a("unread");0===n?e.favico.reset():e.favico.badge(n,{bgColor:"#5CB85C",textColor:"#ff0"})}},u=function(e,t){var o="",a="",c=e.notification;if(["#","&","+","!"].indexOf(e.shortName.charAt(0))<0)o=c>1?c.toString()+" private messages from ":"Private message from ",a=t.text;else{o=c>1?c.toString()+" highlights in ":"Highlight in ";for(var s="",u=0;u "+t.text}o+=e.shortName,o+=e.fullName.replace(/irc.([^\.]+)\..+/," ($1)");var l=new Notification(o,{body:a,icon:"assets/img/favicon.png"});l.id=r.length,r.push(l);var f=15e3;if(l.onshow=function(){setTimeout(function(){l.close()},f)},l.onclick=function(){n.setActiveBuffer(e.id),window.focus(),l.close()},l.onclose=function(){delete r[this.id]},i.soundnotification){var d="assets/audio/sonar",m='';document.getElementById("soundNotification").innerHTML=m}},l=function(){for(;r.length>0;){var e=r.pop();void 0!==e&&e.close()}};return{requestNotificationPermission:o,updateTitle:c,updateFavico:s,createHighlight:u,cancelAll:l,unreadCount:a}}]),function(){"use strict";var e=angular.module("weechat");e.filter("toArray",function(){return function(e,t){return e instanceof Object?Object.keys(e).map(t?function(t,n){return Object.defineProperties(e[t],{$key:{value:t},$idx:{value:n,configurable:!0}})}:function(t){return Object.defineProperty(e[t],"$key",{value:t})}):e}}),e.filter("irclinky",function(){return function(e){if(!e)return e;var t=/(^|[\s,.:;?!"'()+@-\~%])(#+[^\x00\x07\r\n\s,:]*[a-z][^\x00\x07\r\n\s,:]*)/gim,n='$1$2';return e.replace(t,n)}}),e.filter("inlinecolour",function(){return function(e){if(!e)return e;var t=/(^|[^&])(\#[0-9a-f]{6};?)(?!\w)/gim,n=/(.?)(rgba?\((?:\s*\d+\s*,){2}\s*\d+\s*(?:,\s*[\d.]+\s*)?\);?)/gim,i='$1$2
';return e=e.replace(t,i),e=e.replace(n,i)}}),e.filter("DOMfilter",["$filter","$sce",function(e,t){return function(n,i){if(!n||!i)return n;var r=function(e){var t={"<":"<",">":">",'"':""","'":"'","&":"&","/":"/"};return e.replace(/[<>"'&\/]/g,function(e){return t[e]})},o=arguments.length>2?arguments[2]:null,a=arguments.length>3?arguments[3]:null,c=e(i),s=document.createElement("div");s.innerHTML=n;var u=function(e){if(3===e.nodeType){var t=r(e.nodeValue),n=c(t,o,a);if(n!==t){var i=document.createElement("span");i.innerHTML=n;var s=e.parentNode,l=e.nextSibling;return s.removeChild(e),l?s.insertBefore(i,l):s.appendChild(i),i}}if(void 0!==e&&null!==e)for(e=e.firstChild;e;){var f=u(e);e=(f?f:e).nextSibling}};return u(s),t.trustAsHtml(s.innerHTML)}}]),e.filter("getBufferQuickKeys",function(){return function(e,t){return t?(void 0!==t.search&&t.search.length||t.onlyUnread?e.forEach(function(e,t){e.$quickKey=10>t?(t+1)%10:""}):_.map(e,function(e,t){return[e.number,e.$idx,t]}).sort(function(e,t){return e[0]-t[0]||e[1]-t[1]}).forEach(function(t,n){e[t[2]].$quickKey=10>n?(n+1)%10:""}),e):e}}),e.filter("emojify",function(){return function(e,t){return t===!0&&void 0!==window.emojione?emojione.unicodeToImage(e):e}}),e.filter("mathjax",function(){return function(e,t,n){if(!n||"undefined"==typeof MathJax)return e;if(-1!=e.indexOf("$$")||-1!=e.indexOf("\\[")||-1!=e.indexOf("\\(")){var i=document.querySelector(t);MathJax.Hub.Queue(["Typeset",MathJax.Hub,i])}return e}}),e.filter("prefixlimit",function(){return function(e,t){return isNaN(t)?e:0>=t?"":e&&e.length>t?(e=e.substring(0,t),e+"+"):e}})}(),function(){"use strict";var e=angular.module("weechat");e.factory("handlers",["$rootScope","$log","models","plugins","notifications",function(e,t,n,i,r){var o=function(e){var t=e.objects[0].content,i=t.value;n.version=i.split(".").map(function(e){return parseInt(e)})},a=function(e){var t=e.objects[0].content[0],i=t.pointers[0];n.closeBuffer(i)},c=function(t,o){var a=new n.BufferLine(t),c=n.getBuffer(a.buffer);c.requestedLines++,a.displayed&&(a=i.PluginManager.contentForMessage(a),c.addLine(a),o&&c.lastSeen++,c.active&&!o&&e.scrollWithBuffer(),o||c.active&&e.isWindowFocused()||(c.notify>1&&_.contains(a.tags,"notify_message")&&!_.contains(a.tags,"notify_none")&&(c.unread++,e.$emit("notificationChanged")),(0!==c.notify&&a.highlight||_.contains(a.tags,"notify_private"))&&(c.notification++,r.createHighlight(c,a),e.$emit("notificationChanged"))))},s=function(e){for(var t=e.objects[0].content,i=0;i=0),void 0!==t.notify&&(e.notify=t.notify))},l=function(e){e.objects[0].content.forEach(function(e){c(e,!1)})},f=function(e){var t=e.objects[0].content[0],i=new n.Buffer(t);n.addBuffer(i)},d=function(e){var t=e.objects[0].content[0],i=t.pointers[0],r=n.getBuffer(i);r.fullName=t.full_name,r.title=n.parseRichText(t.title),r.number=t.number,r.rtitle="";for(var o=0;o=0?t.short_name.charAt(0):"";var o=n.outgoingQueries.indexOf(r.shortName);o>=0&&(n.outgoingQueries.splice(o,1),n.setActiveBuffer(r.id))},h=function(e){var t=e.objects[0].content[0],i=t.pointers[0],r=n.getBuffer(i);r.hidden=!0},g=function(e){var t=e.objects[0].content[0],i=t.pointers[0],r=n.getBuffer(i);r.hidden=!1},p=function(e){var t=e.objects[0].content[0],i=t.pointers[0],r=n.getBuffer(i),o=t.local_variables; +void 0!==r&&void 0!==o&&(r.type=o.type,r.indent=["channel","private"].indexOf(o.type)>=0)},v=function(e,t){var n=e.objects[0].content.reverse();void 0===t&&(t=!0),n.forEach(function(e){c(e,t)})},b=function(e){if(0!==e.objects.length){var t=e.objects[0].content;t.forEach(function(e){var t=n.getBuffer(e.buffer);t.unread+=e.count[1],t.notification+=e.count[2],t.notification+=e.count[3];var i=_.reduce(e.count,function(e,t){return e+t},0);t.lastSeen=t.lines.length-1-i})}},y=function(e){var t=e.objects[0].content,i="root";t.forEach(function(e){var t=n.getBuffer(e.pointers[0]);if(1===e.group){var r=new n.NickGroup(e);i=r.name,t.nicklist[i]=r}else{var o=new n.Nick(e);t.addNick(i,o)}})},w=function(e){var t,i=e.objects[0].content;i.forEach(function(e){var i=n.getBuffer(e.pointers[0]),r=e._diff;if(1===e.group){if(t=e.name,void 0===t){var o=new n.NickGroup(e);i.nicklist[t]=o,t=o.name}}else{var a=new n.Nick(e);43===r?i.addNick(t,a):45===r?i.delNick(t,a):42===r&&i.updateNick(t,a)}})},C={_buffer_closing:a,_buffer_line_added:l,_buffer_localvar_added:p,_buffer_localvar_removed:p,_buffer_localvar_changed:p,_buffer_opened:f,_buffer_title_changed:d,_buffer_renamed:m,_buffer_hidden:h,_buffer_unhidden:g,_nicklist:y,_nicklist_diff:w};e.$on("onMessage",function(e,n){_.has(C,n.id)?C[n.id](n):t.debug("Unhandled event received: "+n.id)});var k=function(e){_.has(C,e.id)&&C[e.id](e)};return{handleVersionInfo:o,handleEvent:k,handleLineInfo:v,handleHotlistInfo:b,handleNicklist:y,handleBufferInfo:s}}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("connection",["$rootScope","$log","handlers","models","ngWebsockets",function(e,t,n,i,r){var o,a=new weeChat.Protocol,c=[],s=function(i,o,s,u,f,d,m){c=[i,o,s,u,f];var h=u?"wss":"ws";-1!==i.indexOf(":")&&(i="["+i+"]");var g=h+"://"+i+":"+o+"/weechat";t.debug("Connecting to URL: ",g);var p=function(){var i=function(e){return r.send(weeChat.Protocol.formatInit({password:e,compression:f?"off":"zlib"})),r.send(weeChat.Protocol.formatInfo({name:"version"}))},o=function(){return r.send(weeChat.Protocol.formatHdata({path:"hotlist:gui_hotlist(*)",keys:[]}))},a=function(){return r.send(weeChat.Protocol.formatHdata({path:"buffer:gui_buffers(*)",keys:["local_variables,notify,number,full_name,short_name,title,hidden"]}))},c=function(){return r.send(weeChat.Protocol.formatSync({}))};i(s).then(function(i){n.handleVersionInfo(i),a().then(function(e){n.handleBufferInfo(e)}),o().then(function(e){n.handleHotlistInfo(e),d&&d()}),c(),t.info("Connected to relay"),e.connected=!0},function(){e.waseverconnected||(e.passwordError=!0)})},v=function(){e.waseverconnected=!0},b=function(n){t.info("Disconnected from relay"),e.userdisconnect||!e.waseverconnected?(y(n),e.userdisconnect=!1):l(n)},y=function(t){u&&t&&1006===t.code&&"undefined"!=typeof e.lastError&&Date.now()-e.lastError<1e3&&(e.sslError=!0,e.$apply())},_=function(n){t.error("Relay error",n),e.lastError=Date.now(),"error"===n.type&&1!==this.readyState&&(r.failCallbacks("error"),e.errorMessage=!0)};try{r.connect(g,a,{binaryType:"arraybuffer",onopen:p,onclose:b,onmessage:v,onerror:_})}catch(n){t.debug("Websocket caught DOMException:",n),e.lastError=Date.now(),e.errorMessage=!0,e.securityError=!0,e.$emit("relayDisconnect"),m&&m()}},u=function(n,r){t.info("Attempting to reconnect...");var a=c;s(a[0],a[1],a[2],a[3],a[4],function(){e.reconnecting=!1,i.setActiveBuffer(n),t.info("Sucessfully reconnected to relay")},function(){r>=6e5?(t.info("Failed to reconnect, giving up"),handleClose()):(t.info("Failed to reconnect, scheduling next attempt in",r/1e3,"seconds"),void 0!==o&&clearTimeout(o),o=setTimeout(function(){u(n,1.5*r)},r))})},l=function(){if(c.length<5)return void t.error("Cannot reconnect, connection information is missing");i.reinitialize(),e.reconnecting=!0,e.$apply();var n=i.getActiveBuffer().id,r=3e3;o=setTimeout(function(){u(n,r)},r)},f=function(){t.info("Disconnecting from relay"),e.userdisconnect=!0,r.send(weeChat.Protocol.formatQuit());setTimeout(function(){r.disconnect(),r.failCallbacks("disconnection"),e.connected=!1,e.$emit("relayDisconnect"),e.$apply()})},d=function(e){r.send(weeChat.Protocol.formatInput({buffer:i.getActiveBufferReference(),data:e}))},m=function(e){r.send(weeChat.Protocol.formatInput({buffer:"core.weechat",data:e}))},h=function(){i.version[0]>=1?(d("/buffer set hotlist -1"),d("/input set_unread_current_buffer")):m("/buffer "+i.getActiveBuffer().fullName)},g=function(e,t){e=e||null,r.send(weeChat.Protocol.formatNicklist({buffer:e})).then(function(e){n.handleNicklist(e),void 0!==t&&t()})},p=function(o){t.debug("Fetching ",o," lines");var a=i.getActiveBuffer();return void 0===o&&(o=0),o=Math.max(o,2*a.requestedLines),e.loadingLines=!0,r.send(weeChat.Protocol.formatHdata({path:"buffer:0x"+a.id+"/own_lines/last_line(-"+o+")/data",keys:[]})).then(function(t){var i=a.lines.length,r=a.lastSeen>=0;a.lines.length=0,a.requestedLines=0;var c=t.objects[0].content.length;n.handleLineInfo(t,!0),a.lastSeen-=i,o>c&&(a.allLinesFetched=!0),e.loadingLines=!1;var s=!r&&a.lastSeen>=0;e.scrollWithBuffer(s,!0)})};return{connect:s,disconnect:f,sendMessage:d,sendCoreCommand:m,sendHotlistClear:h,fetchMoreLines:p,requestNicklist:g,attemptReconnect:u}}])}(),function(){"use strict";var e=angular.module("weechat");e.directive("inputBar",function(){return{templateUrl:"directives/input.html",scope:{inputId:"@inputId",command:"=command"},controller:["$rootScope","$scope","$element","$log","connection","models","IrcUtils","settings",function(e,t,n,i,r,o,a,c){t.inputChanged=function(){t.command=emojione.shortnameToUnicode(t.command)},t.getInputNode=function(){return document.querySelector("textarea#"+t.inputId)},t.hideSidebar=function(){e.hideSidebar()},t.completeNick=function(){var e=t.getInputNode(),n=e.selectionStart,i=o.getActiveBuffer(),r=t.command||"",c=a.completeNick(r,n,t.iterCandidate,i.getNicklistByTime(),":");t.iterCandidate=c.iterCandidate,t.command=c.text,setTimeout(function(){e.focus(),e.setSelectionRange(c.caretPos,c.caretPos)},0)},t.sendMessage=function(){var e=o.getActiveBuffer();if(void 0!==t.command&&""!==t.command){e.addToHistory(t.command),_.each(t.command.split(/\r?\n/),function(e){("/quit"!==e&&0!==e.indexOf("/quit ")||window.confirm("Are you sure you want to quit WeeChat? This will prevent you from connecting with Glowing Bear until you restart WeeChat on the command line!"))&&r.sendMessage(e)}),("/buffer clear"===t.command||"/c"===t.command)&&(i.debug("Clearing lines"),e.clear());var n=["/query","/join","/j","/q"],a=t.command.indexOf(" "),c=t.command.substr(0,a),s=n.indexOf(c);if(s>=0){var u=t.command.substring(a+1);o.outgoingQueries.push(u)}t.command=""}o.version[0]>=1&&r.sendHotlistClear(),t.getInputNode().focus()},e.addMention=function(e){var n=e[e.length-1].text,i=t.command||"",r=0===i.length;if(i.length>0){var a=i.trim();if(":"===a.charAt(a.length-1)){var c=a.lastIndexOf(" ")+1,s=a.slice(c,a.length-1),u=o.getActiveBuffer().getNicklistByTime();for(var l in u)if(u[l].name===s){i=i.slice(0,i.lastIndexOf(":"))+" ",r=!0;break}}" "!==i.charAt(i.length-1)&&(i+=" ")}i+=n,r&&(i+=": "),t.command=i,t.getInputNode().focus()},e.handleKeyPress=function(n){if(!e.connected)return!0;var i=t.getInputNode(),a=n.keyCode?n.keyCode:n.charCode,s=n.getModifierState?n.getModifierState("AltGraph"):!1;if(s)return!1;e.showQuickKeys=!1;var u=t.iterCandidate;if(t.iterCandidate=null,n.altKey&&!n.ctrlKey&&a>47&&58>a){48===a&&(a=58);var l,f=a-48-1;if((t.$parent.search.length||t.$parent.onlyUnread)&&t.$parent.filteredBuffers.length){var d=t.$parent.filteredBuffers[f];void 0!==d&&(l=[d.number,d.id])}else{var m=_.map(o.getBuffers(),function(e){return[e.number,e.id]}).sort(function(e,t){return e[0]-t[0]});l=m[f]}l&&(t.$parent.setActiveBuffer(l[1]),n.preventDefault())}if(9===a&&!n.altKey&&!n.ctrlKey)return n.preventDefault(),t.iterCandidate=u,t.completeNick(),!0;if(n.altKey&&!n.ctrlKey&&78===a)return n.preventDefault(),e.toggleNicklist(),!0;if(n.altKey&&(97===a||65===a))return n.preventDefault(),e.switchToActivityBuffer(),!0;if(n.altKey&&(76===a||108===a))return n.preventDefault(),i.focus(),i.setSelectionRange(t.command.length,t.command.length),!0;if(n.altKey&&(60===a||226===a)){var h=o.getPreviousBuffer();if(h)return o.setActiveBuffer(h.id),n.preventDefault(),!0}if(27===a){n.preventDefault();for(var g=document.querySelectorAll(".gb-modal"),p=0;p=0;y--)if(b[y].offsetTop-w.scrollTopw.clientHeight/2){b[y].scrollIntoView(!0);break}return!0}if(c.readlineBindings&&n.ctrlKey&&!n.altKey&&!n.shiftKey&&document.activeElement===i){if(v=i.selectionStart,65==a)i.setSelectionRange(0,0);else if(69==a)i.setSelectionRange(t.command.length,t.command.length);else if(85==a)t.command=t.command.slice(v),setTimeout(function(){i.setSelectionRange(0,0)});else if(75==a)t.command=t.command.slice(0,v),setTimeout(function(){i.setSelectionRange(t.command.length,t.command.length)});else{if(87!=a)return!1;var C=t.command.slice(0,v),k=C.lastIndexOf(" ")+1;t.command=t.command.slice(0,k)+t.command.slice(v,t.command.length),setTimeout(function(){i.setSelectionRange(k,k)})}return n.preventDefault(),!0}"keydown"!==n.type||18!==a||n.ctrlKey||n.shiftKey||(e.showQuickKeys=!0)},e.handleKeyRelease=function(t){return 18===t.keyCode?(void 0!==e.quickKeysTimer&&clearTimeout(e.quickKeysTimer),e.quickKeysTimer=setTimeout(function(){e.showQuickKeys&&(e.showQuickKeys=!1,e.$apply()),delete e.quickKeysTimer},1e3),!0):void 0}}]}})}(),function(){"use strict";var e=angular.module("weechat");e.directive("plugin",["$rootScope","settings",function(e,t){return{templateUrl:"directives/plugin.html",scope:{plugin:"=data"},controller:["$scope",function(n){n.displayedContent="",n.plugin.visible=!t.noembed&&!n.plugin.nsfw,n.plugin.className="embed_"+n.plugin.$$hashKey.replace(":","_"),n.plugin.getElement=function(){return document.querySelector("."+n.plugin.className)},n.hideContent=function(){n.plugin.visible=!1},n.showContent=function(t){var i=n.plugin.getElement();n.plugin.content instanceof Function?i&&""!==i.innerHTML||setTimeout(function(){n.plugin.content()}):n.displayedContent=n.plugin.content,n.plugin.visible=!0;var r;if(t){var o=e.bufferBottom;r=function(){e.updateBufferBottom(o)}}else r=function(){i&&void 0!==i.scrollIntoViewIfNeeded&&(i.scrollIntoViewIfNeeded(),e.updateBufferBottom())};setTimeout(r,500)},n.plugin.visible&&n.showContent(!0)}]}}])}(),function(){"use strict";var e=angular.module("ngWebsockets",[]);e.factory("ngWebsockets",["$rootScope","$q",function(e,t){var n=null,i=null,r={},o=0,a=function(e){for(var t in r)r[t].cb.reject(e)},c=function(){return o+=1,o>1e3&&(o=0),o},s=function(e){var t=u(e);return e=n.setId(t.id,e),i.send(e),t.promise},u=function(){var e=t.defer(),n=c();return r[n]={time:new Date,cb:e},e.id=n,e},l=function(e){var n=[];for(var i in e){var r=s(e[i]);n.push(r)}return t.all(n)},f=function(t){var i=n.parse(t.data);if(_.has(r,i.id)){var o=r[i.id];o.cb.resolve(i),delete r[i.id]}else e.$emit("onMessage",i);e.$apply()},d=function(e,t,r){i=new WebSocket(e),n=t;for(var o in r)i[o]=r[o];i.onmessage="onmessage"in r?function(e){r.onmessage(e),f(e)}:f},m=function(){i.close()};return{send:s,sendAll:l,connect:d,disconnect:m,failCallbacks:a}}])}(),function(){"use strict";var e=angular.module("weechatModels",[]);e.service("models",["$rootScope","$filter",function(e,t){function n(e,t){if(t in e&&e[t]&&e[t].length>0){var n=e[t];if(n.match(/^weechat/)){var i=n.match(/[a-zA-Z0-9_]+$/)[0];return["cof-"+i,"cob-"+i,"coa-"+i]}if(n.match(/^[a-zA-Z]+$/))return["cwf-"+n];if(n.match(/^[0-9]+$/))return["cef-"+n]}return["cwf-default"]}function i(e){return{name:n(e,"color"),prefix:n(e,"prefix_color")}}this.version=null,this.outgoingQueries=[];var r=function(e){var t=weeChat.Protocol.rawText2Rich(e),n={option:"cof-",weechat:"cwf-",ext:"cef-"},i={option:"cob-",weechat:"cwb-",ext:"ceb-"};return t.forEach(function(e){e.classes=[];var t=n[e.fgColor.type];e.classes.push(t+e.fgColor.name),t=i[e.bgColor.type],e.classes.push(t+e.bgColor.name),null!==e.attrs.name&&e.classes.push("coa-"+e.attrs.name);var r,o;for(r in e.attrs.override)o=e.attrs.override[r],e.classes.push(o?"a-"+r:"a-no-"+r)}),t};this.parseRichText=r,this.Buffer=function(e){var t=e.full_name,n=e.short_name,i=e.hidden,o=n.replace(/^[#&+]/,"")||(n?" ":null),a=["#","&","+"].indexOf(n.charAt(0))>=0?n.charAt(0):"",c=r(e.title),s=e.number,u=e.pointers[0],l=3,f=[],d=0,m={},h=[],g=0,p=0,v=0,b=-1,y=t.replace(/^irc\.server\.(\w+)/,"irc.$1"),w=e.local_variables.type,C=["channel","private"].indexOf(w)>=0;void 0!==e.notify&&(l=e.notify);for(var k="",x=0;x=h.length&&h.push(e),0>=g||g>=h.length)return e;g--;var t=h[g];return t},E=function(e){return g===h.length?(void 0!==e&&""!==e&&(h.push(e),g++),""):0>g||g>h.length?e:(g++,h.length>0&&g==h.length-1?h.pop():h[g])},j=function(){for(var e in m)if("root"!==e)return!1;return!0},H=function(){return m.hasOwnProperty("root")},D=function(){for(;f.length>0;)f.pop();d=0};return{id:u,fullName:t,shortName:n,hidden:i,trimmedName:o,prefix:a,number:s,title:c,rtitle:k,lines:f,clear:D,requestedLines:d,addLine:B,lastSeen:b,unread:v,notification:p,notify:l,nicklist:m,addNick:S,delNick:A,updateNick:N,getNicklistByTime:T,serverSortKey:y,indent:C,type:w,history:h,addToHistory:M,getHistoryUp:I,getHistoryDown:E,isNicklistEmpty:j,nicklistRequested:H}},this.BufferLine=function(e){var n=e.buffer,i=e.date,o=t("date")(i,"HH:mm"),a=r(e.prefix),c=e.tags_array,s=e.displayed,u=e.highlight,l=r(e.message);u&&a.forEach(function(e){e.classes.push("highlight")});for(var f="",d=0;d=1?"0x"+o.id:o.fullName},this.getPreviousBuffer=function(){return a},this.setActiveBuffer=function(t,n){if(void 0===n&&(n="id"),a=this.getActiveBuffer(),o="id"===n?this.model.buffers[t]:_.find(this.model.buffers,function(e){return e[n]===t?e:void 0}),void 0===o)return o=a,!1;a&&(a.active=!1,a.lastSeen=a.lines.length-1);var i=o.unread+o.notification;return o.active=!0,o.unread=0,o.notification=0,e.$emit("activeBufferChanged",i),e.$emit("notificationChanged"),!0},this.getBuffers=function(){return this.model.buffers},this.reinitialize=function(){this.model.buffers={}},this.getBuffer=function(e){return this.model.buffers[e]},this.closeBuffer=function(e){var t=this.getBuffer(e);if(void 0!==t){if(t.active){var n=_.keys(this.model.buffers)[0];this.setActiveBuffer(n)}delete this.model.buffers[e]}}}])}(),function(){"use strict";var e=angular.module("plugins",[]),t=function(e,t){return{contentForMessage:t,exclusive:!1,name:e}},n=/(?:ftp|https?):\/\/\S*[^\s.;,(){}<>]/g,i=function(e,t){return{contentForMessage:function(e){for(var i=e.match(n),r=[],o=0;i&&o=0;s--){var u=1==c.length?void 0:s+1;r(c[s],e[o].name,u)}else r(c,e[o].name);if(e[o].exclusive)break}}return n};return{registerPlugins:n,contentForMessage:r}};this.PluginManager=new n,this.PluginManager.registerPlugins(e.plugins)}]),e.factory("userPlugins",function(){var e=function(e,t){var n="jsonp_callback_"+Math.round(1e5*Math.random());window[n]=function(e){delete window[n],document.body.removeChild(i),t(e)};var i=document.createElement("script");i.src=e+(e.indexOf("?")>=0?"&":"?")+"callback="+n,document.body.appendChild(i)},n=new t("Spotify track",function(e){var t=[],n=function(e){for(var n=0;e&&n')}};return n(e.match(/spotify:track:([a-zA-Z-0-9]{22})/g)),n(e.match(/open.spotify.com\/track\/([a-zA-Z-0-9]{22})/g)),t}),r=new i("YouTube video",function(e){var t=/(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/i,n=e.match(t);if(n){var i=n[1],r="https://www.youtube.com/embed/"+i+"?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0";return''}}),o=new t("Dailymotion video",function(e){var t=/dailymotion.com\/.*video\/([^_?# ]+)/,n=/dailymotion.com\/.*#video=([^_& ]+)/,i=/dai.ly\/([^_?# ]+)/,r=e.match(t)||e.match(n)||e.match(i);if(r){var o=r[1],a="https://www.dailymotion.com/embed/video/"+o+"?html&controls=html&startscreen=html&info=0&logo=0&related=0";return''}return null}),a=new t("AlloCine video",function(e){var t=/allocine.fr\/videokast\/video-(\d+)/,n=/allocine.fr\/.*cmedia=(\d+)/,i=e.match(t)||e.match(n);if(i){var r=i[1],o="http://www.allocine.fr/_video/iblogvision.aspx?cmedia="+r;return''}return null}),c=new i("image",function(e){return e.match(/\.(png|gif|jpg|jpeg)(:(small|medium|large))?\b/i)?(-1!=e.indexOf("^https?://fukung.net/v/")?e=e.replace(/.*\//,"http://media.fukung.net/imgs/"):e.match(/^http:\/\/(i\.)?imgur\.com\//i)?e=e.replace(/http:/,""):e.match(/^https:\/\/www\.dropbox\.com\/s\/[a-z0-9]+\/[^?]+$/i)&&(e+="?dl=1"),''):void 0}),s=new i("video",function(e){return e.match(/\.(mp4|webm|ogv)\b/i)?'':void 0}),u=new i("cloud music",function(e){return e.match(/^https?:\/\/soundcloud.com\//)?'':e.match(/^https?:\/\/([a-z]+\.)?mixcloud.com\//)?'':void 0}),l=new i("Google Map",function(e){return e.match(/^https?:\/\/maps\.google\./i)||e.match(/^https?:\/\/(?:[\w]+\.)?google\.[\w]+\/maps/i)?'':void 0}),f=new i("ascii cast",function(e){var t=/^https?:\/\/(?:www\.)?asciinema.org\/a\/(\d+)/i,n=e.match(t);if(n){var i=n[1];return function(){var e=this.getElement(),t=document.createElement("script");t.src="https://asciinema.org/a/"+i+".js",t.id="asciicast-"+i,t.async=!0,e.appendChild(t)}}}),d=new i("meteogram",function(e){var t=/^https?:\/\/(?:www\.)?yr\.no\/(place|stad|sted|sadji|paikka)\/(([^\s.;,(){}<>\/]+\/){3,})/,n=e.match(t);if(n){var i=n[1],r=n[2],o=n[n.length-1].slice(0,-1);return e="http://www.yr.no/"+i+"/"+r+"avansert_meteogram.png","Meteogram for "+o+""}}),m=new i("Gist",function(t){var n=/^https:\/\/gist\.github.com\/[^.?]+/i,i=t.match(n);return i?(t=i[0]+".json",function(){var n=this.getElement();e(t,function(e){if(document.querySelectorAll('link[rel=stylesheet][href="'+e.stylesheet+'"]').length<1){var t='';document.getElementsByTagName("head")[0].innerHTML+=t}n.innerHTML='
'+e.div+"
"})}):void 0}),h=new i("Tweet",function(t){var n=/^https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)/i,i=t.match(n);return i?(t="https://api.twitter.com/1/statuses/oembed.json?id="+i[2],function(){var n=this.getElement();e(t,function(e){var t=e.html.indexOf("'}});return{plugins:[r,o,a,c,s,n,u,l,f,d,m,h,g]}})}(); //# sourceMappingURL=min.map \ No newline at end of file diff --git a/min.map b/min.map index cd81ecd..315d9c4 100644 --- a/min.map +++ b/min.map @@ -1 +1 @@ -{"version":3,"file":"min.js","sources":["js/localstorage.js","js/weechat.js","js/irc-utils.js","js/glowingbear.js","js/settings.js","js/utils.js","js/notifications.js","js/filters.js","js/handlers.js","js/connection.js","js/inputbar.js","js/plugin-directive.js","js/websockets.js","js/models.js","js/plugins.js"],"names":["ls","angular","module","factory","$parse","storage","window","localStorage","undefined","supported","JSON","console","log","privateMethods","parseValue","res","val","parse","parseFloat","isObject","e","publicMethods","set","key","value","saver","stringify","setItem","get","item","getItem","remove","removeItem","enumerateKeys","keys","i","len","length","push","bind","$scope","def","assign","$watch","exports","WeeChatProtocol","this","_types","chr","_getChar","int","_getInt","str","_getString","inf","_getInfo","hda","_getHdata","ptr","_getPointer","lon","_getStrNumber","tim","_getTime","buf","arr","_getArray","htb","_getHashTable","inl","_warnUnimplemented","_typesStr","_strDirect","_strToString","_weeChatColorsNames","_colorsOptionsNames","_getDefaultColor","type","name","_getDefaultAttributes","override","bold","reverse","italic","underline","_getDefaultStyle","fgColor","bgColor","attrs","_cloneColor","color","clone","_cloneAttrs","attr","_attrNameFromChar","ch","chars","*","!","/","_","\u0001","\u0002","\u0003","\u0004","_attrsFromStr","charAt","attrName","_getColorObj","code","parseInt","codeStr","substring","toString","_getStyle","txt","matchers","regex","fn","m","ret","optionCode","optionName","text","some","matcher","match","rawText2Rich","rawText","parts","split","curFgColor","curBgColor","curAttrs","curSpecialToken","curAttrsOnlyFalseOverrides","map","p","firstCharCode","charCodeAt","firstChar","style","orideVal","orideName","allReset","filter","_uia2s","uia","encodedString","String","fromCharCode","apply","decodedString","decodeURIComponent","escape","exception","s","n","_mergeParams","defaults","v","_formatCmd","id","cmdIdName","cmd","unshift","join","replace","formatInit","params","defaultParams","password","compression","formatHdata","path","formatInfo","formatNicklist","buffer","formatInput","data","_formatSyncDesync","cmdName","buffers","options","formatSync","formatDesync","formatTest","formatQuit","formatPing","args","prototype","_getType","t","_getSlice","Uint8Array","_runType","cb","boundCb","_getByte","obj","_objToString","info","runType","tmp","pointers","paths","self","forEach","objs","count","hpath","Date","parsedData","l","_getHeader","comp","_getId","_getObject","content","typeKeys","typeValues","dict","keyStr","values","dataAt","_data","byteLength","slice","_dataAt","_setData","setId","command","header","raw","inflate","Zlib","Inflate","plain","decompress","objects","object","msg","Protocol","weeChat","IrcUtils","service","_ciNickList","nickList","newList","sortBy","nickObj","spokeAt","pluck","_completeSingleNick","candidate","foundNick","nick","toLowerCase","search","_nextNick","iterCandidate","currentNick","matchingNicks","at","lcIterCandidate","lcCurrentNick","lcNick","completeNick","caretPos","suf","doIterate","searchNickList","beforeCaret","afterCaret","RegExp","newNick","weechat","$compileProvider","compileProvider","config","debugInfoEnabled","controller","$rootScope","$store","$timeout","$log","models","connection","notifications","utils","settings","themes","setDefaults","theme","host","port","ssl","location","protocol","savepassword","autoconnect","nonicklist","isMobileUi","noembed","onlyUnread","hotlistsync","orderbyserver","useFavico","showtimestamp","showtimestampSeconds","fontsize","fontfamily","readlineBindings","enableJSEmoji","countWatchers","scope","q","watchers","pop","$$watchers","$$childHead","$$nextSibling","debug","isinstalled","navigator","mozApps","getSelf","onsuccess","evt","app","target","result","document","hidden","documentHidden","documentVisibilityChange","webkitHidden","mozHidden","msHidden","f","segs","indexOf","debugMode","reloadWithDebugInfo","isWindowFocused","isHidden","addEventListener","getActiveBuffer","unread","notification","$emit","$apply","$on","event","unreadSum","ab","minRetainUnread","lines","surplusLines","lines_per_screen","linesToRemove","Math","min","splice","requestedLines","lastSeen","allLinesFetched","bufferlines","nicklist","nicklistRequested","showNicklist","updateShowNicklist","requestNicklist","fullName","scrollWithBuffer","numLines","fetchMoreLines","then","bl","getElementById","lastScrollHeight","scrollHeight","scrollHeightObserver","newScrollHeight","updateBufferBottom","bufferBottom","setTimeout","onscroll","debounce","updateTitle","sendCoreCommand","focus","favico","Favico","animation","updateFavico","pageTitle","notificationStatus","cancelAll","reinitialize","connectbutton","getBuffers","activeBuffer","connected","waseverconnected","addCallback","wasMobileUi","isSidebarVisible","getAttribute","showSidebar","setAttribute","each","getElementsByTagName","elem","blur","hideSidebar","sslError","securityError","errorMessage","connect","toggleSidebar","openNick","closeNick","predicate","reset","changeClassStyle","setActiveBuffer","bufferId","openBuffer","bufferName","lastIndexOf","sendMessage","calculateNumLines","bufferlineElements","querySelectorAll","lineHeight","idx","clientHeight","areaHeight","querySelector","ceil","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","rescroll","loadingLines","bottom","eob","scrollIntoView","offsetTop","scrollTop","scrollToReadmarker","moreLines","sVal","scroll","sTop","abs","readmarker","parentElement","requestNotificationPermission","disconnect","install","base_url","pathname","request","appRecord","launch","alert","onerror","error","showModal","elementId","closeModal","$event","closest","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","call","toggleAccordion","stopPropagation","preventDefault","parentNode","siblings","children","childId","child","nodeType","hasUnread","isNicklistEmpty","switchToActivityBuffer","sortedBuffers","toggleNicklist","handleSearchBoxKey","keyCode","charCode","filteredBuffers","onbeforeunload","returnValue","$routeProvider","when","templateUrl","that","callbacks","defineProperty","Object","enumerable","newVal","keyIdx","callback","classSelector","getElementsByClassName","getClassStyle","mobile_cutoff","body","clientWidth","Notification","requestPermission","status","permission","webkitNotifications","havePermission","checkPermission","unreadCount","model","shortName","rtitle","badge","textColor","createHighlight","message","title","numNotifications","prefix","icon","timeout","onshow","close","onclick","onclose","soundnotification","audioFile","soundHTML","innerHTML","storeIdx","defineProperties","$key","$idx","configurable","channelRegex","substitute","hexColourRegex","rgbColourRegex","$filter","$sce","escape_html","entities","<",">","\"","'","&","char","extraArgument","arguments","filterFunction","el","createElement","process","node","input","nodeValue","newNode","parent","sibling","nextSibling","removeChild","insertBefore","appendChild","firstChild","nextNode","trustAsHtml","$quickKey","number","sort","left","right","enable_JS_Emoji","twemoji","plugins","handleBufferClosing","bufferMessage","closeBuffer","handleLine","line","manually","BufferLine","getBuffer","displayed","PluginManager","contentForMessage","addLine","active","notify","contains","tags","highlight","handleBufferLineAdded","handleBufferOpened","Buffer","addBuffer","handleBufferTitleChanged","old","full_name","parseRichText","handleBufferRenamed","short_name","trimmedName","handleBufferLocalvarChanged","localvars","local_variables","indent","handleLineInfo","handleHotlistInfo","hotlist","reduce","memo","num","handleNicklist","group","g","NickGroup","Nick","addNick","handleNicklistDiff","d","_diff","delNick","updateNick","eventHandlers","_buffer_closing","_buffer_line_added","_buffer_localvar_added","_buffer_localvar_removed","_buffer_opened","_buffer_title_changed","_buffer_renamed","_nicklist","_nicklist_diff","has","handleEvent","handlers","ngWebsockets","passwd","noCompression","proto","url","onopen","_initializeConnection","send","_requestHotlist","_requestBufferInfos","_requestSync","bufinfo","bufferInfos","passwordError","onmessage","failCallbacks","lastError","now","readyState","binaryType","max","lineinfo","oldLength","hadAllUnreadLines","linesReceivedCount","directive","inputId","$element","getInputNode","inputNode","selectionStart","nickComp","getNicklistByTime","setSelectionRange","addToHistory","confirm","clear","addMention","newValue","addColon","trimmedValue","trim","lastSpace","lastWord","index","handleKeyPress","showQuickKeys","tmpIterCandidate","altKey","ctrlKey","activeBufferId","bufferNumber","$parent","filteredBufferNum","previousBuffer","getPreviousBuffer","modals","modalId","lastEscape","activeElement","getHistoryUp","getHistoryDown","shiftKey","handleKeyRelease","quickKeysTimer","clearTimeout","plugin","displayedContent","visible","nsfw","className","$$hashKey","getElement","hideContent","showContent","automated","embed","Function","wasBottom","scrollIntoViewIfNeeded","websockets","$q","ws","currentCallBackId","reason","reject","getCurrentCallBackId","createCallback","promise","defer","cbId","time","sendAll","messages","promises","all","resolve","protocol_","properties","WebSocket","property","nickGetColorClasses","nickMsg","propName","colorName","nickGetClasses","textElements","typeToClassPrefixFg","option","ext","typeToClassPrefixBg","textEl","classes","pointer","history","historyPos","serverSortKey","updateNickSpeak","nicks","nickGroup","newlist","a","b","currentLine","hasOwnProperty","date","shortTime","tags_array","rtext","colorClasses","prefixClasses","nameClasses","find","firstBuffer","Plugin","exclusive","urlRegexp","UrlPlugin","urlCallback","urls","userPlugins","PluginManagerObject","registerPlugins","nsfwRegexp","metadata","addPluginContent","pluginName","pluginContent","Array","j","jsonp","callbackName","round","random","script","src","spotifyPlugin","addMatch","substr","youtubePlugin","token","embedurl","dailymotionPlugin","rPath","rAnchor","rShorten","allocinePlugin","rVideokast","rCmedia","imagePlugin","videoPlugin","cloudmusicPlugin","googlemapPlugin","asciinemaPlugin","regexp","element","scriptElem","async","yrPlugin","language","city","gistPlugin","stylesheet","div","tweetPlugin","scriptIndex","html","vinePlugin"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"min.js","sources":["js/localstorage.js","js/weechat.js","js/irc-utils.js","js/glowingbear.js","js/settings.js","js/utils.js","js/notifications.js","js/filters.js","js/handlers.js","js/connection.js","js/inputbar.js","js/plugin-directive.js","js/websockets.js","js/models.js","js/plugins.js"],"names":["ls","angular","module","factory","$parse","storage","window","localStorage","undefined","supported","JSON","console","log","privateMethods","parseValue","res","val","parse","parseFloat","isObject","e","publicMethods","set","key","value","saver","stringify","setItem","get","item","getItem","remove","removeItem","enumerateKeys","keys","i","len","length","push","bind","$scope","def","assign","$watch","exports","WeeChatProtocol","this","_types","chr","_getChar","int","_getInt","str","_getString","inf","_getInfo","hda","_getHdata","ptr","_getPointer","lon","_getStrNumber","tim","_getTime","buf","arr","_getArray","htb","_getHashTable","inl","_warnUnimplemented","_typesStr","_strDirect","_strToString","_weeChatColorsNames","_colorsOptionsNames","_getDefaultColor","type","name","_getDefaultAttributes","override","bold","reverse","italic","underline","_getDefaultStyle","fgColor","bgColor","attrs","_cloneColor","color","clone","_cloneAttrs","attr","_attrNameFromChar","ch","chars","*","!","/","_","\u0001","\u0002","\u0003","\u0004","_attrsFromStr","charAt","attrName","_getColorObj","code","parseInt","codeStr","substring","toString","_getStyle","txt","matchers","regex","fn","m","ret","optionCode","optionName","text","some","matcher","match","rawText2Rich","rawText","parts","split","curFgColor","curBgColor","curAttrs","curSpecialToken","curAttrsOnlyFalseOverrides","map","p","firstCharCode","charCodeAt","firstChar","style","orideVal","orideName","allReset","filter","_uia2s","uia","encodedString","String","fromCharCode","apply","decodedString","decodeURIComponent","escape","exception","s","n","_mergeParams","defaults","v","_formatCmd","id","cmdIdName","cmd","unshift","join","replace","formatInit","params","defaultParams","password","compression","formatHdata","path","formatInfo","formatNicklist","buffer","formatInput","data","_formatSyncDesync","cmdName","buffers","options","formatSync","formatDesync","formatTest","formatQuit","formatPing","args","prototype","_getType","t","_getSlice","Uint8Array","_runType","cb","boundCb","_getByte","obj","_objToString","info","runType","tmp","pointers","paths","self","forEach","objs","count","hpath","Date","parsedData","l","_getHeader","comp","_getId","_getObject","content","typeKeys","typeValues","dict","keyStr","values","dataAt","_data","byteLength","slice","_dataAt","_setData","setId","command","header","raw","inflate","Zlib","Inflate","plain","decompress","objects","object","msg","Protocol","weeChat","IrcUtils","service","escapeRegExp","_ciNickList","nickList","newList","sortBy","nickObj","spokeAt","pluck","_completeSingleNick","candidate","foundNick","nick","toLowerCase","search","_nextNick","iterCandidate","currentNick","matchingNicks","at","lcIterCandidate","lcCurrentNick","lcNick","completeNick","caretPos","suf","doIterate","searchNickList","beforeCaret","afterCaret","RegExp","newNick","weechat","$compileProvider","compileProvider","config","debugInfoEnabled","controller","$rootScope","$store","$timeout","$log","models","connection","notifications","utils","settings","openBuffer","channel","$apply","themes","setDefaults","theme","host","port","ssl","location","protocol","savepassword","autoconnect","nonicklist","isMobileUi","noembed","onlyUnread","hotlistsync","orderbyserver","useFavico","showtimestamp","showtimestampSeconds","fontsize","fontfamily","readlineBindings","enableJSEmoji","enableMathjax","countWatchers","scope","q","watchers","pop","$$watchers","$$childHead","$$nextSibling","debug","isinstalled","navigator","mozApps","getSelf","onsuccess","evt","app","target","result","document","hidden","documentHidden","documentVisibilityChange","webkitHidden","mozHidden","msHidden","f","segs","indexOf","debugMode","reloadWithDebugInfo","isWindowFocused","isHidden","addEventListener","getActiveBuffer","unread","notification","$emit","$on","event","unreadSum","ab","minRetainUnread","lines","surplusLines","lines_per_screen","linesToRemove","Math","min","splice","requestedLines","lastSeen","allLinesFetched","bufferlines","nicklist","nicklistRequested","showNicklist","updateShowNicklist","requestNicklist","fullName","scrollWithBuffer","numLines","fetchMoreLines","then","bl","getElementById","lastScrollHeight","scrollHeight","scrollHeightObserver","newScrollHeight","updateBufferBottom","bufferBottom","setTimeout","onscroll","debounce","updateTitle","unreadCount","focus","sendHotlistClear","favico","Favico","animation","updateFavico","pageTitle","notificationStatus","cancelAll","reinitialize","connectbutton","getBuffers","activeBuffer","connected","waseverconnected","userdisconnect","reconnecting","addCallback","wasMobileUi","isSidebarVisible","getAttribute","showSidebar","setAttribute","each","getElementsByTagName","elem","blur","hideSidebar","sslError","securityError","errorMessage","connect","toggleSidebar","openNick","closeNick","predicate","reset","enabled","mathjax_init","script","head","createElement","opera","appendChild","src","oldThemeCSS","parentNode","removeChild","rel","href","media","changeClassStyle","setActiveBuffer","bufferId","version","bufferName","lastIndexOf","sendMessage","calculateNumLines","bufferlineElements","querySelectorAll","lineHeight","idx","clientHeight","areaHeight","querySelector","ceil","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","rescroll","loadingLines","bottom","eob","scrollIntoView","offsetTop","scrollTop","scrollToReadmarker","moreLines","sVal","scroll","sTop","abs","readmarker","parentElement","requestNotificationPermission","disconnect","reconnect","attemptReconnect","install","base_url","pathname","request","appRecord","launch","alert","onerror","error","showModal","elementId","closeModal","$event","closest","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","call","toggleAccordion","stopPropagation","preventDefault","siblings","children","childId","child","nodeType","hasUnread","isNicklistEmpty","switchToActivityBuffer","sortedBuffers","toggleNicklist","handleSearchBoxKey","keyCode","charCode","filteredBuffers","onbeforeunload","returnValue","init","hash","rawStr","atob","spl","$routeProvider","when","templateUrl","that","callbacks","cache","defineProperty","Object","enumerable","newVal","keyIdx","callback","classSelector","getElementsByClassName","getClassStyle","mobile_cutoff","body","clientWidth","Notification","requestPermission","status","permission","webkitNotifications","havePermission","checkPermission","model","shortName","rtitle","badge","textColor","createHighlight","message","title","numNotifications","prefix","icon","timeout","onshow","close","onclick","onclose","soundnotification","audioFile","soundHTML","innerHTML","storeIdx","defineProperties","$key","$idx","configurable","channelRegex","substitute","hexColourRegex","rgbColourRegex","$filter","$sce","escape_html","entities","<",">","\"","'","&","char","extraArgument","arguments","thirdArgument","filterFunction","el","process","node","input","nodeValue","newNode","parent","sibling","nextSibling","insertBefore","firstChild","nextNode","trustAsHtml","$quickKey","number","sort","left","right","enable_JS_Emoji","emojione","unicodeToImage","math","MathJax","Hub","Queue","isNaN","plugins","handleVersionInfo","c","handleBufferClosing","bufferMessage","closeBuffer","handleLine","line","manually","BufferLine","getBuffer","displayed","PluginManager","contentForMessage","addLine","active","notify","contains","tags","highlight","handleBufferInfo","bufferInfos","handleBufferUpdate","Buffer","addBuffer","short_name","trimmedName","local_variables","indent","handleBufferLineAdded","handleBufferOpened","handleBufferTitleChanged","old","full_name","parseRichText","handleBufferRenamed","position","outgoingQueries","handleBufferHidden","handleBufferUnhidden","handleBufferLocalvarChanged","localvars","handleLineInfo","handleHotlistInfo","hotlist","reduce","memo","num","handleNicklist","group","g","NickGroup","Nick","addNick","handleNicklistDiff","d","_diff","delNick","updateNick","eventHandlers","_buffer_closing","_buffer_line_added","_buffer_localvar_added","_buffer_localvar_removed","_buffer_localvar_changed","_buffer_opened","_buffer_title_changed","_buffer_renamed","_buffer_hidden","_buffer_unhidden","_nicklist","_nicklist_diff","has","handleEvent","handlers","ngWebsockets","reconnectTimer","connectionData","passwd","noCompression","successCallback","failCallback","proto","url","onopen","_initializeConnection","send","_requestHotlist","_requestBufferInfos","_requestSync","bufinfo","passwordError","onmessage","handleClose","lastError","now","readyState","failCallbacks","binaryType","clearTimeout","getActiveBufferReference","sendCoreCommand","max","lineinfo","oldLength","hadAllUnreadLines","linesReceivedCount","directive","inputId","$element","inputChanged","shortnameToUnicode","getInputNode","inputNode","selectionStart","nickComp","getNicklistByTime","setSelectionRange","addToHistory","confirm","clear","opencommands","spacepos","firstword","substr","index","queryName","addMention","newValue","addColon","trimmedValue","trim","lastSpace","lastWord","handleKeyPress","altg","getModifierState","showQuickKeys","tmpIterCandidate","altKey","ctrlKey","activeBufferId","bufferNumber","$parent","filteredBufferNum","previousBuffer","getPreviousBuffer","modals","modalId","lastEscape","activeElement","getHistoryUp","getHistoryDown","shiftKey","handleKeyRelease","quickKeysTimer","plugin","displayedContent","visible","nsfw","className","$$hashKey","getElement","hideContent","showContent","automated","embed","Function","wasBottom","scrollIntoViewIfNeeded","websockets","$q","ws","currentCallBackId","reason","reject","getCurrentCallBackId","createCallback","promise","defer","cbId","time","sendAll","messages","promises","all","resolve","protocol_","properties","WebSocket","property","nickGetColorClasses","nickMsg","propName","colorName","nickGetClasses","textElements","typeToClassPrefixFg","option","ext","typeToClassPrefixBg","textEl","classes","pointer","history","historyPos","serverSortKey","updateNickSpeak","nicks","nickGroup","newlist","a","b","currentLine","hasOwnProperty","date","shortTime","tags_array","rtext","colorClasses","prefixClasses","nameClasses","find","firstBuffer","Plugin","exclusive","urlRegexp","UrlPlugin","urlCallback","urls","userPlugins","PluginManagerObject","registerPlugins","nsfwRegexp","metadata","addPluginContent","pluginName","pluginContent","Array","j","jsonp","callbackName","round","random","spotifyPlugin","addMatch","youtubePlugin","token","embedurl","dailymotionPlugin","rPath","rAnchor","rShorten","allocinePlugin","rVideokast","rCmedia","imagePlugin","videoPlugin","cloudmusicPlugin","googlemapPlugin","asciinemaPlugin","regexp","element","scriptElem","async","yrPlugin","language","city","gistPlugin","stylesheet","div","tweetPlugin","scriptIndex","html","vinePlugin"],"mappings":"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"} \ No newline at end of file