function m(a){this.id=a;this.version=0}m.prototype.update=function(a,c){void 0!==a.name&&(this.name=a.name);this.version=Math.max(this.version,c)};function aa(a){this.a=a.desc;this.name=a.name;this.type=a.type;this.usage=a.usage;this.B=a.category}function ba(){this.b={};this.a=[]} ba.prototype.update=function(a,c){this.b=JSON.parse(a.emoji_use);a.highlight_words?this.a=(a.highlight_words||"").split(",").filter(function(a){return""!==a.trim()}):a.highlights&&(this.a=a.highlights);this.version=Math.max(this.version,c)};function ca(){this.j=null;this.f={};this.a={};this.b=null;this.h={version:0,data:{}};this.g={version:0,data:{}};this.c={};this.s=0}"undefined"!==typeof module&&(module.w.R=ca,module.w.S=m,module.w.U=aa);function r(a){this.id=a;this.o=!1;this.a=this.b=0;this.g={};this.version=0} r.prototype.update=function(a,c,b){void 0!==a.name&&(this.name=a.name);void 0!==a.is_archived&&(this.h=a.is_archived);void 0!==a.is_member&&(this.s=a.is_member);void 0!==a.last_read&&(this.b=Math.max(parseFloat(a.last_read),this.b));void 0!==a.last_msg&&(this.a=parseFloat(a.last_msg));void 0!==a.is_private&&(this.j=a.is_private);a.latest&&(this.a=parseFloat(a.latest.ts));void 0!==a.is_starred&&(this.o=a.is_starred);if(a.members&&(this.g={},a.members))for(var d=0,h=a.members.length;dthis.b;)this.a.shift();return d||0};function fa(a){for(var c=H.b[I.id],b=0,d=c.a.length;b=c.a[b].i;b++)if(c.a[b].i===a)return c.a[b];return null}function ea(a){a.a.sort(function(a,b){return a.i-b.i})}D.prototype=Object.create(C.prototype); D.prototype.constructor=D;E.prototype=Object.create(C.prototype);E.prototype.constructor=E;"undefined"!==typeof module&&(module.w={W:C,V:D,X:E,$:F});function J(a){this.id=a;this.b={small:"",P:""};this.f={};this.h=this.a=null;this.version=0}J.prototype.update=function(a,c){void 0!==a.name&&(this.name=a.name);void 0!==a.deleted&&(this.g=a.deleted);void 0!==a.status&&(this.status=a.status);void 0!==a.presence&&(this.c="away"!==a.presence);void 0!==a.isPresent&&(this.c=a.isPresent);a.isBot&&(this.s=a.isBot);a.profile&&(this.b.small=a.profile.icon_small,this.b.P=a.profile.icon_large);this.version=Math.max(this.version,c)}; "undefined"!==typeof module&&(module.w.T=J);var K={},L;function ga(){var a;if(!a){for(var c=0,b=navigator.languages.length;cc.getTime()?a.toLocaleTimeString():a.getTime()>b.getTime()?"hier, "+a.toLocaleTimeString(): a.toLocaleString()},m:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};K.en={M:"Unknown member",L:"Unknown channel",G:"New message",F:"Network",u:"(edited)",H:"(only visible to you)",o:"Starred",f:"Channels",J:"Direct messages",D:function(a){"string"!==typeof a&&(a=parseFloat(a));var c=new Date,b=new Date;a=new Date(1E3*a);c.setHours(0);c.setMinutes(0);c.setSeconds(0);c.setMilliseconds(0);b.setTime(c.getTime());b.setDate(b.getDate()-1);return a.getTime()>c.getTime()?a.toLocaleTimeString():a.getTime()>b.getTime()?"yesterday, "+a.toLocaleTimeString():a.toLocaleString()}, m:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var M=[],N=0; function ha(){var a=document.createDocumentFragment(),c=Object.keys(H.a.f||{}),b=[],d=[],h=[],e=[];c.sort(function(a,c){return a[0]!==c[0]?a[0]-c[0]:H.a.f[a].name.localeCompare(H.a.f[c].name)});c.forEach(function(a){a=H.a.f[a];if(!a.h&&!1!==a.s)if(a instanceof B){if(!a.c.g){var c;c=document.createElement("li");var g=document.createElement("a");c.id="room_"+a.id;g.href="#"+a.id;c.className="slack-context-room slack-ims";g.textContent=a.c.name;c.appendChild(O());c.appendChild(g);a.c.c||c.classList.add("away"); I===a&&c.classList.add("selected");a.a>a.b&&(c.classList.add("unread"),0<=Q.indexOf(a)&&c.classList.add("unreadHi"));c&&(a.o?b.push(c):e.push(c))}}else c=document.createElement("li"),g=document.createElement("a"),c.id="room_"+a.id,g.href="#"+a.id,a.j?(c.className="slack-context-room slack-group",c.dataset.count=Object.keys(a.g||{}).length):c.className="slack-context-room slack-channel",I===a&&c.classList.add("selected"),g.textContent=a.name,c.appendChild(O()),c.appendChild(g),a.a>a.b&&(c.classList.add("unread"), 0<=Q.indexOf(a)&&c.classList.add("unreadHi")),c&&(a.o?b.push(c):a.j?h.push(c):d.push(c))});b.length&&a.appendChild(R(L.o));b.forEach(function(c){a.appendChild(c)});d.length&&a.appendChild(R(L.f));d.forEach(function(c){a.appendChild(c)});h.forEach(function(c){a.appendChild(c)});e.length&&a.appendChild(R(L.J));e.forEach(function(c){a.appendChild(c)});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);ia();S();ja(function(a){document.getElementById("slackCtx").style.backgroundImage= "url("+a+")"})}function ka(){var a=H.a.c,c;for(c in H.a.b.f)if(!H.a.b.f[c].h){var b=document.getElementById("room_"+c);a[c]?b.classList.add("slack-context-typing"):b.classList.remove("slack-context-typing")}for(var d in H.a.a)(c=H.a.a[d].h)&&!c.h&&(b=document.getElementById("room_"+c.id))&&(a[c.id]?b.classList.add("slack-context-typing"):b.classList.remove("slack-context-typing"));la()} function la(){var a=H.a.c;document.getElementById("whoistyping").textContent="";if(I&&a[I.id]){var c=document.createDocumentFragment(),b=!1,d;for(d in a[I.id])(a=H.a.a[d])?c.appendChild(ma(a)):b=!0;b&&(H.c=0);document.getElementById("whoistyping").appendChild(c)}}function na(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");S()} function oa(){var a=I.name||(I.c?I.c.name:void 0);if(!a){var c=[];I.g.forEach(function(a){c.push(a.name)});a=c.join(", ")}document.getElementById("currentRoomTitle").textContent=a;pa();T();document.getElementById("fileUploadContainer").classList.add("hidden");qa();U&&(U=null,V());W&&(W=null,V());la()} function V(){if(U){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),c=document.createElement("a");c.addEventListener("click",function(){U=null;V()});c.className="replyto-close";c.textContent="x";a.textContent="";a.appendChild(c);a.appendChild(ra("reply_"+I.id,U,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";T()} function X(){if(W){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),c=document.createElement("a");c.addEventListener("click",function(){W=null;X()});c.className="replyto-close";c.textContent="x";a.textContent="";a.appendChild(c);a.appendChild(ra("edit_"+I.id,W,!0));document.getElementById("msgInput").value=W.b}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";T()} window.toggleReaction=function(a,c,b){var d=H.b[a];if(d){a:{for(var h=0,e=d.a.length;h]*)>","g"),function(a,c,b){b=b.split("|");if("@"===c)b[1]?"@"!==b[1][0]&&(b[1]="@"+b[1]):(a=H.a.a[b[0]],b[1]=a?"@"+a.name:L.M),b[0]="#"+b[0],b[2]="slackmsg-link slackmsg-link-user";else if("#"===c)b[1]?"#"!==b[1][0]&&(b[1]="#"+b[1]):(a=H.a.f[b[0]],b[1]=a?"#"+a.name:L.L),b[0]="#"+b[0],b[2]="slackmsg-link slackmsg-link-chan";else if(-1!==b[0].indexOf("://"))b[1]|| (b[1]=b[0]),b[2]="slackmsg-link";else return a;return'"+b[1]+""}),d=ua(d),p=d.length,k=function(a,c,b){for(;a[c];){var d=a[c];if(("A"<=d&&"Z">=d||"a"<=d&&"z">=d||"0"<=d&&"9">=d||-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(d))&& a[c]!=b&&a[c+1]==b)return!0;c++}return!1},u=function(a){return Object.keys(e).length?'':""};f"!==d[f-1]);f--}else if(!e["slackmsg-style-bold"]&&"*"===l&&d[f+1]&&k(d,f,l))Object.keys(e).length&&(h+=""),e["slackmsg-style-bold"]=!0,h+=u(e);else if(!e["slackmsg-style-strike"]&&"~"===l&&d[f+1]&&k(d,f,l))Object.keys(e).length&& (h+=""),e["slackmsg-style-strike"]=!0,h+=u(e);else if(!e["slackmsg-style-code"]&&"`"===l&&d[f+1]&&k(d,f,l))Object.keys(e).length&&(h+=""),e["slackmsg-style-code"]=!0,h+=u(e);else if(!e["slackmsg-style-italic"]&&"_"===l&&d[f+1]&&k(d,f,l))Object.keys(e).length&&(h+=""),e["slackmsg-style-italic"]=!0,h+=u(e);else{var n=!1,h=h+l;do{if(e["slackmsg-style-bold"]&&"*"!==l&&"*"===d[f+1])delete e["slackmsg-style-bold"],n=!0;else if(e["slackmsg-style-strike"]&&"~"!==l&&"~"===d[f+1])delete e["slackmsg-style-strike"], n=!0;else if(e["slackmsg-style-code"]&&"`"!==l&&"`"===d[f+1])delete e["slackmsg-style-code"],n=!0;else if(e["slackmsg-style-italic"]&&"_"!==l&&"_"===d[f+1])delete e["slackmsg-style-italic"],n=!0;else break;l=d[++f]}while(f"+u(e))}}e&&(h+="");a[c]=g?''+h+"":h}return a.length?a.join("
"):""} function ra(a,c,b){c instanceof D?(a=va(a,c,b),a.classList.add("slackmsg-me_message")):a=va(a,c,b);c.u&&a.classList.add("slackmsg-edited");c instanceof E&&a.classList.add("slackmsg-notice");return a}function wa(a,c){document.getElementById("linkFavicon").href=a||c?"favicon.png?h="+a+"&m="+c:"favicon_ok.png"} function S(){var a=Q.length,c="";if(Z)c="!"+L.F+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)c="(!"+a+") - ",wa(a,a);else{var a=0,b;for(b in H.a.f){var d=H.a.f[b];d.a>d.b&&a++}a&&(c="("+a+") - ");wa(0,a)}H.a.j&&(c+=H.a.j.name);document.title=c} function xa(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(N+3E4Math.abs(d-f.i)&&!(f instanceof D)?h.classList.add("slackmsg-same-ts"):d=f.i:(d=f.i,k=!0);(!b||b.i<=I.b)&&f.i>I.b&&g.classList.add("slackmsg-first-unread");if(f instanceof D)h=b=null,d=0,a.appendChild(g),e=null;else{if(k||!e){var k=H.a.a[f.l],u=f.h,l=document.createElement("div"),n=document.createElement("div"),t=document.createElement("span"); l.A=document.createElement("img");l.A.className="slackmsg-author-img";t.className="slackmsg-author-name";k?(t.textContent=k.name,l.A.src=k.b.small):(t.textContent=u||"?",l.A.src="");n.appendChild(l.A);n.appendChild(t);n.className="slackmsg-author";l.className="slackmsg-authorGroup";l.appendChild(n);l.content=document.createElement("div");l.content.className="slackmsg-author-messages";l.appendChild(l.content);e=l;M.push(e);a.appendChild(e)}b=f;h=g;e.content.appendChild(g)}}});var g=document.getElementById("chatWindow"); g.textContent="";g.appendChild(a);g.scrollTop=g.scrollHeight-g.clientHeight;window.hasFocus&&qa()} function ya(a){function c(a,c){for(c=c||a.target;c!==a.currentTarget&&c;){if(c.classList.contains("slackmsg-item"))return c.id;c=c.parentElement}}for(var b=a.target;b!==a.currentTarget&&b&&!b.classList.contains("slackmsg-hover");){if(b.parentElement&&b.classList.contains("slackmsg-attachment-actions-item")){var d=c(a,b),h=b.dataset.O,e=b.dataset.N;if(d&&void 0!==h&&void 0!==e){var d=parseFloat(d.split("_")[1]),g=fa(d);g&&g.a[h]&&g.a[h].actions&&g.a[h].actions[e]&&(d=za(g,g.a[h],g.a[h].actions[e]), Aa(d,g.l))}}else if(b.parentElement&&b.parentElement.classList.contains("slackmsg-hover")){if(d=c(a,b))d=parseFloat(d.split("_")[1]),(g=fa(d))&&b.classList.contains("slackmsg-hover-reply")?(W&&(W=null,X()),U!==g&&(U=g,V())):g&&b.classList.contains("slackmsg-hover-reaction")?Ba.K(document.body,function(a){a&&sa(I.id,g.id,a)}):g&&b.classList.contains("slackmsg-hover-edit")?(U&&(U=null,V()),W!==g&&(W=g,X())):g&&b.classList.contains("slackmsg-hover-remove")&&(U&&(U=null,V()),W&&(W=null,X()),Ca(g));break}b= b.parentElement}}function T(){document.getElementById("msgInput").focus()}function ia(){var a=document.location.hash.substr(1),c=H.a.f[a];c&&c!==I?Da(c):(a=H.a.a[a])&&a.j&&Da(a.j)}function Ea(){var a=document.getElementById("chatWindow").getBoundingClientRect().top;M.forEach(function(c){var b=c.A,d=b.clientHeight;c=c.getBoundingClientRect();b.style.top=Math.max(0,Math.min(a-c.top,c.height-d-d/2))+"px"})} document.addEventListener("DOMContentLoaded",function(){ga();document.getElementById("chatWindow").addEventListener("click",ya);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&ia()});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 c=a.value;c&&(c=c.substr(c.lastIndexOf("\\")+1),Fa(c,a.files[0],function(a){var c=document.getElementById("fileUploadError");a?(c.textContent=a,c.classList.remove("hidden")):(c.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1}); document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();I&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");I&&a.value&&Ga(a.value)&&(a.value="",U&&(U=null,V()),W&&(W=null,V()),document.getElementById("slashList").textContent="");T();return!1});window.addEventListener("blur",function(){window.hasFocus= !1});window.addEventListener("focus",function(){window.hasFocus=!0;N=0;I&&qa();T()});document.getElementById("chatWindow").addEventListener("scroll",Ea);var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(I){var c=Date.now();a+3E3"+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(){Ba.K(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");T()})})}else a.classList.add("hidden")})();Ka()});function O(){var a=document.createElement("span"),c=document.createElement("span"),b=document.createElement("span"),d=document.createElement("span");a.className="typing-container";c.className="typing-dot1";b.className="typing-dot2";d.className="typing-dot3";c.textContent=b.textContent=d.textContent=".";a.appendChild(c);a.appendChild(b);a.appendChild(d);return a}var R=function(){var a={};return function(c){var b=a[c];b||(b=a[c]=document.createElement("header"),b.textContent=c);return b}}(); function va(a,c,b){var d=document.createElement("div"),h=document.createElement("div"),e=document.createElement("div"),g=document.createElement("div"),f=document.createElement("span"),p=document.createElement("ul"),k=document.createElement("li"),u=document.createElement("ul"),l=document.createElement("ul"),n=H.a.a[c.l];d.id=a+"_"+c.i;d.className="slackmsg-item";e.className="slackmsg-ts";g.className="slackmsg-msg";f.className="slackmsg-author-name";p.className="slackmsg-hover";k.className="slackmsg-hover-reply"; e.innerHTML=L.D(c.i);g.innerHTML=Y(c.b);f.textContent=n?n.name:c.h||"?";p.appendChild(k);if("makeEmoji"in window){var t=document.createElement("li"),w=window.makeEmoji("arrow_heading_down"),y=window.makeEmoji("smile"),x=window.makeEmoji("pencil2"),n=window.makeEmoji("x");t.className="slackmsg-hover-reaction";y?(t.classList.add("emoji-small"),t.appendChild(y)):t.style.backgroundImage='url("smile.svg")';w?(k.classList.add("emoji-small"),k.appendChild(w)):k.style.backgroundImage='url("repl.svg")';p.appendChild(t); c.l===H.a.b.id&&(k=document.createElement("li"),k.className="slackmsg-hover-edit",x?k.classList.add("emoji-small"):k.style.backgroundImage='url("edit.svg")',k.appendChild(x),p.appendChild(k),k=document.createElement("li"),k.className="slackmsg-hover-remove",n?k.classList.add("emoji-small"):k.style.backgroundImage='url("remove.svg")',k.appendChild(n),p.appendChild(k))}else k.style.backgroundImage='url("repl.svg")',c.l===H.a.b.id&&(k=document.createElement("li"),k.className="slackmsg-hover-edit",k.style.backgroundImage= 'url("edit.svg")',p.appendChild(k),k=document.createElement("li"),k.className="slackmsg-hover-remove",k.style.backgroundImage='url("remove.svg")',p.appendChild(k));c instanceof E&&(n=document.createElement("span"),n.className="slackmsg-notice",n.textContent=L.H,h.appendChild(n));h.appendChild(f);h.appendChild(g);h.appendChild(e);h.appendChild(u);c.u&&(e=document.createElement("div"),e.innerHTML=L.u,e.className="slackmsg-edited",h.appendChild(e));h.appendChild(l);h.className="slackmsg-content";u.className= "slackmsg-attachments";l.className="slackmsg-reactions";if(!0!==b){if(c.c)for(var v in c.c){b=a;e=c.id;g=v;f=c.c[v];if(n=ta(g)){for(var k=document.createElement("li"),x=document.createElement("a"),t=document.createElement("span"),w=document.createElement("span"),y=[],z=0,A=f.length;zb.bottom||a.screenXb.right)&&c()});k.className="emojibar-overlay";p.className="emojibar";u.className="emojibar-emojis";x.className="emojibar-detail";v.className="emojibar-detail-img";z.className="emojibar-detail-name";l.className=n.className="emojibar-list";t.className="emojibar-search";x.appendChild(v);x.appendChild(z); u.appendChild(g(window.emojiProviderHeader));u.appendChild(l);u.appendChild(g("emojicustom.png"));u.appendChild(n);p.appendChild(u);p.appendChild(x);p.appendChild(t);t.addEventListener("keyup",function(){d()});p.addEventListener("mousemove",function(c){a(c,function(a){var c=a?w[a]||y[a]:null;c?(v.innerHTML=c.m.outerHTML,z.textContent=":"+a+":"):(v.textContent="",z.textContent="")})});p.addEventListener("click",function(c){a(c,function(a){a&&b()&&A&&A(a)})});return{isSupported:f,K:function(a,c){return f()? (A=c,a.appendChild(k),a.appendChild(p),t.value="",d(),t.focus(),!0):!1},search:d,close:c}}();var H,Q=[];function La(){this.c=0;this.a=new ca;this.b={}} La.prototype.update=function(a){var c=Date.now();a.v&&(this.c=a.v);if(a["static"]){var b=this.a,d=a["static"],h=Date.now();if(d.users)for(var e=0,g=d.users.length;ea.b){var b=new XMLHttpRequest;b.open("POST","api/markread?room="+a.id+"&ts="+a.a,!0);b.send(null);a.b=a.a}0<=c&&(Q.splice(c,1),S());a=document.getElementById("room_"+a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}H=new La;var ja=function(){function a(a,c){c.sort(function(){return Math.random()-.5});for(var b=0,d=20;dd/(b.height*b.width))for(e=0;e",author_icon:h.b.small,text:b.b,footer:e,ts:b.i}]))}d.open("POST",a,!0);d.send(null);return!0}function Ca(a){var c=new XMLHttpRequest;c.open("DELETE","api/msg?room="+I.id+"&ts="+a.id,!0);c.send(null)} function sa(a,c,b){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+c+"&reaction="+encodeURIComponent(b),!0);d.send(null)};