(function(e){function t(t){for(var a,r,i=t[0],c=t[1],l=t[2],u=0,m=[];ut.meta.index?"v-slide-y-reverse-transition":"v-slide-y-transition":this.transitionName=e.meta.topLevel?"v-slide-x-transition":"v-slide-x-reverse-transition"}},methods:{tryConnect:function(e,t,n,a,s,o){var r=this;this.isConnecting=!0,Te.socket&&(Te.socket.disconnect(),Te.socket.off("connect"),Te.socket.off("connect_error"),Te.socket.off("disconnect"));var i=Object(be["a"])(e+t,{forceNew:!0,reconnection:!1,withCredentials:!0,transports:a?["websocket"]:["polling","websocket"],path:s,parser:"msgpack"===o?ke.a:null,auth:n});i.once("connect",(function(){r.showConnectionModal=!1,r.connectionError="",r.isConnecting=!1,i.io.reconnection(!0),r.$store.commit("connection/saveConfig",{serverUrl:e,wsOnly:a,path:s,namespace:t,parser:o}),Te.socket=i,r.registerEventListeners(i)})),i.on("connect",(function(){r.$store.commit("connection/connect")})),i.on("connect_error",(function(e){(r.isConnecting||"invalid credentials"===e.message)&&(r.showConnectionModal=!0,r.connectionError=e.message),r.isConnecting=!1})),i.on("disconnect",(function(e){r.isConnecting&&(r.isConnecting=!1,r.connectionError=e),r.$store.commit("connection/disconnect")}))},registerEventListeners:function(e){var t=this;e.on("session",(function(e){t.$store.commit("connection/saveSessionId",e)})),e.on("config",(function(e){t.$store.commit("config/updateConfig",e)})),e.on("server_stats",(function(e){t.$store.commit("servers/onServerStats",e),t.$store.commit("main/onServerStats",e)})),e.on("all_sockets",(function(e){t.$store.commit("main/onAllSockets",e)})),e.on("socket_connected",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ne();t.$store.commit("main/onSocketConnected",{timestamp:n,socket:e})})),e.on("socket_updated",(function(e){t.$store.commit("main/onSocketUpdated",e)})),e.on("socket_disconnected",(function(e,n,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ne();t.$store.commit("main/onSocketDisconnected",{timestamp:s,nsp:e,id:n,reason:a})})),e.on("room_joined",(function(e,n,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ne();t.$store.commit("main/onRoomJoined",{timestamp:s,nsp:e,room:n,id:a})})),e.on("room_left",(function(e,n,a){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ne();t.$store.commit("main/onRoomLeft",{timestamp:s,nsp:e,room:n,id:a})})),e.on("event_received",(function(e,n,a,s){t.$store.commit("main/onEventReceived",{timestamp:s,nsp:e,id:n,args:a})})),e.on("event_sent",(function(e,n,a,s){t.$store.commit("main/onEventSent",{timestamp:s,nsp:e,id:n,args:a})}))},onSubmit:function(e){this.tryConnect(e.serverUrl,e.namespace,{username:e.username,password:e.password},e.wsOnly,e.path,e.parser)}},created:function(){if(this.$vuetify.theme.dark=this.$store.state.config.darkTheme,this.$vuetify.breakpoint.lgAndUp&&this.$store.commit("config/toggleNavigationDrawer"),this.serverUrl){var e=this.$store.state.connection.sessionId;this.tryConnect(this.serverUrl,this.namespace,{sessionId:e},this.wsOnly,this.path,this.parser)}else this.showConnectionModal=!0}},Ee=Ve,Re=n("7496"),Me=n("a523"),Ae=n("f6c4"),Le=Object(b["a"])(Ee,s,o,!1,null,null,null),Pe=Le.exports;k()(Le,{VApp:Re["a"],VContainer:Me["a"],VMain:Ae["a"]});var Be=n("8c4f"),Ue=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{cols:"12",md:"6",lg:"4"}},[n("ClientsOverview")],1),n("v-col",{attrs:{cols:"12",md:"6",lg:"4"}},[n("ServersOverview")],1),n("v-col",{attrs:{cols:"12",md:"6",lg:"4"}},[n("NamespacesOverview")],1),e.hasAggregatedValues?n("v-col",{attrs:{cols:"12",md:"6"}},[n("ConnectionsHistogram")],1):e._e(),e.hasAggregatedValues?n("v-col",{attrs:{cols:"12",md:"6"}},[n("BytesHistogram")],1):e._e()],1)],1)],1)},He=[],ze=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("clients.title"))+" "),n("v-spacer"),e.developmentMode?n("v-btn",{attrs:{to:{name:"clients"},small:""}},[n("v-icon",[e._v("mdi-dots-horizontal")])],1):e._e()],1),n("v-card-text",[n("v-row",[n("Doughnut",{staticClass:"chart",attrs:{"chart-data":e.data,"chart-options":e.chartOptions}}),n("v-simple-table",{staticClass:"grow align-self-center",scopedSlots:e._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("th",[e._v(e._s(e.$t("sockets.transport")))]),n("th",[e._v("#")])]),e._l(e.transports,(function(t){return n("tr",{key:t},[n("td",[n("Transport",{attrs:{transport:t}})],1),n("td",[n("div",[n("h2",[e._v(e._s(e.transportRepartition[t]))])]),n("div",[e._v(" "+e._s(e.percentage(e.transportRepartition[t],e.clientsCount))+" % ")])])])}))],2)]},proxy:!0}])})],1)],1)],1)},qe=[],Ge=(n("4de4"),n("d81d"),n("7b97")),Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-chip",{attrs:{small:"",color:e.color,outlined:""}},[e._v(e._s(e.label))])},Ye=[],Fe={name:"Transport",props:{transport:String},computed:{label:function(){switch(this.transport){case"polling":return"HTTP long-polling";case"websocket":return"WebSocket";default:return this.transport}},color:function(){switch(this.transport){case"polling":return v["a"].orange.base;case"websocket":return v["a"].green.base;default:return v["a"].grey.base}}}},Je=Fe,We=Object(b["a"])(Je,Qe,Ye,!1,null,null,null),Ze=We.exports;k()(We,{VChip:y["a"]});var Ke=n("53ca"),Xe=(n("a15b"),n("a434"),n("caad"),n("2532"),n("b680"),n("1c8f")),et=function(){var e="test";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(t){return!1}},tt=et();function nt(e){var t=Math.ceil(Math.max(e,0)),n=Math.floor(t/86400),a=Math.floor((t-86400*n)/3600),s=Math.floor((t-86400*n-3600*a)/60),o=Math.ceil(t)-86400*n-3600*a-60*s,r=[];return n>0&&r.push(n+"d"),(n>0||a>0)&&r.push(a+"h"),(n>0||a>0||s>0)&&r.push(s+"m"),r.push(o+"s"),r.join(" ")}function at(e,t){var n="object"===Object(Ke["a"])(t)?Object(Xe["a"])(e,t):e.indexOf(t);return-1===n?[]:e.splice(n,1)}function st(e,t){e.includes(t)||e.push(t)}function ot(e,t){return 0===t?0:(e/t*100).toFixed(1)}var rt=n("9223"),it={name:"ClientsOverview",components:{Transport:Ze,Doughnut:Ge["b"]},data:function(){return{transports:["websocket","polling"],chartOptions:{plugins:{legend:{display:!1}}}}},computed:Object(r["a"])(Object(r["a"])(Object(r["a"])({},Object(l["d"])({clients:function(e){return e.main.clients},darkTheme:function(e){return e.config.darkTheme},servers:function(e){return e.servers.servers}})),Object(l["b"])("config",["hasAggregatedValues","developmentMode"])),{},{clientsCount:function(){return this.hasAggregatedValues?Object(rt["a"])(this.servers,"clientsCount"):this.clients.length},transportRepartition:function(){if(this.hasAggregatedValues){var e=Object(rt["a"])(this.servers,"pollingClientsCount");return{polling:e,websocket:this.clientsCount-e}}return this.clients.map((function(e){return e.sockets[0]})).filter((function(e){return!!e})).reduce((function(e,t){return e[t.transport]++,e}),{websocket:0,polling:0})},data:function(){return{labels:["WebSocket","HTTP long-polling"],datasets:[{backgroundColor:[v["a"].green.base,v["a"].orange.base],borderColor:this.darkTheme?"black":"white",data:[this.transportRepartition["websocket"],this.transportRepartition["polling"]]}]}}}),methods:{percentage:ot}},ct=it,lt=(n("2bc7"),n("0fd9")),dt=n("1f4f"),ut=Object(b["a"])(ct,ze,qe,!1,null,"68c0c5d5",null),mt=ut.exports;k()(ut,{VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"],VIcon:le["a"],VRow:lt["a"],VSimpleTable:dt["a"],VSpacer:E["a"]});var pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("servers.title"))+" "),n("v-spacer"),n("v-btn",{attrs:{to:{name:"servers"},small:""}},[n("v-icon",[e._v("mdi-dots-horizontal")])],1)],1),n("v-card-text",[n("v-row",[n("Doughnut",{staticClass:"chart",attrs:{"chart-data":e.data,"chart-options":e.chartOptions}}),n("v-simple-table",{staticClass:"grow align-self-center",scopedSlots:e._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("th",[e._v(e._s(e.$t("status")))]),n("th",[e._v("#")])]),n("tr",[n("td",[n("ServerStatus",{attrs:{healthy:""}})],1),n("td",[n("div",[n("h2",[e._v(e._s(e.healthyServers))])]),n("div",[e._v(e._s(e.percentage(e.healthyServers,e.totalServers))+" %")])])]),n("tr",[n("td",[n("ServerStatus")],1),n("td",[n("div",[n("h2",[e._v(e._s(e.totalServers-e.healthyServers))])]),n("div",[e._v(" "+e._s(e.percentage(e.totalServers-e.healthyServers,e.totalServers))+" % ")])])])])]},proxy:!0}])})],1)],1)],1)},vt=[],ht=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Status",{attrs:{value:e.healthy,"ok-label":e.$t("servers.healthy"),"ko-label":e.$t("servers.unhealthy")}})},ft=[],bt={name:"ServerStatus",components:{Status:S},props:{healthy:Boolean}},gt=bt,kt=Object(b["a"])(gt,ht,ft,!1,null,null,null),yt=kt.exports,_t={name:"ServersOverview",components:{ServerStatus:yt,Doughnut:Ge["b"]},data:function(){return{chartOptions:{plugins:{legend:{display:!1}}}}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])({healthyServers:function(e){return e.servers.servers.filter((function(e){return e.healthy})).length},totalServers:function(e){return e.servers.servers.length},darkTheme:function(e){return e.config.darkTheme}})),{},{data:function(){return{labels:[this.$t("servers.healthy"),this.$t("servers.unhealthy")],datasets:[{backgroundColor:[v["a"].green.base,v["a"].red.base],borderColor:this.darkTheme?"black":"white",data:[this.healthyServers,this.totalServers-this.healthyServers]}]}}}),methods:{percentage:ot}},St=_t,Ot=(n("a86e"),Object(b["a"])(St,pt,vt,!1,null,"0ad5cc14",null)),jt=Ot.exports;k()(Ot,{VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"],VIcon:le["a"],VRow:lt["a"],VSimpleTable:dt["a"],VSpacer:E["a"]});var Ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("namespaces"))+" "),n("v-spacer"),e.developmentMode?n("v-btn",{attrs:{to:{name:"sockets"},small:""}},[n("v-icon",[e._v("mdi-dots-horizontal")])],1):e._e()],1),n("v-simple-table",{scopedSlots:e._u([{key:"default",fn:function(){return[n("thead",[n("tr",[n("th",[e._v(e._s(e.$t("name")))]),n("th",[e._v(e._s(e.$t("rooms.sockets-count")))])])]),n("tbody",e._l(e.namespaces,(function(t){return n("tr",{key:t.name},[n("td",{staticClass:"key-column"},[n("code",[e._v(e._s(t.name))])]),n("td",[e._v(e._s(t.socketsCount))])])})),0)]},proxy:!0}])})],1)},xt=[],wt=n("d66c"),$t={name:"NamespacesOverview",computed:Object(r["a"])(Object(r["a"])(Object(r["a"])(Object(r["a"])({},Object(l["d"])({plainNamespaces:function(e){return Object(wt["a"])(e.main.namespaces,"name").map((function(e){var t=e.name,n=e.sockets;return{name:t,socketsCount:n.length}}))}})),Object(l["b"])("config",["hasAggregatedValues","developmentMode"])),Object(l["b"])("servers",{liteNamespaces:"namespaces"})),{},{namespaces:function(){return this.hasAggregatedValues?this.liteNamespaces:this.plainNamespaces}})},It=$t,Dt=Object(b["a"])(It,Ct,xt,!1,null,"11fe24be",null),Tt=Dt.exports;k()(Dt,{VBtn:N["a"],VCard:je["a"],VCardTitle:Ce["b"],VIcon:le["a"],VSimpleTable:dt["a"],VSpacer:E["a"]});var Nt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("dashboard.connectionsHistogram.title"))+" ")]),n("v-card-text",[n("v-row",[n("Bar",{staticStyle:{width:"100%"},attrs:{"chart-data":e.chartData,"chart-options":e.chartOptions,height:e.chartHeight}})],1)],1)],1)},Vt=[],Et=n("6b78");function Rt(e){return{x:e.timestamp,y:e.count}}var Mt={name:"ConnectionsHistogram",components:{Bar:Ge["a"]},data:function(){return{chartHeight:120,chartOptions:{parsing:!1,scales:{x:{type:"time",time:{stepSize:1,unit:"minute"}},y:{type:"linear",beginAtZero:!0,suggestedMax:10,ticks:{precision:0}}}}}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])("main",["aggregatedEvents"])),{},{connectionEvents:function(){return this.aggregatedEvents.filter((function(e){return"rawConnection"===e.type})).map(Rt)},disconnectionEvents:function(){return this.aggregatedEvents.filter((function(e){return"rawDisconnection"===e.type})).map(Rt)},chartData:function(){return{datasets:[{label:this.$i18n.t("events.type.connection"),backgroundColor:v["a"].green.base,data:this.connectionEvents},{label:this.$i18n.t("events.type.disconnection"),backgroundColor:v["a"].red.base,data:this.disconnectionEvents}]}}}),created:function(){this.updateChartBounds(),this.interval=setInterval(this.updateChartBounds,1e4)},beforeDestroy:function(){clearInterval(this.interval)},methods:{updateChartBounds:function(){var e=new Date;this.chartOptions.scales.x.min=Object(Et["a"])(e,10),this.chartOptions.scales.x.max=e}}},At=Mt,Lt=Object(b["a"])(At,Nt,Vt,!1,null,null,null),Pt=Lt.exports;k()(Lt,{VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"],VRow:lt["a"]});var Bt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("dashboard.bytesHistogram.title"))+" ")]),n("v-card-text",[n("v-row",[n("Bar",{staticStyle:{width:"100%"},attrs:{"chart-data":e.chartData,"chart-options":e.chartOptions,height:e.chartHeight}})],1)],1)],1)},Ut=[];function Ht(e){return{x:e.timestamp,y:e.count}}var zt={name:"BytesHistogram",components:{Bar:Ge["a"]},data:function(){return{chartHeight:120,chartOptions:{parsing:!1,scales:{x:{type:"time",time:{stepSize:1,unit:"minute"}},y:{type:"linear",beginAtZero:!0,suggestedMax:1e3,ticks:{precision:0}}}}}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])("main",["aggregatedEvents"])),{},{bytesIn:function(){return this.aggregatedEvents.filter((function(e){return"bytesIn"===e.type})).map(Ht)},bytesOut:function(){return this.aggregatedEvents.filter((function(e){return"bytesOut"===e.type})).map(Ht)},chartData:function(){return{datasets:[{label:this.$i18n.t("dashboard.bytesHistogram.bytesIn"),backgroundColor:v["a"].green.base,data:this.bytesIn},{label:this.$i18n.t("dashboard.bytesHistogram.bytesOut"),backgroundColor:v["a"].red.base,data:this.bytesOut}]}}}),created:function(){this.updateChartBounds(),this.interval=setInterval(this.updateChartBounds,1e4)},beforeDestroy:function(){clearInterval(this.interval)},methods:{updateChartBounds:function(){var e=new Date;this.chartOptions.scales.x.min=Object(Et["a"])(e,10),this.chartOptions.scales.x.max=e}}},qt=zt,Gt=Object(b["a"])(qt,Bt,Ut,!1,null,null,null),Qt=Gt.exports;k()(Gt,{VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"],VRow:lt["a"]});var Yt={name:"Dashboard",components:{NamespacesOverview:Tt,ServersOverview:jt,ClientsOverview:mt,ConnectionsHistogram:Pt,BytesHistogram:Qt},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("dashboard.title"),disabled:!0}]}},Object(l["b"])("config",["hasAggregatedValues"]))},Ft=Yt,Jt=n("2bc5"),Wt=n("62ad"),Zt=Object(b["a"])(Ft,Ue,He,!1,null,null,null),Kt=Zt.exports;k()(Zt,{VBreadcrumbs:Jt["a"],VCol:Wt["a"],VContainer:Me["a"],VRow:lt["a"]});var Xt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-card-text",[n("NamespaceSelector")],1),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.sockets,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.transport",fn:function(e){var t=e.value;return[n("Transport",{attrs:{transport:t}})]}},{key:"item.actions",fn:function(t){var a=t.item;return[e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()]}}])})],1)],1)},en=[],tn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-select",{staticClass:"selector",attrs:{value:e.selectedNamespace,items:e.namespaces,"item-text":"name","item-value":"name",label:e.$t("select-namespace"),"persistent-hint":"","return-object":""},on:{change:e.selectNamespace}})},nn=[],an={name:"NamespaceSelector",computed:Object(r["a"])({},Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},namespaces:function(e){return Object(wt["a"])(e.main.namespaces,"name")}})),methods:Object(r["a"])({},Object(l["c"])("main",["selectNamespace"]))},sn=an,on=(n("f712"),Object(b["a"])(sn,tn,nn,!1,null,"2c330798",null)),rn=on.exports;k()(on,{VSelect:q["a"]});var cn={name:"Sockets",components:{Transport:Ze,NamespaceSelector:rn},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("sockets.title"),disabled:!0}]},headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("sockets.address"),value:"handshake.address"},{text:this.$t("sockets.transport"),value:"transport"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["sockets"])),Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(e){Te.socket.emit("_disconnect",e.nsp,!1,e.id)},displayDetails:function(e){this.$router.push({name:"socket",params:{nsp:this.selectedNamespace.name,id:e.id}})}}},ln=cn,dn=(n("513c"),n("8fea")),un=n("3a2f"),mn=Object(b["a"])(ln,Xt,en,!1,null,"1d29c60a",null),pn=mn.exports;k()(mn,{VBreadcrumbs:Jt["a"],VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),e.socket?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("SocketDetails",{attrs:{socket:e.socket,client:e.client}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("InitialRequest",{attrs:{socket:e.socket}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("SocketRooms",{attrs:{socket:e.socket}})],1)],1)],1):e._e()],1)},hn=[],fn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("rooms.title")))]),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.roomsAsObjects,dense:""},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.actions",fn:function(t){var a=t.item;return[e.isSocketLeaveSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.leave(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.leave")))])]):e._e()]}}])}),n("v-card-text",[n("form",{on:{submit:function(t){return t.preventDefault(),e.onSubmit(t)}}},[n("v-combobox",{staticClass:"select-room d-inline-block mr-3",attrs:{"search-input":e.newRoom,label:e.$t("sockets.join-a-room"),items:e.availableRooms,"item-value":"name","item-text":"name",disabled:e.isReadonly,"return-object":!1},on:{"update:searchInput":function(t){e.newRoom=t},"update:search-input":function(t){e.newRoom=t}}}),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,s=t.attrs;return[n("v-btn",e._g(e._b({attrs:{type:"submit",small:"",disabled:e.isReadonly}},"v-btn",s,!1),a),[n("v-icon",[e._v("mdi-tag-plus-outline")])],1)]}}])},[n("span",[e._v(e._s(e.$t("sockets.join")))])])],1)])],1)},bn=[],gn=(n("fb6a"),n("1775")),kn={name:"SocketRooms",props:{socket:Object},data:function(){return{newRoom:""}},computed:Object(r["a"])(Object(r["a"])({headers:function(){return[{text:this.$t("id"),value:"name",align:"start"},{value:"actions",align:"end",sortable:!1}]},roomsAsObjects:function(){return this.socket.rooms.slice(0).sort().map((function(e){return{name:e}}))},availableRooms:function(){return Object(gn["a"])(this.findRoomsByNamespace(this.socket.nsp),this.roomsAsObjects,"name")}},Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},isReadonly:function(e){return e.config.readonly},isSocketLeaveSupported:function(e){return e.config.supportedFeatures.includes("LEAVE")},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),Object(l["b"])("main",["findRoomsByNamespace"])),methods:{emit:function(){},onSubmit:function(){Te.socket.emit("join",this.socket.nsp,this.newRoom,this.socket.id),this.newRoom=""},leave:function(e){Te.socket.emit("leave",this.socket.nsp,e.name,this.socket.id)},disconnect:function(){Te.socket.emit("_disconnect",this.socket.nsp,!1,this.socket.id)},displayDetails:function(e){this.$router.push({name:"room",params:{nsp:this.socket.nsp,name:e.name}})}}},yn=kn,_n=(n("4a85"),n("2b5d")),Sn=Object(b["a"])(yn,fn,bn,!1,null,"5631eb89",null),On=Sn.exports;k()(Sn,{VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"],VCombobox:_n["a"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var jn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("details")))]),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.client")))])]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e.client.connected?n("router-link",{staticClass:"link",attrs:{to:e.toClient}},[e._v(e._s(e.client.id))]):n("span",[e._v(e._s(e.client.id))])],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:e.client.connected}})],1),n("td",{attrs:{align:"right"}},[e.isSocketDisconnectSupported&&e.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,s=t.attrs;return[n("v-btn",e._g(e._b({attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnectClient()}}},"v-btn",s,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!1,1004975867)},[n("span",[e._v(e._s(e.$t("clients.disconnect")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.transport")))]),n("td",[n("Transport",{attrs:{transport:e.socket.transport}})],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.address")))]),n("td",[e._v(e._s(e.socket.handshake.address))]),n("td")])])]],2),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.socket")))])]),n("v-simple-table",{attrs:{dense:""},scopedSlots:e._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("namespace")))]),n("td",[n("code",[e._v(e._s(e.socket.nsp))])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e._v(e._s(e.socket.id))]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("data")))]),n("td",[n("pre",[n("code",[e._v(e._s(JSON.stringify(e.socket.data,null,2)))])])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:e.socket.connected}})],1),n("td",{attrs:{align:"right"}},[e.isSocketDisconnectSupported&&e.socket.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,s=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnectSocket()}}},"v-btn",s,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!1,2351110648)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.creation-date")))]),n("td",[e._v(e._s(e.creationDate))]),n("td")])])]},proxy:!0}])})],1)},Cn=[],xn={name:"SocketDetails",components:{ConnectionStatus:x,Transport:Ze},props:{socket:Object,client:Object},computed:Object(r["a"])({toClient:function(){return{name:"client",params:{id:this.client.id}}},creationDate:function(){return new Date(this.socket.handshake.issued).toISOString()}},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{navigateToClient:function(){this.$router.push({name:"client",params:{id:this.client.id}})},disconnectClient:function(){Te.socket.emit("_disconnect",this.socket.nsp,!0,this.socket.id)},disconnectSocket:function(){Te.socket.emit("_disconnect",this.socket.nsp,!1,this.socket.id)}}},wn=xn,$n=(n("eb02"),Object(b["a"])(wn,jn,Cn,!1,null,"3c0dcfcd",null)),In=$n.exports;k()($n,{VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"],VIcon:le["a"],VSimpleTable:dt["a"],VTooltip:un["a"]});var Dn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("sockets.initial-request")))]),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.headers")))])]),n("KeyValueTable",{attrs:{object:e.socket.handshake.headers}}),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.query-params")))])]),n("KeyValueTable",{attrs:{object:e.socket.handshake.query}})],1)},Tn=[],Nn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-simple-table",{attrs:{dense:""},scopedSlots:e._u([{key:"default",fn:function(){return[n("thead",[n("tr",[n("th",[e._v(e._s(e.$t("name")))]),n("th",[e._v(e._s(e.$t("value")))])])]),n("tbody",e._l(e.items,(function(t){var a=t.key,s=t.value;return n("tr",{key:a},[n("td",{staticClass:"key-column"},[e._v(e._s(a))]),n("td",[e._v(e._s(s))])])})),0)]},proxy:!0}])})},Vn=[],En=(n("b64b"),{name:"KeyValueTable",props:{object:Object},computed:{items:function(){var e=this,t=Object.keys(this.object);return t.sort().map((function(t){return{key:t,value:e.object[t]}}))}}}),Rn=En,Mn=(n("786c"),Object(b["a"])(Rn,Nn,Vn,!1,null,"18284f59",null)),An=Mn.exports;k()(Mn,{VSimpleTable:dt["a"]});var Ln={name:"InitialRequest",components:{KeyValueTable:An},props:{socket:Object}},Pn=Ln,Bn=Object(b["a"])(Pn,Dn,Tn,!1,null,null,null),Un=Bn.exports;k()(Bn,{VCard:je["a"],VCardText:Ce["a"],VCardTitle:Ce["b"]});var Hn={name:"Socket",components:{InitialRequest:Un,SocketDetails:In,SocketRooms:On},data:function(){return{socket:null,client:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("sockets.title"),to:{name:"sockets"}},{text:this.$t("sockets.details"),disabled:!0}]}},Object(l["b"])("main",["findSocketById","findClientById"])),mounted:function(){this.socket=this.findSocketById(this.$route.params.nsp,this.$route.params.id),this.socket&&(this.client=this.findClientById(this.socket.clientId))}},zn=Hn,qn=Object(b["a"])(zn,vn,hn,!1,null,"14172ed0",null),Gn=qn.exports;k()(qn,{VBreadcrumbs:Jt["a"],VCol:Wt["a"],VContainer:Me["a"],VRow:lt["a"]});var Qn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-card-text",{staticClass:"d-flex"},[n("NamespaceSelector"),n("v-switch",{staticClass:"ml-3",attrs:{label:e.$t("rooms.show-private"),inset:"",dense:""},on:{change:e.onPrivateRoomsUpdate},model:{value:e.showPrivateRooms,callback:function(t){e.showPrivateRooms=t},expression:"showPrivateRooms"}})],1),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.filteredRooms,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.sockets",fn:function(t){var n=t.item;return[e._v(" "+e._s(n.sockets.length)+" ")]}},{key:"item.isPrivate",fn:function(e){var t=e.value;return[n("RoomType",{attrs:{"is-private":t}})]}},{key:"item.actions",fn:function(t){var a=t.item;return[e.isMultiLeaveSupported&&!a.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.clear(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("rooms.clear")))])]):e._e(),e.isMultiDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("rooms.disconnect")))])]):e._e()]}}])})],1)],1)},Yn=[],Fn=(n("5319"),n("ac1f"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Status",{attrs:{value:!e.isPrivate,"ok-label":e.$t("rooms.public"),"ko-label":e.$t("rooms.private")}})}),Jn=[],Wn={name:"RoomType",components:{Status:S},props:{isPrivate:Boolean}},Zn=Wn,Kn=Object(b["a"])(Zn,Fn,Jn,!1,null,null,null),Xn=Kn.exports,ea={name:"Rooms",components:{RoomType:Xn,NamespaceSelector:rn},data:function(){return{showPrivateRooms:!1,footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"name",align:"start"},{text:this.$t("type"),value:"isPrivate"},{text:this.$t("rooms.sockets-count"),value:"sockets"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["rooms"])),Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},isReadonly:function(e){return e.config.readonly},isMultiLeaveSupported:function(e){return e.config.supportedFeatures.includes("MLEAVE")},isMultiDisconnectSupported:function(e){return e.config.supportedFeatures.includes("MDISCONNECT")}})),{},{filteredRooms:function(){var e=this.showPrivateRooms?this.rooms:this.rooms.filter((function(e){return!e.isPrivate}));return Object(wt["a"])(e,"name")}}),methods:{clear:function(e){Te.socket.emit("leave",this.selectedNamespace.name,e.name)},disconnect:function(e){Te.socket.emit("_disconnect",this.selectedNamespace.name,!1,e.name)},displayDetails:function(e){this.$router.push({name:"room",params:{nsp:this.selectedNamespace.name,name:e.name}})},onPrivateRoomsUpdate:function(e){var t=e?{p:1}:{};this.$router.replace({name:"rooms",query:t})}},mounted:function(){this.showPrivateRooms="1"===this.$route.query.p}},ta=ea,na=(n("3a99"),Object(b["a"])(ta,Qn,Yn,!1,null,"29992f63",null)),aa=na.exports;k()(na,{VBreadcrumbs:Jt["a"],VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VDataTable:dn["a"],VIcon:le["a"],VSwitch:Z["a"],VTooltip:un["a"]});var sa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.clients,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.address",fn:function(t){var a=t.item;return[a.sockets.length?n("span",[e._v(e._s(a.sockets[0].handshake.address))]):e._e()]}},{key:"item.transport",fn:function(t){var a=t.item;return[a.sockets.length?n("Transport",{attrs:{transport:a.sockets[0].transport}}):e._e()]}},{key:"item.sockets",fn:function(t){var n=t.item;return[e._v(" "+e._s(n.sockets.length)+" ")]}},{key:"item.actions",fn:function(t){var a=t.item;return[e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("clients.disconnect")))])]):e._e()]}}])})],1)],1)},oa=[],ra={name:"Clients",components:{Transport:Ze},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("clients.title"),disabled:!0}]},headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("sockets.address"),value:"address"},{text:this.$t("sockets.transport"),value:"transport"},{text:this.$t("clients.sockets-count"),value:"sockets"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({clients:function(e){return e.main.clients},isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(e){var t=e.sockets[0];t&&Te.socket.emit("_disconnect",t.nsp,!0,t.id)},displayDetails:function(e){this.$router.push({name:"client",params:{id:e.id}})}}},ia=ra,ca=(n("ff8e"),Object(b["a"])(ia,sa,oa,!1,null,"57b53591",null)),la=ca.exports;k()(ca,{VBreadcrumbs:Jt["a"],VBtn:N["a"],VCard:je["a"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var da=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),e.client?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientDetails",{attrs:{client:e.client,socket:e.socket}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[e.socket?n("InitialRequest",{attrs:{socket:e.socket}}):e._e()],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientSockets",{attrs:{sockets:e.client.sockets}})],1)],1)],1):e._e()],1)},ua=[],ma=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("details")))]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e._v(" "+e._s(e.client.id)+" ")]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:e.client.connected}})],1),n("td",{attrs:{align:"right"}},[e.isSocketDisconnectSupported&&e.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,s=t.attrs;return[n("v-btn",e._g(e._b({attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnectClient()}}},"v-btn",s,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!1,1004975867)},[n("span",[e._v(e._s(e.$t("clients.disconnect")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.transport")))]),n("td",[n("Transport",{attrs:{transport:e.socket.transport}})],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.address")))]),n("td",[e._v(e._s(e.socket.handshake.address))]),n("td")])])]],2)],1)},pa=[],va={name:"ClientDetails",components:{ConnectionStatus:x,Transport:Ze},props:{client:Object,socket:Object},computed:Object(r["a"])({},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnectClient:function(){var e=this.client.sockets[0];e&&Te.socket.emit("_disconnect",e.nsp,!0,e.id)}}},ha=va,fa=(n("6602"),Object(b["a"])(ha,ma,pa,!1,null,"8d2424e4",null)),ba=fa.exports;k()(fa,{VBtn:N["a"],VCard:je["a"],VCardTitle:Ce["b"],VIcon:le["a"],VSimpleTable:dt["a"],VTooltip:un["a"]});var ga=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",[e._v(e._s(e.$t("sockets.title")))]),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.sockets,dense:""},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.nsp",fn:function(t){var a=t.value;return[n("code",[e._v(e._s(a))])]}},{key:"item.actions",fn:function(t){var a=t.item;return[e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()]}}])})],1)},ka=[],ya={name:"ClientSockets",props:{sockets:Array},computed:Object(r["a"])({headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("namespace"),value:"nsp"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(e){Te.socket.emit("_disconnect",e.nsp,!1,e.id)},displayDetails:function(e){this.$router.push({name:"socket",params:{nsp:e.nsp,id:e.id}})}}},_a=ya,Sa=(n("1993"),Object(b["a"])(_a,ga,ka,!1,null,"38772079",null)),Oa=Sa.exports;k()(Sa,{VBtn:N["a"],VCard:je["a"],VCardTitle:Ce["b"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var ja={name:"Client",components:{ClientSockets:Oa,InitialRequest:Un,ClientDetails:ba},data:function(){return{socket:null,client:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("clients.title"),to:{name:"clients"},exact:!0},{text:this.$t("clients.details"),disabled:!0}]}},Object(l["b"])("main",["findClientById"])),mounted:function(){this.client=this.findClientById(this.$route.params.id),this.client&&(this.socket=this.client.sockets[0])}},Ca=ja,xa=Object(b["a"])(Ca,da,ua,!1,null,"3d554d12",null),wa=xa.exports;k()(xa,{VBreadcrumbs:Jt["a"],VCol:Wt["a"],VContainer:Me["a"],VRow:lt["a"]});var $a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-data-table",{attrs:{headers:e.headers,items:e.servers,"footer-props":e.footerProps},scopedSlots:e._u([{key:"item.uptime",fn:function(t){var n=t.value;return[e._v(" "+e._s(e.formatDuration(n))+" ")]}},{key:"item.lastPing",fn:function(t){var n=t.value;return[e._v(" "+e._s(e.delaySinceLastPing(n))+" ")]}},{key:"item.healthy",fn:function(e){var t=e.value;return[n("ServerStatus",{attrs:{healthy:t}})]}},{key:"item.actions",fn:function(t){var a=t.item;return[a.healthy?e._e():n("v-btn",{attrs:{small:""},on:{click:function(t){return e.removeServer(a)}}},[n("v-icon",[e._v("mdi-delete-outline")])],1)]}}])})],1)],1)},Ia=[],Da={name:"Servers",components:{ServerStatus:yt},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]},now:Date.now()}},created:function(){var e=this;this.interval=setInterval((function(){e.now=Date.now()}),1e3)},beforeDestroy:function(){clearInterval(this.interval)},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("servers.title"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"serverId"},{text:this.$t("servers.hostname"),value:"hostname"},{text:this.$t("servers.pid"),value:"pid"},{text:this.$t("servers.uptime"),value:"uptime"},{text:this.$t("servers.clients-count"),value:"clientsCount"},{text:this.$t("servers.last-ping"),value:"lastPing"},{text:this.$t("status"),value:"healthy"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({servers:function(e){return Object(wt["a"])(e.servers.servers,"serverId")}})),methods:{formatDuration:nt,delaySinceLastPing:function(e){var t=this.now-e;return"".concat(nt(t/1e3)," ago")},removeServer:function(e){this.$store.commit("servers/removeServer",e.serverId)}}},Ta=Da,Na=Object(b["a"])(Ta,$a,Ia,!1,null,null,null),Va=Na.exports;k()(Na,{VBreadcrumbs:Jt["a"],VBtn:N["a"],VCard:je["a"],VDataTable:dn["a"],VIcon:le["a"]});var Ea=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),e.room?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"4"}},[n("RoomDetails",{attrs:{room:e.room,nsp:e.$route.params.nsp}})],1),n("v-col",{attrs:{sm:"12",md:"8"}},[n("RoomSockets",{attrs:{room:e.room}})],1)],1)],1):e._e()],1)},Ra=[],Ma=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.room?n("v-card",[n("v-card-title",[e._v(e._s(e.$t("sockets.title")))]),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.room.sockets,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.transport",fn:function(e){var t=e.value;return[n("Transport",{attrs:{transport:t}})]}},{key:"item.actions",fn:function(t){var a=t.item;return[e.isSocketLeaveSupported&&!e.room.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.leave(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("rooms.leave")))])]):e._e(),e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(a)}}},"v-btn",o,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()]}}],null,!1,1763569022)})],1):e._e()},Aa=[],La={name:"RoomSockets",components:{Transport:Ze},props:{room:Object},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),to:{name:"rooms"}},{text:this.$t("rooms.details"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"id",align:"start"},{text:this.$t("sockets.address"),value:"handshake.address"},{text:this.$t("sockets.transport"),value:"transport"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["findRoomByName"])),Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketLeaveSupported:function(e){return e.config.supportedFeatures.includes("LEAVE")},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{leave:function(e){Te.socket.emit("leave",e.nsp,this.room.name,e.id)},disconnect:function(e){Te.socket.emit("_disconnect",e.nsp,!1,e.id)},displayDetails:function(e){this.$router.push({name:"socket",params:{nsp:this.$route.params.nsp,id:e.id}})}}},Pa=La,Ba=(n("6e0b"),Object(b["a"])(Pa,Ma,Aa,!1,null,"c9425064",null)),Ua=Ba.exports;k()(Ba,{VBtn:N["a"],VCard:je["a"],VCardTitle:Ce["b"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var Ha=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("details")))]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("namespace")))]),n("td",[n("code",[e._v(e._s(e.nsp))])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e._v(" "+e._s(e.room.name)+" ")]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("RoomStatus",{attrs:{active:e.room.active}})],1),n("td",{attrs:{align:"right"}},[e.isMultiLeaveSupported&&!e.room.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,s=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.clear()}}},"v-btn",s,!1),a),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!1,464351539)},[n("span",[e._v(e._s(e.$t("rooms.clear")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("type")))]),n("td",[n("RoomType",{attrs:{"is-private":e.room.isPrivate}})],1),n("td")])])]],2)],1)},za=[],qa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Status",{attrs:{value:e.active,"ok-label":e.$t("rooms.active"),"ko-label":e.$t("rooms.deleted")}})},Ga=[],Qa={name:"RoomStatus",components:{Status:S},props:{active:Boolean}},Ya=Qa,Fa=Object(b["a"])(Ya,qa,Ga,!1,null,null,null),Ja=Fa.exports,Wa={name:"RoomDetails",components:{RoomType:Xn,RoomStatus:Ja},props:{room:Object,nsp:String},computed:Object(r["a"])({},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isMultiLeaveSupported:function(e){return e.config.supportedFeatures.includes("MLEAVE")}})),methods:{clear:function(){Te.socket.emit("leave",this.nsp,this.room.name)}}},Za=Wa,Ka=Object(b["a"])(Za,Ha,za,!1,null,"7b3793ea",null),Xa=Ka.exports;k()(Ka,{VBtn:N["a"],VCard:je["a"],VCardTitle:Ce["b"],VIcon:le["a"],VSimpleTable:dt["a"],VTooltip:un["a"]});var es={name:"Sockets",components:{RoomDetails:Xa,RoomSockets:Ua},data:function(){return{room:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),to:{name:"rooms"}},{text:this.$t("rooms.details"),disabled:!0}]}},Object(l["b"])("main",["findRoomByName"])),mounted:function(){this.room=this.findRoomByName(this.$route.params.nsp,this.$route.params.name)}},ts=es,ns=Object(b["a"])(ts,Ea,Ra,!1,null,null,null),as=ns.exports;k()(ns,{VBreadcrumbs:Jt["a"],VCol:Wt["a"],VContainer:Me["a"],VRow:lt["a"]});var ss=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-card-text",[n("NamespaceSelector")],1),n("v-data-table",{attrs:{headers:e.headers,items:e.events,"footer-props":e.footerProps,"item-key":"eventId","sort-by":["timestamp","eventId"],"sort-desc":[!0,!0],"single-expand":"","show-expand":""},scopedSlots:e._u([{key:"item.type",fn:function(e){var t=e.value;return[n("EventType",{attrs:{type:t}})]}},{key:"item.id",fn:function(t){var a=t.value;return[n("router-link",{staticClass:"link",attrs:{to:e.socketDetailsRoute(a)}},[e._v(e._s(a))])]}},{key:"item.args",fn:function(t){var a=t.item,s=t.value;return[e.isExpandable(a)?n("span",[e._v(" "+e._s(e.$t("events.eventName"))+e._s(e.$t("separator"))),n("code",[e._v(e._s(a.eventName))])]):"disconnection"===a.type?n("span",[e._v(" "+e._s(e.$t("events.reason"))+e._s(e.$t("separator"))),n("code",[e._v(e._s(s))])]):"room_joined"===a.type||"room_left"===a.type?n("span",[e._v(" "+e._s(e.$t("events.room"))+e._s(e.$t("separator"))),n("code",[e._v(e._s(s))])]):n("span",[e._v(" "+e._s(s)+" ")])]}},{key:"item.data-table-expand",fn:function(t){var a=t.item,s=t.isExpanded,o=t.expand;return[e.isExpandable(a)&&!s?n("v-btn",{attrs:{icon:""},on:{click:function(e){return o(!0)}}},[n("v-icon",[e._v("mdi-chevron-down")])],1):e._e(),e.isExpandable(a)&&s?n("v-btn",{attrs:{icon:""},on:{click:function(e){return o(!1)}}},[n("v-icon",[e._v("mdi-chevron-up")])],1):e._e()]}},{key:"expanded-item",fn:function(t){var a=t.headers,s=t.item;return[n("td",{attrs:{colspan:a.length}},[n("div",{staticClass:"ma-3"},[e._v(" "+e._s(e.$t("events.eventArgs"))+e._s(e.$t("separator"))+" "),n("pre",[n("code",[e._v(e._s(s.args))])])])])]}}])})],1)],1)},os=[],rs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-chip",{attrs:{color:e.color,outlined:""}},[e._v(" "+e._s(e.$t("events.type."+e.type))+" ")])},is=[],cs={name:"EventType",props:{type:String},computed:{color:function(){switch(this.type){case"connection":return v["a"].green.base;case"room_joined":return v["a"].teal.base;case"room_left":return v["a"].amber.base;case"disconnection":return v["a"].red.base;case"event_received":return v["a"].blue.base;case"event_sent":return v["a"].orange.base}return v["a"].gray.base}}},ls=cs,ds=Object(b["a"])(ls,rs,is,!1,null,null,null),us=ds.exports;k()(ds,{VChip:y["a"]});var ms={name:"Events",components:{EventType:us,NamespaceSelector:rn},data:function(){return{footerProps:{"items-per-page-options":[-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("events.title"),disabled:!0}]},headers:function(){return[{text:this.$t("timestamp"),value:"timestamp"},{text:this.$t("sockets.socket"),value:"id",sortable:!1},{text:this.$t("type"),value:"type",sortable:!1},{value:"args",sortable:!1},{text:"",value:"data-table-expand"}]}},Object(l["b"])("main",["events"])),Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace}})),methods:{socketDetailsRoute:function(e){return{name:"socket",params:{nsp:this.selectedNamespace.name,id:e}}},isExpandable:function(e){return["event_received","event_sent"].includes(e.type)}}},ps=ms,vs=(n("76e7"),Object(b["a"])(ps,ss,os,!1,null,"2c2337d4",null)),hs=vs.exports;k()(vs,{VBreadcrumbs:Jt["a"],VBtn:N["a"],VCard:je["a"],VCardText:Ce["a"],VDataTable:dn["a"],VIcon:le["a"]}),a["a"].use(Be["a"]);var fs=[{path:"/",name:"dashboard",component:Kt,meta:{topLevel:!0,index:0}},{path:"/sockets/",name:"sockets",component:pn,meta:{topLevel:!0,index:1}},{path:"/n/:nsp/sockets/:id",name:"socket",component:Gn,meta:{topLevel:!1}},{path:"/rooms/",name:"rooms",component:aa,meta:{topLevel:!0,index:2}},{path:"/n/:nsp/rooms/:name",name:"room",component:as,meta:{topLevel:!1}},{path:"/clients/",name:"clients",component:la,meta:{topLevel:!0,index:3}},{path:"/clients/:id",name:"client",component:wa,meta:{topLevel:!1}},{path:"/events/",name:"events",component:hs,meta:{topLevel:!0,index:4}},{path:"/servers/",name:"servers",component:Va,meta:{topLevel:!0,index:5}}],bs=new Be["a"]({mode:"hash",base:"",routes:fs}),gs=bs,ks=(n("159b"),n("d3b7"),n("ddb0"),n("466d"),n("a925"));function ys(){var e=n("49f8"),t={};return e.keys().forEach((function(n){var a=n.match(/([A-Za-z0-9-_]+)\./i);if(a&&a.length>1){var s=a[1];t[s]=e(n)}})),t}a["a"].use(ks["a"]);var _s=new ks["a"]({locale:"en",fallbackLocale:"en",messages:ys()}),Ss={namespaced:!0,state:{darkTheme:!1,readonly:!1,lang:"en",supportedFeatures:[],showNavigationDrawer:!1},getters:{developmentMode:function(e){return e.supportedFeatures.includes("ALL_EVENTS")||!e.supportedFeatures.includes("AGGREGATED_EVENTS")},hasAggregatedValues:function(e){return e.supportedFeatures.includes("AGGREGATED_EVENTS")}},mutations:{init:function(e){tt&&(e.darkTheme="true"===localStorage.getItem("dark_theme"),e.readonly="true"===localStorage.getItem("readonly"),e.lang=localStorage.getItem("lang")||"zh-CN")},selectTheme:function(e,t){e.darkTheme=t,tt&&localStorage.setItem("dark_theme",t)},selectLang:function(e,t){e.lang=t,tt&&localStorage.setItem("lang",t)},toggleReadonly:function(e){e.readonly=!e.readonly,tt&&localStorage.setItem("readonly",e.readonly)},updateConfig:function(e,t){e.supportedFeatures=t.supportedFeatures},toggleNavigationDrawer:function(e){e.showNavigationDrawer=!e.showNavigationDrawer}}},Os=(n("8a79"),{namespaced:!0,state:{serverUrl:"http://localhost:3001",wsOnly:!0,path:"/socket",namespace:"/admin",parser:"default",sessionId:"",connected:!1},mutations:{init:function(e){tt&&(e.serverUrl=localStorage.getItem("server_url")||"http://localhost:3001",e.serverUrl.endsWith("/admin")?e.serverUrl=e.serverUrl.slice(0,-6):e.namespace=localStorage.getItem("namespace")||"/admin",e.wsOnly="false"!=localStorage.getItem("ws_only"),e.sessionId=localStorage.getItem("session_id"),e.path=localStorage.getItem("path")||"/socket",e.parser=localStorage.getItem("parser")||"default")},saveConfig:function(e,t){var n=t.serverUrl,a=t.wsOnly,s=t.path,o=t.namespace,r=t.parser;e.serverUrl=n,e.wsOnly=a,e.path=s,e.namespace=o,e.parser=r,tt&&(localStorage.setItem("server_url",n),localStorage.setItem("ws_only",a),localStorage.setItem("path",s),localStorage.setItem("namespace",o),localStorage.setItem("parser",r))},saveSessionId:function(e,t){e.sessionId=t,tt&&localStorage.setItem("session_id",t)},connect:function(e){e.connected=!0},disconnect:function(e){e.connected=!1}}}),js=n("b85c"),Cs=n("3835"),xs=n("0a94"),ws=n("a1a3"),$s=n("3a59"),Is=6e5,Ds=function(e,t){var n=Object(xs["a"])(e,{name:t});return n||(n={name:t,sockets:[],rooms:[],events:[]},e.push(n),n)},Ts=function(e,t){var n=Object(xs["a"])(e.rooms,{name:t});return n||(n={name:t,active:!0,sockets:[]},e.rooms.push(n),n)},Ns=function(e,t){var n=Object(xs["a"])(e,{id:t});return n||(n={id:t,connected:!0,sockets:[]},e.push(n),n)},Vs=function(e,t){var n=Ds(e.namespaces,t.nsp);t.connected=!0,Object(xs["a"])(n.sockets,{id:t.id})||n.sockets.push(t),t.rooms.forEach((function(e){var a=Ts(n,e);a.isPrivate=e===t.id,Object(xs["a"])(a.sockets,{id:t.id})||a.sockets.push(t)}));var a=Ns(e.clients,t.clientId);Object(xs["a"])(a.sockets,{id:t.id})||a.sockets.push(t)},Es=1e3,Rs=0,Ms=function(e,t){t.eventId=++Rs,e.push(t),e.length>Es&&e.shift()};function As(e){return e-e%1e4}var Ls={namespaced:!0,state:{namespaces:[],clients:[],selectedNamespace:null,aggregatedEvents:[]},getters:{findSocketById:function(e){return function(t,n){var a=Object(xs["a"])(e.namespaces,{name:t});if(a)return Object(xs["a"])(a.sockets,{id:n})}},findClientById:function(e){return function(t){return Object(xs["a"])(e.clients,{id:t})}},findRoomByName:function(e){return function(t,n){var a=Object(xs["a"])(e.namespaces,{name:t});if(a)return Object(xs["a"])(a.rooms,{name:n})}},findRoomsByNamespace:function(e){return function(t){var n=Object(xs["a"])(e.namespaces,{name:t});return n?n.rooms:[]}},sockets:function(e){return e.selectedNamespace?e.selectedNamespace.sockets:[]},rooms:function(e){return e.selectedNamespace?e.selectedNamespace.rooms:[]},events:function(e){return e.selectedNamespace?e.selectedNamespace.events:[]}},mutations:{selectNamespace:function(e,t){e.selectedNamespace=t},onAllSockets:function(e,t){e.namespaces.forEach((function(e){e.sockets.splice(0),e.rooms.splice(0)})),e.clients.splice(0),t.forEach((function(t){return Vs(e,t)})),e.selectedNamespace||(e.selectedNamespace=Object(xs["a"])(e.namespaces,{name:"/"})||e.namespaces[0])},onSocketConnected:function(e,t){var n=t.timestamp,a=t.socket;Vs(e,a);var s=Ds(e.namespaces,a.nsp);Ms(s.events,{type:"connection",timestamp:n,id:a.id})},onSocketUpdated:function(e,t){var n=Ds(e.namespaces,t.nsp),a=Object(xs["a"])(n.sockets,{id:t.id});a&&Object(ws["a"])(a,t)},onSocketDisconnected:function(e,t){var n=t.timestamp,a=t.nsp,s=t.id,o=t.reason,r=Ds(e.namespaces,a),i=at(r.sockets,{id:s}),c=Object(Cs["a"])(i,1),l=c[0];if(l){l.connected=!1;var d=Ns(e.clients,l.clientId);at(d.sockets,{id:s}),0===d.sockets.length&&(d.connected=!1,at(e.clients,{id:l.clientId}))}Ms(r.events,{type:"disconnection",timestamp:n,id:s,args:o})},onRoomJoined:function(e,t){var n=t.nsp,a=t.room,s=t.id,o=t.timestamp,r=Ds(e.namespaces,n),i=Object(xs["a"])(r.sockets,{id:s});if(i){st(i.rooms,a);var c=Ts(r,a);c.sockets.push(i)}Ms(r.events,{type:"room_joined",timestamp:o,id:s,args:a})},onRoomLeft:function(e,t){var n=t.timestamp,a=t.nsp,s=t.room,o=t.id,r=Ds(e.namespaces,a),i=Object(xs["a"])(r.sockets,{id:o});i&&at(i.rooms,s);var c=Ts(r,s);at(c.sockets,{id:o}),0===c.sockets.length&&(c.active=!1,at(r.rooms,{name:s})),Ms(r.events,{type:"room_left",timestamp:n,id:o,args:s})},onServerStats:function(e,t){if(t.aggregatedEvents){var n,a=Object(js["a"])(t.aggregatedEvents);try{for(a.s();!(n=a.n()).done;){var s=n.value,o=As(s.timestamp),r=Object(xs["a"])(e.aggregatedEvents,{timestamp:o,type:s.type,subType:s.subType});r?r.count+=s.count:e.aggregatedEvents.push({timestamp:o,type:s.type,subType:s.subType,count:s.count})}}catch(i){a.e(i)}finally{a.f()}Object($s["a"])(e.aggregatedEvents,(function(e){return e.timestamp