function aa(a){this.id=a;this.a={T:"",V:"",X:"",Y:"",M:"",N:"",P:"",Z:""};this.version=0}function ba(a){this.id=a;this.a={};this.version=0}function ca(a){this.id=a;this.a={};this.version=0}function da(a,b){this.id=a;this.c=b;this.version=0}function ea(a){this.id=a;this.a={R:"",S:"",m:"",A:"",O:"",W:""};this.i={};this.c=this.b=null;this.version=0}function fa(){this.b={};this.a=[]} function ga(a,b){a.b=JSON.parse(b.emoji_use);b.highlight_words?a.a=(b.highlight_words||"").split(",").filter(function(a){return""!==a.trim()}):b.highlights&&(a.a=b.highlights);a.version=Math.max(a.version,0)}function ha(a){this.id=a;this.a={U:"",m:"",A:""};this.c=this.b=null;this.version=0;this.f=!1}function p(){this.f=null;this.h={};this.w={};this.C={};this.b={};this.a=null;this.i={};this.c={};this.D=0}function r(a,b){return a.b[b]||a.i[b]||null} function y(a,b){return a.h[b]||a.C[b]||a.w[b]||null}"undefined"!==typeof module&&(module.L.$=p);function ia(a,b){this.j=a.user||a.bot_id;this.h=a.username;this.id=a.ts;this.b=parseFloat(a.ts);this.text=a.text||"";this.f=a.attachments||[];this.l=!!a.edited;this.c=a.removed||!1;this.i="me_message"===a.subtype||a.isMeMessage;this.a={};this.version=b;var c=this;a.reactions&&a.reactions.forEach(function(a){c.a[a.name]=[];a.users.forEach(function(b){c.a[a.name].push(b)})})} function ja(a,b,c){b?(a.text=b.text||"",b.attachments&&(a.f=b.attachments),a.l=!!b.edited,a.c=!!b.removed,b.reactions&&(a.a={},b.reactions.forEach(function(b){a.a[b.name]=[];b.users.forEach(function(c){a.a[b.name].push(c)})}))):a.c=!0;a.version=c}function z(a,b,c,e){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&C(this,c,e)} function ka(a,b,c,e){var f=!1;a.a[b]&&(1===a.a[b].length&&a.a[b][0]===c?(delete a.a[b],f=!0):a.a[b]=a.a[b].filter(function(a){return a!==c?!1:f=!0}));f&&(a.version=e)}function C(a,b,c){var e=0;b.forEach(function(a){e=Math.max(this.push(a,c),e)}.bind(a));la(a)} z.prototype.push=function(a,b){if(a.type&&"message"!==a.type)if("reaction_added"===a.type){var c=D(this,a.item.ts);if(c){var e=a.reaction,f=a.user;c.a[e]||(c.a[e]=[]);c.a[e].push(f);c.version=b}}else if("reaction_removed"===a.type)(c=D(this,a.item.ts))&&ka(c,a.reaction,a.user,b);else return 0;else{c=!1;e=a.ts;f=a;"message_changed"===a.subtype&&a.previous_message?(e=a.previous_message.ts,f=a.message):"message_deleted"===a.subtype&&a.previous_message&&(e=a.previous_message.ts,f=null);for(var d=0,m= this.a.length;dthis.b;)this.a.shift();return b};function ma(a){for(var b=E.b[F.id],c=0,e=b.a.length;c=b.a[c].b;c++)if(b.a[c].b===a)return b.a[c];return null}function D(a,b){for(var c=0,e=a.a.length;cb.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"hier, "+a.toLocaleTimeString():a.toLocaleString()},g:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};G.en={K:"Unknown member",J:"Unknown channel",G:"New message",F:"Network",l:"edited",u:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString():a.toLocaleString()},g:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var I=null,J=null,K=0; function oa(){var a=document.createDocumentFragment(),b=E.a.a?Object.keys(E.a.a.i):[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:y(E.a,a).name.localeCompare(y(E.a,b).name)});b.forEach(function(b){b=y(E.a,b);if(!b.b){var c=document.createElement("li"),f=document.createElement("a");c.id=b.id;f.href="#"+b.id;"D"===b.id[0]?c.className="slack-context-room slack-ims":"G"===b.id[0]?c.className="slack-context-room slack-group":"C"===b.id[0]&&(c.className="slack-context-room slack-channel");F===b&& c.classList.add("selected");f.textContent=b.name;c.appendChild(f);c&&a.appendChild(c)}});b=E.a.b?Object.keys(E.a.b):[];b.sort(function(a,b){return E.a.b[a].name.localeCompare(E.a.b[b].name)});b.forEach(function(b){b=r(E.a,b);if(!b.h){b=b.b;var c=document.createElement("li"),f=document.createElement("a");c.id=b.id;f.href="#"+b.id;c.className="slack-context-room slack-ims";f.textContent=b.c.name;c.appendChild(f);b.c.f||c.classList.add("away");F===b&&c.classList.add("selected");c&&a.appendChild(c)}}); document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);L();M();pa(function(a){document.getElementById("slackCtx").style.backgroundImage="url("+a+")"})}function N(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");M()} function O(){if(I){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){I=null;O()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(P("reply_"+F.id,I,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()} function R(){if(J){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){J=null;R()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(P("edit_"+F.id,J,!0));document.getElementById("msgInput").value=J.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";Q()} function qa(a,b,c,e){var f=S(c);if(f){for(var d=document.createElement("li"),m=document.createElement("a"),k=document.createElement("span"),g=document.createElement("span"),h=[],l=0,n=e.length;l]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=r(E.a,c[0]),c[1]=a?"@"+a.name:H.K),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=y(E.a,c[0]),c[1]=a?"#"+a.name:H.J),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]|| (c[1]=c[0]),c[2]="slackmsg-link";else return a;return'"+c[1]+""}),e=ra(e),g=e.length,h=function(a,b,c){for(;a[b];){var e=a[b];if(("A"<=e&&"Z">=e||"a"<=e&&"z">=e||"0"<=e&&"9">=e||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(e))&& a[b]!=c&&a[b+1]==c)return!0;b++}return!1},l=function(a){return Object.keys(d).length?'':""};k"!==e[k-1]);k--}else if(!d["slackmsg-style-bold"]&&"*"===n&&e[k+1]&&h(e,k,n))Object.keys(d).length&&(f+=""),d["slackmsg-style-bold"]=!0,f+=l(d);else if(!d["slackmsg-style-strike"]&&"~"===n&&e[k+1]&&h(e,k,n))Object.keys(d).length&& (f+=""),d["slackmsg-style-strike"]=!0,f+=l(d);else if(!d["slackmsg-style-code"]&&"`"===n&&e[k+1]&&h(e,k,n))Object.keys(d).length&&(f+=""),d["slackmsg-style-code"]=!0,f+=l(d);else if(!d["slackmsg-style-italic"]&&"_"===n&&e[k+1]&&h(e,k,n))Object.keys(d).length&&(f+=""),d["slackmsg-style-italic"]=!0,f+=l(d);else{var t=!1,f=f+n;do{if(d["slackmsg-style-bold"]&&"*"!==n&&"*"===e[k+1])delete d["slackmsg-style-bold"],t=!0;else if(d["slackmsg-style-strike"]&&"~"!==n&&"~"===e[k+1])delete d["slackmsg-style-strike"], t=!0;else if(d["slackmsg-style-code"]&&"`"!==n&&"`"===e[k+1])delete d["slackmsg-style-code"],t=!0;else if(d["slackmsg-style-italic"]&&"_"!==n&&"_"===e[k+1])delete d["slackmsg-style-italic"],t=!0;else break;n=e[++k]}while(k"+l(d))}}d&&(f+="");a[b]=m?''+f+"":f}return a.join("
")}function P(a,b,c){b.i?(a=U(a,b,c),a.classList.add("slackmsg-me_message")):a=U(a,b,c);b.l&&a.classList.add("slackmsg-edited");return a} function M(){var a=0,b=0,c="";if(W)c="!"+H.F+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else{for(var e in X)X.hasOwnProperty(e)&&(a+=X[e].B,b+=X[e].s);b?c="(!"+b+") - ":a&&(c="("+a+") - ");document.getElementById("linkFavicon").href=b||a?"favicon.png?h="+b+"&m="+a:"favicon_ok.png"}c+=E.a.f.name;document.title=c} function sa(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(K+3E4Math.abs(e-d.b)?f.classList.add("slackmsg-same-ts"):e=d.b):e=d.b;c=d;f=k;a.appendChild(k)}});var d=document.getElementById("chatWindow");d.textContent="";d.appendChild(a);d.scrollTop=d.scrollHeight-d.clientHeight} function ta(a){function b(a,b){for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item"))return b.id;b=b.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.parentElement.classList.contains("slackmsg-hover")){if(a=b(a,c)){a=parseFloat(a.split("_")[1]);var e=ma(a);e&&c.classList.contains("slackmsg-hover-reply")?(J&&(J=null,R()),I!==e&&(I=e,O())):e&&c.classList.contains("slackmsg-hover-reaction")?ua.I(document.body, function(a){a&&T(F.id,e.id,a)}):e&&c.classList.contains("slackmsg-hover-edit")?(I&&(I=null,O()),J!==e&&(J=e,R())):e&&c.classList.contains("slackmsg-hover-remove")&&(I&&(I=null,O()),J&&(J=null,R()),va(e))}break}c=c.parentElement}}function Q(){document.getElementById("msgInput").focus()}function L(){var a=document.location.hash.substr(1),b=y(E.a,a),a=r(E.a,a);b&&b!==F?wa(b):a&&a.b&&wa(a.b)} document.addEventListener("DOMContentLoaded",function(){na();document.getElementById("chatWindow").addEventListener("click",ta);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&L()});document.getElementById("fileUploadCancel").addEventListener("click",function(a){a.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value= "";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("fileUploadInput");var b=a.value;b&&(b=b.substr(b.lastIndexOf("\\")+1),xa(b,a.files[0],function(a){var b=document.getElementById("fileUploadError");a?(b.textContent=a,b.classList.remove("hidden")):(b.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1}); document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();F&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");F&&a.value&&ya(a.value)&&(a.value="",I&&(I=null,O()),J&&(J=null,O()));Q();return!1});window.addEventListener("blur",function(){window.hasFocus=!1});window.addEventListener("focus",function(){window.hasFocus= !0;K=0;F&&za();Q()});window.hasFocus=!0;(function(){var a=document.getElementById("emojiButton");if("makeEmoji"in window){var b=window.makeEmoji("smile");b?a.innerHTML=""+b.outerHTML+"":a.style.backgroundImage='url("smile.svg")';(b=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML=""+b.outerHTML+"":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';a.addEventListener("click", function(){ua.I(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");Q()})})}else a.classList.add("hidden")})();Z()});var ua=function(){function a(a,b){for(var c=a.target;c!==g&&c&&"LI"!==c.nodeName;)c=c.parentElement;c&&"LI"===c.nodeName&&c.id&&"emojibar-"===c.id.substr(0,9)?b(c.id.substr(9)):b(null)}function b(){if(!c())return!1;B&&B(null);return!0}function c(){return g.parentElement?(g.parentElement.removeChild(h),g.parentElement.removeChild(g),!0):!1}function e(a){var b=0,c;a=void 0===a?q.value:a;if(k()){var e=window.searchEmojis(a);c=f(e);for(var g in u)u[g].visible&&(u[g].visible=!1,n.removeChild(u[g].g)); g=0;for(var m=c.length;gc.bottom||a.screenXc.right)&&b()});h.className="emojibar-overlay";g.className="emojibar";l.className="emojibar-emojis";A.className="emojibar-detail";x.className="emojibar-detail-img";v.className="emojibar-detail-name";n.className=t.className="emojibar-list";q.className="emojibar-search";A.appendChild(x);A.appendChild(v);l.appendChild(m(window.emojiProviderHeader));l.appendChild(n);l.appendChild(m("emojicustom.png")); l.appendChild(t);g.appendChild(l);g.appendChild(A);g.appendChild(q);q.addEventListener("keyup",function(){e()});g.addEventListener("mousemove",function(b){a(b,function(a){var b=a?u[a]||w[a]:null;b?(x.innerHTML=b.g.outerHTML,v.textContent=":"+a+":"):(x.textContent="",v.textContent="")})});g.addEventListener("click",function(b){a(b,function(a){a&&c()&&B&&B(a)})});return{isSupported:k,I:function(a,b){return k()?(B=b,a.appendChild(h),a.appendChild(g),q.value="",e(),q.focus(),!0):!1},search:e,close:b}}();var E,X={}; function Aa(a,b){if(a!==F||!window.hasFocus){var c=new RegExp("<@"+E.a.a.id),e=!1,f=!1;X[a.id]||(X[a.id]={s:0,B:0});b.forEach(function(b){var d;if(!(d="D"===a.id[0]||b.text.match(c)))a:{b=b.text;d=E.a.a.c.a;for(var k=0,g=d.length;ke/(c.height*c.width))for(d=0;d",author_icon:m.a.m,text:e.text,footer:k,ts:e.b}]))}f.open("POST",d,!0);f.send(null);return!0}function va(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+F.id+"&ts="+a.id,!0);b.send(null)}function T(a,b,c){var e=new XMLHttpRequest;e.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);e.send(null)};